Changes for page ThingsBoard
Last modified by Dilisi S on 2025/04/23 19:23
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 15 added, 5 removed)
- ThingsBoard-Data-Converters.png
- ThingsBoard-Device.png
- ThingsBoard-add-data-converter-downlink.png
- ThingsBoard-add-data-converter-uplink.png
- ThingsBoard-add-integration.png
- add-connection-success.png
- data-converter-list-page.png
- data-converter-list-showing-uplink-dc.png
- data-converter-list.png
- device-list-empty.png
- downlink-data-converter.png
- integrations-list-added-pending.png
- mqtt-command-1.png
- mqtt-command-2.png
- new-device-access-token.png
- new-device-check-connectivity.png
- new-device-device-details.png
- new-device-telemetry-test.png
- uplink-data-converter.png
- virtual-device-active.png
Details
- Page properties
-
- Content
-
... ... @@ -8,52 +8,105 @@ 8 8 9 9 = Introduction = 10 10 11 -This document guides you on integrating Dragino -NB and -CB series devices with ThingsBoard. For this guide, we use ThingsBoard Cloud, which is one of the ThingsBoard versions that allows you to try it for free. 11 +This document guides you on integrating Dragino **-NB** and **-CB** series devices data with ThingsBoard. For this guide, we use ThingsBoard Cloud, which is one of the ThingsBoard versions that allows you to try it for free. 12 12 13 - For example,the followingdevicesfallintothe -NB and -CB series:13 +The **NB series** devices end with the suffix **-NB**, and the **CB series** devices end with the suffix **-CB**. For example, **S31B-NB** is an **NB device**, and **S31-CB** is a **CB device**. 14 14 15 -(% style="width:556px" %) 16 -|(% style="width:261px" %)**NB Series**|(% style="width:293px" %)**CB Series** 17 -|(% style="width:261px" %)S31B-NB|(% style="width:293px" %)S31-CB 18 -|(% style="width:261px" %) |(% style="width:293px" %) 19 19 20 - 21 - 22 22 = Add New Device = 23 23 18 +First, we will add a device to simulate data using MQTT. This device does not represent a real physical device but serves as a common virtual device for all Dragino NB/CB devices. 19 + 24 24 In the left navigation, click **Entities** and then click **Devices**. 25 25 26 26 27 -[[image: ThingsBoard-Device.png]]23 +[[image:device-list-empty.png]] 28 28 29 29 30 -On the ‘**Devices**’page, click on the ‘**+**’ button, and then click on the‘**Add new device**’from the dropdown menu.26 +On the **Devices **page, click on the ‘**+**’ button, and then click on the **Add new device **from the dropdown menu. 31 31 32 32 33 33 [[image:ThingsBoard-add-new-device.png||height="279" width="500"]] 34 34 35 35 32 +The **Add new device** window appears. Name the device, for example '**Virtual NB/CB device**'. 36 36 34 +Click on the **Next: Credentials** button. 35 + 36 + 37 +[[image:new-device-device-details.png||height="529" width="500"]] 38 + 39 + 40 +Click the **Access token** button if it is not selected by default. 41 + 42 +Copy the **Access token** to a text editor, as you will need it in the section **'Sending data from an MQTT client'**. 43 + 44 +Click on the **Add** button. 45 + 46 +[[image:new-device-access-token.png||height="528" width="500"]] 47 + 48 + 49 +Click on the **MQTT** button. 50 + 51 +Then, select the operating system you are going to use with the **Mosquitto MQTT Broker**. This example shows sending a command from a computer running **MacOS**. First, install the necessary client tools on your computer. 52 + 53 +Copy the MQTT pub command in the '**Execute the following command**' section. 54 + 55 +{{code language="none"}} 56 +mosquitto_pub -d -q 1 -h mqtt.eu.thingsboard.cloud -p 1883 -t v1/devices/me/telemetry -u "24vk3w9h7sqdld1me5eh" -m "{temperature:25}" 57 +{{/code}} 58 + 59 +Note that the **State** is still shown as **'Inactive'** in the **Latest telemetry** section. 60 + 61 +[[image:new-device-check-connectivity.png||height="522" width="500"]] 62 + 63 + 64 +On the terminal, enter the command you copied. This command sends the MQTT payload **{temperature:25}** as telemetry data from a virtual device named **'me'**. Of course, you can replace **'me'** with a device name or use the wildcard character **'+'** to match any device name. 65 + 66 + 67 +[[image:mqtt-command-1.png||height="228" width="700"]] 68 + 69 + 70 +If the command is successful, you can see the telemetry data you sent under the **Latest telemetry** section. Note that the **State** is now **'Active'** in the **Latest telemetry** section. 71 + 72 + 73 +[[image:new-device-telemetry-test.png||height="520" width="500"]] 74 + 75 + 76 +Send the same command again, only changing the **temperature** value, to see how the **Latest telemetry** section updates its data. 77 + 78 +Once you are done experimenting with this, close the window by clicking the **Close** button. 79 + 80 + 81 +[[image:mqtt-command-2.png||height="227" width="700"]] 82 + 83 + 84 + 85 +[[image:virtual-device-active.png]] 86 + 87 + 37 37 = Data Converters = 38 38 90 +In **ThingsBoard**, **Data Converters** are components used to transform incoming or outgoing data between different formats, typically to convert raw telemetry data from devices into a structured format that ThingsBoard can understand, or vice versa. 39 39 92 + 40 40 == Uplink == 41 41 42 -In the left navigation, click ‘Integrations center’, and then click‘Data converters’.95 +In the left navigation, click **Integrations center**, and then click **Data converters**. 43 43 44 44 45 -[[image: ThingsBoard-Data-Converters.png]]98 +[[image:data-converter-list-page.png]] 46 46 47 47 48 -On the ‘Data converters’page, click on the ‘+’ button, and then click on the‘Create new converter’from the dropdown menu.101 +On the **Data converters** page, click on the ‘+’ button, and then click on the **Create new converter** from the dropdown menu. 49 49 50 50 51 51 [[image:ThingsBoard-new-data-converter.png||height="282" width="500"]] 52 52 53 53 54 -The ‘Add data converter’window will appear. Name it ‘**UDPUplink Converter NB/CB**’ and select the Type as‘Uplink’.107 +The **Add data converter** window will appear. Name it ‘**MQTT Uplink Converter NB/CB**’ and select the Type as **Uplink**. 55 55 56 -Click on the ‘JavaScript’button. Now copy and paste the followingscript to the‘Decoder function’section:109 +Click on the **JavaScript** button. Now copy and paste the following JavaScript to the **Decoder function** section. This decoder function is valid for both NB and CB series devices. 57 57 58 58 {{code language="JavaScript"}} 59 59 //Version: 0.1 ... ... @@ -178,26 +178,30 @@ 178 178 179 179 {{/code}} 180 180 181 -Click on the ‘Add’button.234 +Click on the **Add** button. 182 182 183 183 184 -[[image: ThingsBoard-add-data-converter-uplink.png||width="500"]]237 +[[image:uplink-data-converter.png||height="529" width="500"]] 185 185 186 186 187 -The uplink data converter is added to ThingsBoard and appears on the ‘Data Converters’ page 188 188 241 +You should see that the newly added **uplink data converter** is listed on the **Data Converters** page. 189 189 243 + 244 +[[image:data-converter-list-showing-uplink-dc.png]] 245 + 246 + 190 190 == Downlink == 191 191 192 -On the ‘Data converters’page, click on the ‘+’ button, and then click on the‘Create new converter’from the dropdown menu.249 +On the **Data converters** page, click on the ‘**+**’ button, and then click on the **Create new converter** from the dropdown menu. 193 193 194 194 195 195 [[image:ThingsBoard-new-data-converter.png||height="282" width="500"]] 196 196 197 197 198 -The ‘**Add data converter**’window will appear. Name it ‘**UDPDownlink Converter NB/CB**’ and select the Type as‘**Downlink**’.255 +The **Add data converter** window will appear. Name it ‘**MQTT Downlink Converter NB/CB**’ and select the Type as **Downlink**. 199 199 200 -Click on the ‘**JavaScript**’button. Now copy and paste the followingscript to the‘**Encoder function**’section:257 +Click on the **JavaScript** button. Now copy and paste the following JavaScript to the **Encoder function **section. This encoder function is valid for both NB and CB series devices. 201 201 202 202 203 203 {{code language="JavaScript"}} ... ... @@ -233,27 +233,35 @@ 233 233 Click on the **Add** button. 234 234 235 235 236 -[[image: ThingsBoard-add-data-converter-downlink.png||height="532" width="500"]]293 +[[image:downlink-data-converter.png||height="530" width="500"]] 237 237 238 238 296 + 297 +You should see that the newly added **downlink data converter** is listed on the **Data Converters** page. 298 + 299 + 300 +[[image:data-converter-list.png]] 301 + 302 + 239 239 = Add Integration = 240 240 241 -In the left navigation, click ‘Integrations center’, and then click‘Integrations’.305 +In the left navigation, click **Integrations center**, and then click **Integrations**. 242 242 243 -On the ‘Integrations’page, click on the“+”button.307 +On the **Integrations** page, click on the '**+**' button. 244 244 245 245 246 -[[image: ThingsBoard-add-integration.png]]310 +[[image:data-converter-list-page.png]] 247 247 248 248 249 -The ‘Add integration’window appears.313 +The **Add integration** window appears. 250 250 251 -In the Add Integration window, configure the following settings:315 +In the **Add integration** window, configure the following settings: 252 252 317 + 253 253 **Basic settings:** 254 254 255 -* **Integration type**: UDP256 -* **Name**: UDPIntegration NB/CB320 +* **Integration type**: MQTT 321 +* **Name**: MQTT integration NB/CB 257 257 258 258 Click **Next** button. 259 259 ... ... @@ -261,51 +261,71 @@ 261 261 [[image:add-integration-basic-settings.png||height="511" width="500"]] 262 262 263 263 329 + 264 264 **Uplink data converter:** 265 265 266 -* Click on the ‘**Select existing**’button.267 -* Uplink data converter: Select ‘**UDPUplink Converter NB/CB**’from the dropdown list.332 +* Click on the **Select existing** button. 333 +* **Uplink data converter**: Select **MQTT Uplink Converter NB/CB **from the dropdown list. 268 268 269 269 Click **Next** button. 270 270 271 271 272 -[[image:add-integration-uplink-data-converter.png|| height="511"width="500"]]338 +[[image:add-integration-uplink-data-converter.png||width="500"]] 273 273 274 274 341 + 275 275 **Downlink data converter:** 276 276 277 -* Click on the ‘**Select existing**’button.278 -* Downlink data converter: Select ‘**UDPDownlink Converter NB/CB**’from the dropdown list.344 +* Click on the **Select existing** button. 345 +* **Downlink data converter**: Select **MQTT Downlink Converter NB/CB **from the dropdown list. 279 279 280 280 Click **Next** button. 281 281 282 282 283 -[[image:add-integration-downlink-data-converter.png||height="51 2" width="500"]]350 +[[image:add-integration-downlink-data-converter.png||height="510" width="500"]] 284 284 285 285 353 + 286 286 **Connection:** 287 287 288 -**Port**: 11582 356 +* **Host**: mqtt.eu.thingsboard.cloud (This is the host name you copied from the device - See section xxxxx for more information) 357 +* **Port**: 1883 (This is the port number you copied from the device - See section xxxxx for more information) 358 +* **Credentials**: Basic 359 +* **Username**: Access token (This is the access token you copied from the device) 360 +* **Password** - Leave it as blank 361 +* **Topic** - v1/devices/+/telemetry (sightly modify the topic 'v1/devices/me/telemetry' you copied from the device to enable receiving data from any 'device name') 362 +* **QoS** - 0-At most once 289 289 290 - **Sizeofthebufferforinboundsocket(inKB)**:64364 +Click on the **Check connection** button to verify the MQTT connection using the provided parameters. 291 291 292 -**Cache Size**: 10000000 293 293 294 - **Cachetimeo liveminutes**: 1440367 +[[image:add-integration-connection.png||width="500"]] 295 295 296 296 297 - Copythetwokeys, **Integrationkey** and **Integrationsecret** into a text editor,asyou willneedtheminhe section ‘xxxxx’.370 +If the connection is successful, you will see the **Connected** message. 298 298 299 299 Click on the **Add** button. 300 300 301 301 302 -[[image:add- integration-connection.png||height="511" width="500"]]375 +[[image:add-connection-success.png||height="511" width="500"]] 303 303 304 304 378 +You should see that the newly added integration is listed on the **Integrations** page. 305 305 380 +Since we haven't received data from a device yet, the integration **Status** is shown as **Pending.** 381 + 382 + 383 + 384 +[[image:integrations-list-added-pending.png]] 385 + 386 + 306 306 = Verifying the receipt of data from the device = 307 307 308 - Connect**S31B-NB**to transfer information. If theintegrationwas performed without errors,after the transmissionofthe first telemetry, a newdevice with thename“xxxxx”willappear inthe Devices→ All. Also, you can verify the inputand output data, respectively,before andafter conversion in Dataconverters→ UDP Uplink ConverterNB/CB → Events.389 +On the terminal, issue the following MQTT command which simulates the device S31B-NB. 309 309 310 310 311 - 392 +{{code language="none"}} 393 +mosquitto_pub -d -q 1 -h mqtt.eu.thingsboard.cloud -p 1883 -t v1/devices/S31B-NB/telemetry -u "24vk3w9h7sqdld1me5eh" -m "{temperature:20}" 394 +{{/code}} 395 + 396 +If the integration was performed without errors, after the transmission of the first telemetry, a new device with the name “S31B-NB” will appear in the Devices → All. Also, you can verify the input and output data, respectively, before and after conversion in Data converters → UDP Uplink Converter NB/CB → Events.
- ThingsBoard-Data-Converters.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.pradeeka - Size
-
... ... @@ -1,1 +1,0 @@ 1 -100.3 KB - Content
- ThingsBoard-Device.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.pradeeka - Size
-
... ... @@ -1,1 +1,0 @@ 1 -225.5 KB - Content
- ThingsBoard-add-data-converter-downlink.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.pradeeka - Size
-
... ... @@ -1,1 +1,0 @@ 1 -128.6 KB - Content
- ThingsBoard-add-data-converter-uplink.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.pradeeka - Size
-
... ... @@ -1,1 +1,0 @@ 1 -128.6 KB - Content
- ThingsBoard-add-integration.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.pradeeka - Size
-
... ... @@ -1,1 +1,0 @@ 1 -128.6 KB - Content
- add-connection-success.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +202.8 KB - Content
- data-converter-list-page.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +190.8 KB - Content
- data-converter-list-showing-uplink-dc.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +194.9 KB - Content
- data-converter-list.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +202.8 KB - Content
- device-list-empty.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +202.8 KB - Content
- downlink-data-converter.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +207.8 KB - Content
- integrations-list-added-pending.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +202.8 KB - Content
- mqtt-command-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +202.8 KB - Content
- mqtt-command-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +202.8 KB - Content
- new-device-access-token.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +202.8 KB - Content
- new-device-check-connectivity.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +202.8 KB - Content
- new-device-device-details.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +88.4 KB - Content
- new-device-telemetry-test.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +202.8 KB - Content
- uplink-data-converter.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +128.6 KB - Content
- virtual-device-active.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +202.8 KB - Content