我目前有一个arduino代码,该代码连接到三个传感器:温度,压力和湿度。我想用python编写一个有序的代码(通过int或strg),这将发送要读取的传感器类型,例如:如果我通过键盘1输入,它将不断向我发送温度数据;如果收入为2,请向我发送压力数据;因此可以随时输入任何数字。 Pd:对不起,我的英语不好,我不知道我能否解释我的问题
我在带有开关盒的arduino中有一个类似的代码,它可以完美地工作。但是我无法使其在python中工作,因为当我放置raw_input()时,程序停止等待输入并停止读取传感器数据。
import serial
import time
ser=serial.Serial('/dev/ttyUSB0',baudrate=115200)
while 1:
ser.setDRT(False)
#c=raw_input()
#ser.write(c)
med=a.readline()
print med
这可以很好地从默认分配的一种传感器类型读取数据
答案 0 :(得分:0)
如果您有需要并行运行的任务,则可以使用线程。一个线程获取传感器数据,另一个线程等待输入。
Python有一个非常易于使用的内置线程模块。
一个非常简单的实现示例可能如下所示:
import threading
def wait_input():
while True:
user_input = input()
# do something with user_input
def get_sonsordata()
while True:
med=a.readline()
print(med)
input_thread = threading.Thread(target=wait_input)
input_thread.start()
sensor_thread = threading.Thread(target=get_sonsordata)
sensor_thread.start()