ESP32でBluetoothSerial通信をしよう!

こんにちは、アシスト研代表の15 nomotechです。
新歓ブロググリレー18日目の記事です。

ESP32とは?


240MHzのデュアルコアCPU搭載!
WiFi、BLEの無線が使える!
そして1500円ほどで買えてしまうという破格の値段!
(チップだけなら550~700円)!
これは買わない選択肢がみあたらない!

そして開発は公式のIDFもしくはArduino IDE! 
そう、初心者がよく使うArduinoIDEで文法もほぼ同じで開発ができてしまうのだ!

ESP32には今まで問題が、それはBluetoothは使えるが、BluetoothでSerial通信が出来なかったのだ
しかし、つい最近のアップデートによりBluetoothSerialのサンプルコードが公開されました!!!

ということで今回は早速BluetoothSerialを試してみたいと思います。

BluetoothSerialできると何がうれしいの?

ESP32は書き込みなどで使うように有線でSerial通信をすることができますが、有線だとデバックのときに毎回近くまで行ってつながなければいけないし、有線でつながっているものとしか通信をすることができません。
Bluetooth Serial通信ができると、PCやほかのマイコンとの間で無線で通信することができます。
無線で情報をやり取りできると遠隔で操作したり、デバックがはかどったりします。

サンプルコード


#include “BluetoothSerial.h”
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif
BluetoothSerial SerialBT;void setup() {
Serial.begin(115200);
SerialBT.begin(“testESP32”);
Serial.println(“BluetoothSerial start”);
}int sendIBT(String str) {
int len = str.length();
int i;
uint8_t arr[len];
for (i = 0; i < len; i++) arr[i] = (uint8_t)str.charAt(i);
SerialBT.write(arr, len);
return 0;
}int i = 0;
void loop() {
i++;
sendIBT(“num:” + String(i) + “\n”);
delay(10);
}

実行

実行するとBluetoothとして指定したデバイス名が現れます
このデバイスとペアリングします

そしてSerialMonitorで送られたデータを見てみるとこのようにちゃんと文字列が届いているのが確認できます。

まとめ

これで無線でモーターなどを遠隔操作したりすることができます。これまではBluetoothなどの無線モジュールは3000円を超えていましたが、いまはとても安く無線通信ができます。
1500円で開発ボードが買えて、Bluetooth,Wifiの無線モジュールが付いており、デュアルコアのすごいマイコンESP32を使いましょう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です