網頁

2022-01-03

[openpilot] openpilottoolkit (OPTK) - 連接C2/C3的好用工具(2023/11/2更新)



    上次介紹過openpilot的一件安裝與一鍵反安裝,雖然是很好用的工具,如果你是要開發openpilot的程式碼,就嫌不足。很久以前我寫過SSH與FTP的方法,也介紹了workbench的SSH連線,但是隨著時間更迭,workbench已經開始不敷使用,不支援win 32bit環境,原本內建公鑰需要手動改成私鑰,加上對於comma three支援性下降,加上workbench長時間沒有更新,使用者少了有力的openpilot工具。

    這時候comma community大神spektor56開發的OpenPilotToolKit(OPTK),肯定是你我的救贖。

一、安裝OPTK


OpenpilotToolkit(OPTK)的安裝很簡單,只要去spektor56的Github就能下載OPTK1.9.0

Windows版OPTK安裝:

下載回來的7Z檔案,解壓縮以後就可以執行OpenpilotToolkit.exe



執行後會要求安裝MS.NET 6.0 / MS.NET 7.0,選擇Desktop版安裝即可。



接著就可以進入OPTK的首頁,系統很聰明,一開始就會尋找同網域內的comma device。首先講一個直接連線的方式:


使用我公開的金鑰,把上面下載的vagopclubkey.zip檔案解壓縮,覆蓋OPTK資料夾opensshkey這個檔案,重新開啟OPTK就能連線你的C3了。


如果要重新產生自己的金鑰,請執行下面的步驟。


點選YES之後就會要求設定你的SSH私鑰也就是Github帳號(所以你必須要在Github註冊一個帳號)


這個SSH按鈕是進入自動產生SSH KEY的模式。依照指示輸入帳號,並且點選Login後,就會要求登入Github一次(只需要一開始註冊一次,但如果OT重新安裝,就需要產生私鑰一次,不要重複執行)

每點一次這個功能,就會清掉你原本opensshkeys內容,所以不要一直重複這個程序。你如果C3已經有新增vagopclub的key就不要點SSH這個功能,直接覆蓋之後,點選下方的終端機按鈕,就可以連線。


之後會要求授權給spektor56大神開發的OT,別想太多,當然要授權給OT使用,要不然怎麼用OT~


接著OPTK會通知已經產生新的SSH KEY在你的Github帳號。接下來,去O1的設定的Network選單內,把Enable SSH打開,而且你原本如果有SSH Key要刪除再新增一次(remove/add),O1的私鑰不會自動更新,如果OPTK又跑過一次私鑰產生器流程(或是點選新增),那就必須要在O1刪除再加入一次(remove/add),才會有最新的SSH Keys。


你去Github帳號可以看到底下新增了一個OT專用的SSH Key


只要設備重新掃描(Scan),就會找到在網域當中的設備




其他功能正在開發中,但是已經非常實用,也可以SSH連線,刷版本做設定~~



感謝spektor56大神,一邊下跪一邊打本文。


至於你的金鑰,當你透過OT引導連線過C2或C3時,就會在OT資料夾內出現opensshkey,這個就是可以FTP或SSH連線的金鑰檔。



二、接著是如何SSH FTP到你的C2或C3主機


A.Windows用FTP連接C2

如果要修改C2檔案,可以透過FTP上下傳檔案,這裡推薦用FileZilla。C2開機後,讓電腦與C2在相同Wifi網域之下,點選開啟站台管理員。


協定選擇SFTP-SSH,填入C2的IP與Port 8022,使用者填入root(C3為comma,金鑰檔案選擇上面從OPTK產生的金鑰檔案
(vagopclub金鑰到這裡下載的vagopclubkey.zip檔案),然後就可以點選連線進入C2資料夾。


行車紀錄器檔案在/data/media/0/realdata/底下

B.Android用SSH連接C2

用手機連結C2我推薦用JuiceSSH,它是一個簡單小巧的APP。先把金鑰檔案放在手機某個目錄或是內存根目錄都可以。先把C2跟手機放在相同Wifi中(或是讓C2連線到手機分享的無線基地台),然後開啟JuiceSSH。(一樣匯入OT金鑰,vagopclub金鑰到這裡下載的vagopclubkey.zip檔案)


先點選管理連線Manage Connections,然後押右下方的+號新增連線。



連線類型改成SSH,主機就是C2的IP,然後把連接阜改成8022,再新增一個身份。身份的內容使用者名稱要用root(C3要改為comma),接著是私鑰設定匯入OT產生的金鑰,對右上方打勾儲存。接著就可以在連線頁面點選C2的IP用手機連入C2,可以跟PC一樣直接對C2下命令。


五.Android用FTP連接C2

    這裡推薦Android手機使用AndFTP來跟C2連線
在上方點選+號新增連線,接著填入C2的IP,然後類型選擇SCP,連接埠是8022,使用者名稱為root。然後進階的地方選擇被動與SSH金鑰,先前下載的OT金鑰
(vagopclub金鑰到這裡下載的vagopclubkey.zip檔案)。儲存檔案後就可以透過FTP直接與C2連線上傳下載檔案。


    AndFTP除了使用OT的金鑰,還要到設定內的進階,選擇Expert FTP settings,將SSH provider改成 ED22519格式,這樣就可以連線了