完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 【创龙AM4379 Cortex-A9试用体验】之基于Python+Pyserial的串口程序开发 我们在前面的试用报告中移植了Python2.7.3,并使其支持sqlite3和socket,同时也对sqlite3和socket做了相关程序功能测试。在这篇试用报告中,将介绍一种基于Python+Pyserial的串口程序测试。 Python中用于读串口的模块是 pyserial,使用非常的方便,可以从http://pypi.python.org/pypi/pyserial下载其安装包。或从本帖的附件中下载,我这里提供的pyserial2.7这个版本。 1. 安装pyserial 下载pyserial-2.7.tar.gz,将其拷贝的Ubuntu 虚拟机,执行解压命令: tar -zxvf pyserial-2.7.tar.gz -C/media/tl437x/reference 将解压后的文件夹拷贝到NFS共享目录, cp -R pyserial-2.7 /nfsshare 如图所示: 启动TL-4379开发板,挂载NFS文件系统: mount -t nfs 192.168.1.107:/nfsshare /mnt-o nolock cd /mnt cd pyserial-2.7 ls 如图所示: 在pyserial2-7文件夹中包含了setup.py文件,该文件为pyserial的安装文件。执行如下命令安装pyserial: ./Python2.7.3/_install/bin/python setup.pyinstall 如图所示: 命令执行结束后,提示如下信息,则说明pyserial安装成功了。 2. TL-4379开发板与PC机硬件连接 我们在TL-4379开发板上运行Python语言编写的pyserial串口程序,PC机端运行串口调试助手软件。 通过查看创龙公司提供硬件手册,TL-4379开发板将UART3的TTL电平转换成了RS232电平,可以直接与PC的串口连接。 由于TL-4379与PC机上的串口均为标准的线序,即2脚对应RXD,3脚对应TXD,所以我们需要一根两端都是female的9针交叉串口线链起来,示意图: TL-4379开发板上UART3如图所示: TL-4379开发板与PC机USB转串***叉连接如图所示: 3. 基于Python+pyserial的串口通信程序 在TL-4379开发板上运行的程序,监听PC上的串口软件助手发送过来的数据。当接收到PC端发送过来的数据后,将介绍到的数据原封不动的返回给PC机端。程序代码如下: import serial from time import sleep ser = serial.Serial('/dev/ttyO3', 115200,timeout=0.5) def recv(serial): data1 = '' while True: data1 =serial.read(30) if data1 == '': continue else: break sleep(0.02) return data1 while True: data2 = '' data2 =recv(ser) ser.write(data2) 4. 测试 1)PC端,启动串口调试助手,根据自己的USB转串口号,设置通讯参数:115200,8位数据位,1位停止位,无奇偶校验,如下图所示: 2)TL-4379开发板端 启动开发板,挂载NFS文件系统: mount -t nfs 192.168.1.107:/nfsshare /mnt-o nolock 将Python程序拷贝到NFS系统,在开发板上执行命令: cd /mnt ./Python2.7.3/_install/bin/pythonpy_serial_test.py 程序处于监听状态,如图所示: 我们在PC机端的串口调试助手数据发送区输入一些字符,如:123456789,我们看一下效果,如图所示: 从上图中中显示的数据,说明我们用python编写的串口程序在TL-4379开发板上运行正常。 4. 小结 我给TL-4379定位为车间工业级的数据中继器,TL-4379即可以采集现场数据,也可将采集的数据处理后,作为一个小型数据服务终端,等待其他的客户端发出数据读取命令。通过移植Python到TL-4379,我们既可以通过串口获取其他控制仪表的数据,也可以通过自身的GPIO、ADC资源采集数据,并存储在sqlite3中,同时基于socket的服务器端程序,实时监听其他客户端的请求,将过程数据发送给第三方,运用Python开发应用程序,大大提高了我们的开发效率,大家不妨也在TL-4379开发板上搭建一些功能更加强大的应用。 ` 评分
|
||
相关推荐
2 个讨论
|
||
楼主开讲了。支持
|
|
|
|
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
如何配置Linux操作系统设备树让我的开发板可以将板子上的GPIO接口用作 I2S输出??
1573 浏览 1 评论
1391 浏览 0 评论
2050 浏览 0 评论
2014 浏览 2 评论
1116 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-19 14:04 , Processed in 0.781205 second(s), Total 66, Slave 53 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号