Python使用pyserial进行串口通信的实例
安装pyserial
pip install pyserial
查看可用的端口
# coding:utf-8 import serial.tools.list_ports plist = list(serial.tools.list_ports.comports()) if len(plist) <= 0: print("没有发现端口!") else: plist_0 = list(plist[0]) serialName = plist_0[0] serialFd = serial.Serial(serialName, 9600, timeout=60) print("可用端口名>>>", serialFd.name)
所发十六进制需转换为以下格式
# 所发十六进制字符串010591F50000F104 cmd = [0x01, 0x05, 0x91, 0xF5, 0x00, 0x00, 0xF1, 0x04]
串口通信
Windows下端口为COM*, Ubuntu下为/dev/ttyS0 import serial class Ser(object): def __init__(self): # 打开端口 self.port = serial.Serial(port='COM4', baudrate=9600, bytesize=8, parity='E', stopbits=1, timeout=2) # 发送指令的完整流程 def send_cmd(self, cmd): self.port.write(cmd) response = self.port.readall() response = self.convert_hex(response) return response # 转成16进制的函数 def convert_hex(self, string): res = [] result = [] for item in string: res.append(item) for i in res: result.append(hex(i)) return result
以上这篇Python使用pyserial进行串口通信的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python操作串口的方法
本文实例讲述了Python操作串口的方法.分享给大家供大家参考.具体如下: 首先需确保安装了serial模块,如果没安装的话就安装一下python-pyserial. 一个Python实现的串口Echo import serial import sys try: ser = serial.Serial('/dev/ttyUSB0', 9600) except Exception, e: print 'open serial failed.' exit(1) print 'A Serial Ech
-
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
练手项目,先上图 先实现一个简单的串口工具,为之后的上位机做准备 代码如下: github 下载地址 pyserial_demo.py import sys import serial import serial.tools.list_ports from PyQt5 import QtWidgets from PyQt5.QtWidgets import QMessageBox from PyQt5.QtCore import QTimer from ui_demo_1 import Ui_F
-
Python使用pip安装pySerial串口通讯模块
pySerial封装了对串口的访问,供大家参考,具体内容如下 特性 在支持的平台上有统一的接口. 通过python属性访问串口设置. 支持不同的字节大小.停止位.校验位和流控设置. 可以有或者没有接收超时. 类似文件的API,例如read和write,也支持readline等. 支持二进制传输,没有null消除,没有cr-lf转换. 有关Python的环境配置请参考: <Python入门>Windows 7下Python Web开发环境搭建笔记 而 pip 是随 Python 一同安装的,如下
-
Python使用pyserial进行串口通信的实例
安装pyserial pip install pyserial 查看可用的端口 # coding:utf-8 import serial.tools.list_ports plist = list(serial.tools.list_ports.comports()) if len(plist) <= 0: print("没有发现端口!") else: plist_0 = list(plist[0]) serialName = plist_0[0] serialFd = seri
-
C#串口通信程序实例详解
创建C#串口通信程序之命名空间 System.IO.Ports命名空间中最重用的是SerialPort 类. 创建C#串口通信程序之创建SerialPort 对象 通过创建SerialPort 对象,我们可以在程序中控制串口通信的全过程. 我们将要用到的SerialPort 类的方法: ReadLine():从输入缓冲区读一新行的值,如果没有,会返回NULLWriteLine(string):写入输出缓冲Open():打开一个新的串口连接Close():关闭 复制代码 代码如下: SerialP
-
python实现串口通信的示例代码
1 硬件设备 TTL串口摄像头(VC0706) USB转TTL烧录器 2 serial安装 第一次安装的是serial的包导包的时候发现下载错了,正确应该是pyserial.安装后直接import就可以了. 3 实现串口通信 3.1 发现端口 Windows下为COM(N, N=1.2...), Ubuntu下为'/dev/ttyS0'.Windows初学者,可以给您一下两种方式确定端口号. 方法一:输入在终端(cmd)中输入 python -m serial.tools.list_ports
-
Python 串口通信的实现
串口通信是指外设和计算机间,通过数据信号线 .地线.控制线等,按位进行传输数据的一种通讯方式.这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低.串口是计算机上一种非常通用的设备通信协议.pyserial模块封装了python对串口的访问,为多平台的使用提供了统一的接口. 安装: pip3 install pyserial 测试: 两个CH340 (TTL转串口模块)接入到PC串口上,通过Python进行数据交互: 简单串口程序实现: import serial
-
基于python select.select模块通信的实例讲解
要理解select.select模块其实主要就是要理解它的参数, 以及其三个返回值. select()方法接收并监控3个通信列表, 第一个是所有的输入的data,就是指外部发过来的数据,第2个是监控和接收所有要发出去的data(outgoing data),第3个监控错误信息在网上一直在找这个select.select的参数解释, 但实在是没有, 哎...自己硬着头皮分析了一下. readable, writable, exceptional = select.select(inputs, ou
-
Android串口通信之串口读写实例
在Android串口通信:基本知识梳理的基础上,我结合我项目中使用串口的实例,进行总结: Android使用jni直接进行串口设备的读写网上已经有开源项目了,本文是基于网上的开源项目在实际项目中的使用做的调整和优化: Google串口开源项目 下面是我项目中的相关代码及介绍: 1.SerialPort.cpp /* * Copyright 2009 Cedric Priscal * * Licensed under the Apache License, Version 2.0 (the "Li
-
使用python serial 获取所有的串口名称的实例
如下所示: #!/usr/bin/env python # -*- coding: utf-8 -* import serial import serial.tools.list_ports port_list = list(serial.tools.list_ports.comports()) if len(port_list) <= 0: print "The Serial port can't find!" else: port_list_0 =list(port_list
-
对python中基于tcp协议的通信(数据传输)实例讲解
阅读目录 tcp协议:流式协议(以数据流的形式通信传输).安全协议(收发信息都需收到确认信息才能完成收发,是一种双向通道的通信) tcp协议在OSI七层协议中属于传输层,它上承用户层的数据收发,下启网络层.数据链路层.物理层.可以说很多安全数据的传输通信都是基于tcp协议进行的. 为了让tcp通信更加方便需要引入一个socket模块(将网络层.数据链路层.物理层封装的模块),我们只要调用模块中的相关接口就能实现传输层下面的繁琐操作. 简单的tcp协议通信模板:(需要一个服务端和一个客户端) 服务
-
基于python实现蓝牙通信代码实例
这篇文章主要介绍了基于python实现蓝牙通信代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装和示例 linux下安装 sudo apt-get install python-pip libglib2.0-dev sudo pip install bluepy 官方示例 import btle class MyDelegate(btle.DefaultDelegate): def __init__(self, params): bt
-
Qt串口通信开发之QSerialPort模块详细使用方法与实例
Qt串口通信基础及名词说明 串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据.它很简单并且能够实现远距离通信.比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米: 而对于串口而言,长度可达1200米.典型地,串口用于ASCII码字符的传输.通信使用3根线完成,分别是地线.发送.接收.由于串口通信
随机推荐
- 简单游3.0新手脚本使用教程与帮助
- AJAX省市区三级联动下拉菜单(java版)
- asp又一个分页的代码例子
- Linux下Redis的安装和部署
- Angular 页面跳转时传参问题
- python中logging库的使用总结
- Python求两个文本文件以行为单位的交集、并集与差集的方法
- 浅谈Javascript 数组与字典
- js实现仿爱微网两级导航菜单效果代码
- Spring中常用注解的详细介绍
- BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
- php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
- Powershell小技巧之获取字符串的行数
- 用批处理列出所有开机启动项的命令
- C#中的委托介绍
- jQuery学习笔记 操作jQuery对象 属性处理
- Javascript动画效果(4)
- VC++角色游戏中的人物初始化模块代码实例
- 深入浅出RxJava+Retrofit+OkHttp网络请求
- Spring Security Oauth2.0 实现短信验证码登录示例