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的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
Python的__builtin__模块中的一些要点知识
May 02 Python
python对url格式解析的方法
May 13 Python
分享Python文本生成二维码实例
Jan 06 Python
Python使用修饰器执行函数的参数检查功能示例
Sep 26 Python
详解Python使用tensorflow入门指南
Feb 09 Python
简单实现python数独游戏
Mar 30 Python
python实现微信防撤回神器
Apr 29 Python
Python HTMLTestRunner可视化报告实现过程解析
Apr 10 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
May 24 Python
Python pathlib模块使用方法及实例解析
Oct 05 Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 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牛逼的面试题分享
2013/01/18 PHP
PHP实现的购物车类实例
2015/06/17 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
JQuery下关于$.Ready()的分析
2009/12/13 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
javascript中通过arguments参数伪装方法重载
2014/10/08 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
JavaScript中三个等号和两个等号你了解多少
2017/07/04 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
jQuery pager.js 插件动态分页功能实例分析
2019/08/02 jQuery
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
朴素贝叶斯算法的python实现方法
2014/11/18 Python
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
Python使用sftp实现上传和下载功能(实例代码)
2017/03/14 Python
python模糊图片过滤的方法
2018/12/14 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
python读写csv文件实例代码
2019/07/05 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
消防安全标语
2014/06/07 职场文书
高中学生自我评价范文
2014/09/23 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
故意伤害辩护词
2015/05/21 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
祝酒词范文
2015/08/12 职场文书
写作技巧:优秀文案必备的3种结构
2019/08/19 职场文书
python实现剪贴板的操作
2021/07/01 Python