完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
做实验经需要用到不同的传感器设备,这时就需要调用对应的串口号。
如果只需要将外部的串口设备(如: 底盘控制的单片机、雷达、 IMU) 临时接入工控机,请参考方法 1,这 一设置断电重启后会失效; 每次插拔和重启都会影响串口的编号,所以如果这个设备是长期接入工控机的,就可以考虑使用长期绑定串口号,请参考方法 2, 特别注意: 这种方法设置完成后,对应的串口就跟这个USB设备绑定了,不要换成其他USB设备,可能参数严重后果,需要注意。 1.临时绑定 1)查看当前终端串口的设备号 ls /dev/tty* 2)插入临时使用的外设串口 3)再次查看终端串口的设备号 ls /dev/tty*,这时是为了看看多了哪个一个串口号,那就是接入的外设 4)假设该设备号为/dev/ttyUSB0,给设备赋予可读写权限 sudo chmod 777 /dev/ttyUSB0 5)修改自己代码中对应*.launch 文件或cpp或py文件里面的设备号,以launch文件为例,打开 minimal.launch 文件,修改 com_port 的取值为对应的设备号,例如 2.长期绑定 长期绑定也有两种方法,各有优缺点: ①根据外设u***的芯片编号来绑定串口号 ②根据工控机上的u***口固定串口号 如果,有两个设备的u***芯片是相同的,那就应该用第二种方法,不然会因为芯片编号相同,如1a86:7523,这时的串口号对应着这两个外设,这可能使得串口没办法获取预期的信息。 用第二种方法,就避免了上述的问题,但是,之后不管那个外设接到这个工控机的u***口,比如设定的串口号为“base”,那么无论哪个外设接到这个工控机的u***口,都会显示“/dev/base”。 理解清楚两种方法的优劣,选择适合的绑定方法。 2.1 方法一:根据u***芯片编号绑定 1)查看设备串口号芯片编号lsu*** 没接外设u***时输入一次,接入后又输入一次,看看多了哪个u***的信息 从上图中可以发现,多了下面这个设备的信息,这时一个IMU,我发现很多imu用的都是这块芯片,有兴趣可以留意一下。 Bus 003 Device 006: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port 上面最重要的信息就是 067b:2303,在下一步就会用到 2)创建 rules 文件 ① 先 cd /etc/udev/rules.d/ ② 创建myu***.rules文件,sudo gedit myu***.rules ③ 输入 KERNEL, ATTRS{idVendor}, ATTRS{idProduct}, MODE, SYMLINK 其中的“067b”,"2303"就是上一步我们查到的u***芯片的ID,填入对应的位置即可, 而最后的"imu"则是我们定义的u***串口名,之后调用就使用这个串口名,如 “/dev/imu” 每一行对应一个串口设备,若有很多的外设,就按照第一行的格式进行添加。 3)使设置生效 sudo udevadm control --reload-rules && sudo service udev restart && sudo udevadm trigger 或者 sudo reboot 或者 先拔掉u***外设,输入 sudo service udev reloadsudo service udev restart 再接上外设 4)测试 在终端输入ls /dev/imu,如果有反馈就说明,成功啦,没有的话仔细检查一下步骤有没有错。 2.2 方法二:根据工控机u***口编号绑定 1)根据u***的串口名查看工控机上的u***口编号 udevadm info /dev/ttyUSB0 从上图中,”3-1:1.0”就是工控机上u***口的编号,下一步操作将会用到。 2)跟方法一一样,创建 rules 文件 ① 先 cd /etc/udev/rules.d/ ② 创建myu***.rules文件,sudo gedit myu***.rules ③ 输入 ACTION,KERNELS,SUBSYSTEMS,MODE,SYMLINK 其中的KERNELS对应的编号就是上一步我们查到的工控机u***口的编号, 而最后的"imu"则是我们定义的u***串口名,之后调用就使用这个串口名,如 “/dev/imu” 每一行对应一个串口设备,若有很多的外设,就按照第一行的格式进行添加。 3)使设置生效 sudo udevadm control --reload-rules && sudo service udev restart && sudo udevadm trigger 或者 sudo reboot 或者 先拔掉u***外设,输入 sudo service udev reloadsudo service udev restart 再接上外设 4)测试 在终端输入ls /dev/imu,如果有反馈就说明,成功啦,没有的话仔细检查一下步骤有没有错。 |
|
|
|
只有小组成员才能发言,加入小组>>
4508个成员聚集在这个小组
加入小组3334 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4262 浏览 1 评论
4289 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 13:37 , Processed in 0.544636 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号