やりたいこと
- スイッチサイエンスのSPRESENSE用BLEベースボードを使って
- PCまたはAndroidのブラウザ上のWebアプリと
- NUS (Nordic UART Service)で文字列の送受信をする
SPRESENSE用BLEベースボードとは?
NUS (Nordic UART Service) とは?
- Nordic社の独自のカスタムプロファイルで、BLE上でシリアル通信のようなことができる
- BLEの標準プロファイルではない
- PC側で仮想COMポートになるわけではない
Webアプリ上でBLE通信するには?
- Web Bluetooth API を使う
- Chrome系のブラウザが対応している (だだし iOSでは非対応)
SPRESENSE側の動作確認用サンプルコード
スイッチサイエンスのSPRESENSE用BLEベースボードのページにあるサンプルスケッチ(SerialPassthrough)を使用する。これは Serial (USBシリアル) と Serial2 (BLEモジュール) の送受信を相互に横流しするものである。PCとUSBで接続し、PC上のターミナルでSPRESENSEのUSBシリアルポートを開き、上記のWebアプリとの間で相互に文字列の送受信ができることが確認できた。(ボーレートは115200)
void setup() { Serial.begin(115200); Serial2.begin(115200); } void loop() { while (Serial.available() && Serial2.availableForWrite()) { Serial2.write(Serial.read()); } while (Serial2.available() && Serial.availableForWrite()) { Serial.write(Serial2.read()); } delay(1); }