MQTT JSON печати данных - PullRequest
       11

MQTT JSON печати данных

0 голосов
/ 14 декабря 2018

Попытка распечатать одно значение температуры при получении сообщения MQTT.В настоящее время происходит то, что печатается только полное сообщение MQTT, но не значение.«Тест» тоже не печатается.

Код:

import context
import paho.mqtt.client as mqtt
from influxdb import InfluxDBClient
import json

def on_message(mqttc, obj, msg):
    print(msg.payload)
    stuff = json_dumps(str(msg.payload))
    print(msg.payload['HTU21']['Temperature'])
    print ("Test")

Выход:

{"Time":"2018-12-15T03:02:34","HTU21":{"Temperature":18.8,"Humidity":71.2},"TempUnit":"C"}

1 Ответ

0 голосов
/ 14 декабря 2018

Он останавливается, потому что выдает ошибку (а библиотека MQTT перехватывает и скрывает ошибку), когда вы пытаетесь получить доступ к полям в msg.payload (который все еще является строкой).

Если вы используетеstuff JSON объект, то он должен работать.

def on_message(mqttc, obj, msg):
    print(msg.payload)
    stuff = json_dumps(str(msg.payload))
    print(stuff['HTU21']['Temperature'])
    print ("Test")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...