设置详细信息: RPI版本:Raspberry Pi 2 Model BV1.1 Python版本:2.7
我创建了一个小程序来控制水培室内的风扇和灯光。我正在使用带外部电源的8通道继电器板。如果我使用以下命令运行脚本,一切都会正常 ‘sudo python /home/pi/lionsfort/hydroponic.py”。要停止执行,请键入CTRL + C,然后在继电器断电的情况下正确停止脚本。
由于我希望脚本以Raspberry pi开头,因此我正在运行“ hydroponic.py”脚本作为服务。但是使用脚本作为服务运行时会产生以下问题 1.仅控制台日志被写入,文件日志为空。 2.脚本可以正常启动,并且继电器可以正常运行,但是当我停止服务(sudo systemctl stop hydroponic.service)时,继电器将无法断电。 3.脚本从启动树莓派开始,但也从每个新的PUTTY会话开始。无论PUTTY会话如何,都应只运行一个脚本实例。
注意:如果使用“ sudo python /home/pi/lionsfort/hydroponic.py”运行脚本,我不会遇到上述任何问题!
以下是在引导时将脚本作为服务运行的过程:(ref http://www.diegoacuna.me/how-to-run-a-script-as-a-service-in-raspberry-pi-raspbian-jessie/)
1. cd /lib/systemd/system/
2. sudo nano hydroponic.service
3. hydroponic.service content
[Unit]
Description=Hydroponic
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/python /home/pi/lionsfort/hydroponic.py
Restart=on-abort
[Install]
WantedBy=multi-user.target
4. To activate it, I ran below commands
a. sudo chmod 644 /lib/systemd/system/ hydroponic.service
b. chmod +x /home/pi/lionsfort/hydroponic.py
c. sudo systemctl daemon-reload
d. sudo systemctl enable hydroponic.service
e. sudo systemctl start hydroponic.service
Satish Gunjal