Gebruikte Python Scripts voor testomgeving
Op deze pagina vind je de specifieke Python-scripts die worden gebruikt binnen het Deventer RNS Noodnetwerk. Deze scripts sturen onder andere de dataflow aan en verzorgen de koppelingen met het Grafana Dashboard.
1. RNS Data Collector naar MQTT
Dit script luistert naar het Reticulum-netwerk en stuurt status- en testresultaten door naar de centrale MQTT-broker, zodat deze in Grafana zichtbaar worden.
#!/usr/bin/env python3
import time
import paho.mqtt.client as mqtt
import RNS
# Configuratie parameters
MQTT_BROKER = "<MQTT Broker>"
MQTT_PORT = 1883
MQTT_TOPIC = "<topic>"
MQTT_USER = "<username>"
MQTT_PASSWORD = "<password>"
def on_connect(client, userdata, flags, rc):
print(f"Verbonden met MQTT broker met statuscode: {rc}")
def main():
# Initialiseer MQTT
client = mqtt.Client()
client.on_connect = on_connect
try:
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_start()
except Exception as e:
print(f"Kon geen verbinding maken met MQTT: {e}")
return
# Initialiseer Reticulum Stack
reticulum = RNS.Reticulum()
print("Reticulum Stack succesvol opgestart. Monitoring actief...")
while True:
# Hier komt jouw specifieke logica voor het uitlezen van RNS pakketten
# Voorbeeld dummy data payload:
payload = '{"node": "Backbone-Deventer-Centrum", "status": "ONLINE", "rssi": -95}'
client.publish(MQTT_TOPIC, payload)
time.sleep(60) # Stuur elke minuut een update
if __name__ == "__main__":
main()
Installatie-instructies voor dit script
Om dit script succesvol op je Raspberry Pi te draaien, moet je eerst de benodigde Python-bibliotheken installeren. Voer het volgende uit in de terminal:
sudo apt update
pip3 install paho-mqtt rns
Maak daarna het script uitvoerbaar:
chmod +x rns_mqtt_collector.py
python3 rns_mqtt_collector.py
