趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • シングルボードコンピュータ5点

    投稿日 2016年 11月 25日 コメントはありません

    またまたYouTube動画からです。

    たまたま見かけた「Top 5 Single-Board Computers」というビデオから。

    紹介されているのは順に、

    1. C.H.I.P
    2. PINE64
    3. UDOO
    4. LATTEPANDA
    5. Black Swift

    ですね。PINE64Black Swiftは初めて聞く名前です。

    PINE64は64bitのCortex-A53(Quadコア)とRAM512MB/1GB/2GBを載せた安価なボードです。WiFiはオプションボードで搭載。

    Black SwiftはAthros(現在はQualcomm)のAR9331をベースにしたROM16MB、RAM64MBの小さなボードです。しかし、入手方法がわからない(笑)。


  • インテルベースのシングルボードコンピュータ

    投稿日 2016年 11月 24日 コメントはありません

    たまたま見かけたのですが、「Raspberry Pi 3に対抗する(?)」インテルベースのシングルボードコンピュータがいくつか出てきているようです。

    最初にみかけたのが LattePanda です。最初にみつけたYouTubeの動画などによると、

    • IntelのQuad CoreのCPU(Cherry Trail 1.8GHz)
    • ストレージは32GBのeMMC
    • RAMは2GBと4GBの2種類
    • RAMが2GBのモデルにはWindows10付きのものもある
    • USB3.0×1、USB2.0×2、WiFi + Bluetooth4.0、HDMI、100Mbps Ethernet、MicroSDスロット
    • Arduino対応のGPIO、Cheery TrailのGPIO
    • 電源は5V 2A

    と仕様のようです。で、メモリ2GBのOSなしが$79、メモリ2GBのWindows10モデルが$109、メモリ4GBのOSなし?が$139のようです。ディストリビュータはDFRobotのようなのですが、LattePandaのWebサイトからAmazon Japanのページに飛んでくると、4GB版が19,999円になっています。で、この4GB版の商品説明が微妙で、

    2016-11-24

    で、なんのこっちゃ?なのですが、要はWindows10はインストールされているのだけど、ライセンスキーは付属しない、ということのようです。騙されて(?)買っちゃった人のレビューが載ってます。$109でOS有りだと、まあ面白いかも、なのですが、いくら4GBといえども、2万円でOS無しだとあまり買う意味無いですね・・・。また、Raspberry Pi 3との比較ビデオもあって、これを見ると、Intelプロセッサだけどあまり速くない。というか、Raspberry Pi 3が思ったよりも速いというか、やっぱWindows10重いというか、そんな感じでしょうか。

    次に見かけたのがUDOO X86です。こちらはKICK STARTERでキャンペーンやってた(?)みたいです(やってるけど日本からは注文不可?)。公式Webの内容とKICK STARTERの内容で差があるのですが、公式Webの記載によると、

    • Intel の Quad Core CPU(Braswell で最大2.56GHzまでのモデルがある?)
    • メモリはDDR3L で 2GB/4GB/8GB
    • HDMIとDP×2(4K画像が3画面出せるような記述あり)
    • eMMC最大32GB(Webサイトでは安価なモデルはeMMCなし、KICKSTARTERでは8GB)
    • SATAコネクタ、M.2 SSDスロット、MicroSDスロット(KICKSTARTERではMicroSDからブートできるような記載もあります)
    • USB3.0×3ポート
    • Gigabit Ether
    • ArduinoコンパチのI/Oポート
    • その他

    ということみたいです。KICKSTARTERでは

    • 2GHzのCPU、RAM2GB、eMMC8GBのものが$89(売り切れ)
    • 2.24GHzのCPU、RAM4GB、eMMC8GBのものが$109
    • その他

    のようで、Webサイトで受け付けているPREORDERでは、

    • Atom X5-E8000 2GHz、RAM2GB、eMMCなし、ACアダプタ付きで$125
    • Celeron N3160 2.24GHz、RAM4GB Dual Channel、eMMCなし、ACアダプタ付きで$149
    • Celeron N3160 2.24GHz、RAM4GB Dual Channel、eMMC 32GB、ACアダプタ付きで$165
    • Pentium N3710 2.56GHz、RAM8GB Dual Channel、eMMC 32GB、ACアダプタ付きで$259

    となっています。まあ、小さいPCとしてみると魅力的に見えないこともないのですが、送料とか関税(かかるのかな?)とか考えるとイマイチ感もありますね。


  • ESP8266でSmartConfigを試してみた

    投稿日 2016年 11月 5日 3個のコメント

    長らく放置していたESP8266基板ですが、やっと動かしました。前回の記事から数えて約1年(ぉぃ)。回路図の定数に不適切な部分があってブートローダから先に進んでなかったのと、秋月のFT234X搭載の超小型UART変換基板だとなぜかLinux側が固まってしまうという事象に悩まされたためです(汗)。

    で、まだ最低限の機能しか試してないのですが、回路図はこんな感じです。回路図の電源周りにいろいろわけのわからないFETが入っていますが、これはソフトウェア制御で電源OFFできるようにするのと、電池使用時に電源電圧を自身で測定できるようにするためです。電池を使えば Amazon Dash Button 相当のことができる予定です。

    回路図

    UART変換基板は結局秋月のAE-TTL-232Rを使いました。

    開発環境はArduino IDE 1.6.12を使っています。昔調べた方法でボードマネージャでESP-8266を使えるようにして、ボードはGeneric ESP8266 Module、FlashメモリサイズはESP-WROOM-02に合わせて1M(64K SPIFFS)を選択しました。

    2016-11-05-02-29-33

    さらに1年間の進化は素晴らしいもので、smartconfigというWiFi周りの設定をAndroidスマートフォンでやる仕組みが登場していました。ArduinoのコードはGitHubのここから持ってきました。少しこの基板にあわせて修正したのが以下のファイルです。

    #include <ESP8266WiFi.h>
    #include <WiFiUdp.h>
    
    void setup() {
      int cnt = 0;  
    
      // set for STA mode
      WiFi.mode(WIFI_STA);
      
      // put your setup code here, to run once:
      Serial.begin(9600);
      
      // led status at pin16
      pinMode(12,OUTPUT);
      digitalWrite(12, HIGH);   // turn the LED on (HIGH is the voltage level)
      
      //configure pin0 
      pinMode(0, INPUT_PULLUP);
    
      // deplay for 2 sec for smartConfig
      Serial.println("2 sec before clear SmartConfig");
      delay(2000);
      
      // read pullup
      int isSmartConfig = digitalRead(0);
      if (isSmartConfig==0) {
        // bink for clear config
        blinkClearConfig();
        Serial.println("clear config");
        // reset default config
        WiFi.disconnect();
    
      }
    
      // if wifi cannot connect start smartconfig
      while(WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
        if(cnt++ >= 15){
           WiFi.beginSmartConfig();
           while(1){
               delay(500);
               if(WiFi.smartConfigDone()){
                 Serial.println("SmartConfig Success");
                 blinkSmartConfig();
                 break;
               }
           }
        }
      }
    
      Serial.println("");
      Serial.println("");
      
      WiFi.printDiag(Serial);
    
      // Print the IP address
      Serial.println(WiFi.localIP());
    
    }
    
    
    void blinkSmartConfig() {
        digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
        delay(50);              // wait for a second 
        digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
        delay(50);
    }
    
    void blinkClearConfig() {
      int i=0;
      while(i<=3) {
        digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
        delay(100);              // wait for a second 
        digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
        delay(100);
        i++;
      }
    }
    
    void blinkStartConfig() {
      pinMode(13,OUTPUT);
      int i=0;
        digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
    }
    
    
    void loop() {
      int isSW1 = digitalRead(0);
      if(isSW1==0){
        for(int i=5;i>0;i--){
          delay(1000);
          Serial.println(i);    
        }
        Serial.println("Power off");    
        delay(500);
        pinMode(15,OUTPUT);
        digitalWrite(15, HIGH);   // Power-off the board (HIGH is the voltage level)
        delay(5000);
      }
      delay(100);
      digitalWrite(12, 1-digitalRead(12));   // Blink the LED
    }
    
    

    修正したのは起動時のGPIO12のLEDの点灯と、ステータスのGPIOをGPIO16からGPIO13に変更、初期化が完了したら電源OFFする制御を追加したことです。これをコンパイルしてボードに書き込んでやります。

    シリアルモニタで動作を確認しながら、スマートフォンで「ESP8266 SmartConfig」というアプリを動作させてESP8266モジュールに接続させる先のSSID(スマートフォンがつながってるSSIDが勝手に表示されます)と、パスワードを入力してCONFIRMを押してしばらく待つとESP8266側の接続設定がされるという便利なものです。

    設定したSSIDとパスワードはフラッシュメモリ内に保存されて、次回は勝手にロードしてくれます。(上記のソースでは、起動後2秒たった瞬間にGPIO0がLレベルだと設定をクリアして再度設定待ちになります)

    <���������$�������ɕ����Ɂ�����
    �����5R�................SmartConfig Success
    .SmartConfig Success
    .SmartConfig Success
    
    
    Mode: STA
    PHY mode: N
    Channel: 4
    AP id: 0
    Status: 5
    Auto connect: 1
    SSID (17): xxxxxxx-yyyyyy-z
    Passphrase (10): xxxxxxxxxx
    BSSID set: 1
    ??.??.???.??
    5
    4
    3
    2
    1
    Power off

    上記は電源投入〜SmartConfigによる設定〜APへの接続〜シャットダウンまでのシリアルコンソールのログです。楽でいいですね!