Inkluderar MQTT
This commit is contained in:
@@ -14,6 +14,7 @@ import signal
|
|||||||
import traceback
|
import traceback
|
||||||
import math
|
import math
|
||||||
import logging
|
import logging
|
||||||
|
import paho.mqtt.client as mqtt
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class Measurement:
|
class Measurement:
|
||||||
@@ -94,16 +95,22 @@ def thread_SendingData():
|
|||||||
params += " " + str(mea.rssi)
|
params += " " + str(mea.rssi)
|
||||||
params += " " + str(mea.timestamp)
|
params += " " + str(mea.timestamp)
|
||||||
fmt +=",timestamp"
|
fmt +=",timestamp"
|
||||||
cmd = path + "/" + args.callback + " " + fmt + " " + params
|
print ("MQTT publishing")
|
||||||
print(cmd)
|
mqttclient.publish(("MiTemperature2/%s/temperature" % mea.sensorname), mea.temperature)
|
||||||
ret = os.system(cmd)
|
mqttclient.publish(("MiTemperature2/%s/humidity" % mea.sensorname), mea.humidity)
|
||||||
if (ret != 0):
|
mqttclient.publish(("MiTemperature2/%s/battery" % mea.sensorname), mea.battery)
|
||||||
measurements.appendleft(mea) #put the measurement back
|
print ("MQTT done")
|
||||||
print ("Data couln't be send to Callback, retrying...")
|
|
||||||
time.sleep(5) #wait before trying again
|
|
||||||
else: #data was sent
|
|
||||||
previousMeasurement=Measurement(mea.temperature,mea.humidity,mea.voltage,mea.calibratedHumidity,mea.battery,0) #using copy or deepcopy requires implementation in the class definition
|
|
||||||
|
|
||||||
|
#""" cmd = path + "/" + args.callback + " " + fmt + " " + params
|
||||||
|
# print(cmd)
|
||||||
|
# ret = os.system(cmd)./L
|
||||||
|
# if (ret != 0):
|
||||||
|
# measurements.appendleft(mea) #put the measurement back
|
||||||
|
# print ("Data couln't be send to Callback, retrying...")
|
||||||
|
# time.sleep(5) #wait before trying again
|
||||||
|
# else: #data was sent
|
||||||
|
# previousMeasurement=Measurement(mea.temperature,mea.humidity,mea.voltage,mea.calibratedHumidity,mea.battery,0) #using copy or deepcopy requires implementation in the class definition
|
||||||
|
#"""
|
||||||
except IndexError:
|
except IndexError:
|
||||||
#print("Keine Daten")
|
#print("Keine Daten")
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
@@ -294,6 +301,9 @@ if not args.name:
|
|||||||
args.name = args.device
|
args.name = args.device
|
||||||
|
|
||||||
if args.callback:
|
if args.callback:
|
||||||
|
mqttserver = "192.168.0.114"
|
||||||
|
mqttclient = mqtt.Client("koksfonstret")
|
||||||
|
mqttclient.connect(mqttserver)
|
||||||
dataThread = threading.Thread(target=thread_SendingData)
|
dataThread = threading.Thread(target=thread_SendingData)
|
||||||
dataThread.start()
|
dataThread.start()
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
tmux new-session -d -s sensorer '/home/pi/LYWSD03MMC.py -a -wdt 5 --devicelistfile sensorer.ini --callback sendToMQTT.sh'
|
tmux new-session -d -s sensorer '/home/pi/LYWSD03MMC.py -a -wdt 5 --devicelistfile sensorer.ini --callback yes --battery'
|
||||||
tmux detach -s sensorer
|
tmux detach -s sensorer
|
||||||
|
|||||||
Reference in New Issue
Block a user