Wiki source code of Connect Devices to ThingsEye

Version 26.1 by Alec Chen on 2025/11/19 15:54

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