Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NimBLEを使って自作ロボットを動かしてみた

Norippy
October 13, 2020

 NimBLEを使って自作ロボットを動かしてみた

ESP32で使えるようになったNimBLEライブラリを使い、自作ロボットを動かしてみた話を簡単にまとめています。

Norippy

October 13, 2020
Tweet

More Decks by Norippy

Other Decks in Programming

Transcript

  1. NimBLEライブラリを使って
    ⾃作ロボットを動かしてみた
    IoTLT Vol.68 2020/10/13
    norippy @ rino products

    View Slide

  2. norippy (Norio Ikedo)
    ○平日は某大きな会社で・・・
    ・IoTシステムのインターフェース検討や試作の開発
    ○余暇の時間はrino products代表(副業)
    • ガジェットの筐体、電子回路、組み込みFW等の設計・開発・販売
    • Alexaスキルの開発
    Twitter:norippy Web page

    View Slide

  3. 技術書典9で本を出しました︕
    3
    https://techbookfest.org/product/5734028571312128?productVariantID=5646955350851584
    ↑↑↑↑↑↑↑↑↑↑
    販売ページ
    ・筐体などの機械部品を中国で作るときに気をつけることや注⽂の仕⽅をまとめています。
    (みなさんも部品を設計して、発注しましょう︕)
    ・家電メーカーの量産プロセスがわかる︕(貴重な情報をまとめました︕︕)

    View Slide

  4. MFTokyo 2020がありましたね
    4
    直前で⾃分は諸事情により参加できなくなったのですが、
    展⽰に向けてこんなロボットを作っていました
    AstRo-1

    View Slide

  5. AstRo-1とは︖
    5
    ・⾞の中で使うことを想定に開発したロボット
    ・⾞両の情報を取得して表⽰したり、
    その情報を元に⾊々なアクションをします。
    ・モータースポーツで使うことも想定し、
    ドライバーとピットクルーの通信⽀援、レースの状況のアシストができる。
    ESP32
    Bluetooth
    Wi-Fi
    ADC
    システム構成
    CAN
    OBD2
    AUDIO-IN
    Original
    16 x 16
    LED Matrix
    Communicate with smartphone
    (BLE, 将来的には MQTTも実装予定)
    USB
    PC

    View Slide

  6. MFTokyo2020に向けた開発計画
    6
    ・BLE通信で、スマートフォンのコマンドを受けて
    プリセットされたドット絵を表⽰したり、動く︕
    BLE
    まずはこのシステムの実現を⽬指しました︕

    View Slide

  7. 問題が・・・
    7
    簡単そうだけど、実はArduinoで動くESP32のBLEライブラリ
    はちゃんと通信できません︕︕
    (iPhoneで命令した値と違う値が送られる︕)
    ArduinoではなくESP-IDFを使って開発する︖
    開発に時間がかかりそうだ・・・

    View Slide

  8. NimBLE-Arduino ライブラリを使おう︕
    8
    正式にはApache MyNewt NimBLEというらしい・・・
    ESP-IDFでもこのBLEスタックが採⽤されたことで、Arduino版ができた︕
    しかも、使いやすい︕︕

    View Slide

  9. NimBLE-ArdunoとESP32 BLE Arduinoライブラリの違い
    9
    NimBLEのソース ESP32 BLE(従来のライブラリ)のソース
    従来のライブラリに合わせてクラスが作られている︕

    View Slide

  10. まとめ
    10
    • NimBLEを使えば、Arduinoでも簡単にBLE開発ができる︕
    • 従来のBLEライブラリに合わせて関数が作られているので、
    ソースが読みやすい。
    • 頑張ればAlexa gadgets toolkitを使ってAlexa連携ロボット
    にすることも可能かも・・・(頑張ります)

    View Slide