# MQTT czy można jedną wiadomością przesłać dane z wielu czujników

**URL:** <https://forum.arturhome.pl/t/mqtt-czy-mozna-jedna-wiadomoscia-przeslac-dane-z-wielu-czujnikow/419>\
**Category:** Procesy z życia wzięte\
**Tags:** arduino, mqtt, czujnik-temperatury\
**Created:** [9 Wrzesień 2020 11:22 UTC](https://forum.arturhome.pl/t/mqtt-czy-mozna-jedna-wiadomoscia-przeslac-dane-z-wielu-czujnikow/419 "2020-09-09T11:22:06Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Autor:** ![starmachpl](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/starmachpl/32/697_2.png) [@starmachpl](https://forum.arturhome.pl/u/starmachpl)\
**Data wpisu:** [9 Wrzesień 2020 11:22 UTC](https://forum.arturhome.pl/t/mqtt-czy-mozna-jedna-wiadomoscia-przeslac-dane-z-wielu-czujnikow/419/1 "2020-09-09T11:22:06Z")

</div>

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 ???

---

<div class="post-metadata">

**Autor:** ![artpc](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/artpc/32/848_2.png) [@artpc](https://forum.arturhome.pl/u/artpc)\
**Data wpisu:** [9 Wrzesień 2020 12:47 UTC](https://forum.arturhome.pl/t/mqtt-czy-mozna-jedna-wiadomoscia-przeslac-dane-z-wielu-czujnikow/419/2 "2020-09-09T12:47:01Z")

</div>

8 termometrów na jednym arduino, czy każdy termometr na osobnym arduino ?

---

<div class="post-metadata">

**Autor:** ![starmachpl](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/starmachpl/32/697_2.png) [@starmachpl](https://forum.arturhome.pl/u/starmachpl)\
**Data wpisu:** [9 Wrzesień 2020 14:49 UTC](https://forum.arturhome.pl/t/mqtt-czy-mozna-jedna-wiadomoscia-przeslac-dane-z-wielu-czujnikow/419/3 "2020-09-09T14:49:49Z")

</div>

8 termometrów na jednym arduino…

---

<div class="post-metadata">

**Autor:** ![neo1280](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/n/85f322/32.png) [@neo1280](https://forum.arturhome.pl/u/neo1280)\
**Data wpisu:** [10 Wrzesień 2020 06:59 UTC](https://forum.arturhome.pl/t/mqtt-czy-mozna-jedna-wiadomoscia-przeslac-dane-z-wielu-czujnikow/419/4 "2020-09-10T06:59:30Z")

</div>

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

---

<div class="post-metadata">

**Autor:** ![starmachpl](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/starmachpl/32/697_2.png) [@starmachpl](https://forum.arturhome.pl/u/starmachpl)\
**Data wpisu:** [10 Wrzesień 2020 15:25 UTC](https://forum.arturhome.pl/t/mqtt-czy-mozna-jedna-wiadomoscia-przeslac-dane-z-wielu-czujnikow/419/5 "2020-09-10T15:25:27Z")

</div>

super dokładnie o to mi chodzi a czy kojarzysz jaka to biblioteka ?

---

<div class="post-metadata">

**Autor:** ![neo1280](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/n/85f322/32.png) [@neo1280](https://forum.arturhome.pl/u/neo1280)\
**Data wpisu:** [11 Wrzesień 2020 07:16 UTC](https://forum.arturhome.pl/t/mqtt-czy-mozna-jedna-wiadomoscia-przeslac-dane-z-wielu-czujnikow/419/6 "2020-09-11T07:16:06Z")

</div>

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

> **[Assistant](https://arduinojson.org/v6/assistant/)**
>
> The ArduinoJson Assistant v6 computes the JsonDocument size and generates JSON serialization programs

---

<div class="post-metadata">

**Autor:** ![starmachpl](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/starmachpl/32/697_2.png) [@starmachpl](https://forum.arturhome.pl/u/starmachpl)\
**Data wpisu:** [14 Wrzesień 2020 16:08 UTC](https://forum.arturhome.pl/t/mqtt-czy-mozna-jedna-wiadomoscia-przeslac-dane-z-wielu-czujnikow/419/7 "2020-09-14T16:08:52Z")

</div>

wielkie dzięki 😉 po testuje temat … 😉

---

<div class="post-metadata">

**Autor:** ![Grzes](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/g/ed655f/32.png) [@Grzes](https://forum.arturhome.pl/u/Grzes)\
**Data wpisu:** [26 Grudzień 2020 22:12 UTC](https://forum.arturhome.pl/t/mqtt-czy-mozna-jedna-wiadomoscia-przeslac-dane-z-wielu-czujnikow/419/8 "2020-12-26T22:12:55Z")

</div>

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;]

---

<div class="post-metadata">

**Autor:** ![artur](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/artur/32/7840_2.png) [@artur](https://forum.arturhome.pl/u/artur)\
**Data wpisu:** [28 Grudzień 2020 08:30 UTC](https://forum.arturhome.pl/t/mqtt-czy-mozna-jedna-wiadomoscia-przeslac-dane-z-wielu-czujnikow/419/9 "2020-12-28T08:30:01Z")

</div>

Dokładnie to miałem zaproponować. Na upartego można jeszcze wycinać wartość z łańcucha operacjami na łańcuchach 🙂
