0

我有一个用于检测运动的基本脚本,因为它是由挂在 Rasberry PI 上的 PIR 传感器注册的。该脚本在以用户 'pi' 和 root 身份从终端手动运行时运行良好。但是,当我尝试在启动时运行它时,似乎传感器不起作用或我的脚本无法从 /sys/ 读取相应的值。

  1. 剧本:
echo "4" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio4/direction

while true;  do
    trap 'echo "4" > /sys/class/gpio/unexport' 0
    stat=`cat /sys/class/gpio/gpio4/value`
    echo $stat > /home/pi/Desktop/no-movement.txt
    if [ $stat == 1 ]
    then
       echo $stat > /home/pi/Desktop/movement.txt
       /usr/bin/omxplayer /home/pi/Desktop/sample.mp3
    fi
done
exit 0

  1. crontab 中的条目:
@reboot /home/pi/Desktop/motion_music_player.sh

评论:

  1. 正如您在脚本中看到的,我在文本文件中有一些粗略的日志记录。'no-movement.txt' 确实得到了更新,这意味着脚本肯定正在运行。
  2. 未创建“movement.txt”,这意味着脚本无法读取相应的 GPIO 值(或者传感器出现问题,但只有在启动时,传感器才能正常工作)。
4

0 回答 0