我想通过蓝牙从Windows 10上运行的python脚本通过arduino发送一些数据(例如字符串),有什么办法吗?
答案 0 :(得分:0)
您的问题可能有点宽泛,但我将举一个简单的例子。您可以通过串行端口在Arduino和PC之间建立串行通信。 我称PC脚本为服务器,而Arduino为客户端。您可以根据需要编辑COM端口。
您可以找到有关pyserial和Arduino Serial的更多信息,并根据您的应用程序创建自己的协议。另外,还有类似this这样的好文章。
server.py
:
import serial
ser = serial.Serial('COM1',9600)
ser.open()
while True:
new_data = ser.read()
if new_data:
# flush serial
ser.flushInput()
print("new data:", new_data)
ser.write(b"ACK\r")
client.ino
:
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
serial.Begin(9600);
Serial.print('Hello from Arduino\r');
delay(1);
// read respond
if (Serial.ReadString().indexOf("ACK") != -1)
{
//valid answer received
digitalWrite(LED_BUILTIN, HIGH);
//flush Serial
Serial.flush();
delay(1000);
}
else
{
// no valid answer
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
}
}
void loop()
{
}