我创建了一个蓝牙应用程序,该应用程序通过UTF-8编码的字符串以“ 12:30”格式发送当前时间。
上传到Arduino的代码如下所示。
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(8, 9);
void SetBluetooth()
{
BTSerial.begin(9600);
}
void SendData_BLE(String DATA)
{
//if(BTSerial.available())
BTSerial.println(DATA);
}
String ReadData_BLE()
{
String Result;
while(BTSerial.available())
{
char GetChar = BTSerial.read();
Result += String(GetChar);
delay(50);
}
return Result;
}
然后我将Arduino与该应用程序链接了。 通过您自己的“ SendData_BLE”函数将数据(传感器值等)从Arduino传输到您的应用程序是成功的!
但是,将时间从应用程序发送到Arduino失败。
在Arduino代码的void循环函数中 我编写了以下代码来执行“ ReadData_BLE()”函数,该函数通过蓝牙获取字符串,
void setup()
{
SetBluetooth();
}
void loop()
{
Serial.println(ReadData_BLE());
}
让我们运行此代码,Arduino将发送字符串“03�5 “,”0㎿�“ 并以字符串形式返回结果,让我知道是否有好的解决方案! 谢谢:)
作为参考,在智能手机应用程序中,我们通过“ MIT App Inventor2”完成了该操作!