У меня есть чтение Arduino с датчика (получая событие, затем просто считывая данные с события). Тогда я использую Serial.println(...)
для печати. Мой сервер, Python, очистит порт, затем прочитает строку данных, манипулирует данными, а затем снова прочитает их. Цикл в Arduino имеет задержку 100 мс. Код Python едва задерживается (это лучший способ, который я нашел до сих пор), но показания не настолько точны и кажутся задержанными. Как это сделать, чтобы Arduino получал только новое сенсорное событие, а затем печатал, как только Raspberry Pi (код Python) извлекает данные?
val = ser.readline().decode("utf-8");
val_dict = json.loads(val)
После небольшой манипуляции с кодом после этого, asyncio.sleep(0.1)
^^ Python
event_t event;
ser.getEvent(&event);
sprintf(random_var, "...", a, b, c);
Serial.println(random_var);
delay(100);
Результаты хорошие, просто задержка и постоянная отправка данных датчика. Интересно, могу ли я запросить данные, и только тогда Arduino получит новое событие датчика и Serial.println(...);