1. 程式人生 > >ROS串列埠通訊(1)環境搭建

ROS串列埠通訊(1)環境搭建

ROS串列埠通訊(1)環境搭建

引言

無疑,串列埠的除錯需要聯合串列埠助手除錯更加方便。

1、ubuntu串列埠驅動安裝和使用

1.1 安裝

終端中輸入

sudo apt-get install minicom

配置:輸入
sudo minicom -s
注意前邊一定要加sudo以root許可權執行,否則在配置完後會出現cannot write to /etc/minicom/minirc.dfl的許可權問題!
彈出下圖設定介面:
在這裡插入圖片描述


使用方向鍵選擇Serial port setup,按Enter鍵,進入設定環境,如下圖
在這裡插入圖片描述
  輸入a或者A,選擇串列埠裝置,在這裡我使用的是USB轉串列埠,將/dev/tty8修改為/dev/ttyUSB0,這裡不固定,試試就知道是USB0還是USB1,也可以先安裝下文的除錯助手,除錯助手更方便的檢測出是哪個口。
  
  注意:使用USB轉串列埠,那麼串列埠COM1對應ttyUSB0, COM2對應ttyUSB1;如果沒有使用USB轉串列埠,而是直接使用串列埠,那麼串列埠COM1對應ttyUSB0, COM2對應ttyUSB1。
  
  配置完串列埠裝置後,按Enter鍵,再輸入E,配置波特率,按預設配置即可 115200 8N1 (波特率:115200,資料位:8,奇偶校驗位:N 無,停止位:1)。 配置完波特率,按Enter鍵,再輸入F,配置硬體流控,選擇NO。 再繼續配置軟體流控,也選擇NO。都配置完後,按下Enter鍵返回上一介面,選擇save setup as dfl(即將其儲存位預設配置),再選擇Exit,關閉minicom。

1.2 使用

再次輸入命令 sudo minicom,是剛才的配置生效,就可以看到串列埠輸出資訊。

1.3 Ubuntu 檢視串列埠,設定串列埠許可權

(2)ubuntu 檢視串列埠,設定串列埠許可權
使用命令 ls -l /dev/ttyUSB* 檢視相關的資訊。
  但是普通使用者沒有usb操作許可權,插入USB轉串列埠裝置後,普通使用者無法訪問裝置/dev/ttyUSB0, 使用minicom時需在root使用者下或加sudo才能使用。為了在普通使用者也能正常使用USB轉串列埠裝置, 可以通過增加udev規則來實現。步驟如下:

(1)建立檔案/etc/udev/rules.d/70-ttyusb.rules
(2)sudo gedit /etc/udev/rules.d/70-ttyusb.rules

一定要增加訪問許可權:

 sudo chmod 666 /dev/ttyUSB0

用檔案調整訪問許可權也可以,沒試過,在檔案內增加一行

KERNEL=="ttyUSB[0-9]*", MODE="0666"

重新插入USB轉串列埠裝置,普通使用者就有許可權訪問了。70-ttyusb.rules檔案還有另一種寫法,先用lsusb檢視USB轉串列埠晶片的idVendor和idProduct:

#lsusb

顯示結果中有這麼一行

Bus 005 Device 007: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
ID 0403:6001表示idVendor=0403,idProduct=6001

70-ttyusb.rules的內容如下:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",MODE="0666"

重新插入USB轉串列埠裝置,普通使用者同樣可以訪問了。

2、Ubuntu下的串列埠助手cutecom

安裝:

sudo apt-get install cutecom 

開啟:

sudo cutecom 

在這裡插入圖片描述

檢視電腦連結的串列埠資訊(名稱):

dmesg | grep ttyS*

在這裡插入圖片描述
初步使用串列埠助手測試:
傳送IMU自動輸出指令(使用自己的串列埠通訊裝置除錯):0xa515ba 讀取加速度原始資料。結果如圖所示:
在這裡插入圖片描述