Hallo an alle,
auf meinem Pi läuft ein Postgresql-Server. Dieser soll von meinem Client (ESP 8266) über das MQTT-Protokoll Daten nicht nur empfangen sondern auch wegschreiben.
Das Empfangen funktioniert nach einigen Anlaufproblemen Tadellos. Der Client verfügt über eine DHT22 und sendet somit die Werte Luftfeuchtigkeit und Temperatur.
Nun zu meinem Problem.
Das lesen der Daten über ein Pythonskript sieht bei mir so aus:
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
# Subscribing in on_connect() means that if we lose the connection and
client.subscribe("/esp8266/temperature")
client.subscribe("/esp8266/humidity")
def on_message(client, userdata, message):
print("Received message '" + str(message.payload) + "' on topic '" + message.topic)
def main():
mqtt_client = mqtt.Client()
mqtt_client.on_connect = on_connect
mqtt_client.on_message = on_message
mqtt_client.connect('localhost', 1883, 60)
# Connect to the MQTT server and process messages in a background thread.
mqtt_client.loop_start()
if __name__ == '__main__':
print('MQTT to InfluxDB bridge')
main()
Display More
Daten vom Client sehen so aus:
Received message 'b' 25.40'' on topic '/esp8266/temperature'
Received message 'b' 47.30'' on topic '/esp8266/humidity'
Doch wie bekommt man das nun in eine DB? ich finde zwar viele Anleitungen aber irgendwie sind die alle veraltet da Paho nun auf Version 2 unterwegs ist macht es das für mich auch nicht leichter.
Hat von euch vielleicht irgendjemand eine Anleitung die er empfehlen kann?
Ich wäre sehr dankbar.