這周收到兩片基於LGT8F328P LQFP32的Arduino Mini EVB, 機器上沒有 Arduino 環境需要新安裝, 正好感受一下新出的 Arduino IDE 2.x, 記錄一下 Ubuntu 20.04/22.04 下安裝 Arduino IDE 2.x 的過程. ...
這周收到兩片基於LGT8F328P LQFP32的Arduino Mini EVB, 機器上沒有 Arduino 環境需要新安裝, 正好感受一下新出的 Arduino IDE 2.x, 記錄一下 Ubuntu 20.04/22.04 下安裝 Arduino IDE 2.x 的過程.
下載解壓
下載
- 訪問 Arduino 的官網下載 https://www.arduino.cc/en/software
- 因為我是 X86 64位的Ubuntu, 下載 Linux ZIP file 64 bits (X86-64)
解壓, 將解壓後的文件移動到 /opt
cd /opt/
sudo mkdir arduino
sudo mv ~/Backup/linux/arduino-ide_2.0.3_Linux_64bit .
sudo chown -R root:root arduino-ide_2.0.3_Linux_64bit/
# 將這個目錄軟鏈為 latest, 方便以後替換新版本時不需要再改桌面快捷方式里的路徑
sudo ln -s arduino-ide_2.0.3_Linux_64bit latest
安裝
在命令行中直接運行 arduino-ide 就可以了
cd latest/
./arduino-ide
第一次啟動時, 會自動檢查更新並下載, 初始化用戶Home目錄下的 .arduino15 和 .arduinoIDE 目錄.
但是這個過程有些問題, 如果網路不好, 或者正好被牆, 這個啟動界面會一直卡在那裡. 如果能進界面了可以在界面上設置代理, 但是還沒啟動, 就只能通過其它途徑.
通過配置文件設置代理
先關掉卡住的界面, 然後編輯用戶目錄下的 arduino-cli.yaml 文件, 位置在 ~/.arduinoIDE/arduino-cli.yaml,
添加以下的內容, 代理的IP和埠, 用戶名等根據自己的環境設置
network:
proxy: http://<username>:<password>@<host>:<port>
這個代理支持 socks5, 如果用 socks5 需要修改一下協議頭
network:
proxy: socks5://127.0.0.1:1080
然後再命令行運行, 能看到下載能正常連接, 界面就可以正常展示了
增加桌面快捷方式 Desktop Launcher
每次到命令行下啟動還是不方便, 可以手動創建一個桌面快捷方式
創建文件 ~/.local/share/applications/arduino.desktop , 添加以下內容
[Desktop Entry]
Version=1.0
Type=Application
Name=Arduino IDE 2.0.0
Icon=/opt/arduino/latest/ide-logo.png
Exec=/opt/arduino/latest/arduino-ide
Comment=The Arduino Software IDE
Categories=Development;IDE;
Terminal=false
註意裡面的 ide-logo.png 不是現成的, 我在安裝目錄里找了幾個, 最後用的是這個路徑的圖片 [arduino install path]/resources/app/node_modules/arduino-ide-extension/src/browser/style/ide-logo.png 將其複製到最外層目錄
創建完圖標不會立即可用, 多打開幾次桌面 launcher, 過會兒就出來了.
窗體與底欄圖標的關聯
上面的快捷方式啟動後, 在底欄顯示的程式圖標是一個空白, 需要在 arduino.desktop 中增加一行關聯上對應的窗體名稱
StartupWMClass=arduino ide
這個值是通過 xprop WM_CLASS 獲取的, 運行這個命令後, 滑鼠變成十字形, 點擊對應的視窗就能看到對應的 WM_CLASS 值
$ xprop WM_CLASS
WM_CLASS(STRING) = "arduino ide", "Arduino IDE"
第三方庫的安裝
有不少第三方庫用的是 GitHub 倉庫, 而通過 GitHub 倉庫的 json 進行配置就繞不開 raw.githubusercontent.com 這個功能變數名稱, 而這個功能變數名稱因為眾所周知的原因完全不可用(除非你改本地hosts), 很多庫需要通過手工進行安裝.
比如對應 LGT8F328P 的庫 dbuezas/lgt8fx, 需要先去下載最新的包(當前是 lgt8f-2.0.0.zip), 然後解壓到 Arduino 目錄中
所在的目錄是 /home/[user name]/.arduino15/packages, 將 lgt8fx 解壓後放入的結構如下圖所示
安裝其它的包參照這個結構就可以. 可以在 staging/packages 下再放一份 lgt8f-2.0.0.zip 文件.
Arduino IDE 2.x 的簡單使用感受
IDE2.x的使用和1.x差別不大, 最大的區別就是增加了側欄. 風格和 VSCode 接近, 但是操作方式還是和 IDE 1.x 差不多.
快捷鍵: 編譯 Ctrl+R, 燒錄 Ctrl+U, 查看串口 Shift+Ctrl+M
新建標簽頁要通過右上角的圖標展開