Last modified by Alec Chen on 2025/11/26 17:10

From version 3.1
edited by Chxy
on 2024/10/08 16:10
Change comment: There is no comment for this version
To version 27.1
edited by Alec Chen
on 2025/11/26 17:09
Change comment: There is no comment for this version

Summary

Details

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