Wiki source code of Connect Devices to ThingsEye

Version 25.1 by Alec Chen on 2025/11/19 15:43

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