ともの技術メモ

趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • ESP32を動かしてみた

    投稿日 2017年 2月 6日 コメントはありません

    ふと秋月のWebサイトをみていたら、ESP-WROOM-32が発売になっていました。早速、秋月へ行ってゲットしてきました。

    で、とにかく動かしてみます。すでに先達もいるようなので、参考にさせてもらいながら、なるべく手抜きして動かします。開発環境はESP-WROOM-02の時と同様にArduinoで動かします。

    使用した部品

    使用した部品は以下の通りです。

    • ESP-WROOM-32
      まずこれがないと、ですね。
    • FT-232RQ USBシリアル変換キット
      最近のお気に入りのUSBシリアル変換基板です。Linuxでも安定して動作するのでGoodです。
    • NJU7223DL1
      3.3Vのレギュレータです。データシートの回路図だと入出力のコンデンサが小さくて済みそうなので、選びました。
    • 0.1uF 1608 チップコンデンサ✕3
      三端子レギュレータの入出力に各1個、USBシリアルのRTS端子とEN端子の間に1個
    • 22uF 1608 チップコンデンサ✕1
      ESP-WROOM-32の資料では電源入力に10uFが付いているので、手持ちの22uFのチップコンを使用
    • 10kΩ 1608 チップ抵抗✕2
      1個はEN端子のプルアップ、もう1個はIO0端子のプルアップ
    • 0.022uF 1608 チップコンデンサ✕1
      EN端子の入力とGND間に接続
    • 適当なタクトSW✕1
      IO0端子をGNDに落としてダウンロードモードに移行させるのに使います
    • ユニバーサルプリント基板
      これを使いました。最近は軽量化を目指して薄めの基板を使ってます。この基板は両面なのですが、内面がスルーホール処理されていないので表裏の接続ができていない箇所があってハマリました。
    • その他
      適当なピンヘッダ・ピンソケット、ポリウレタン被覆線、スズメッキ線

    ハードウェアの組み立て

    こちらの回路を参考に手抜きして作りました。

    • GND端子はUSBシリアル基板のGNDに接続
    • 3V3端子は三端子レギュレータの出力端子に接続
    • EN端子は10kΩでプルアップ、GNDとの間に0.022uF、USBシリアル基板のRTS端子との間に0.1uFを接続。この0.1uFによりPC側でRTSを制御するとESP-WROOM-32側にリセットがかかります。
    • IO0端子はプルアップ、および、タクトスイッチを接続して、ボタン押下でGNDに落ちるようにします。ボタンを押しながらArduino IDEで書き込み操作をすることで、書き込みモードへ移行できます。
      (注:IO0のプルアップは不要らしい。タクトスイッチによるIO0のコントロールがうまく行かなかった際につけたが、外してOKかは試していない。ちなみに、タクトスイッチでIO0がコントロールできなかった原因はノンスルーホール基板を使ったので基板の表裏で接続ができてなかったため。)
    • TXD0端子はUSBシリアル基板のRXDへ接続
    • RXD0端子はUSBシリアル基板のTXDへ接続

    回路図はこんな感じです。15ピンのGNDは手抜きで接続していませんが、動いています。

     

    こんな感じになりました。

    ESP-WROOM-32は裏返しに両面テープで基板に貼り付けてあります。基板を作りなおす時も多分無事に剥がせると思います。

    無計画に作ったので、裏側は汚いですw。左上のレギュレータ周りがどうしようもないですね。

    まずはハードウェアの動作確認

    Arduinoで書き込みをする前に、ハードウェアの動作確認をしておきます。
    といっても、よくよく結線を確認した後、電源を投入(USBケーブルで接続)するだけです。
    電源を投入したら、スマートフォンのWiFiアナライザなどアプリケーションで、「ESP-xxxxxx」というSSIDが見えることを確認しておきます。SSIDが見えればとりあえずESP-WROOM-32はアクセスポイントとして動作しているはずです。(注:Arduino環境の構築ができていれば、Arduinoのシリアルモニタで /dev/ttyUSB* を115200bpsでモニタすればブートローダなどの表示も確認できます)

    Arduino開発環境の構築

    PCはLinux Mint 18の64bit版です。

    まず、arduino IDE をインストールします。その前に、古いバージョンをアンインストール。

    $ cd arduino-1.6.12
    $ ./uninstall.sh 
    Removing desktop shortcut and menu item for Arduino IDE... done!

    arduino.cc から最新版の arduino-IDE をダウンロード。今回ダウンロードしたファイルは arduino-1.8.1-linux64.tar.xz です。

    $ cd ~
    $  xzcat ダウンロード/arduino-1.8.1-linux64.tar.xz | tar xvf -
    $ cd arduino-1.8.1/
    $ ./install.sh
    Adding desktop shortcut, menu item and file associations for Arduino IDE... done!

    次に、arduino-esp32 をインストール。このページのコマンドをコピペ。

    $ sudo usermod -a -G dialout $USER && \
    > sudo apt-get install git && \
    > mkdir -p ~/Arduino/hardware/espressif && \
    > cd ~/Arduino/hardware/espressif && \
    > git clone https://github.com/espressif/arduino-esp32.git esp32 && \
    > cd esp32/tools/ && \
    > python get.py
    [sudo] xxx のパスワード: 
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています 
    状態情報を読み取っています... 完了
    git はすでに最新バージョン (1:2.7.4-0ubuntu1) です。
    アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 39 個。
    Cloning into 'esp32'...
    remote: Counting objects: 2799, done.
    remote: Compressing objects: 100% (10/10), done.
    remote: Total 2799 (delta 1), reused 0 (delta 0), pack-reused 2785
    Receiving objects: 100% (2799/2799), 54.67 MiB | 3.44 MiB/s, done.
    Resolving deltas: 100% (1152/1152), done.
    Checking connectivity... done.
    Checking out files: 100% (903/903), done.
    System: Linux, Info: Linux-4.4.0-45-generic-x86_64-with-LinuxMint-18-sarah
    Platform: x86_64-pc-linux-gnu
    Downloading xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz
    Done
    Extracting xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz
    Downloading esptool-fe69994-linux64.tar.gz
    Done
    Extracting esptool-fe69994-linux64.tar.gz
    Done
    ~/Arduino/hardware/espressif/esp32/tools $

    いよいよ起動します。デスクトップ上のArduino IDEのアイコンをダブルクリックして、Arduino IDEを起動。
    起動したら、「ツール」→「ボード:xxx」→「ESP32 Dev Module」を選択でESP32モジュールを選択します。

    サンプルを動かしてみる

    次にサンプルを動かしてみます。シリアルに結果が表示されるものが良いと思うので、WiFiScanを動かしてみます。
    「ファイル」→「スケッチ例」→ESP32 Dev Module用のスケッチ例の下の「WiFi」→「WiFiScan」選択すると、サンプルプログラムが表示されます。「ツール」⇒「シリアルポート」⇒「/dev/ttyUSB0(環境によって変わります)」でシリアルポートを選択した後、「ツール」⇒「シリアルモニタ」でシリアルモニタを起動しておきます。

    準備ができたら「⇒」ボタンをクリックして、書き込んでみます。「⇒」をクリックする際にはIO0に接続したタクトスイッチを押しながらクリックすることでダウンローダを起動します。「Wrting … 」という表示が出たら、タクトスイッチのボタンを離します。

    書き込み完了後はこんな感じ。

    書き込みが終わると、シリアルモニタの方に表示が始まります。

     

    こんな感じでSSIDのリストが表示されれば成功です。


  • 安価なVPSを調査してみました

    投稿日 2017年 1月 30日 コメントはありません

    最近、激安VPSがまた増えている気がします。概ね、月額500円あたりが最下限で、1日使うだけでも500円を切ることができなかったのですが、日割り、時間課金のタイプもでてきているので、改めて調べてみます。あ、企業で契約するようなVPSはそもそも調べてませんw。ローエンドのVPSだけです。あしからず。

    • さくらのVPS
      ローエンドのVPSの代表といえばさくらのVPSでしょう。いまご覧頂いているページもさくらのVPSの1Gプラン(ただしHDD100GB)で動いてます。そんなにトラフィックないので、512プランでも十分だと思いますが。
      ちなみに、1Gプランが『CPU仮想2Core/SSD30GB/メモリ1GB』で月額972円/年額10,692円/初期費用1,620円(税込み)、512プランが『CPU仮想1Core/SSD20GB/メモリ512MB』で月額685円/年額7,543円/初期費用1,620円(税込み)です。
    • カゴヤ・クラウド
      ここは早くから日額課金があったところになります。SSDタイプAが『CPU仮想3Core/SSD80GB/メモリ保証1GB最大2GB』で日額31円/月額864円/初期費用無料(税込み)です。日額課金は実験や短期間のサーバ設置に便利だったので使ったことがあるのですが、去年の11月にクレジットカード番号を含めて漏洩する事件を起こしたので信用できません。支払いシステムを変更したので大丈夫とか言ってるのですが、生理的に受け付けられません。もしも、バーチャルカードで払えるならもう一度登録してもいいかとは思いますが。
    • ConoHa
      時間課金をやり始めたところです。512MBプランが『CPU仮想1Core/SSD20GB/メモリ512MB』で1時間1円/月額630円/初期費用無料、最低利用期間なし、といったところ。OSはいろいろ選べる。
    • WebARENA
      ポイント制というちょっと変わった課金体型。一番安い条件だと512M-SSDタイプで『CPU仮想1Core/SSD20GB/メモリ512MB』で10ポイントで、その10ポイントの月額基本料金が360円(税別、税込みだと388円)。課金はスタート時は日割り+月末締め。ちょっと変わっているのが、支払いは翌月分を先払い、というところ。OSはCentOS6のみ。
      NTT系なので、クレジットカードのセキュリティとかはまともにやってくれると期待できる・・・と思うので、試してみても良いかもしれない。
    • ServerMan@VPS
      メモリ1GB/HDD50GBで月額467円(税別)、ただしコンテナ型なのでカーネルを共有する形になるらしい。
    • ABLENET
      V0プランで『CPU仮想1Core/SSD30GB/メモリ512MB』で月額648円/年払い5,486円(税別)/初期費用934円だそうです。
    • FC2 VPS
      バリュープランで『CPU1Core✕13%/HDD80GB/メモリ1GB』で月額780円/初期費用なし。OSはCentOS6.3。
    • お名前.com VPS
      メモリ1GBプランで『CPU仮想2Core/HDD100GB/メモリ1GB』で月額896円/初期費用無し(税別)。

    着目すべきは、WebARENAの月額360円+消費税と、ConoHaの1時間1円でしょうか。


  • ドコモはダメ過ぎ・・・

    投稿日 2016年 12月 28日 1つのコメント

    ドコモの携帯はドコモのメールアドレスの維持のためだけに残してあるのだけど、SPAMが酷すぎ。携帯キャリア以外からのメールは受けない設定のはずなのだけど、ありえないドメインを詐称しているアドレスからのSPAMがガンガン来る。内容も下記のような典型的な詐欺の類のメール。G-Mailに転送したら、G-MailではしっかりSPAMフィルタでフィルタされてる。

    ドコモダメ過ぎ


  • シングルボードコンピュータ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への接続〜シャットダウンまでのシリアルコンソールのログです。楽でいいですね!


  • ドコモの迷惑メール対策が糞すぎる・・・

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

    最近になって、いわゆるドコモメールのアドレスに膨大なスパムメールが送られてくるようになりました。

    大部分は存在しないドメイン(ランダムな文字列+.co)をfromとするもの。

    当然、そんなドメインは逆引きできないはずなので「存在しないドメインのメールは拒否」で弾かれるはずなのに、突如として大量に流れてくるようになりました。(さらに、ドメイン指定受信をしているのですが、当然そんなドメインは受信対象にしていません)

    それでパケット代を稼がれるというのは不愉快極まりない。

    そろそろ、ドコモとおさらばする時期が来ているのかもしれない。

     


  • 普通にはadbで認識できないAndroid機を認識させる

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

    通常のAndroid機は /etc/udev/rules-d/51-android.rules にベンダIDを追加してやるとadbで操作できるようになるのですが、coviaのFLEAZ F4s/F4s+は認識することができません。いろいろ試してみたところ、わかってきたことをメモしておきます。環境は LinuxMint18 MATE edition 64bit です。

    まずはUSBのデバイスIDを調べます。(必要なもの以外は結果から削除しています)

    $ lsusb
    Bus 001 Device 016: ID 0a5c:e688 Broadcom Corp.

    BroadcomのチップのベンダIDそのままのようです。(これはF4sのもの。F4s+はデバイスIDはe681になるようです)
    とりあえず、/etc/udev/rules-d/51-android.rules にベンダIDを記載して再読み込みさせてみます。

    $ cat /etc/udev/rules.d/51-android.rules 
    SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", MODE="0666", GROUP="plugdev"
    $ sudo udevadm control -R

    この状態で、USBを抜き差ししてから adb コマンドを叩いてみても、

    $ adb devices
    List of devices attached

    となって、デバイスが見つかりません。
    いろいろググると、~/.android/adb_usb.ini にベンダIDを書くとよい、というような記載をいくつか見つけたので試してみます。

    $ cat .android/adb_usb.ini 
    0x0a5c
    
    $ sudo service udev restart
    $ adb kill-server
    $ adb devices
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    List of devices attached 
    ???????????? no permissions

    状況が変わりました。この状態で TCP/IP 接続でデバッグする設定にしてみます。

    $ adb tcpip 5555
    error: insufficient permissions for device

    パーミッションで蹴られてしまいました。ルート権限で試してみます。

    $ sudo adb kill-server
    $ sudo adb start-server
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    $ adb devices
    List of devices attached 
    F4Sxxxxxxxxx unauthorized
    
    $ sudo adb tcpip 5555
    error: device unauthorized. Please check the confirmation dialog on your device.

    端末上にデバッグ接続可否のダイアログが出ていたので、許可してみます。

    $ adb tcpip 5555
    restarting in TCP mode port: 5555
    $ adb install xxxxxxx.apk
    2460 KB/s (261419 bytes in 0.103s)
     pkg: /data/local/tmp/xxxxxxx.apk
    Success

    となって無事にインストールできました。

    改めて /etc/udev/rules-d/51-android.rules を削除してやってみました。
    どうも、/etc/udev/rules-d/51-android.rules は必要ないようです。
    一般ユーザー権限では、

    $ adb devices
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    List of devices attached 
    ???????????? no permissions

    となってパーミッションエラーになりますが、通常の Android機はルート権限で adb server を起動すると認識できるようです。

    $ sudo adb kill-server
    $ sudo adb start-server
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    $ sudo adb tcpip 5555
    restarting in TCP mode port: 5555

    さらに、今回の covia FLEAZ F4s/F4s+ のようになにもしないと認識しない機種でも、 ~/.android/adb_usb.ini にベンダIDを書いてやれば認識できるようです。

    $ echo "0x0a5c" > ~/.android/adb_usb.ini
    $ cat ~/.android/adb_usb.ini 
    0x0a5c
    B ~ $ adb devices
    List of devices attached
    
    $ sudo adb kill-server
    $ sudo adb start-server
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    $ adb devices
    List of devices attached 
    F4Pxxxxxxxxx device
    
    $ sudo adb tcpip 5555
    restarting in TCP mode port: 5555

    ここで F4s+ を外して F4s を接続してみます。

    $ adb devices
    List of devices attached 
    F4Sxxxxxxxxx device
    
    $ sudo adb tcpip 5555
    restarting in TCP mode port: 5555

    となり、無事に認識しました。


  • FreeCADを使ってみた

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

    Wings 3Dに引き続き3Dデータの作成に挑戦するため、やはりSynapticでLinuxMint 18 x64の環境にインストールできるFreeCADを試してみました。

    試行錯誤しながら動かしていたのですが、自分のように他の人が3DCADを使っているところを見たことがあれば、こちらの紹介記事をみながら何とか使えそうな感じです。操作で最もわからなかったのが、視点の変更。平行移動がマウスの中ボタン(スクロールホイール)を押しながらマウス移動、回転させるのが中ボタン+左ボダンを押しながらマウス移動ということです。

    で、あれこれしながら作ってみたデータはこんな感じ。

    sample1

    何かの基板を入れるようなケースを意図して作ってみたのがこんな感じ。

    sample2

    データ作成にあたっては、各オブジェクトの位置(穴や凹みは引き算で作ってますので、引くためのオブジェクトも含む)の座標や大きさなどを数値で打ち込んで行くイメージになりそうな感じです。なので、ラフスケッチのイメージを作っておいてから作業着手するのが良さそうです。3Dプリンタで簡単なものを作ったり、KiCAD用の3Dモデルを作る程度であれば、自分でも何とか使えそうです。(KiCADに持っていく方法やピンを作る方法は別途考えないといけないですが・・・)

    他に少し古いバージョンを対象に書かれているようですが、こちらのサイトも参考になりそうです。


  • Wings3Dを使ってみた

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

    久しぶりにKiCADを使って設計をしているのですが、出来上がりのイメージを高めるwには、やはりライブラリに3Dデータが欲しくなります。

    で、無料で3Dプリンタ用データを作れるフリー3Dソフト一覧というページを参考にしてLinuxで使えるツールの中から、SynapticでインストールできるWings 3Dを試してみました。

    オープンソースであることと、UIがシンプルで初めての人にも使いやすい、ということが特徴のようです。

    で、早速Synapticからインストールして試してみました。

    Wings3D

    基本の図形を並べて変形させていくような感じの操作方法で、精密なデータを作るのは多少しんどいかもしれないのですが、作ったデータはKiCADで使うデータは基板製造用のガーバーデータには関係ないですし、雰囲気がわかればいいのでまずまずの印象でした。

    ・・・が、本番のデータ作成にトライしてみようと、そこまで試しに作成してみた形状を保存しておこうとしたところ、

    Wings3DError

    となって保存できませんorz。

    うーむ・・・。