Ваш вопрос может быть немного широким, но я приведу простой пример. Вы можете установить последовательную связь между вашим Arduino и вашим ПК через последовательный порт.
Я назвал PC-скрипт сервером, а Arduino - клиентом. При необходимости вы можете изменить COM-порт.
Вы можете найти больше о pyserial и Arduino Serial и создать свой собственный протокол на основе своего приложения. Кроме того, есть хорошие статьи о том, как это .
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()
{
}