时间:2021-05-23
python3 读取串口数据 demo
最近在写一个demo,zigbee串口连接树莓派,树莓派使用串口通信接受zigbee穿过来得值。其中我是用的树莓派是3代B+,zigbee每隔三秒钟从串口输出数据。
下面是python串口通信,但是不是linux的,是我在windows上写的测试demo,python版本是3。
python串口读取数据
# TODO 串口读取数据# Auther wjwimport serial # 导入串口包import time # 导入时间包ser = serial.Serial("COM3",115200,timeout = 5) # 开启com3口,波特率115200,超时5ser.flushInput() # 清空缓冲区def main(): while True: count = ser.inWaiting() # 获取串口缓冲区数据 if count !=0 : recv = ser.read(ser.in_waiting).decode("gbk") # 读出串口数据,数据采用gbk编码 print(time.time()," --- recv --> ", recv) # 打印一下子 time.sleep(0.1) # 延时0.1秒,免得CPU出问题if __name__ == '__main__': main()上边的代码就已经实现python串口读数了,但大部分还需要写入。
串口写入数据
其实就是一个write方法,我开了一个线程,在线程里获取串口出来的数据,然后一个死循环每隔一秒发1,每隔一秒发0.
import serialimport timeimport _thread # 导入线程包data_ser = serial.Serial("COM3",115200,timeout = 5)data_ser.flushInput()def get_data(): while True: data_count = data_ser.inWaiting() if data_count !=0 : recv = data_ser.read(data_ser.in_waiting).decode("gbk") print(time.time()," --- data_recv --> ", recv) time.sleep(0.1)if __name__ == '__main__': _thread.start_new_thread(get_data,()) # 开启线程,执行get_data方法 while 1: time.sleep(20) data_ser.write(b'1') # 发送二进制1 time.sleep(20) data_ser.write(b'0') # 发送二进制0完成了,应该差不多就这样!
树莓派自带python,但是默认是python2,可以两行命令修改默认python3
以上就是python 读取串口数据的示例的详细内容,更多关于python 读取串口数据的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了python简单程序读取串口信息的方法。分享给大家供大家参考。具体分析如下:这段代码需要调用serial模块,通过while循环不断读取串口数据i
程序中经常需要使用excel文件,批量读取文件中的数据python读取excel文件可以使用xlrd模块pipinstallxlrd安装模块示例:#coding
python调用串口,写入数据#!/usr/bin/python3importserialdefserialTest():try:port="COM3"bps=
python实现超市扫码仪计费的程序主要是使用超市扫码仪扫商品的条形码,读取商品信息,实现计费功能。主要用到的技术是串口通信,数据库的操作,需要的环境包括:py
本文实例为大家分享了python读取mysql数据绘制条形图的具体代码,供大家参考,具体内容如下Mysql脚本示例:createtabledemo(idint,