1.ssh密鑰登陸
ssh登陸開發(fā)作為必修課,默認(rèn)密碼登陸不安全又得每次輸密碼,有點(diǎn)不雅,改之。在windows上使用的是Fluent Terminal(個(gè)人使用習(xí)慣)。
1.1 因?yàn)榻?jīng)常使用macbook,所以先設(shè)置增加mac登陸密鑰
先用密碼ssh登陸x3派:
ssh-keygen
一路回車就行,想增加安全性可以設(shè)置帶密碼的密鑰。
cd .ssh cat id_rsa.pub >> authorized_keys chmod 600 authorized_keys chmod 700 ~/.ssh
接下來的操作是需要找到mac的密鑰,我mac用的是ssh_ed25519,在mac命令行中輸入:
vim ~/.ssh/id_ed25519.pub
把這里的內(nèi)容復(fù)制,在登陸到x3派的命令行中:
vim ~/.ssh/authorized_keys
按i開啟編輯,調(diào)整光標(biāo)到末尾然后回車換行,粘貼后按ESC,然后再按冒號(hào)后輸入wq回車。關(guān)閉登陸,再登陸就不需要密碼了。
1.2 window下面的密鑰如何處理見傳送門
1.3 既然能密鑰自動(dòng)登陸了,那就可以關(guān)閉ssh密碼登陸了,即舒服又安全,壞處就是設(shè)好密鑰的電腦壞了就bbq了
sudo su vim /etc/ssh/sshd_config
按圖把yes位置改成no即可:
2.USB/藍(lán)牙手柄連入ros
2.1 usb手柄接ubuntu并且連入ros是很容易的,手頭拿的是古老的北通阿修羅usb手柄,usb一接入無需驅(qū)動(dòng),命令行 ls /dev/input 就出現(xiàn)js0的標(biāo)識(shí)
2.2 藍(lán)牙手柄用的是飛智黑武士X8 pro,自帶了一個(gè)藍(lán)牙適配器(切換成Xbox模式)
如何進(jìn)一步驗(yàn)證手柄功能呢?ubuntu上面有個(gè)非常好的小軟件:
sudo apt install jstest-gtk jstest-gtk
如上執(zhí)行后就會(huì)出現(xiàn)一個(gè)驗(yàn)證手柄的界面,選中手柄就可以查看具體的操作反應(yīng):
2.3 ROS2案例
2.3.1 先測(cè)試ros操作,我實(shí)驗(yàn)的版本是ros2 foxy
開第一個(gè)終端:
ros2 launch teleop_twist_joy teleop-launch.py joy_config:='js0'
?
開第二個(gè)終端:
ros2 topic echo /joy
現(xiàn)在對(duì)手柄操作會(huì)直接改變r(jià)ostopic的值。
2.3.2 ros2 小烏龜
上面如此順利,那小烏龜還難嗎?哦 ,不,上面是在intel處理器macbook運(yùn)行的完整桌面版ubuntu設(shè)備下做的實(shí)驗(yàn)。下面才是我們的主角地平線X3派。
終端輸入dmesg查看下,全版本的Ubuntu如下:
而地平線X3派的精簡(jiǎn)版ubuntu是:
如上可以發(fā)現(xiàn)鼠標(biāo)的輸入是可以識(shí)別,但是手柄的輸入就沒有識(shí)別。
經(jīng)過一晚上的努力,確認(rèn)了系統(tǒng)內(nèi)核里面uinput和 joydev這兩個(gè)模塊被精簡(jiǎn)了。在/dev/input/目錄下找不到j(luò)s0,但是lsusb識(shí)別出了xbox360 controller。在不新編譯內(nèi)核情況下,是不是沒有辦法用游戲手柄?
將這個(gè)問題提問到群里得到了快速而果斷的否定,但是給了提供編譯內(nèi)核的預(yù)期。
試了試,竟然一個(gè)純python寫的代碼跑通了,如下:
git clone https://github.com/FRC4564/Xbox.git cd Xbox/ sudo python3 sample.py
原作者:frankzhen
原鏈接:本文轉(zhuǎn)自地平線開發(fā)者社區(qū)
-
嵌入式
+關(guān)注
關(guān)注
5087文章
19153瀏覽量
306423 -
人工智能
+關(guān)注
關(guān)注
1792文章
47497瀏覽量
239210 -
SSH
+關(guān)注
關(guān)注
0文章
189瀏覽量
16364 -
ROS
+關(guān)注
關(guān)注
1文章
279瀏覽量
17039
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論