本文來源電子發燒友社區,作者:ankor, 帖子地址:https://bbs.elecfans.com/jishu_2292332_1_1.html
Corvette T1與esp32通信實現安卓手機控制
這次打算測試下corvette T1開發板(以下簡稱T1)的通訊能力,結合自己手頭上的esp32 wroom,打算將兩者進行以下通訊試試看,參考了以下這篇文章:
(42條消息) ESP32cam藍牙模塊與arduino uno通信實驗serapan的博客-CSDN博客esp32cam 藍牙
最后可以通過手機發送指令,來控制燈的亮滅。
使用到esp32的藍牙串口通訊以及T1板子的串口和兩個led燈
實現效果如下:
通過手機輸入a和b指令來分別控制2號引腳led燈閃爍13號引腳led燈常亮
?可以看到T1開發板的背面有綠光,便是13引腳的led常亮的效果
?
對esp32燒寫以下代碼
//This example code is in the Public Domain (or CC0 licensed, at your option.)
//By Evandro Copercini - 2018 // //This example creates a bridge between Serial and Classical Bluetooth (SPP) //and also demonstrate that SerialBT have the same functionalities of a normal Serial
BluetoothSerial SerialBT;
void setup() { Serial.begin(115200); SerialBT.begin("ESP32test"); //Bluetooth device name Serial.println("The device started, now you can pair it with bluetooth!"); }
void loop() { if (Serial.available()) { SerialBT.write(Serial.read()); } if (SerialBT.available()) { Serial.write(SerialBT.read()); } delay(20); }
對T1開發板燒寫如下代碼
int i ;
void setup() {
Serial.begin(115200); pinMode(2, INPUT); pinMode(3, OUTPUT); pinMode(13, OUTPUT); }
void loop() { if (Serial.available()) { // Serial.write(Serial.read());//輸出原數據格式 i = Serial.read(); // Serial.println(i);//輸出可顯示的ascll值 Serial.write(i); Serial.write(' '); }
if (i == 'a') { digitalWrite(2, HIGH); delay(1000); digitalWrite(2, LOW); delay(1000); }
if (i == 'b') { digitalWrite(13, HIGH); }
}
其他設置
esp32 wroom使用引腳RX0、TX0,連接到T1板子的IO1,IO0(RX0->IO1,TX0->IO0)
手機隨便下個帶有編碼設置的藍牙串口調試助手(ps:不是藍牙調試助手)
將編碼調成utf-8,就可以輸入命令并點燈了。
注意事項
手機藍牙發送的編碼一定要對可以是gbk、utf-8等編碼,但是如果使用錯的編碼方式那么就會接收不到信號,串口打印數據就會亂碼,如下圖
除此之外,esp32和T1開發板的串口波特率也要對齊。
以上便是本次設計的全部內容了。
感謝閱讀。
-
晶心科技
+關注
關注
0文章
104瀏覽量
18242 -
開發板試用
+關注
關注
3文章
301瀏覽量
2147
發布評論請先 登錄
相關推薦
評論