Raspi3b にインストールされた Ubuntu の LED を点滅させる Python プログラムを作成しました。プログラムを実行すると、LED を点滅させることができます。次のステップは、電源投入時、ssh がアクティブになった後、シャットダウンの終了時など、さまざまなタイミングで点滅させることです。私は Linux とシステム プログラミングの初心者です。
私の問題は、SSH がアクティブになった直後に LED の点滅をトリガーすることです。つまり、起動時に SSH という行が表示され、その直後に LED が点滅するようにしたいのです。ファイル*.sh
と*.service
ファイルを作成しました。このソースは、SSH がアクティブまたは有効になった後は機能しません。SSH からログインしてトリガーすると、sudo systemctl start my-startup.service
LED が点滅しました。SSH がアクティブまたは有効になった後に点滅しない理由がわかりません。
ここから多くのことを学ぶので、別のステータスに切り替えられるようになったら、このトピックを継続したいと思います。
- 電源オン(おそらく Linux の起動が始まったときから)
- SSH アクティブ/有効
- ブーツエンド
- シャットダウンの終了
私の最初のスクリプトは SSH です。
GNU nano 4.8 /usr/local/sbin/my-startup.sh
#!/bin/bash
check_stat=`ps -ef | grep sshd | grep -v grep | awk '{print $2}'`
if [ "${check_stat}X" != "X" ]
then
echo "SSHD is running"
python3 /usr/local/sbin/my-startup.py
else
echo "SSHD isn't running"
fi
GNU nano 4.8 /etc/systemd/system/my-startup.service
[Unit]
Description=Startup
After=ssh.service
[Service]
Type=simple
ExecStart=/usr/local/sbin/my-startup.sh
[Install]
WantedBy=multi-user.target
# Blink an LED with the LGPIO library
# Uses lgpio library, compatible with kernel 5.11
# Author: William 'jawn-smith' Wilson
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(23,GPIO.OUT)
GPIO.output(23,GPIO.HIGH)
time.sleep(1)
GPIO.output(23,GPIO.LOW)