2019年6月3日 星期一

Jetson Nano GPIO support

Jetson Nano GPIO 位在 J41 connector

https://www.jetsonhacks.com/nvidia-jetson-nano-j41-header-pinout/

使用GPIO首先要處理權限的問題, 不然只有 root 能操作GPIO.
依據以下命令新增一個 group 叫 gpio. 把想要操作GPIO的user加入這個group.
然後在每次export GPIO後更改sys file system相關檔案的權限

sudo groupadd -f -r gpio
sudo usermod -a -G gpio $USER
sudo cp /opt/nvidia/jetson-gpio/etc/99-gpio.rules /etc/udev/rules.d/

修改 /etc/udev/rules.d/99-gpio.rules

SUBSYSTEM=="gpio", KERNEL=="gpio*", ACTION=="add", \
    PROGRAM="/bin/sh -c 'chown root:gpio /sys%p/active_low /sys%p/direction /sys%p/edge /sys%p/value; chmod 660 /sys%p/active_low /sys%p/direction /sys%p/edge /sys%p/value'"

將chmod 660 改為 chmod 666

sudo udevadm control --reload-rules && sudo udevadm trigger

將想要使用的GPIO export命令放在 /etc/profile.d/export-gpio.sh
這樣每次系統重啟就會自動把GPIO export好. 例如GPIO18

echo 18 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio18/direction

echo 1 > /sys/class/gpio/gpio18/value

最後要sudo reboot now

以c/c++來控制GPIO.

https://github.com/gigijoe/jetsonTX2GPIO

Input / Output 電路

https://www.jetsonhacks.com/2015/12/29/gpio-interfacing-nvidia-jetson-tx1/