如何同时将数据从Python发送和接收数据



i当前有一个Arduino代码,该代码连接到三个传感器:温度,压力和湿度。我想在python中制作一个代码(通过int或strg(,这会发送我要阅读的传感器类型,例如:如果我通过键盘1输入,则会不断地向我发送温度数据;如果收入2,请向我发送压力数据;因此,能够随时输入任何数字。PD:对不起,我的英语不好,我不知道我是否可以解释我的问题

我在Arduino中具有类似的代码,并具有开关案例,并且效果很好。但是我无法在Python中使用它,因为我将RAW_INPUT((放置时,程序停止等待输入并停止阅读传感器数据。

python

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

这只是可以从默认分配的一种传感器类型读取数据

的数据效果很好。

如果您有任务,则需要并行运行,可以使用 threads 。一个线程获取传感器数据,另一个线程等待输入。

python具有非常易于使用的用于线程的内置模块。

  • 官方Python文档:https://docs.python.org/3.7/library/threading.html
  • TutoialSpoint:https://www.tutorialspoint.com/python/python_multithreading.htm

一个非常简单的实现示例可能看起来像:

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()

相关内容

  • 没有找到相关文章

最新更新