2023年 SPRESENSE活用コンテスト への道③ ーBLE通信ー
HomeMadeGarbage Advent Calendar 2023 |10日目
2023年 SPRESENSE活用コンテスト への応募に向けて前回はマルチコアでの2種のサーボモータ制御を楽しみました。
目次
サンプル品 第一弾 到着!
2023年 SPRESENSE活用コンテスト では開発用の各種サンプルモニター品が用意され希望者に事前に提供するという素晴らしい機会がございました。
この素晴らしいチャンスを逃すまいと私も製作アイディアと希望部品を申し込み、無事にモニター部品が到着しました (もう一点希望しているのですが、後日提供いただけるとのこと ありがたや)。
2023年 SPRESENSE活用コンテスト への道
提供サンプル第一弾が届きました。
ありがとうございます!!!!#HMGspresense2023 pic.twitter.com/j8IaVMIKv8— HomeMadeGarbage (@H0meMadeGarbage) December 9, 2023
到着したのは以下の3点
- Spresense メインボード
- Spresense 拡張ボード
- BLE1507 (NUS firmware)
ここではBLE1507 を試してみましたので報告いたします。
BLE1507
BLE1507はSPRESENSE用のBLEボードです。
SPRESENSEに載せるだけでBLE通信が可能となりSPRESENSE間とはUART (Serial2)で通信します。
以下のBLE1507 販売元によるツイートを頼りに、BLE通信を楽しみました。
BLE1507(NUS版)の制御はUART-TX/RXのみ、例えばSpresense@ArduinoIDE開発の場合、Serial2(115200, 8N1)のシリアル通信をするだけで制御できます。最小限のサンプルはスクショで1枚!
(本品は、Serilazation版とNUS版の書換には別途J-Link等のライタが必要です。) pic.twitter.com/wsgaF6ziX1— 株式会社クレイン電子 (@crane_elec) December 2, 2023
動作
BLE通信で文字データを送受信しています。
スマホアプリ nRF Toolbox を使用しています。
念願のSPRESENSEとのリアルタイム無線通信が実現されました。
Arduinoコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
void setup() { Serial.begin(115200, SERIAL_8N1); Serial2.begin(115200, SERIAL_8N1); } void loop() { while(Serial.available() != 0){ Serial2.write(Serial.read()); } while(Serial2.available() != 0){ Serial.write(Serial2.read()); } } |
BLE1507ボード―SPRESENSE間は Serial2で通信して、USBシリアル(Serial)で文字データ送信や受信データのモニタリングを実施しています。
参考
おわりに
ここではコンテストモニタ品のBLEボード BLE1507 を用いてスマホとの通信を確認しました。
BLE1507ボード―SPRESENSE間でハードウェアシリアル (Serial2) を使用するため今後シリアルサーボとの併用をどうすればよいか検討が必要になりそうです。