Changes for page Connect Devices to ThingsEye
Last modified by Alec Chen on 2025/11/26 17:10
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 3 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Alec1 +XWiki.hera - Content
-
... ... @@ -1,497 +2,335 @@ 1 -(% _mstvisible="1" %) 2 2 3 3 4 -(% _mstvisible="1" %) 5 -(% _msthash="777" _msttexthash="303537" _mstvisible="2" %)**Table of Contents:** 3 +**Table of Contents:** 6 6 7 7 {{toc/}} 8 8 9 9 10 -(% _mstvisible="1" %) 11 -= (% _msthash="757" _msttexthash="149552" _mstvisible="2" %)1. Overview(%%) = 8 += 1. Overview = 12 12 13 -(% _msthash="756" _msttexthash="7978490" _mstvisible="1" %) 14 14 This instructions will show you how to connect a device that has been registered to the server to the Thingseye platform. 15 15 16 16 17 -= =(% _msthash="755" _msttexthash="40707030" _mstvisible="2" %)2. UDP Protocol–Direct Connection(%%)==13 += 2. UDP Procotol ~-~- Directly Connection = 18 18 19 -(% _msthash="755" _msttexthash="40707030" _mstvisible="2" %)2.1 UDP Interface 20 -Server Address: server1.thingseye.io 21 -Port: 11560 22 -Data sent to the above UDP interface will not directly enter the client's database. 15 +== 2.1 UDP Interface == 23 23 24 -(% _msthash="755" _msttexthash="40707030" _mstvisible="2" %)For detailed information on how to forward data to clients, please contact the ThingsEye team. 17 +* Server Address: server1.thingseye.io 18 +* Port: 11560 25 25 26 - (%_msthash="755"_msttexthash="40707030"_mstvisible="2"%)Note:Currently,UDPconnections requireport forwarding. Pleasecontactthe ThingsEye team beforeconnecting andprovidethemwith yourdevice'sIMEI.20 +The data sent to above UDP interface will not go directly to client's database. 27 27 22 +Please contact ThingsEye team for detail how to forward data to client. 28 28 29 -(% _mstvisible="1" %) 24 +**Note:Currently udp connections require port forwarding, please contact the ThingsEye team to inform them of your device's IMEI before connecting.** 25 + 26 + 30 30 ---- 31 31 32 -(% _mstvisible="1" %) 33 -== (% _msthash="748" _msttexthash="55449407" _mstvisible="2" %)2.2 使用Dragino NB装置的测试(%%) == 29 +== 2.2 Test with Dragino NB device == 34 34 35 -(% _mstvisible="1" %) 36 -=== (% _msthash="747" _msttexthash="11644464" _mstvisible="2" %)2.2.1 配置NB-IoT End Node(%%) === 31 +=== 2.2.1 Configure NB-IoT End Node === 37 37 38 -(% _msthash="746" _msttexthash="126369737" _mstvisible="1" %) 39 -这里的设备是(% _istranslated="1" %)**[[S31-NB>>https://www.dragino.com/products/temperature-humidity-sensor/item/288-s31-nb-s31b-nb.html||_istranslated="1"]]**(%%):并且已经在下面配置了 33 +Device here is **[[S31-NB>>https://www.dragino.com/products/temperature-humidity-sensor/item/288-s31-nb-s31b-nb.html]]** : and have been configure below 40 40 41 -(% _mstvisible="1" %) 42 -* 设置为使用 ThingsEye UDP 服务器:(% _istranslated="1" %)**AT+SERVADDR=server1.thingseye.io,11560** 43 -* 使用 UDP 上行链路和 JSON 协议:(% _istranslated="1" %)**AT+PRO=2,5** 44 -* 配备NB-IoT卡以接入NB-IoT网络。 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. 45 45 46 -(% _msthash="742" _msttexthash="52789451" _mstvisible="1" %) 47 -S31-NB的蜂窝模块为IMEI:(% _istranslated="1" %)**863663062789483** 39 +The S31-NB's cellular module has the IMEI: **863663062789483** 48 48 49 -(% _mstvisible="1" %) 50 -=== (% _msthash="741" _msttexthash="30173117" _mstvisible="2" %)2.2.2 检查上行数据(%%) === 41 +=== 2.2.2 Check Uplink Data === 51 51 52 -(% _msthash="740" _msttexthash="22249344" _mstvisible="1" %) 53 -开启调试模组 43 +Turn on debug mod 54 54 55 -(% _mstvisible="1" %) 56 -(% _mstvisible="3" %)[[image:1758762334133-608.png||_mstalt="294801" _msthash="584" _mstvisible="5" height="494" width="1003"]] 45 +[[image:1758762334133-608.png||height="494" width="1003"]] 57 57 58 -(% _mstvisible="1" %) 59 59 ---- 60 60 61 -(% _msthash="739" _msttexthash="156775723" _mstvisible="1" %) 62 -重新激活S31-NB,我们可以在调试窗口中看到它: 49 +Re-activate the S31-NB, and we can see it in the debug window: 63 63 64 -(% _mstvisible="1" %) 65 -(% _mstvisible="3" %)[[image:1758762371290-726.png||_mstalt="296088" _msthash="586" _mstvisible="5" height="528" width="1005"]] 51 +[[image:1758762371290-726.png||height="528" width="1005"]] 66 66 67 -(% _mstvisible="1" %) 68 -(% _mstvisible="3" %)[[image:1728378218744-800.png||_mstalt="295269" _msthash="588" _mstvisible="5" height="431" width="1003"]] 53 +[[image:1728378218744-800.png||_mstalt="295269" height="431" width="1003"]] 69 69 70 - (% _mstvisible="1" %)55 + 71 71 ---- 72 72 73 -(% _mstvisible="1" %) 74 -=== (% _msthash="738" _msttexthash="29837379" _mstvisible="2" %)2.2.4 自动创建设备(%%) === 58 +=== 2.3.3 Auto-Create Device === 75 75 76 -(% _msthash="737" _msttexthash="810829929" _mstvisible="1" %) 77 -默认(% _istranslated="1" %)**的租户UDP服务器**(%%)已经配置好解码Dragino -NB / -CB NB-IoT节点。所以每个端节点都会向服务器发送数据。租户会自动在服务器上创建设备。 60 +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. 78 78 79 -(% _mstvisible="1" %) 80 -(% _mstvisible="3" %)[[image:1728378968101-683.png||_mstalt="297154" _msthash="590" _mstvisible="5" height="210" width="1005"]] 62 +[[image:1728378968101-683.png||_mstalt="297154" height="210" width="1005"]] 81 81 82 -(% _mstvisible="1" %) 83 -(% _mstvisible="3" %)[[image:1728379050044-764.png||_mstalt="295282" _msthash="592" _mstvisible="5" height="326" width="1009"]] 64 +[[image:1728379050044-764.png||_mstalt="295282" height="326" width="1009"]] 84 84 85 85 86 -(% _mstvisible="1" %) 87 ----- 67 +**So we have this device in the Tenant Device List. The next step will be how to use these value to make a nice dashboard for user's application.** 88 88 89 -(% _mstvisible="1" %) 90 -= (% _msthash="736" _msttexthash="622947" _mstvisible="2" %)3. Connect to The Things Stack(%%) = 69 += 3. Connect to The Things Stack = 91 91 92 -(% _mstvisible="1" %) 93 -== (% _msthash="735" _msttexthash="410280" _mstvisible="2" %)3.1 Network Structure(%%) == 71 +== 3.1 Network Structure == 94 94 95 -(% _msthash="734" _msttexthash="14835652" _mstvisible="1" %) 96 96 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. 97 97 98 -(% _mstvisible="1" %) 99 -(% _mstvisible="3" %)[[image:1732679444539-853.jpg||_mstalt="296933" _msthash="594" _mstvisible="5" height="388" width="1452"]] 75 +[[image:1732679444539-853.jpg||_mstalt="296933" height="388" width="1452"]] 100 100 101 -(% _mstvisible="1" %) 102 -== (% _msthash="733" _msttexthash="1191008" _mstvisible="2" %)3.2 Creat Integration for The Things Stack.(%%) == 77 +== 3.2 Creat Integration for The Things Stack. == 103 103 104 -(% class="lead" _msthash="732" _msttexthash="255775" _mstvisible="1"%)79 +(% class="lead" %) 105 105 Add Integration 106 106 107 -(% _mstvisible="1" %) 108 -(% _mstvisible="3" %)[[image:1728535775119-971.png||_mstalt="297661" _msthash="596" _mstvisible="5" height="423" width="1007"]] 82 +[[image:1728535775119-971.png||_mstalt="297661" height="456" width="1087"]] 109 109 110 110 111 -(% class="lead" _msthash="731" _msttexthash="448994" _mstvisible="1"%)85 +(% class="lead" %) 112 112 Choose Connection Type 113 113 114 -(% _mstvisible="1" %) 115 -(% _mstvisible="3" %)[[image:1728535857345-950.png||_mstalt="297154" _msthash="598" _mstvisible="5" height="257" width="403"]] 88 +[[image:1728535857345-950.png||_mstalt="297154"]] 116 116 117 117 118 -(% class="lead" _msthash="730" _msttexthash="762996" _mstvisible="1"%)91 +(% class="lead" %) 119 119 Input Uplink Data Converter Code 120 120 121 -(% _mstvisible="1" %) 122 -(% _mstvisible="3" %)[[image:1728535941851-388.png||_mstalt="297856" _msthash="600" _mstvisible="5" height="466" width="398"]] 94 +[[image:1728535941851-388.png||_mstalt="297856" height="466" width="398"]] 123 123 124 -(% _msthash="729" _msttexthash="16454490" _mstvisible="1" %) 125 125 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]] 126 126 127 127 128 -(% class="lead" _msthash="728" _msttexthash="532480" _mstvisible="1"%)99 +(% class="lead" %) 129 129 Input Downlink Converter 130 130 131 -(% _mstvisible="1" %) 132 -(% _mstvisible="3" %)[[image:1728536142721-488.png||_mstalt="296127" _msthash="602" _mstvisible="5" height="470" width="407"]] 102 +[[image:1728536142721-488.png||_mstalt="296127" height="470" width="407"]] 133 133 134 -(% _msthash="727" _msttexthash="19064695" _mstvisible="1" %) 135 135 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]] 136 136 137 137 138 -(% class="lead" _msthash="726" _msttexthash="1724853" _mstvisible="1"%)107 +(% class="lead" %) 139 139 Set up Connection to The Things Network application 140 140 141 -(% _mstvisible="1" %) 142 -(% _mstvisible="3" %)[[image:1728536305503-380.png||_mstalt="293254" _msthash="604" _mstvisible="5" height="431" width="1019"]] 110 +[[image:1728536305503-380.png||_mstalt="293254" height="510" width="1206"]] 143 143 144 144 145 145 146 -(% class="lead" _msthash="725" _msttexthash="851097" _mstvisible="1"%)114 +(% class="lead" %) 147 147 Test Connection & Add iIntegration 148 148 149 -(% _mstvisible="1" %) 150 -(% _mstvisible="3" %)[[image:1728536374214-962.png||_mstalt="295893" _msthash="606" _mstvisible="5" height="380" width="1024"]] 117 +[[image:1728536374214-962.png||_mstalt="295893"]] 151 151 152 -(% _msthash="724" _msttexthash="1177579" _mstvisible="1" %) 153 153 After add , we can see the integration here: 154 154 155 -(% _mstvisible="1" %) 156 -(% _mstvisible="3" %)[[image:1728536420275-153.png||_mstalt="293748" _msthash="608" _mstvisible="5" height="152" width="1026"]] 121 +[[image:1728536420275-153.png||_mstalt="293748" height="208" width="1404"]] 157 157 158 158 159 -(% _mstvisible="1" %) 160 -== (% _msthash="723" _msttexthash="213447" _mstvisible="2" %)3.3 Test Uplink(%%) == 124 +== 3.3 Test Uplink == 161 161 162 -(% _msthash="722" _msttexthash="7855835" _mstvisible="1" %) 163 163 We can use Simulate Uplink to simulate an uplink in the things stack. Then we should be able to see the message in ThingsEye 164 164 165 -(% _mstvisible="1" %) 166 -(% _mstvisible="3" %)[[image:1728536524638-768.png||_mstalt="298870" _msthash="610" _mstvisible="5" height="473" width="1028"]] 128 +[[image:1728536524638-768.png||_mstalt="298870" height="493" width="1071"]] 167 167 168 168 169 -(% _mstvisible="1" %) 170 -(% _mstvisible="3" %)[[image:1728536541040-814.png||_mstalt="293215" _msthash="612" _mstvisible="5" height="424" width="1026"]] 131 +[[image:1728536541040-814.png||_mstalt="293215"]] 171 171 133 += 4.Connect chirpstack to Thingseye by way of MQTT = 172 172 173 -(% _mstvisible="1" %) 174 ----- 135 +* **How to connect chirpstack to Thingseye by way of MQTT? The following tutorial will show you** 175 175 176 -(% _mstvisible="1" %) 177 -= (% _msthash="721" _msttexthash="1472211" _mstvisible="2" %)4.Connect chirpstack to Thingseye by way of MQTT(%%) = 137 +== 4.1 Network Structure == 178 178 179 -(% _mstvisible="1" %) 180 -* (% _msthash="720" _msttexthash="4693741" _mstvisible="3" %)**How to connect chirpstack to Thingseye by way of MQTT? The following tutorial will show you** 181 - 182 -(% _mstvisible="1" %) 183 -== (% _msthash="719" _msttexthash="410371" _mstvisible="2" %)4.1 Network Structure(%%) == 184 - 185 -(% _msthash="718" _msttexthash="14117480" _mstvisible="1" %) 186 186 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. 187 187 188 -(% _mstvisible="1" %) 189 -(% _mstvisible="3" %)[[image:1732679647697-982.jpg||_mstalt="299884" _msthash="614" _mstvisible="5" height="399" width="1492"]] 141 +[[image:1732679647697-982.jpg||_mstalt="299884" height="399" width="1492"]] 190 190 191 -(% _mstvisible="1" %) 192 -== (% _msthash="717" _msttexthash="897286" _mstvisible="2" %)4.2 Thingseye adds MQTT integration(%%) == 143 +== 4.2 Thingseye adds MQTT integration == 193 193 194 -(% _msthash="716" _msttexthash="15186782" _mstvisible="1" %) 195 195 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"; 196 196 197 -(% _mstvisible="1" %) 198 -(% _mstvisible="3" %)[[image:1758762634175-353.png||_mstalt="295893" _msthash="616" _mstvisible="5" height="783" width="1020"]] 147 +[[image:1758762634175-353.png]] 199 199 200 -(% _mstvisible="1" %) 201 -== (% _msthash="715" _msttexthash="1329445" _mstvisible="2" %)4.3 Add an uplink and downlink data converter(%%) == 149 +== 4.3 Add an uplink and downlink data converter == 202 202 203 -(% _msthash="714" _msttexthash="4516408" _mstvisible="1" %) 204 -In the function decoder field, specify the uplink script to parse and transform the data. 151 +In the function decoder field, specify the script to parse and transform the data. 205 205 206 -(% _mstvisible="1" %) 207 -(% _mstvisible="3" %)[[image:1758763061703-634.png||_mstalt="294671" _msthash="618" _mstvisible="5" height="783" width="1020"]] 153 +[[image:图片2.png||_mstalt="5131503"]] 208 208 209 -(% _mstvisible="1" %) 210 -* (% _msthash="713" _msttexthash="24445408" _mstvisible="3" %)**Uplink——JavaScript:** 155 +* **Uplink——JavaScript:** 211 211 212 -(% _msthash="712" _msttexthash="792233" _mstvisible="1" %) 213 213 var data = decodeToJson(payload); 214 214 215 -(% _msthash="711" _msttexthash="1379794" _mstvisible="1" %) 216 216 var deviceName = data.deviceInfo.deviceName; 217 217 218 -(% _msthash="710" _msttexthash="1079247" _mstvisible="1" %) 219 219 var deviceType = data.applicationName; 220 220 221 -(% _msthash="709" _msttexthash="909376" _mstvisible="1" %) 222 222 var devEui = data.deviceInfo.devEui 223 223 224 -(% _msthash="708" _msttexthash="861510" _mstvisible="1" %) 225 225 var label = data.deviceInfo.devEui 226 226 227 -(% _msthash="707" _msttexthash="195442" _mstvisible="1" %) 228 228 var model = {}; 229 229 230 -(% _msthash="706" _msttexthash="435448" _mstvisible="1" %) 231 231 var data2 = data.object; 232 232 233 -(% _msthash="705" _msttexthash="326274" _mstvisible="1" %) 234 234 var flg = data.fPort 235 235 236 -(% _msthash="704" _msttexthash="380965" _mstvisible="1" %) 237 237 for (var key in data2) { 238 238 239 -(% _msthash="703" _msttexthash="43058977" _mstvisible="1" %) 240 240 ~/~/ 将属性名存入新对象中 241 241 242 -(% _msthash="702" _msttexthash="475553" _mstvisible="1" %) 243 243 model[key] = data2[key]; 244 244 245 -(% _mstvisible="1" %) 246 246 } 247 247 248 -(% _msthash="701" _msttexthash="757653" _mstvisible="1" %) 249 249 ~/~/var obj = {"devid":deviceName} 250 250 251 -(% _msthash="700" _msttexthash="183287" _mstvisible="1" %) 252 252 var result = { 253 253 254 -(% _msthash="699" _msttexthash="473265" _mstvisible="1" %) 255 255 deviceName: deviceName, 256 256 257 -(% _msthash="698" _msttexthash="489918" _mstvisible="1" %) 258 258 deviceType: deviceType, 259 259 260 -(% _msthash="697" _msttexthash="297271" _mstvisible="1" %) 261 261 telemetry: model, 262 262 263 -(% _msthash="696" _msttexthash="446498" _mstvisible="1" %) 264 264 groupName: "Case Study", 265 265 266 -(% _msthash="695" _msttexthash="217633" _mstvisible="1" %) 267 267 ~/~/label:label, 268 268 269 -(% _msthash="694" _msttexthash="685984" _mstvisible="1" %) 270 270 attributes:{"devEui":devEui, 271 271 272 -(% _msthash="693" _msttexthash="386308" _mstvisible="1" %) 273 273 ~/~/"timevalue":"test", 274 274 275 -(% _msthash="692" _msttexthash="551772" _mstvisible="1" %) 276 276 "inactivityTimeout":1260000 277 277 278 -(% _msthash="691" _msttexthash="894530" _mstvisible="1" %) 279 279 ~/~/ "High_humidity_alarm":"not set", 280 280 281 -(% _msthash="690" _msttexthash="1052753" _mstvisible="1" %) 282 282 ~/~/ "High_temperature_alarm":"not set", 283 283 284 -(% _msthash="689" _msttexthash="848783" _mstvisible="1" %) 285 285 ~/~/ "Low_humidity_alarm":"not set", 286 286 287 -(% _msthash="688" _msttexthash="1002833" _mstvisible="1" %) 288 288 ~/~/ "Low_temperature_alarm":"not set", 289 289 290 -(% _msthash="687" _msttexthash="773682" _mstvisible="1" %) 291 291 ~/~/ "Low_voltage_alarm":"not set" 292 292 293 -(% _msthash="686" _msttexthash="2381015" _mstvisible="1" %) 294 294 ~/~/"customerName": "Civionic Engineering & Consulting (2014) Inc." 295 295 296 -(% _mstvisible="1" %) 297 297 } 298 298 299 -(% _mstvisible="1" %) 300 300 }; 301 301 302 -(% _msthash="685" _msttexthash="937586" _mstvisible="1" %) 303 303 function decodeToString(payload) { 304 304 305 -(% _msthash="684" _msttexthash="1818154" _mstvisible="1" %) 306 306 return String.fromCharCode.apply(String, payload); 307 307 308 -(% _mstvisible="1" %) 309 309 } 310 310 311 -(% _msthash="683" _msttexthash="834496" _mstvisible="1" %) 312 312 function decodeToJson(payload) { 313 313 314 -(% _msthash="682" _msttexthash="850616" _mstvisible="1" %) 315 315 var str = decodeToString(payload); 316 316 317 -(% _msthash="681" _msttexthash="512044" _mstvisible="1" %) 318 318 var data = JSON.parse(str); 319 319 320 -(% _msthash="680" _msttexthash="173511" _mstvisible="1" %) 321 321 return data; 322 322 323 -(% _mstvisible="1" %) 324 324 } 325 325 326 -(% _msthash="679" _msttexthash="233116" _mstvisible="1" %) 327 327 return result; 328 328 329 -(% _mstvisible="1" %) 330 ----- 235 +[[image:图片3.png||_mstalt="5131620"]] 331 331 332 -(% _msthash="678" _msttexthash="4743882" _mstvisible="1" %) 333 -In the function decoder field, specify the downlink script to parse and transform the data. 237 +* **Dowblink——JavaScript:** 334 334 335 -(% _mstvisible="1" %) 336 -(% _mstvisible="3" %)[[image:1758763019466-819.png||_mstalt="298311" _msthash="620" _mstvisible="5" height="787" width="1022"]] 337 - 338 -(% _mstvisible="1" %) 339 -* (% _msthash="677" _msttexthash="26632970" _mstvisible="3" %)**Dowblink——JavaScript:** 340 - 341 -(% _msthash="676" _msttexthash="2052284" _mstvisible="1" %) 342 342 ~/~/ Encode downlink data from incoming Rule Engine message 343 343 344 -(% _msthash="675" _msttexthash="1638546" _mstvisible="1" %) 345 345 ~/~/ msg - JSON message payload downlink message json 346 346 347 -(% _msthash="674" _msttexthash="3854773" _mstvisible="1" %) 348 348 ~/~/ msgType - type of message, for ex. 'ATTRIBUTES_UPDATED', 'POST_TELEMETRY_REQUEST', etc. 349 349 350 -(% _msthash="673" _msttexthash="3368742" _mstvisible="1" %) 351 351 ~/~/ metadata - list of key-value pairs with additional data about the message 352 352 353 -(% _msthash="672" _msttexthash="8087157" _mstvisible="1" %) 354 354 ~/~/ integrationMetadata - list of key-value pairs with additional data defined in Integration executing this converter 355 355 356 -(% _msthash="671" _msttexthash="199069" _mstvisible="1" %) 357 357 ~/~/ /~*~* Encoder ~*~*/ 358 358 359 -(% _msthash="670" _msttexthash="455715" _mstvisible="1" %) 360 360 ~/~/var data = {"value":99}; 361 361 362 -(% _msthash="669" _msttexthash="1757431" _mstvisible="1" %) 363 363 ~/~/ ~/~/ Process data from incoming message and metadata 364 364 365 -(% _msthash="668" _msttexthash="1852279" _mstvisible="1" %) 366 366 ~/~/ data.tempFreq = msg.temperatureUploadFrequency; 367 367 368 -(% _msthash="667" _msttexthash="1572038" _mstvisible="1" %) 369 369 ~/~/ data.humFreq = msg.humidityUploadFrequency; 370 370 371 -(% _msthash="666" _msttexthash="2049957" _mstvisible="1" %) 372 372 ~/~/ data.devSerialNumber = metadata['ss_serialNumber']; 373 373 374 -(% _msthash="665" _msttexthash="1576731" _mstvisible="1" %) 375 375 ~/~/ ~/~/ Result object with encoded downlink payload 376 376 377 -(% _msthash="664" _msttexthash="183287" _mstvisible="1" %) 378 378 var result = { 379 379 380 -(% _msthash="663" _msttexthash="2331082" _mstvisible="1" %) 381 381 ~/~/ downlink data content type: JSON, TEXT or BINARY (base64 format) 382 382 383 -(% _msthash="662" _msttexthash="322049" _mstvisible="1" %) 384 384 contentType: "TEXT", 385 385 386 -(% _msthash="661" _msttexthash="249210" _mstvisible="1" %) 387 387 ~/~/ downlink data 388 388 389 -(% _msthash="660" _msttexthash="1524952" _mstvisible="1" %) 390 390 data: msg.shared_value ,~/~/JSON.stringify(data), 391 391 392 -(% _msthash="659" _msttexthash="2147704" _mstvisible="1" %) 393 393 ~/~/ Optional metadata object presented in key/value format 394 394 395 -(% _msthash="658" _msttexthash="150189" _mstvisible="1" %) 396 396 metadata: { 397 397 398 -(% _msthash="657" _msttexthash="1241370" _mstvisible="1" %) 399 399 topic: '/test/down/'+metadata.deviceName 400 400 401 -(% _mstvisible="1" %) 402 402 } 403 403 404 -(% _mstvisible="1" %) 405 405 }; 406 406 407 -(% _msthash="656" _msttexthash="233116" _mstvisible="1" %) 408 408 return result; 409 409 410 -(% _mstvisible="1" %) 411 ----- 285 +== 4.4 Configure the connection == 412 412 413 -(% _mstvisible="1" %) 414 -== (% _msthash="655" _msttexthash="640094" _mstvisible="2" %)4.4 Configure the connection(%%) == 415 - 416 -(% _msthash="654" _msttexthash="1780675" _mstvisible="1" %) 417 417 Generate MQTT certificate integrated on chirpstack 418 418 419 -(% _msthash="653" _msttexthash="3723447" _mstvisible="1" %) 420 420 Chirpstack generates CA certificate, TLS certificate, and TLS key respectively 421 421 422 -(% _msthash="652" _msttexthash="5123092" _mstvisible="1" %) 423 423 They correspond to the CA certificate file, Certificate file, and Private key file on thingseye 424 424 425 -(% _mstvisible="1" %) 426 -(% _mstvisible="3" %)[[image:图片4.png||_mstalt="5131737" _msthash="622" _mstvisible="5" height="504" width="1016"]] 293 +[[image:图片4.png||_mstalt="5131737"]] 427 427 428 -(% _mstvisible="1" %) 429 -(% _mstvisible="3" %)[[image:图片5.png||_mstalt="5131854" _msthash="624" _mstvisible="5" height="505" width="1017"]] 295 +[[image:图片5.png||_mstalt="5131854" height="630" width="1269"]] 430 430 431 -(% _mstvisible="1" %) 432 432 * Copy the contents of the certificates and paste them into the linked file below, a total of three certificates are required 433 433 434 -(% _mstvisible="1" %) 435 -(% _msthash="650" _msttexthash="44967858" _mstvisible="2" %)**Integrated Certificate File demo Download Address:** 299 +**Integrated Certificate File demo Download Address:** 436 436 437 -(% _mstvisible="1" %) 438 -[[https:~~/~~/github.com/ThingsEye-io/te-platform/tree/main/chirpstack>>https://github.com/ThingsEye-io/te-platform/tree/main/chirpstack||_msthash="649" _msttexthash="3132909" _mstvisible="2"]] 301 +[[https:~~/~~/github.com/ThingsEye-io/te-platform/tree/main/chirpstack>>https://github.com/ThingsEye-io/te-platform/tree/main/chirpstack]] 439 439 440 -(% _msthash="648" _msttexthash="4037631" _mstvisible="1" %) 441 441 Enter the server address Host: lns1.thingseye.io on the Connection configuration 442 442 443 -(% _msthash="647" _msttexthash="93873" _mstvisible="1" %) 444 444 Port: 8883 445 445 446 -(% _msthash="646" _msttexthash="380666" _mstvisible="1" %) 447 447 Credentials type: PEM 448 448 449 -(% _msthash="645" _msttexthash="880399" _mstvisible="1" %) 450 450 Upload the certificate and key file 451 451 452 -(% _mstvisible="1" %) 453 -(% _mstvisible="3" %)[[image:图片6.png||_mstalt="5131971" _msthash="626" _mstvisible="5" height="509" width="1026"]] 311 +[[image:图片6.png||_mstalt="5131971"]] 454 454 455 -(% _mstvisible="1" %) 456 -(% _mstvisible="3" %)[[image:图片7.png||_mstalt="5132088" _msthash="628" _mstvisible="5" height="509" width="1025"]] 313 +[[image:图片7.png||_mstalt="5132088"]] 457 457 458 -(% _mstvisible="1" %) 459 ----- 460 - 461 -(% _msthash="644" _msttexthash="472992" _mstvisible="1" %) 462 462 The default for Topic is: 463 463 464 -(% _msthash="643" _msttexthash="2223559" _mstvisible="1" %) 465 465 application/**chirpstack application id**/device/+/event/up 466 466 467 -(% _mstvisible="1" %) 468 -(% _mstvisible="3" %)[[image:图片8.png||_mstalt="5132205" _msthash="630" _mstvisible="5" height="508" width="1024"]] 319 +[[image:图片8.png||_mstalt="5132205"]] 469 469 470 470 471 -(% class="wikigeneratedid" _mstvisible="1"%)472 - (% _mstvisible="3" %)[[image:屏幕截图 2024-11-25 095805.png||_mstalt="10831028"_msthash="632" _mstvisible="5" height="301" width="1024"]]322 +(% class="wikigeneratedid" %) 323 +[[image:屏幕截图 2024-11-25 095805.png||_mstalt="10831028" height="374" width="1272"]] 473 473 474 -(% _mstvisible="1" %) 475 ----- 325 +== 4.5 Check the connection == 476 476 477 -(% _mstvisible="1" %) 478 -== (% _msthash="642" _msttexthash="471978" _mstvisible="2" %)4.5 Check the connection(%%) == 327 +[[image:图片9.png||_mstalt="5132322"]] 479 479 480 -(% _mstvisible="1" %) 481 -(% _mstvisible="3" %)[[image:图片9.png||_mstalt="5132322" _msthash="634" _mstvisible="5" height="509" width="1025"]] 329 +[[image:图片10.png||_mstalt="5142449"]] 482 482 483 -(% _mstvisible="1" %) 484 -(% _mstvisible="3" %)[[image:图片10.png||_mstalt="5142449" _msthash="636" _mstvisible="5" height="509" width="1026"]] 331 += 5. Check Data Uplink Log = 485 485 486 - 487 -(% _mstvisible="1" %) 488 ----- 489 - 490 -(% _mstvisible="1" %) 491 -= (% _msthash="641" _msttexthash="418145" _mstvisible="2" %)5. Check Data Uplink Log(%%) = 492 - 493 -(% _msthash="640" _msttexthash="1422681" _mstvisible="1" %) 494 494 User can check the devices log in Intergration. 495 495 496 -(% _mstvisible="1" %) 497 -(% _mstvisible="3" %)[[image:1729562069134-315.png||_mstalt="294190" _msthash="638" _mstvisible="5" height="587" width="723"]] 335 +[[image:1729562069134-315.png||_mstalt="294190" height="587" width="723"]]
- 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