witam pytanie dotyczy zagadnienia związanego z odczytaniem wartości termometrów przesłanych przez mqtt do nodered z arduino czy można wartości z 8 termometrów dajmy co 5 min przesłać jedną wiadomością czy musi być wysyłane 8 niezależnych ???
8 termometrów na jednym arduino, czy każdy termometr na osobnym arduino ?
8 termometrów na jednym arduino…
Witam, jeśli masz wiele czujników i chcesz wysłać ich wartość za pomocą jednej wiadomości to ja proponuje wysyłanie to w formacie JSON
np.
topic: “kotlownia/sensors”
msg:
{
“Twew”: 26.00,
“humidity”: 43.80
}
Dzięki temu możesz te dane łatwo rozdzielić w HomeAssistance
Na arduino jest odpowiednia biblioteka do tworzenia takich wiadomości
super dokładnie o to mi chodzi a czy kojarzysz jaka to biblioteka ?
Jeśli programujesz w Arduino IDE to biblioteka nazywa się ArduinoJson.
I jeszcze prosty przykład
char output[256];
StaticJsonDocument<256> doc;
JsonArray Temperature = doc.createNestedArray(“Temperature”);
Temperature.add(ds_temp[0]);
Temperature.add(ds_temp[1]);
Temperature.add(ds_temp[2]);
doc[“Humidity”] = 20;
serializeJson(doc, output);
client.publish(“kotlownia/sensors”, output);
I wiadomość wysłana przez mqtt będzie miała postać
topic: kotlownia/sensors
message:
{
“Temperature”: [25,35,45],
“Humidity”: 20
}
A tu jeszcze pomocna strona
wielkie dzięki po testuje temat …
Witam
pozwólcie, że się dołączę do tematu:)
Jak odwrócić za pomocą nodreda to co zrobiono wyżej? tzn jak odseparować z wiadomości to co nas interesuje tzn temperaturę ?
mam msg payload który zawiera: {“Time”:“1970-02-08T08:23:10”,“DS18B20-1”:{“Id”:“3C01B556290F”,“Temperature”:58.8},“DS18B20-2”:{“Id”:“3C01B556BD77”,“Temperature”:39.8},“TempUnit”:“C”}
chciałbym to zamienić na payload który zwiera tylko 58,8
Sam sobie odpowiem:)
Trzeba msg.payload w postaci string zamienić na msg.payload object > za pomocą nodu JSON
wtedy trzeba za pomocą nodu CHANGE zmienić payload na J:expression payload.‘DS18B20-1’.Temperature
i gotowe;]
Dokładnie to miałem zaproponować. Na upartego można jeszcze wycinać wartość z łańcucha operacjami na łańcuchach