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