#nrf/id/pid # #nrf/id/lati #nff/id/long #nrf/id/alti # #nrf/id/rssi #nrf/id/snr #nrf/id/rttt - last round trip transmit time # #nrf/id/temp - bme temperature #nrf/id/humi - bme humidity #nrf/id/pres - bme barometric pressure #nrf/id/voc - bme gas #mosquitto_pub -h mikehanus.xyz -p 1883 -u agr -P ATenKureHubouTlackaVKomore -t 'agr/test' -m kkk #['pid', 'lati', 'long', 'alti', 'rssi', 'snr', 'rttt', 'temp', 'humi', 'pres', 'voc '] import time import numpy as np import paho.mqtt.client as mqtt def on_connect(client, userdata, flags, reason_code): print(f"Connected with result code {reason_code}") client.subscribe("nrf/#") def on_message(client, userdata, msg): print(msg.topic+" "+str(msg.payload)) mqttc = mqtt.Client() mqttc.on_connect = on_connect mqttc.on_message = on_message mqttc.connect("localhost", 1883, 60) mqttc.loop_start() nrfid = "tst" pid = 0 lati = 49.224426 long = 16.564100 #long = 16.550100 alti = 266 temp = 30 humi = 50.36 pres = 100.001 voc = 3 rssi = 0 snr = 0 def publish_pid(ppid, top, val): mqttc.publish(top, f"{int(ppid)}@{val:0.9f}") while True: x = (pid/20) * np.sin(pid/5) y = (pid/30) * np.cos(pid/5) #mqttc.publish(f"nrf/{nrfid}/pid", pid) publish_pid(pid, f"nrf/{nrfid}/lati", lati + y/1000) publish_pid(pid, f"nrf/{nrfid}/long", long + x/1000) #publish_pid(pid, f"nrf/{nrfid}/alti", alti) publish_pid(pid, f"nrf/{nrfid}/temp", temp) #publish_pid(pid, f"nrf/{nrfid}/humi", humi) #publish_pid(pid, f"nrf/{nrfid}/pres", pres) #publish_pid(pid, f"nrf/{nrfid}/voc", voc) publish_pid(pid, f"nrf/{nrfid}/rssi", rssi - ((x*x+y*y)**0.5) ) publish_pid(pid, f"nrf/{nrfid}/snr", snr) pid += 1 time.sleep(1) mqttc.loop_stop()