add documentation and daemonize

This commit is contained in:
Chuck Dries 2021-05-15 15:29:30 -07:00
parent 1540e487b3
commit a655a33573
3 changed files with 48 additions and 16 deletions

10
README.md Normal file
View File

@ -0,0 +1,10 @@
Turns GPIO17 on if internet works, pulses if internet doesn't
install: link or copy cloudsign.service to `/lib/systemd/system`
start: `sudo systemctl start cloudsign`
stop: `sudo systemctl stop cloudsign`
etc for enable/disable/restart
logs: `journalctl -u cloudsign`
edit startup: `sudo vim /lib/systemd/system/cloudsign.service`

11
cloudsign.service Normal file
View File

@ -0,0 +1,11 @@
[Unit]
Description=Cloud sign control service
After=multi-user.target
[Service]
Type=idle
KillSignal=SIGINT
ExecStart=/usr/bin/python3 /home/pi/Documents/cloud-sign/main.py
[Install]
WantedBy=multi-user.target

43
main.py
View File

@ -1,37 +1,48 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
from gpiozero import LED from gpiozero import LED, PWMLED
from time import sleep from time import sleep
import requests import requests
import blinkt from datetime import datetime
# import blinkt
blinkt.set_clear_on_exit() # blinkt.set_clear_on_exit()
# led = LED(17) # led = LED(17)
led = PWMLED(17)
url = "https://chuckdries.com"
sleepTime = 60
while True: while True:
print("hello") print(datetime.now())
try: try:
r = requests.get("https://chuckdries.com") r = requests.get(url)
except requests.exceptions.ConnectionError as e: except requests.exceptions.ConnectionError as e:
blinkt.set_all(255, 0, 0) sleepTime = 20
# led.on() # blinkt.set_all(255, 0, 0)
# led.blink()
led.pulse(2, 2)
print(e) print(e)
except requests.exceptions.Timeout as e: except requests.exceptions.Timeout as e:
# led.off() sleepTime = 20
blinkt.set_all(255, 0, 0) # blinkt.set_all(255, 0, 0)
# led.blink()
led.pulse(2, 2)
print(e) print(e)
else: else:
# led.off() sleepTime = 60
blinkt.set_all(0, 255, 0) # blinkt.set_all(0, 255, 0)
# led.value = 1
led.on()
print("request succeeded") print("request succeeded")
blinkt.show() # blinkt.show()
sleep(2) # sleep(2)
blinkt.clear() # blinkt.clear()
blinkt.show() # blinkt.show()
sleep(10) sleep(sleepTime)
# led.on() # led.on()
# sleep(1) # sleep(1)
# led.off() # led.off()