python 读取串口数据的示例
作者:二队 时间:2021-08-30 11:10:26
python3 读取串口数据 demo
最近在写一个demo,zigbee串口连接树莓派,树莓派使用串口通信接受zigbee穿过来得值。其中我是用的树莓派是3代B+,zigbee每隔三秒钟从串口输出数据。
下面是python串口通信,但是不是linux的,是我在windows上写的测试demo,python版本是3。
python串口读取数据
# TODO 串口读取数据
# Auther wjw
import serial # 导入串口包
import time # 导入时间包
ser = serial.Serial("COM3",115200,timeout = 5) # 开启com3口,波特率115200,超时5
ser.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 serial
import time
import _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
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.4 /usr/bin/python
来源:https://www.cnblogs.com/wjw1014/p/12101825.html
标签:python,串口,数据
0
投稿
猜你喜欢
go goth封装第三方认证库示例详解
2024-02-11 14:05:35
JavaScript Table行定位效果
2009-05-25 10:47:00
安装sql server 2008 management提示已安装 SQL Server 2005 Express的解决方法
2024-01-15 12:49:03
django实现前后台交互实例
2022-04-12 20:53:33
Python OrderedDict字典排序方法详解
2022-01-07 13:32:09
Python函数进阶之迭代器的原理与使用详解
2023-03-28 09:02:01
ASP:Cookie使用指南
2007-09-28 12:48:00
python实现读取excel表格详解方法
2023-03-12 04:48:37
Jquery中Ajax 缓存带来的影响的解决方法
2011-05-21 16:14:00
python 3.5实现检测路由器流量并写入txt的方法实例
2022-11-26 01:35:23
Vue + iView实现Excel上传功能的完整代码
2024-05-29 22:43:13
python 保存float类型的小数的位数方法
2021-06-28 05:44:12
基于JavaScript实现弹幕特效
2024-04-22 22:30:23
sql表连接查询使用方法(sql多表连接查询)
2024-01-22 12:25:39
JS实现pasteHTML兼容ie,firefox,chrome的方法
2023-09-21 01:55:10
Mysql如何巧妙的绕过未知字段名详解
2024-01-27 16:35:32
Python闭包装饰器使用方法汇总
2022-12-21 05:47:17
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2023-10-16 15:47:32
在python下实现word2vec词向量训练与加载实例
2022-06-12 23:49:05
vsCode安装使用教程和插件安装方法
2024-04-30 09:55:49