我制作了一个 python 程序,用于在安装在 Raspi3b 上的 Ubuntu 上闪烁 LED。它正在运行,我可以让 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)