Changes for page ThingsBoard
Last modified by Dilisi S on 2025/04/23 19:23
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -23,8 +23,9 @@ 23 23 24 24 * ThingsBoard cloud account 25 25 * MQTT Broker (public or private) such as, 26 +** [[ThingsBoard MQTT broker>>https://thingsboard.io/docs/mqtt-broker/]] (TBMQ) 26 26 ** **[[HiveMQ Cloud>>https://www.hivemq.com]] - You can create a free account to try it or subscribe for a paid account. - We use HiveMQ Cloud as the MQTT broker to build example in this tutorial.** 27 -** [[emqx>>https://www.emqx.com/zh/mqtt/public-mqtt5-broker]] - The public MQTT server is only used for M OTT learning and testing, and should not be used in the production environment.28 +** [[emqx>>https://www.emqx.com/zh/mqtt/public-mqtt5-broker]] - The public MQTT server is only used for MQTT learning and testing, and should not be used in the production environment. 28 28 ** [[lns1.thingseye.io>>http://lns1.thingseye.io/]] - This is Dragino's MQTT broker, which requires a CA certificate to use. 29 29 30 30 == 2.1 ThingsBoard Cloud == ... ... @@ -67,11 +67,19 @@ 67 67 [[image:thingsboard-6.png||height="244" width="500"]] 68 68 69 69 70 -== 2.2 HiveMQCloud==71 +== 2.2 MQTT Brokers == 71 71 72 - ===2.2.1HiveMQCloud===73 +This section introduces some MQTT brokers that you can use to publish messages from the device side and subscribe from the ThingsBoard side. 73 73 74 74 76 +=== 2.2.1 ThingsBoard MQTT broker (TBMQ) === 77 + 78 +The complete instructions for installing, configuring, and using the TBMQ can be found [[here>>https://thingsboard.io/docs/mqtt-broker/getting-started/]]. 79 + 80 + 81 +=== 2.2.2 HiveMQ Cloud === 82 + 83 + 75 75 Go to [[https:~~/~~/www.hivemq.com>>https://www.hivemq.com]] 76 76 77 77 Click on the **Start Free** button. ... ... @@ -146,7 +146,7 @@ 146 146 You will need these MQTT connection parameters when configuring the MQTT integration in the '**Add Integration**' section. 147 147 148 148 149 -=== 2.2. 2emqx ===158 +=== 2.2.3 emqx === 150 150 151 151 152 152 The [[emqx>>https://www.emqx.com/zh/mqtt/public-mqtt5-broker]] public MQTT server is only used for MOTT learning and testing, and should not be used in the production environment. ... ... @@ -155,7 +155,7 @@ 155 155 [[image:emqx.png||height="420" width="500"]] 156 156 157 157 158 -=== 2.2. 3Ins1.thingseye.io ===167 +=== 2.2.4 Ins1.thingseye.io === 159 159 160 160 [[lns1.thingseye.io>>http://lns1.thingseye.io/]] is the Dragino's MQTT broker, which requires a CA certificate file, Certificate file, and the Private key file to use. 161 161 ... ... @@ -335,7 +335,6 @@ 335 335 * **Topic**: # (the # symbol indicates that it filters all topics). 336 336 * **QoS:** 0-At most once 337 337 338 - 339 339 [[image:add-integration-4.png||height="484" width="500"]] 340 340 341 341 ... ... @@ -418,7 +418,7 @@ 418 418 419 419 Go back to the **Integrations** page. 420 420 421 -Click on the **MQTT integration NB/CB** in the **Integrations** page to see its details.429 +Click on the **MQTT integration** in the **Integrations** page to see its details. 422 422 423 423 Click on the **Edit** button (//**pen icon**//). 424 424 ... ... @@ -431,11 +431,10 @@ 431 431 Then click on the **Apply changes** (//**tick icon**//) button. 432 432 433 433 434 -[[image:debug-enabled.png||height="301" width="700"]] 435 435 443 +[[image:Screenshot 2025-04-21 122936.png||height="247" width="500"]] 436 436 437 437 438 - 439 439 Now go to the **Events** tab. 440 440 441 441 Select the **Event type** as **Debug** from the dropdown list. ... ... @@ -443,24 +443,19 @@ 443 443 Publish another message (of course, you can repeat the previous message by pressing the UP arrow on your keyboard and then press Enter key) to your MQTT broker from your terminal, for example: 444 444 445 445 {{code language="none"}} 446 -mosquitto_pub -d -q 1 -h 011731f7928xxxxx.s1.eu.hivemq.cloud -p 8883 -u "xxxxx" -P "xxxxx" -t "device/ a" -m '{"IMEI":"350693903995577", "temperature":30, "humidity":80, "pressure":1005}'453 +mosquitto_pub -d -q 1 -h 011731f7928xxxxx.s1.eu.hivemq.cloud -p 8883 -u "xxxxx" -P "xxxxx" -t "device/350693903995577" -m '{"IMEI":"350693903995577", "Model":"TS01-NB", "temperature":30, "humidity":82, "pressure":1005}' 447 447 {{/code}} 448 448 449 449 Now you can see that uplink message in the **Events** tab (Click the **refresh** button if you didn't see any messages in the Events tab). The status should be **OK **if there is no errors in your integration. 450 450 451 451 452 -[[image:Screenshot 2025-03-26 at 19.49.31.png]] 453 - 454 - 455 - 456 456 Then click on the **three dots (...)** in the **Message** column. You can see the uplink message's **payload** in the **Message** window. 457 457 458 458 459 -[[image:Screenshot 2025-03-26 at 19.47.52.png]] 460 460 463 +[[image:Screenshot 2025-04-21 122909.png]] 461 461 462 462 463 - 464 464 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. 465 465 466 466 ... ... @@ -472,11 +472,6 @@ 472 472 This section guides you on how to create a dashboard to display temperature and humidity data from the device on a time-series chart. You may also use other widgets in ThingsBoard to display data according to your requirements. 473 473 474 474 475 -First simulate a few messages using MQTT. This time, we have added the 'humidity' field to the payload. Eg: 476 - 477 -{{code language="none"}}mosquitto_pub -d -q 1 -h 011731f7928xxxxx.s1.eu.hivemq.cloud -p 8883 -u "xxxxx" -P "xxxxx" -t "device/a" -m '{"IMEI":"350693903995577", "temperature":22, "humidity":80, "pressure":1005}'{{/code}} 478 - 479 - 480 480 In **ThingsBoard**, from the left navigation menu, click **Dashboards**. Then, click the **+** button and select **Create new dashboard** from the dropdown menu. 481 481 482 482 ... ... @@ -512,10 +512,11 @@ 512 512 513 513 Configure the **Time series chart** widget as follows: 514 514 515 -* **Datasource** - select ** DeviceA**deviceyou provisioned.512 +* **Datasource** - select **350693903995577 **you provisioned. 516 516 * **Series**: 517 517 ** **temperature** - you can see this key by default. 518 -** **humidity** - Click **Add series** button. Then add the **humidity** for the key and then type **%** as its unit. 515 +** **humidity** - Click **Add series** button. Then choose **humidity** for the key, and then type **%** as its unit. 516 +** pressure - Click **Add series** button. Then choose **humidity** for the key, and then type Pa as its unit. 519 519 * Click on the **Add** button. 520 520 521 521 {{info}} ... ... @@ -522,34 +522,27 @@ 522 522 You can add only the relevant fields from the device's payload to display data on a widget. These fields are called 'keys'. 523 523 {{/info}} 524 524 525 -[[image:Screenshot 2025-03-31 at 06.51.15.png||height="485" width="700"]] 526 526 527 527 525 +[[image:Screenshot 2025-04-21 123647.png||height="466" width="700"]] 526 + 527 + 528 528 The time-series chart will appear in edit mode. Resize it by clicking and dragging the lower-right corner. 529 529 530 530 Click the **Save** button to add the widget to the dashboard. 531 531 532 532 533 -[[image: timeseries-3.png||height="347" width="700"]]533 +[[image:Screenshot 2025-04-21 124145.png||height="443" width="700"]] 534 534 535 535 536 -Now send thefollowingMQTT messages from the terminal to simulate the data.536 +**Now send a few MQTT messages from the terminal to simulate the data. Use different values for temperature, humidity, and pressure in each message.** 537 537 538 +**The chart will update with the values in real time, and you will see a live chart similar to this:** 538 538 539 -{{code language="none"}} 540 -mosquitto_pub -d -q 1 -h 011731f7928xxxxx.s1.eu.hivemq.cloud -p 8883 -u "xxxxx" -P "xxxxx" -t "device/a" -m '{"IMEI":"350693903995577", "temperature":22, "humidity":70, "pressure":1005}' 541 541 542 -m osquitto_pub-d-q1-h 011731f7928xxxxx.s1.eu.hivemq.cloud -p 8883 -u "xxxxx" -P "xxxxx" -t "device/a" -m '{"IMEI":"350693903995577", "temperature":27,"humidity":72, "pressure":1005}'541 +[[image:Screenshot 2025-04-21 124054.png||height="441" width="700"]] 543 543 544 -mosquitto_pub -d -q 1 -h 011731f7928xxxxx.s1.eu.hivemq.cloud -p 8883 -u "xxxxx" -P "xxxxx" -t "device/a" -m '{"IMEI":"350693903995577", "temperature":19, "humidity":80, "pressure":1005}' 545 -{{/code}} 546 546 547 -The chart will update with the values in realtime, as shown in the below image. 548 - 549 - 550 -[[image:timeseries-4.png||height="316" width="700"]] 551 - 552 - 553 553 = 8. Configure Physical NB-IoT Sensor = 554 554 555 555 ... ... @@ -561,8 +561,8 @@ 561 561 **AT Commands** 562 562 563 563 * **AT+PRO=3,3 **~/~/ Use MQTT to connect to ThingsBoard. Payload Type set to 3. 564 -* **AT+SUBTOPIC=<MQTT subscribe topic> Eg: TS01-NB**565 -* **AT+PUBTOPIC=<MQTT publish topic> Eg: TS01-NB**555 +* **AT+SUBTOPIC=<MQTT subscribe topic> Eg: # - **You can leave the SUBTOPIC configuration as it is, since we are not sending downlink messages to the device at the moment. 556 +* **AT+PUBTOPIC=<MQTT publish topic> Eg: #** 566 566 * **AT+CLIENT=null** 567 567 * **AT+UNAME=<MQTT Username>** 568 568 * **AT+PWD=<MQTT Password>** ... ... @@ -571,7 +571,6 @@ 571 571 Test your uplink by pressing the ACT button for 1 second. 572 572 573 573 574 - 575 575 The following image shows the uplink payload of a real Dragino device. The publish topic is '**TS01-NB' that contains fields in the payload, IMEI, IMSI, Model, temperature, etc**. Note that we have created a device named **TS01-NB** in the **Devices** section in advance. 576 576 577 577