Changes for page ThingsBoard

Last modified by Dilisi S on 2025/04/23 19:23

From version 164.1
edited by Dilisi S
on 2025/03/18 05:03
Change comment: There is no comment for this version
To version 158.1
edited by Dilisi S
on 2025/03/18 03:15
Change comment: Uploaded new attachment "add-integration-connection.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -500,24 +500,36 @@
500 500  
501 501  We use the Mosquitto MQTT client to simulate MQTT messages, acting as a virtual device. First, install the Mosquitto client on your computer from [[this link>>url:https://mosquitto.org/download/]]. The Mosquitto client publishes messages to the MQTT broker (HiveMQ) on a specified MQTT topic. ThingsBoard subscribes to these messages using the same topic.
502 502  
503 -The Mosquitto client publishes messages (payloads) on the topic **v1/devices/me/telemetry**. Of course, you can use any topic for testing.
503 +The Mosquitto client publishes messages on the topic v1/devices/[device_name]/telemetry. The [device_name]placeholder can be replaced with any device name, for example, 'S31B-NB'. Then, the MQTT topic would be v1/devices/S31B-NB/telemetry.
504 504  
505 -(% id="cke_bm_37386S" style="display:none" %) (%%)The MQTT payload format is as follows, which is common for all **~-~-NB** and **~-~-CB** series devices. The **IMEI** field is mandatory and is used to provision a new device with the name assigned to it in ThingsBoard.
505 +On the ThingsBoard side, we configure the MQTT topic subscription as v1/devices/+/telemetry. The + wildcard represents any device name and allows ThingsBoard to automatically create (provision) a device with that name, such as S31B-NB, for example.
506 506  
507 +
508 +**The new device is created the first time the MQTT topic is received. For subsequent MQTT topics with the same device name, no duplicate devices will be created.**
509 +
510 +
511 +For example, if you send two MQTT messages with different device names in the topic:
512 +
513 +1. v1/devices/**S31B-NB**/telemetry
514 +1. v1/devices/**LDS25-NB**/telemetry
515 +
516 +ThingsBoard will create two devices named **S31B-NB** and **LDS25-NB** in the **//Devices//** section.
517 +
518 +
519 +The MQTT payload format is as follows, which is common for all ~-~-NB and ~-~-CB series devices:
520 +
507 507  {{code language="none"}}
508 -{"IMEI": "S31B-NB", "temperature": 27, ......}
522 +{"temperature":10.4, "humidity":85}
509 509  {{/code}}
510 510  
511 -Once ThingsBoard receives this message, it automatically creates (provisions) the device mentioned in the **IMEI**, for example, S31B-NB.
512 512  
513 -
514 514  == 5.2 Sending messages ==
515 515  
516 516  
517 -On the terminal, issue the following MQTT command which simulates the device S31B-NB. The message payload contains the fields temperature and humidity, which hold the values S31B-NB and 27, respectively. This payload is also (technically) known as telemetry.
529 +On the terminal, issue the following MQTT command which simulates the device S31B-NB. The message payload contains the fields temperature and humidity, which hold the values 10.4 and 85, respectively. This payload is also (technically) known as telemetry.
518 518  
519 519  {{code language="none"}}
520 -mosquitto_pub -d -q 1 -h 011731f7928xxxxx.s1.eu.hivemq.cloud -p 8883 -t "v1/devices/me/telemetry" -u "xxxxx" -P "xxxxx" -m '{"IMEI": "S31B-NB", "temperature": 27}'
532 +mosquitto_pub -d -q 1 -h 011731f7928xxxxx.s1.eu.hivemq.cloud -p 8883 -t "tb/mqtt-integration-tutorial/sensors/S31B-NB/telemetry" -u "xxxxx" -P "xxxxx" -m '{"temperature":10.4, "humidity":85}'
521 521  {{/code}}
522 522  
523 523  If the integration was performed without errors, the status of the integration changes to 'Active' after the first telemetry transmission.
... ... @@ -529,32 +529,38 @@
529 529  Also, a new device named **S31B-NB** will appear under **//Entities -> Devices -> All//**. This means the first MQTT message triggers ThingsBoard to provision a device named **S31B-NB**.
530 530  
531 531  
532 -[[image:new-device.png]]
544 +[[image:device-provision-1.png]]
533 533  
534 534  
535 -Click on the **MQTT integration NB/CB **list in the **Integrations** page to see its details.
547 +Click on the device S31B-NB on the devices list to see its details.
536 536  
537 -Then go to the **Events** tab.
549 +Then go to the **Latest telemetry** tab.
538 538  
539 -You can see the uplink message you sent from the MQTT broker.
551 +You can see the fields temperature and humidity with the values you previously sent using the MQTT message.
540 540  
541 541  
542 -[[image:Screenshot 2025-03-16 at 18.38.59.png]]
554 +[[image:telemetry-1.png]]
543 543  
544 544  
557 +Now, change the values of the fields and send the MQTT message again. For example, set temperature to 20 and humidity to 70. Observe how the values update in //Latest Telemetry//.
545 545  
546 546  
547 -Now click on the **three dots (...)** in the **Message** column. You can see the uplink message's **payload** in the **Message** window.
560 +[[image:telemetry-2.png]]
548 548  
549 549  
550 -[[image:Screenshot 2025-03-16 at 18.39.12.png]]
563 +Let's provision the second device named **LDS25-NB **with initial telemetry. Use the following MQTT message.
551 551  
552 552  
566 +{{code language="none"}}
567 +mosquitto_pub -d -q 1 -h 011731f7928541588a6cdfbbedfc63f4.s1.eu.hivemq.cloud -p 8883 -t "tb/mqtt-integration-tutorial/sensors/LDS25-NB/telemetry" -u "pradeeka" -P "Kalpani123@" -m '{"temperature":11, "humidity":87}'
568 +{{/code}}
553 553  
554 -Now, you have successfully tested your integration with a simulated uplink payload and verified that it is received by ThingsBoard, and the device is provisioned.
570 +Now, refresh the **Devices** page, and you will see the second device, **LDS25-NB**, which was recently provisioned.
555 555  
556 556  
573 +[[image:device-provision-2.png]]
557 557  
575 +
558 558  = 6. Creating a Dashboard =
559 559  
560 560  ThingsBoard **Dashboards** provide a powerful way to visualize and monitor real-time and historical data from connected devices. They allow users to create interactive, customizable panels displaying telemetry data, device status, and other key metrics. With a variety of widgets, including charts, maps, and tables, dashboards help users gain insights, track trends, and manage IoT deployments efficiently.
Screenshot 2025-03-16 at 18.38.59.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.pradeeka
Size
... ... @@ -1,1 +1,0 @@
1 -221.2 KB
Content
Screenshot 2025-03-16 at 18.39.12.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.pradeeka
Size
... ... @@ -1,1 +1,0 @@
1 -277.0 KB
Content
new-device.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.pradeeka
Size
... ... @@ -1,1 +1,0 @@
1 -143.3 KB
Content