From 7f001966807ca500bb16085b7ff3cb8a4ec8ee81 Mon Sep 17 00:00:00 2001 From: Joel Klimont Date: Fri, 1 Oct 2021 00:24:08 +0200 Subject: [PATCH] added ip address writing to daemon --- build_deb.sh | 2 +- compLib/VisionDaemon.py | 58 +++++++++++++++++++++++------------------ setup.py | 2 +- 3 files changed, 34 insertions(+), 28 deletions(-) diff --git a/build_deb.sh b/build_deb.sh index 7bd753b..b32eda0 100755 --- a/build_deb.sh +++ b/build_deb.sh @@ -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 \ diff --git a/compLib/VisionDaemon.py b/compLib/VisionDaemon.py index 81dee7d..94f443d 100644 --- a/compLib/VisionDaemon.py +++ b/compLib/VisionDaemon.py @@ -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) diff --git a/setup.py b/setup.py index a3ab080..1c3f53d 100644 --- a/setup.py +++ b/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="",