ROS常用库(二) Serial库(单片机和上位机串口通讯)
比如我们做了个单片机,在win里面用串口调试助手接收和下发数据,那么在ubuntu里用ros怎么实现?换个说法,怎么实现上位机和下位机的通讯?
首先,用python自带的库就可以实现这个功能。
安装pyserial,然后运行以下代码:
1 import serial 2 3 serial = serial.Serial('/dev/ttyUSB0',115200,timeout=2) 4 5 while(1): 6 data = serial.read(1) 7 8 if serial.isOpen(): 9 print (data) 10 else: 11 print ('no open')
解读一下:第三行设置为自己的端口号和波特率。
第六行是读的数据大小,我这里只读了一位,所以括号里写了1.
serial.isOpen就是检测串口是否打开的函数。
具体的serial库有哪些功能函数请移步https://blog.csdn.net/wilylcyu/article/details/51840028?locationNum=7
以上就是最简单的读串口数据的方法,把这部分放在ros框架下就可以了。ros中也有这个serial库,编译安装后使用即可。
博文主要是总结自己的学习,因此有很多知识点没有提到,仅仅提了个人比较容易遗忘的或者非常重要的知识点。很多资料来源于网络和对一些课程的整理,侵权删。格式没花精力调整,望谅解。