搞了好长时间才搞定,普通的jar文件好启动。神奇的在于在ssh里启动GPIO可以操作,但是自启动GPIO不能控制。第二天才想明白估计是GPIO的操作权限比较高,一试果然如此,特此记录。
1、copy程序文件和sh文件在Public下
pi@raspberrypi:~ $ cd Public/
pi@raspberrypi:~/Public $ ls
dzds.jar start.sh
提升权限
chmod 777 dzds.jar
chmod 777 start.sh
2、sh文件内容
#!/bin/sh
cd /home/pi/Public
java -jar dzds.jar
3、添加启动项
sudo nano /etc/rc.local
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
su pi -c "bash /home/pi/Public/start.sh &"
exit 0
4、注意
由于调用了Pi4j的GPIO、PWM等,需要给sh的执行加上su,给到最高权限才行。