SPRESENSE用BLEベースボードでWebアプリと通信

やりたいこと


SPRESENSE用BLEベースボードとは?

  • SPRESENSEのB2Bコネクタを2.54mmピッチに変換する基板
  • BLEモジュールISP1507を搭載し、SPRESENSEのSerial2に接続されている
  • ISP1507には NUS (Nordic UART Service) のファームウェアが書き込み済み

NUS (Nordic UART Service) とは?

  • Nordic社の独自のカスタムプロファイルで、BLE上でシリアル通信のようなことができる
  • BLEの標準プロファイルではない
  • PC側で仮想COMポートになるわけではない

Webアプリ上でBLE通信するには?

NUSの動作確認用Webアプリ

簡単なWebアプリを作成した↓

バイスに接続するとこんなかんじの画面↓

ソースはこちら↓

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);
}