最近小编又在瞎折腾,用血泪史写下此文,小编购买的器件有:CH340和HC-08的zigbee无线蓝牙,两套(一个使用在树莓派,一个使用在PC端),要购买后先在电脑测试端配置好zigbee的主从模块和波特率等问题,先确认PC之间能够收发数据再开始下面的调试。 树莓派usb连接串口使用 命令python查看安装到系统上的串口,命令行输入python -m serial.tools.list_ports
链接: 树莓派通过USB读取串口数据 linux下的usb转串口的使用(修改) 使用树莓派的USB转串口,实现自发自收的步骤
菜单–>首选项–>Raspberry Pi Configure 将Serial Port改为Enable(可以全部设置为enable),然后重启。
此处谨慎,可以把之前的注释掉(#),重新复制进行以下操作,将/boot目录下的cmdline.txt里面的 “console=ttyAMA0, 115200”这句话删掉。内容可能有差异,将第一个console至第二个console前的内容删除。在删除的时候可能提示没有权限,需要使用命令行,sudo vi /boot/cmdline.txt,在vim中i是编辑,esc是退出编辑,:q是退出vim,ctrl+o保存设置,ctrl+x退出设置
将USB插到树莓派上的任意USB接口上,然后在终端输入命令查看。USB0是否正确安装 *ttyAMA0是通过树莓派GIPO串口进行通信时候使用的端口。 注意:使用CH340的USB转串口才能识别出来,无线串口使用HC-08蓝牙(主从一体),接线方式如下 PC端显示的串口内容如下
实现代码如下
import serial import time #import sqlite3 ser = serial.Serial("/dev/ttyUSB0",9600,timeout=0.5) ser.write(b"Raspberry pi is ready") try: while True: count = ser.inWaiting() if count!=0: recv = ser.read(count) ser.write(recv) #print(retuenvalue(recv).localtime) ser.flushInput() time.sleep(1) except KeyboardIbterrupt: ser.close()