物聯網開發筆記 (十) Jetson Nano Env 環境設定
CURL
首先安裝 CURL 工具
sudo apt-get update -y && sudo apt-get install curl -y
Poetry
安裝 Poetry 管理
curl -sSL https://install.python-poetry.org | python3 -
將 poetry
加入環境變數
sudo vim /etc/profile
# 編輯加入
export PATH="/home/{user_name}/.local/bin:$PATH"
source /etc/profile
這時候不管是下
poetry env use python
poetry install
其中一個,都會出錯,那是因為 Jetson Nano 預設的 python 是2.7版,非常舊,所以將 python 改為你的版本
which python3.10
update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
GPIO
GPIO 的安裝稍微複雜,看你是要用 pip
安裝還是跟我一樣用 poetry 安裝在虛擬環境內都可以。
poetry add Jetson.GPIO
設置用戶權限
sudo groupadd -f -r gpio
sudo usermod -a -G gpio your_user_name
建立規則
將群組加入規則,找到安裝 GPIO 的位置,因為我是安裝在虛擬環境下,所以我就透過以下將包內的 99-gpio.rules
複製出來
sudo cp venv/lib/python3.10/site-packages/Jetson/GPIO/99-gpio.rules /etc/udev/rules.d/
重新載入
透過以下指令重新載入 udev 執行規則
sudo udevadm control --reload-rules && sudo udevadm trigger
權限不足
或出現 PermissionError: [Errno 13] Permission denied 可以先確定相關使用是否已經分配給 gpio 群組
ls -l /dev/gpiochip0
ls -l /dev/gpiochip1
分配給 gpio 群組
sudo chown root:gpio /dev/gpiochip0
sudo chmod g+rw /dev/gpiochip0
ls -l /dev/gpiochip0
sudo chown root:gpio /dev/gpiochip1
sudo chmod g+rw /dev/gpiochip1
ls -l /dev/gpiochip1
Sudo
用 sudo 執行 python 出現找不到 module,那是因為 sudo python 不認識你 venv 的位置,可以先在終端機輸入:
sudo python
import sys
sys.path
移動到圖片上的位置,並新增一隻檔案
cd /usr/local/lib/python3.10/dist-packages/
sudo vi iOT.pth
寫入虛擬環境中的 package 位置
/home/username/project_path/.venv/lib/python3.10/site-package