python 读取串口数据的示例


Posted in Python onNovember 09, 2020

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

以上就是python 读取串口数据的示例的详细内容,更多关于python 读取串口数据的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python采集博客中上传的QQ截图文件
Jul 18 Python
python网络编程之文件下载实例分析
May 20 Python
python脚本监控docker容器
Apr 27 Python
Python基于回溯法子集树模板解决取物搭配问题实例
Sep 02 Python
django2 快速安装指南分享
Jan 05 Python
Python 实现文件打包、上传与校验的方法
Feb 13 Python
opencv与numpy的图像基本操作
Mar 08 Python
Python实现某论坛自动签到功能
Aug 20 Python
Pytorch 的损失函数Loss function使用详解
Jan 02 Python
python扫描线填充算法详解
Feb 19 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
python re的findall和finditer的区别详解
Nov 15 Python
Cpython解释器中的GIL全局解释器锁
Nov 09 #Python
OpenCV实现机器人对物体进行移动跟随的方法实例
Nov 09 #Python
基于python爬取梨视频实现过程解析
Nov 09 #Python
Python eval函数介绍及用法
Nov 09 #Python
python tkinter的消息框模块(messagebox,simpledialog)
Nov 07 #Python
python 用struct模块解决黏包问题
Nov 07 #Python
python hmac模块验证客户端的合法性
Nov 07 #Python
You might like
深入理解PHP之require/include顺序 推荐
2011/01/02 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
this和执行上下文实现代码
2010/07/01 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
PHP守护进程实例
2015/03/06 Javascript
JS实现超精简响应鼠标显示二级菜单代码
2015/09/12 Javascript
js实现微博发布小功能
2017/01/12 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
JavaScript实现刮刮乐效果
2020/11/01 Javascript
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
使用Python编写Linux系统守护进程实例
2015/02/03 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
python使用PIL剪切和拼接图片
2020/03/23 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
医学专业个人求职自荐信格式
2013/09/23 职场文书
本科生个人求职自荐信
2013/09/26 职场文书
日语专业个人求职信范文
2014/02/02 职场文书
普通党员对照检查材料
2014/08/28 职场文书
社团活动总结格式
2014/08/29 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
2015年元旦晚会活动总结(学生会)
2014/11/28 职场文书
劳动者解除劳动合同通知书
2015/04/16 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
Nginx+Tomcat实现负载均衡、动静分离的原理解析
2021/03/31 Servers
Go标准容器之Ring的使用说明
2021/05/05 Golang
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang