仅当Pi需要时才从Arduino提取串行数据(无需从Arduino获取常量数据)

2024-03-28 10:36:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我让Arduino从传感器读取数据(通过获取事件,然后简单地从事件读取数据)。然后我使用Serial.println(...)打印它。我的服务器Python将刷新端口,然后读取一行数据,操作数据,然后再次从中读取。Arduino中的环路有100ms延迟。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(...);


Tags: 数据端口代码服务器eventvarserial事件