added ip address writing to daemon
This commit is contained in:
parent
6eef4e7aa4
commit
7f00196680
3 changed files with 34 additions and 28 deletions
|
@ -34,7 +34,7 @@ fpm -s python --python-bin python3 --python-pip pip3 --python-package-name-prefi
|
|||
-d "python3-pigpio" \
|
||||
-d "python3-numpy" \
|
||||
-d "ffmpeg" \
|
||||
-v 0.1.5-1 -t deb setup.py
|
||||
-v 0.2.1-0 -t deb setup.py
|
||||
|
||||
# --deb-changelog changelog \
|
||||
# --deb-upstream-changelog changelog \
|
||||
|
|
|
@ -7,33 +7,39 @@ import LogstashLogging
|
|||
from LogstashLogging import logstash_logger
|
||||
from threading import Thread
|
||||
import logging
|
||||
import socket
|
||||
|
||||
RUN_CHECK = False
|
||||
RUN_IP_CHECK = False
|
||||
try:
|
||||
from Battery import Battery
|
||||
from Buzzer import Buzzer
|
||||
RUN_CHECK = True
|
||||
from compLib.Display import Display
|
||||
except Exception as e:
|
||||
logstash_logger.error(f"unable to import battery or buzzer in daemon -> {str(e)}")
|
||||
logstash_logger.warning(f"Could not import display for battery output {str(e)}")
|
||||
|
||||
|
||||
__run = """raspivid -t 0 -b 5000000 -w 1280 -h 720 -fps 30 -n -o - | gst-launch-1.0 fdsrc ! video/x-h264,width=1280,height=720,framerate=30/1,noise-reduction=1,profile=high,stream-format=byte-stream ! h264parse ! queue ! flvmux streamable=true ! rtmpsink location=\"rtmp://localhost/live/stream\""""
|
||||
|
||||
STREAM_RASPI = False if os.getenv("STREAM_RASPI", "false") == "false" else True
|
||||
IP_OUTPUT = False if os.getenv("IP_OUTPUT", "false") == "false" else True
|
||||
|
||||
|
||||
def check_battery():
|
||||
while True:
|
||||
time.sleep(2)
|
||||
battery = 0
|
||||
try:
|
||||
battery = Battery.percent()
|
||||
except Exception as e:
|
||||
logstash_logger.error(f"could not check battery -> {str(e)}")
|
||||
if -100 <= battery <= 15:
|
||||
logstash_logger.warning(f"LOW BATTERY DETECTED: '{battery}'")
|
||||
Buzzer.set(True)
|
||||
time.sleep(1)
|
||||
Buzzer.set(False)
|
||||
def get_ip():
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
try:
|
||||
s.connect(('10.255.255.255', 1))
|
||||
IP = s.getsockname()[0]
|
||||
except Exception:
|
||||
IP = '127.0.0.1'
|
||||
finally:
|
||||
s.close()
|
||||
return IP
|
||||
|
||||
|
||||
def write_ip_to_screen():
|
||||
while not os.getenv("IP_OUTPUT", "false") == "false":
|
||||
ip = str(get_ip())
|
||||
logstash_logger.info(f"writing {ip} to display")
|
||||
Display.write(1, ip)
|
||||
time.sleep(60)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -43,12 +49,12 @@ if __name__ == '__main__':
|
|||
logstash_logger.warning("Warning, old systemd version detected")
|
||||
systemd.daemon.notify('READY=1')
|
||||
|
||||
logstash_logger.info("starting battery checker")
|
||||
battery_checker = None
|
||||
if RUN_CHECK:
|
||||
logstash_logger.info("starting ip output")
|
||||
ip_output = None
|
||||
if RUN_IP_CHECK and IP_OUTPUT:
|
||||
try:
|
||||
battery_checker = threading.Thread(target=check_battery)
|
||||
battery_checker.start()
|
||||
ip_output = threading.Thread(target=write_ip_to_screen)
|
||||
ip_output.start()
|
||||
logstash_logger.info("starting battery checker - DONE")
|
||||
except Exception as e:
|
||||
logstash_logger.error(f"could not start battery checker -> {str(e)}")
|
||||
|
@ -59,8 +65,8 @@ if __name__ == '__main__':
|
|||
logstash_logger.error("gstreamer stopped...")
|
||||
else:
|
||||
logstash_logger.info("not starting gstreamer background process and only checking for battery")
|
||||
if battery_checker is not None:
|
||||
battery_checker.join()
|
||||
if ip_output is not None:
|
||||
ip_output.join()
|
||||
else:
|
||||
logstash_logger.info("battery checker failed to initialize.. sleeping for a day, good night")
|
||||
logstash_logger.info("ip display output failed to initialize.. sleeping for a day, good night")
|
||||
time.sleep(60*60*24)
|
||||
|
|
2
setup.py
2
setup.py
|
@ -12,7 +12,7 @@ else:
|
|||
|
||||
setuptools.setup(
|
||||
name="complib",
|
||||
version="0.1.5-1",
|
||||
version="0.2.1-0",
|
||||
author="F-WuTs",
|
||||
author_email="--",
|
||||
description="",
|
||||
|
|
Reference in a new issue