Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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