From 6628e4f908190c14351101761ce35649dc323a2a Mon Sep 17 00:00:00 2001 From: Terra Date: Sun, 24 Apr 2022 23:14:49 +0200 Subject: [PATCH] webserver --- RasPi/WebServer.py | 19 +++++++++++++++++++ RasPi/nginx | 17 +++++++++++++++++ Readme.md | 5 +++-- 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 RasPi/WebServer.py create mode 100644 RasPi/nginx diff --git a/RasPi/WebServer.py b/RasPi/WebServer.py new file mode 100644 index 0000000..5b036b5 --- /dev/null +++ b/RasPi/WebServer.py @@ -0,0 +1,19 @@ +from flask import Flask +from MultiNode import MultiNode +import threading, json + +app = Flask("MultiNode Server") + +multinode = MultiNode() + +@app.route("/") +def index(): + return json.dumps(multinode.devices) + +if __name__ == "__main__": + from waitress import serve + web_thread = threading.Thread(target=lambda: serve(app, host="127.0.0.1", port=8000)) + web_thread.start() + + while True: + multinode.loop() diff --git a/RasPi/nginx b/RasPi/nginx new file mode 100644 index 0000000..5d5dba6 --- /dev/null +++ b/RasPi/nginx @@ -0,0 +1,17 @@ +server { + listen 80; + listen [::]:80; + + gzip on; + server_name 192.168.1.12; + + location / { + proxy_pass http://127.0.0.1:8000; + proxy_redirect off; + proxy_set_header Host 127.0.0.1; + proxy_set_header X-Original-Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } +} diff --git a/Readme.md b/Readme.md index e5219db..64af214 100644 --- a/Readme.md +++ b/Readme.md @@ -10,8 +10,9 @@ Setup: RasPi: # Install https://www.airspayce.com/mikem/bcm2835/ on Raspberry Pi (maybe not) - sudo apt-get install pip - pip install numpy pyLoraRFM9x pyblake2 toml + sudo apt-get install pip nginx + pip install numpy pyLoraRFM9x pyblake2 toml flask waitress (?) + In /etc/nginx/sites-enabled: sudo ln -s ~/multinode/RasPi C++ programs need to be executed with sudo, or set permissions to use bcm2835 as user