Changes for page Connect Devices to ThingsEye
Last modified by Hera Guo on 2025/09/25 09:23
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 37 removed)
- 1728378195043-766.png
- 1728378218744-800.png
- 1728378968101-683.png
- 1728379050044-764.png
- 1728535775119-971.png
- 1728535857345-950.png
- 1728535941851-388.png
- 1728536142721-488.png
- 1728536305503-380.png
- 1728536374214-962.png
- 1728536420275-153.png
- 1728536524638-768.png
- 1728536541040-814.png
- 1728566363151-470.png
- 1729562069134-315.png
- 1732678750938-753.jpg
- 1732679080974-799.jpg
- 1732679444539-853.jpg
- 1732679647697-982.jpg
- 1758762334133-608.png
- 1758762371290-726.png
- 1758762634175-353.png
- 1758762919291-489.png
- 1758763019466-819.png
- 1758763061703-634.png
- 图片1.png
- 图片10.png
- 图片2.png
- 图片3.png
- 图片4.png
- 图片5.png
- 图片6.png
- 图片7.png
- 图片8.png
- 图片9.png
- 屏幕截图 2024-11-25 095805.png
- 屏幕截图 2024-11-27 113616.png
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.he ra1 +XWiki.EdwinChen - Content
-
... ... @@ -7,7 +7,6 @@ 7 7 8 8 = 1. Overview = 9 9 10 -This instructions will show you how to connect a device that has been registered to the server to the Thingseye platform. 11 11 12 12 13 13 = 2. UDP Procotol ~-~- Directly Connection = ... ... @@ -21,330 +21,23 @@ 21 21 22 22 Please contact ThingsEye team for detail how to forward data to client. 23 23 24 -**Note:Currently udp connections require port forwarding, please contact the ThingsEye team to inform them of your device's IMEI before connecting.** 25 25 24 +== 2.2 Test UDP Interface via Socket Tool == 26 26 27 - ----26 +Download the UDP Test Tool from: [[https:~~/~~/sourceforge.net/projects/sockettest/ >>https://sourceforge.net/projects/sockettest/]]. Run this tool, and input the server address and UDP port as below and click send. 28 28 29 - ==2.2Test withDragino NB device==28 +[[image:1728362612869-443.png||height="454" width="540"]] 30 30 31 - ===2.2.1ConfigureNB-IoTEndNode===30 +In server side, Tenant Administrator can check this in Tenant UDP Server location. 32 32 33 - Device here is **[[S31-NB>>https://www.dragino.com/products/temperature-humidity-sensor/item/288-s31-nb-s31b-nb.html]]** : andhavebeen configurebelow32 +[[image:1728362834430-749.png||height="510" width="1667"]] 34 34 35 -* Set to use ThingsEye UDP server: **AT+SERVADDR=server1.thingseye.io,11560** 36 -* Use UDP Uplink & Json protocol:** AT+PRO=2,5** 37 -* Equip with a NB-IoT SIM Card to access to NB-IoT Network. 34 +Click and see the debug info as below: 38 38 39 - The S31-NB's cellularmodule has theIMEI:**863663062789483**36 +[[image:1728363020699-203.png]] 40 40 41 - ===2.2.2CheckUplinkData ===38 +We can see the message arrives, but it shows ERROR because the message doesn't follow with the UDP Server format. 42 42 43 -Turn on debug mod 44 44 45 -[[image:1758762334133-608.png||height="494" width="1003"]] 46 46 47 ----- 48 - 49 -Re-activate the S31-NB, and we can see it in the debug window: 50 - 51 -[[image:1758762371290-726.png||height="528" width="1005"]] 52 - 53 -[[image:1728378218744-800.png||_mstalt="295269" height="431" width="1003"]] 54 - 55 ----- 56 - 57 -=== 2.2.4 Auto-Create Device === 58 - 59 -The default **Tenant UDP Server** has already been configured to decode the Dragino -NB / -CB NB-IoT node. So once each end node sends a data to server. Tenant will auto create the device in the server. 60 - 61 -[[image:1728378968101-683.png||_mstalt="297154" height="210" width="1005"]] 62 - 63 -[[image:1728379050044-764.png||_mstalt="295282" height="326" width="1009"]] 64 - 65 - 66 ----- 67 - 68 -= 3. Connect to The Things Stack = 69 - 70 -== 3.1 Network Structure == 71 - 72 -The network diagram below illustrates the connection between the devices and The Things Stack, as well as how the data can be integrated with the ThingsEye IoT platform. 73 - 74 -[[image:1732679444539-853.jpg||_mstalt="296933" height="388" width="1452"]] 75 - 76 -== 3.2 Creat Integration for The Things Stack. == 77 - 78 -(% class="lead" %) 79 -Add Integration 80 - 81 -[[image:1728535775119-971.png||_mstalt="297661" height="423" width="1007"]] 82 - 83 - 84 -(% class="lead" %) 85 -Choose Connection Type 86 - 87 -[[image:1728535857345-950.png||_mstalt="297154" height="257" width="403"]] 88 - 89 - 90 -(% class="lead" %) 91 -Input Uplink Data Converter Code 92 - 93 -[[image:1728535941851-388.png||_mstalt="297856" height="466" width="398"]] 94 - 95 -Demo JavaScript Code: [[https:~~/~~/raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Uplink_Converter.js >>https://raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Uplink_Converter.js]] 96 - 97 - 98 -(% class="lead" %) 99 -Input Downlink Converter 100 - 101 -[[image:1728536142721-488.png||_mstalt="296127" height="470" width="407"]] 102 - 103 -Example Javascript Code as below: [[https:~~/~~/raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Downlink_Converter.js>>https://raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Downlink_Converter.js]] 104 - 105 - 106 -(% class="lead" %) 107 -Set up Connection to The Things Network application 108 - 109 -[[image:1728536305503-380.png||_mstalt="293254" height="431" width="1019"]] 110 - 111 - 112 - 113 -(% class="lead" %) 114 -Test Connection & Add iIntegration 115 - 116 -[[image:1728536374214-962.png||_mstalt="295893" height="380" width="1024"]] 117 - 118 -After add , we can see the integration here: 119 - 120 -[[image:1728536420275-153.png||_mstalt="293748" height="152" width="1026"]] 121 - 122 - 123 -== 3.3 Test Uplink == 124 - 125 -We can use Simulate Uplink to simulate an uplink in the things stack. Then we should be able to see the message in ThingsEye 126 - 127 -[[image:1728536524638-768.png||_mstalt="298870" height="473" width="1028"]] 128 - 129 - 130 -[[image:1728536541040-814.png||_mstalt="293215" height="424" width="1026"]] 131 - 132 - 133 ----- 134 - 135 -= 4.Connect chirpstack to Thingseye by way of MQTT = 136 - 137 -* **How to connect chirpstack to Thingseye by way of MQTT? The following tutorial will show you** 138 - 139 -== 4.1 Network Structure == 140 - 141 -The network diagram below illustrates the connection between the devices andchirpstack, as well as how the data can be integrated with the ThingsEye IoT platform. 142 - 143 -[[image:1732679647697-982.jpg||_mstalt="299884" height="399" width="1492"]] 144 - 145 -== 4.2 Thingseye adds MQTT integration == 146 - 147 -Go to the Integrations page in the Integrations center section. Click the plus button to start adding a new integration. Select the type "MQTT" integration and click "Next"; 148 - 149 -[[image:1758762634175-353.png||height="783" width="1020"]] 150 - 151 -== 4.3 Add an uplink and downlink data converter == 152 - 153 -In the function decoder field, specify the uplink script to parse and transform the data. 154 - 155 -[[image:1758763061703-634.png||height="783" width="1020"]] 156 - 157 -* **Uplink——JavaScript:** 158 - 159 -var data = decodeToJson(payload); 160 - 161 -var deviceName = data.deviceInfo.deviceName; 162 - 163 -var deviceType = data.applicationName; 164 - 165 -var devEui = data.deviceInfo.devEui 166 - 167 -var label = data.deviceInfo.devEui 168 - 169 -var model = {}; 170 - 171 -var data2 = data.object; 172 - 173 -var flg = data.fPort 174 - 175 -for (var key in data2) { 176 - 177 - ~/~/ 将属性名存入新对象中 178 - 179 - model[key] = data2[key]; 180 - 181 -} 182 - 183 -~/~/var obj = {"devid":deviceName} 184 - 185 -var result = { 186 - 187 - deviceName: deviceName, 188 - 189 - deviceType: deviceType, 190 - 191 - telemetry: model, 192 - 193 - groupName: "Case Study", 194 - 195 - ~/~/label:label, 196 - 197 - attributes:{"devEui":devEui, 198 - 199 - ~/~/"timevalue":"test", 200 - 201 - "inactivityTimeout":1260000 202 - 203 - ~/~/ "High_humidity_alarm":"not set", 204 - 205 - ~/~/ "High_temperature_alarm":"not set", 206 - 207 - ~/~/ "Low_humidity_alarm":"not set", 208 - 209 - ~/~/ "Low_temperature_alarm":"not set", 210 - 211 - ~/~/ "Low_voltage_alarm":"not set" 212 - 213 - ~/~/"customerName": "Civionic Engineering & Consulting (2014) Inc." 214 - 215 - } 216 - 217 -}; 218 - 219 -function decodeToString(payload) { 220 - 221 - return String.fromCharCode.apply(String, payload); 222 - 223 -} 224 - 225 -function decodeToJson(payload) { 226 - 227 - var str = decodeToString(payload); 228 - 229 - var data = JSON.parse(str); 230 - 231 - return data; 232 - 233 -} 234 - 235 -return result; 236 - 237 ----- 238 - 239 -In the function decoder field, specify the downlink script to parse and transform the data. 240 - 241 -[[image:1758763019466-819.png||height="787" width="1022"]] 242 - 243 -* **Dowblink——JavaScript:** 244 - 245 -~/~/ Encode downlink data from incoming Rule Engine message 246 - 247 -~/~/ msg - JSON message payload downlink message json 248 - 249 -~/~/ msgType - type of message, for ex. 'ATTRIBUTES_UPDATED', 'POST_TELEMETRY_REQUEST', etc. 250 - 251 -~/~/ metadata - list of key-value pairs with additional data about the message 252 - 253 -~/~/ integrationMetadata - list of key-value pairs with additional data defined in Integration executing this converter 254 - 255 -~/~/ /~*~* Encoder ~*~*/ 256 - 257 -~/~/var data = {"value":99}; 258 - 259 -~/~/ ~/~/ Process data from incoming message and metadata 260 - 261 -~/~/ data.tempFreq = msg.temperatureUploadFrequency; 262 - 263 -~/~/ data.humFreq = msg.humidityUploadFrequency; 264 - 265 -~/~/ data.devSerialNumber = metadata['ss_serialNumber']; 266 - 267 -~/~/ ~/~/ Result object with encoded downlink payload 268 - 269 -var result = { 270 - 271 - ~/~/ downlink data content type: JSON, TEXT or BINARY (base64 format) 272 - 273 - contentType: "TEXT", 274 - 275 - ~/~/ downlink data 276 - 277 - data: msg.shared_value ,~/~/JSON.stringify(data), 278 - 279 - ~/~/ Optional metadata object presented in key/value format 280 - 281 - metadata: { 282 - 283 - topic: '/test/down/'+metadata.deviceName 284 - 285 - } 286 - 287 -}; 288 - 289 -return result; 290 - 291 ----- 292 - 293 -== 4.4 Configure the connection == 294 - 295 -Generate MQTT certificate integrated on chirpstack 296 - 297 -Chirpstack generates CA certificate, TLS certificate, and TLS key respectively 298 - 299 -They correspond to the CA certificate file, Certificate file, and Private key file on thingseye 300 - 301 -[[image:图片4.png||_mstalt="5131737" height="504" width="1016"]] 302 - 303 -[[image:图片5.png||_mstalt="5131854" height="505" width="1017"]] 304 - 305 -* Copy the contents of the certificates and paste them into the linked file below, a total of three certificates are required 306 - 307 -**Integrated Certificate File demo Download Address:** 308 - 309 -[[https:~~/~~/github.com/ThingsEye-io/te-platform/tree/main/chirpstack>>https://github.com/ThingsEye-io/te-platform/tree/main/chirpstack]] 310 - 311 -Enter the server address Host: lns1.thingseye.io on the Connection configuration 312 - 313 -Port: 8883 314 - 315 -Credentials type: PEM 316 - 317 -Upload the certificate and key file 318 - 319 -[[image:图片6.png||_mstalt="5131971" height="509" width="1026"]] 320 - 321 -[[image:图片7.png||_mstalt="5132088" height="509" width="1025"]] 322 - 323 ----- 324 - 325 -The default for Topic is: 326 - 327 -application/**chirpstack application id**/device/+/event/up 328 - 329 -[[image:图片8.png||_mstalt="5132205" height="508" width="1024"]] 330 - 331 - 332 -(% class="wikigeneratedid" %) 333 -[[image:屏幕截图 2024-11-25 095805.png||_mstalt="10831028" height="301" width="1024"]] 334 - 335 ----- 336 - 337 -== 4.5 Check the connection == 338 - 339 -[[image:图片9.png||_mstalt="5132322" height="509" width="1025"]] 340 - 341 -[[image:图片10.png||_mstalt="5142449" height="509" width="1026"]] 342 - 343 - 344 ----- 345 - 346 -= 5. Check Data Uplink Log = 347 - 348 -User can check the devices log in Intergration. 349 - 350 -[[image:1729562069134-315.png||_mstalt="294190" height="587" width="723"]] 42 +
- 1728378195043-766.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -146.8 KB - Content
- 1728378218744-800.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -104.9 KB - Content
- 1728378968101-683.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -37.2 KB - Content
- 1728379050044-764.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -97.6 KB - Content
- 1728535775119-971.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -84.1 KB - Content
- 1728535857345-950.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -29.4 KB - Content
- 1728535941851-388.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -50.3 KB - Content
- 1728536142721-488.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -55.5 KB - Content
- 1728536305503-380.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -135.2 KB - Content
- 1728536374214-962.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -11.8 KB - Content
- 1728536420275-153.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -35.3 KB - Content
- 1728536524638-768.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -46.6 KB - Content
- 1728536541040-814.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -29.0 KB - Content
- 1728566363151-470.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -61.9 KB - Content
- 1729562069134-315.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.EdwinChen - Size
-
... ... @@ -1,1 +1,0 @@ 1 -67.5 KB - Content
- 1732678750938-753.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -173.5 KB - Content
- 1732679080974-799.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -176.4 KB - Content
- 1732679444539-853.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -180.5 KB - Content
- 1732679647697-982.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -179.2 KB - Content
- 1758762334133-608.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -161.4 KB - Content
- 1758762371290-726.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -215.2 KB - Content
- 1758762634175-353.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -213.8 KB - Content
- 1758762919291-489.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -209.4 KB - Content
- 1758763019466-819.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -227.9 KB - Content
- 1758763061703-634.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -222.0 KB - Content
- 图片1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -123.1 KB - Content
- 图片10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -173.4 KB - Content
- 图片2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -163.3 KB - Content
- 图片3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -124.8 KB - Content
- 图片4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -68.8 KB - Content
- 图片5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -98.5 KB - Content
- 图片6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -136.5 KB - Content
- 图片7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -143.5 KB - Content
- 图片8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -151.0 KB - Content
- 图片9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -134.6 KB - Content
- 屏幕截图 2024-11-25 095805.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -45.7 KB - Content
- 屏幕截图 2024-11-27 113616.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.hera - Size
-
... ... @@ -1,1 +1,0 @@ 1 -117.5 KB - Content