<
From version < 82.1 >
edited by Xiaoling
on 2022/05/26 09:04
To version < 189.1 >
edited by Kilight Cao
on 2023/12/01 18:01
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.Kilight
Content
... ... @@ -1,73 +1,137 @@
1 -**~ Contents:**
1 +**~ Table of Contents:**
2 2  
3 3  {{toc/}}
4 4  
5 -= 1. Introduction =
6 6  
6 +
7 +
8 += 1.  Introduction =
9 +
10 +
7 7  (% style="color:black" %)The ChirpStack open-source LoRaWAN Network Server stack provides open-source components for LoRaWAN networks And the Chirpstack supports the users in building a private LoRaWAN Server. For more info please refer to this [[link>>url:https://www.chirpstack.io/]]
8 8  
9 9  (((
10 10  (% style="color:black" %)The dragino gateway can connect the ChirpStack server via Semtech UDP or Semtech Basic Station.
15 +
16 +
11 11  )))
12 12  
13 -**Prerequisite**
19 +(% style="color:blue" %)**Prerequisite:**
14 14  
15 -1) Have a Chirstack Server.
21 +**1) Have a Chirstack Server.**
16 16  
17 -[[image:image-20220525100058-1.png]]
23 +[[image:image-20230821114047-4.png||height="524" width="990"]]
18 18  
19 19  ChirpStack home page
20 20  
21 21  
22 -2) Gateway model support
23 23  
29 +**2) Gateway model support**
30 +
24 24  (% class="box" %)
25 25  (((
26 26  (((
27 27  Semtech UDP : **All Model**
28 -Basic Station : , , 
29 -**Note** : the firmware needs >  if use the Bais station
35 +Basic Station : [[LIG16>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/171-lig16.html]], [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]], [[DLOS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/160-dlos8.html]] [[LPS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/148-lps8.html]]
36 +(% style="color:red" %)**Note** (%%): the firmware needs >[[lgw~~-~~-build-v5.4.1640315898>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]]  if use the Bais station
30 30  )))
31 31  )))
32 32  
33 -= 2. Semtech UDP =
34 34  
35 -== 2.1 Step 1. Add the Network-servers ==
41 += 2.  Node usage introduction =
36 36  
43 +== 2.1 Register Node ==
44 +
45 +
46 +**Step 1: Add application**
47 +
48 +[[image:image-20230702094608-1.png||height="537" width="1015"]]
49 +
50 +
51 +**Step 2:Fill name**
52 +
53 +[[image:image-20230702094852-2.png]]
54 +
55 +
56 +**Step3 :Add device profile**
57 +
58 +[[image:image-20230702095114-4.png||height="448" width="1061"]]
59 +
60 +
61 +**Step4 :Configure your device profile**
62 +
63 +[[image:image-20230702095557-5.png||height="648" width="1121"]]
64 +
65 +Does node support class-c
66 +
67 +[[image:image-20230702095641-6.png||height="349" width="1114"]]
68 +
69 +Add node's decoder
70 +
71 +[[image:image-20230702095827-7.png||height="490" width="1138"]]
72 +
73 +
74 +**Step5 :add device**
75 +
76 +[[image:image-20230702094944-3.png||height="439" width="1153"]]
77 +
78 +
79 +[[image:image-20230702100312-8.png||height="550" width="1106"]]
80 +
81 +
82 +[[image:image-20230702100543-10.png||height="313" width="1099"]]
83 +
84 +
85 +[[image:image-20230702100930-11.png||height="613" width="1098"]]
86 +
87 +
88 += 3.  Semtech UDP for ChirpStack v3 =
89 +
90 +== 3.1  Step 1. Add the Network-servers ==
91 +
92 +
37 37  The network-Servers address varies depending on the ChirpStack server setup environment
38 38  
39 39  (% class="box" %)
40 40  (((
41 - Windows       ~-~->Network-server server * : localhost:8000
42 - Linux         ~-~->Network-server server * : chirpstack-network-server:8000
97 + Windows       ~-~->  Network-server server *  :  localhost:8000
98 + Linux  ~-~->  Network-server server *  :  chirpstack-network-server:8000
43 43  )))
44 44  
45 -If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.
46 46  
47 -[[image:image-20220525100158-2.png]]
102 +(% style="color:red" %)**If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.**
48 48  
104 +[[image:image-20220531171609-1.png||height="638" width="1268"]](% style="display:none" %)
105 +
49 49  Add the Network-servers
50 50  
51 -== 2.2 Step 2. Create Gateway-profiles ==
52 52  
53 -[[image:image-20220525100255-3.png]]
109 +== 3.2  Step 2. Create Gateway-profiles ==
54 54  
111 +
112 +[[image:image-20220531171651-2.png||height="632" width="1264"]](% style="display:none" %)
113 +
55 55  Create Gateway-profiles
56 56  
57 -== 2.3 Step 3. Create Service-profiles ==
58 58  
59 -[[image:image-20220525100322-4.png]]
117 +== 3.3  Step 3. Create Service-profiles ==
60 60  
119 +
120 +[[image:image-20220531171809-3.png||height="761" width="1265"]]
121 +
61 61  Create Service-profiles
62 62  
124 +
63 63  In Step 3. Create Service-profiles, the above parameters can be set. If necessary, you can set them by yourself. This is only an example.
64 64  
65 65  (% style="color:red" %)**Note : Before add the gateway, the user needs to complete the preceding three steps.**
66 66  
67 -If the user has completed the preceding steps, proceed to the next step.
129 +If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %)
68 68  
69 -== 2.4 Step 4. Add the gateway ==
70 70  
132 +== 3.4  Step 4. Add the gateway ==
133 +
134 +
71 71  The example gateway id is: a840411e96744150
72 72  
73 73  (((
... ... @@ -74,55 +74,84 @@
74 74  (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.**
75 75  )))
76 76  
77 -[[image:image-20220525100350-5.png]]
141 +[[image:image-20220531171923-4.png||height="745" width="1253"]](% style="display:none" %)
78 78  
79 79  Add the gateway
80 80  
81 -[[image:image-20220525100417-6.png]]
82 82  
146 +[[image:image-20220531172031-5.png]]
147 +
83 83  Configure the gateway
84 84  
85 -== 2.5 Step 5. Checking gateway Status ==
86 86  
87 -[[image:image-20220525100448-7.png]]
151 +== 3.5  Step 5. Checking gateway Status ==
88 88  
153 +
154 +[[image:image-20220531172158-6.png||height="704" width="1167"]](% style="display:none" %)
155 +
156 +
157 +
89 89  gateway Status
90 90  
91 -[[image:image-20220525100516-8.png]]
160 +[[image:image-20220531172304-7.png||height="628" width="1165"]]
92 92  
93 93  gateway Status
94 94  
95 -= 3. Gateway Registration for Basics Station =
96 96  
97 -== Introduction ==
165 += 4.  Semtech UDP for ChirpStack v4 =
98 98  
167 +== 4.1  Step 1. Add the gateway ==
168 +
169 +
170 +[[image:image-20230926092907-1.png||height="598" width="1007"]]
171 +
172 +
173 +[[image:image-20230926093057-2.png||height="541" width="1002"]]
174 +
175 +
176 +== 4.2  Step 2. Checking gateway Status ==
177 +
178 +[[image:image-20230926093233-3.png||height="581" width="1018"]]
179 +
180 += 5.  Gateway Registration for Basics Station =
181 +
182 +== 5.1  Introduction ==
183 +
184 +
99 99  The [[Semtech Basic Station>>url:https://doc.sm.tc/station/]] backend implements the [[LNS protocol>>url:https://doc.sm.tc/station/tcproto.html]]. It exposes a WebSocket handler to which Basic Station powered gateways can connect.
100 100  
101 101  ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation.
102 102  
103 -**Below list the support products and Requirements:**
104 104  
190 +(% style="color:blue" %)**Below list the support products and Requirements:**
191 +
105 105  1. LoRaWAN Gateway model: [[LIG16>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/171-lig16.html]], [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]], [[DLOS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/160-dlos8.html]] ,[[LPS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/148-lps8.html]]
106 106  1. Firmware version since :[[lgw~~-~~-build-v5.4.1651822913>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Test_Firmware/lgw--build-v5.4.1651822913-20220506-1543/]]
107 107  
108 -**How to set up chirpStack Basic Station**
195 +(% style="color:blue" %)**How to set up chirpStack Basic Station**
109 109  
110 110  Users can check out the ChirpStack Basic Station [[link>>https://www.chirpstack.io/gateway-bridge/backends/basic-station/]] and [[forum>>https://forum.chirpstack.io/search?q=basic%20station]]
111 111  
112 -**What do you need to prepare**
113 113  
200 +(% style="color:blue" %)**What do you need to prepare**
201 +
114 114  A gateway that can access the internet normally
115 115  
116 -== 3.1 Add Gateway ==
117 117  
205 +== 5.2  Add Gateway ==
206 +
207 +
118 118  [[image:image-20220524164205-10.png]]
119 119  
120 -== 3.2 Access the gateway GUI ==
121 121  
211 +== 5.3  Access the gateway GUI ==
212 +
213 +
122 122  Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station
123 123  
124 124  [[image:image-20220524164319-11.png]]
125 125  
218 +
126 126  User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate
127 127  
128 128  (% class="box" %)
... ... @@ -129,7 +129,7 @@
129 129  (((
130 130  Service Provider  ~-~->  Choose the ChirpStack/Senet ~-~- Basic Station
131 131  
132 -LNS URI  ~-~->  Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:433 or ws:~/~/xxxx.chirpstack.com:3001
225 +LNS URI  ~-~->  Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:443 or ws:~/~/xxxx.chirpstack.com:3001
133 133  
134 134  LNS TLS trust  ~-~->  Upload the TLS Certificate
135 135  )))
... ... @@ -137,48 +137,287 @@
137 137  (% class="wikigeneratedid" %)
138 138  [[image:image-20220524164341-12.png]]
139 139  
140 -== 3.3 Start Station ==
141 141  
142 -When the user has finished the configuration, Please click Sace&Apply to start station to connect ChirpStack
234 +== 5.4  Start Station ==
143 143  
144 -== 3.4 Successful Connection ==
145 145  
237 +When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack.
238 +
239 +
240 +== 5.5  Successful Connection ==
241 +
242 +
146 146  If user completes the above steps, which will see live date in the ChirpStack.
147 147  
148 148  [[image:image-20220524164448-13.png]]
149 149  
150 -== 3.5 Trouble Shooting ==
151 151  
248 +== 5.6  Trouble Shooting ==
249 +
250 +
152 152  User can check the station log in the logread/system log page.
153 153  
154 -[[image:image-20220524164514-14.png]]
253 +[[image:image-20220531172837-8.png]]
155 155  
255 +
156 156  and recode the station log in the system/Recode log page.
157 157  
158 -[[image:image-20220524164541-15.png]]
258 +[[image:image-20220531172857-9.png]]
159 159  
160 -= 4. Downlink =
161 161  
162 -== 4.1 Chirpstack Downlink Note ==
261 += 6.  How the gateway connects to Chirpstack v3 via gateway-bridge =
163 163  
164 -[[image:image-20220525101223-9.png]]
165 165  
166 -Convert the data to Base64
264 +(% style="color:blue" %)**Below list the support products and Requirements:**
167 167  
168 -[[image:image-20220525101247-10.png]]
266 +1. LoRaWAN Gateway model: [[LIG16>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/171-lig16.html]], [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]], [[DLOS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/160-dlos8.html]] ,[[LPS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/148-lps8.html]],[[LPS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/200-lps8n.html]],[[LG308N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/229-lg308n.html]],[[DLOS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/225-dlos8n.html]]
267 +1. Firmware version since: [[Chirpstack-Bridge-V3.14.6>>https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/Chirpstack-gateway-bridge/Chirpstack-Bridge-V3.14.6-Bridge--build-v5.4.1679487778-20230322-2024/]]
169 169  
170 -Check ChripStack downlink DataRate
269 +(% style="color:blue" %)**How to set up chirpStack Gateway-bridge**
171 171  
271 +Users can check out the ChirpStack gateway-bridge v3 [[link>>https://www.chirpstack.io/gateway-bridge/gateway/dragino/]]
272 +
273 +
274 +(% style="color:blue" %)**What do you need to prepare**
275 +
276 +A gateway that can access the internet normally
277 +
278 +
279 +The following example does not have configuration certificates:
280 +
281 +
282 +== 6.1  Configure Packet Forwarder ==
283 +
284 +
285 +In the Dragino gateway web interface, you need to configure the Packet Forwarder so that it forwards its data to the port. localhost:1700 or 127.0.0.1:1700
286 +
287 +* In the (% style="color:blue" %)**LoRaWAN** (%%)menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
288 +
289 +* Make sure the following settings are set:
290 +** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-//
291 +** **LoRaWAN Server Address:** //localhost or 127.0.0.1//
292 +** **Server port for upstream:** //1700//
293 +** **Server port for downstream:** //1700//
294 +
295 + Click (% style="color:blue" %)**Save & Apply**.
296 +
297 +[[image:image-20221222114220-2.png||height="748" width="931"]]
298 +
299 +
300 +== 6.2  Configuring gateway frequency ==
301 +
302 +
303 +(% style="color:red" %)**Note: Gateway frequencies must match**
304 +
305 +[[image:image-20221222134830-3.png||height="408" width="923"]]
306 +
307 +
308 +== 6.3  Generate and modify the gateway-bridge configuration file ==
309 +
310 +
311 +**1)Generate the gateway-bridge configuration file**
312 +
313 +By default, the configuration file is not up-to-date,so the user needs to rebuild the gateway-bridge configuration file.
314 +
315 +Users need to access the command line of the gateway through SSH,Then type the following command:
316 +
317 +(% class="box infomessage" %)
318 +(((
319 +**/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge configfile > /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
320 +)))
321 +
322 +
323 +**2)modify the gateway-bridge configuration file**
324 +
325 +The user needs to modify the server address in line 252 in the configuration file
326 +
327 +(% class="box infomessage" %)
328 +(((
329 +**vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
330 +)))
331 +
332 +[[image:image-20230415165254-1.png||height="583" width="956"]]
333 +
334 +
335 +== 6.4  Debug ==
336 +
337 +
338 +After the above configuration is completed, the user can enter the command to debug the gateway-bridge connection
339 +
340 +(% class="box infomessage" %)
341 +(((
342 +**/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge ~-~-config /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml**
343 +)))
344 +
345 +If the gateway-bridge connection is normal, the debug log displays **"connected to mqtt broker"**.
346 +
347 +[[image:image-20230415170404-2.png]]
348 +
349 +
350 +If the debug log shows "**connection error**", check that the server port or server is correct
351 +
352 +[[image:image-20230415170854-3.png]]
353 +
354 +
355 +More information can be found on the **[[ChirpStack website>>https://www.chirpstack.io/docs/]]**or **[[Forum>>url:https://forum.chirpstack.io/]]**
356 +
357 +
358 +== 6.5  (Re)start and stop gateway-bridge ==
359 +
360 +
361 +Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service:
362 +
363 +(% class="box infomessage" %)
364 +(((
365 +**# start**
366 +
367 +/etc/init.d/chirpstack-gateway-bridge start
368 +
369 +**# stop**
370 +
371 +/etc/init.d/chirpstack-gateway-bridge stop
372 +
373 +**# restart**
374 +
375 +/etc/init.d/chirpstack-gateway-bridge restart
376 +)))
377 +
378 +
379 += 7.  How the gateway connects to Chirpstack v4 via gateway-bridge =
380 +
381 +
382 +(% style="color:blue" %)**Below list the support products and Requirements:**
383 +
384 +1. LoRaWAN Gateway model: [[LIG16>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/171-lig16.html]], [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]], [[DLOS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/160-dlos8.html]] ,[[LPS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/148-lps8.html]],[[LPS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/200-lps8n.html]],[[LG308N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/229-lg308n.html]],[[DLOS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/225-dlos8n.html]]
385 +1. Firmware version since: [[Chirpstack-Bridge-V4>>https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/Chirpstack-gateway-bridge/Chirpstack-Bridge-V4--build-v5.4.1670655072-20221210-1452/]]
386 +
387 +(% style="color:blue" %)**How to set up chirpStack Gateway-bridge**
388 +
389 +Users can check out the ChirpStack gateway-bridge v4 [[link>>https://www.chirpstack.io/docs/chirpstack-gateway-bridge/install/dragino.html]]
390 +
391 +
392 +(% style="color:blue" %)**What do you need to prepare**
393 +
394 +A gateway that can access the internet normally
395 +
396 +
397 +== 7.1  Configure Packet Forwarder ==
398 +
399 +
400 +In the Dragino gateway web interface, you need to configure the Packet Forwarder so that it forwards its data to the port. localhost:1700 or 127.0.0.1:1700
401 +
402 +* In the (% style="color:blue" %)**LoRaWAN**(%%) menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
403 +
404 +* Make sure the following settings are set:
405 +** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-//
406 +** **LoRaWAN Server Address:** //localhost or 127.0.0.1//
407 +** **Server port for upstream:** //1700//
408 +** **Server port for downstream:** //1700//
409 +
410 + Click (% style="color:blue" %)**Save & Apply**.
411 +
412 +[[image:image-20221222114220-2.png||height="748" width="931"]]
413 +
414 +
415 +== 7.2  Configuring gateway frequency ==
416 +
417 +
418 +(% style="color:red" %)**Note: Gateway frequencies must match**
419 +
420 +[[image:image-20221222134830-3.png||height="408" width="923"]]
421 +
422 +
423 +== 7.3  Modify the gateway-bridge configuration file ==
424 +
425 +
426 +Run the gateway command line command to modify the gateway-bridge configuration file:
427 +
428 +(% class="box infomessage" %)
429 +(((
430 +**root@dragino-1d27d4:~~#  vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
431 +)))
432 +
433 +[[image:image-20221222113302-1.png]]
434 +
435 +
436 +[[image:image-20221222140203-4.png||height="875" width="806"]]
437 +
438 +
439 +[[image:image-20221230094246-1.png||height="768" width="783"]]
440 +
441 +(% class="wikigeneratedid" id="H" %)
442 +After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart**
443 +
444 +
445 +== 7.4  (Re)start and stop gateway-bridge ==
446 +
447 +
448 +Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service:
449 +
450 +(% class="box infomessage" %)
451 +(((
452 +**# start**
453 +
454 +/etc/init.d/chirpstack-gateway-bridge start
455 +
456 +**# stop**
457 +
458 +/etc/init.d/chirpstack-gateway-bridge stop
459 +
460 +**# restart**
461 +
462 +/etc/init.d/chirpstack-gateway-bridge restart
463 +)))
464 +
465 +
466 +== 7.5  Successful Connection ==
467 +
468 +
469 +[[image:image-20221222141754-5.png||height="488" width="1150"]]
470 +
471 +
472 +[[image:image-20221222141830-6.png||height="582" width="1153"]]
473 +
474 +
475 += 8.  Downlink =
476 +
477 +
478 +=== 8.1 Chirpstack Downlink Note ===
479 +
480 +
481 +==== Select HEX format for downlink ====
482 +
483 +
484 +(% style="color:red" %)**Note: The end node user manual provides HEX format of the downlink commands, so users can directly select HEX format downlink.**
485 +
486 +
487 +[[image:image-20231108171112-5.png||height="629" width="1117"]]
488 +
489 +
490 +[[image:image-20231108171145-6.png||height="497" width="1101"]]
491 +
492 +
493 +
494 +
495 +
496 +[[image:image-20220531173236-10.png||height="597" width="1215"]]
497 +
498 +**Check ChripStack downlink DataRate**
499 +
500 +
501 +
172 172  [[image:image-20220525101326-11.png]]
173 173  
174 -Make sure the RX2DR is the same in the end node
504 +**Make sure the RX2DR is the same in the end node**
175 175  
176 -== 4.2 Loraserver Downlink Note ==
177 177  
507 +== 8.3  Loraserver Downlink Note ==
508 +
509 +
178 178  User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End
179 179  
180 180  (((
181 -Below is examples:
513 +**Below is examples:**
182 182  )))
183 183  
184 184  (% class="box" %)
... ... @@ -189,14 +189,17 @@
189 189  User name: User name Password: password
190 190  )))
191 191  
192 -[[image:image-20220525101401-12.png]]
524 +[[image:image-20220531173419-11.png]]
193 193  
194 194  (((
195 -MQTT Connect to ChirpStack
527 +**MQTT Connect to ChirpStack**
528 +
529 +
530 +
196 196  )))
197 197  
198 198  (((
199 -After connect
534 +**After connect**
200 200  )))
201 201  
202 202  (% class="box" %)
... ... @@ -214,24 +214,16 @@
214 214  Payload: {"confirmed":true,"fPort":2,"data":"AwEB"}
215 215  )))
216 216  
217 -[[image:image-20220525101436-13.png]]
552 +[[image:image-20220531173519-12.png]]
218 218  
219 -MQTT Connect to ChirpStack
554 +**MQTT Connect to ChirpStack**
220 220  
221 -(((
222 -(% style="color:red" %)Note: Chirpstack use base64 to downlink, so need to convert the downlink payload from HEX to base64 [[https:~~/~~/base64.us/>>url:https://base64.us/]]
223 -)))
224 224  
225 -[[image:image-20220525101505-14.png]]
226 226  
227 -Choose to Use Hex for Encode
228 -
229 -If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB
230 -
231 -[[image:image-20220525104025-15.png]]
232 -
233 233  (((
234 -Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码:
559 +Downlink payload encode javescript code.
560 +
561 +We can run the following Javsscript code on the site:
235 235  )))
236 236  
237 237  (% class="box" %)
... ... @@ -247,15 +247,15 @@
247 247   {
248 248   if(sha1[n] >= 'A' && sha1[n] <= 'Z')
249 249   {
250 - ascv = sha1.charCodeAt(n) - 55;
577 + ascv = sha1.charCodeAt( n ) - 55;
251 251   }
252 252   else if(sha1[n] >= 'a' && sha1[n] <= 'z')
253 253   {
254 - ascv = sha1.charCodeAt(n) - 87;
581 + ascv = sha1.charCodeAt( n ) - 87;
255 255   }
256 256   else
257 257   {
258 - ascv = sha1.charCodeAt(n) - 48;
585 + ascv = sha1.charCodeAt( n ) - 48;
259 259   }
260 260  \\ bit_arr = (bit_arr << 4) | ascv;
261 261   bit_num += 4;
... ... @@ -291,20 +291,28 @@
291 291   AwAA is 0x030000's base 64 Encode.
292 292  )))
293 293  
294 -== 4.3 Add the decode function in Chirpstack for the payload ==
295 295  
622 +== 8.4  Add the decode function in Chirpstack for the payload ==
623 +
624 +
296 296  User enters the payload code according to the steps.
297 297  
298 -[[image:image-20220525104051-16.png]]
627 +Add the node device decoder you are using. The decoder for each node device is different. The decoder is found in this link: **[[decoder for dragino end node>>https://github.com/dragino/dragino-end-node-decoder]]**
299 299  
300 -[[image:image-20220525104155-17.png]]
629 +[[image:image-20220531173754-15.png||height="474" width="1334"]]
301 301  
302 -[[image:image-20220525104223-18.png]]
303 303  
304 -[[image:image-20220525104258-19.png]]
632 +[[image:image-20220531173856-16.png]]
305 305  
306 -= 5. Multiply Uplink in ChirpStack =
307 307  
635 +[[image:image-20220531174120-20.png]]
636 +
637 +[[image:image-20220531174046-19.png]]
638 +
639 +
640 += 9.  Multiply Uplink in ChirpStack =
641 +
642 +
308 308  (((
309 309  nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data.
310 310  )))
... ... @@ -311,12 +311,17 @@
311 311  
312 312  (((
313 313  ChirpStack will auto adjust nbtrans according to uplink rssi. [[link to source>>url:https://github.com/brocaar/chirpstack-network-server/blob/master/internal/adr/adr.go]]
649 +
650 +
314 314  )))
315 315  
316 -[[image:image-20220525104328-20.png]]
653 +[[image:image-20220526091912-7.png||height="241" width="1336"]]
317 317  
655 +
318 318  (((
319 319  nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame.
658 +
659 +
320 320  )))
321 321  
322 322  [[image:image-20220525104359-21.png]]
... ... @@ -323,6 +323,8 @@
323 323  
324 324  (((
325 325  Above behaviour will cause the platform shows below two cases of error:
666 +
667 +
326 326  )))
327 327  
328 328  (((
... ... @@ -331,26 +331,33 @@
331 331  
332 332  [[image:image-20220525104437-22.png]]
333 333  
334 -Duplicate transmission in short time
335 335  
336 -[[image:image-20220525104502-23.png]]
337 337  
338 -== 5.1 Solution ==
678 +**Duplicate transmission in short time**
339 339  
680 +[[image:image-20220601102430-1.png||height="508" width="1120"]]
681 +
682 +
683 +== 9.1  Solution ==
684 +
685 +
340 340  This example uses the Windows version as a template, other versions can refer to this. Similiar reference: [[https:~~/~~/confluence.alitecs.de/plugins/servlet/mobile?contentId=79790102#content/view/79790102>>url:https://confluence.alitecs.de/plugins/servlet/mobile?contentId=79790102#content/view/79790102]]
341 341  
342 342  (((
343 -~1. Install the GO compilation environment: Download the corresponding version of the Go compiler at [[https:~~/~~/go.dev/dl/>>url:https://go.dev/dl/]] and install it.
689 +(% style="color:blue" %)**1.  Install the GO compilation environment: Download the corresponding version of the Go compiler at [[https:~~/~~/go.dev/dl/>>url:https://go.dev/dl/]] and install it.**
344 344  )))
345 345  
346 346  [[image:image-20220525104532-24.png]]
347 347  
348 -installation path:
349 349  
695 +**installation path:**
696 +
350 350  [[image:image-20220525104554-25.png]]
351 351  
699 +
700 +
352 352  (((
353 -2. Environment variable settings:.
702 +(% style="color:blue" %)**2.  Environment variable settings:**
354 354  )))
355 355  
356 356  (((
... ... @@ -358,21 +358,25 @@
358 358  )))
359 359  
360 360  (((
361 -2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory)
710 +2) Set the variable name GOROOT and the variable value C:\Go\ (installation directory)
362 362  )))
363 363  
364 364  [[image:image-20220524165433-33.png]]
365 365  
366 -3)Modify the system variable Path and add C:\Go\bin\:
367 367  
716 +3) Modify the system variable Path and add C:\Go\bin\:
717 +
368 368  [[image:image-20220524165452-34.png]]
369 369  
720 +
370 370  User variable setting file generation directory: D:\go:
371 371  
372 372  [[image:image-20220524165517-35.png]]
373 373  
374 -3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file.
375 375  
726 +
727 +(% style="color:blue" %)**3.  Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file.**
728 +
376 376  The name of the plugin: Example ADR plugin:
377 377  
378 378  [[image:image-20220524165540-36.png]]
... ... @@ -381,8 +381,10 @@
381 381  
382 382  [[image:image-20220524165557-37.png]]
383 383  
384 -4. Compile the ADR configuration file and generate the exe file.
385 385  
738 +
739 +(% style="color:blue" %)**4.  Compile the ADR configuration file and generate the exe file.**
740 +
386 386  1) Create a folder named adr-setting
387 387  
388 388  2) Open the adr-setting folder
... ... @@ -405,8 +405,10 @@
405 405  
406 406  [[image:image-20220524165623-38.png]]
407 407  
408 -5. Add the plugin and run the plugin.
409 409  
764 +
765 +(% style="color:blue" %)**5.  Add the plugin and run the plugin.**
766 +
410 410  (((
411 411  The exe file generated in the previous step is placed in the same root directory as chirpstack-network-server.toml, and the ADR plugin is added to the toml file. The location of the addition is as follows:
412 412  )))
... ... @@ -441,14 +441,170 @@
441 441  
442 442  Finish.
443 443  
444 -= 6. Trouble Shooting =
445 445  
446 -== 6.1 MIC Mismatch or MIC Failed ==
802 += 10.  How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. =
447 447  
804 +
805 +All data is published to the MQTT topics. if you want to store/get the data, you would have to create an MQTT handler and store the data yourself.
806 +
807 +This example will be shown how to store/get all the data in two ways:
808 +
809 +(% style="color:blue" %)**//1). Chirpstack ~-~-> Node-red//**
810 +
811 +
812 +[[image:image-20221012184501-1.png||height="608" width="1041"]]
813 +
814 +
815 +Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file
816 +
817 +[[image:image-20221012174220-2.png]]
818 +
819 +
820 +[[image:image-20221012184655-3.png||height="395" width="1049"]]
821 +
822 +
823 +**Each message is continuously logged to a specified file**
824 +
825 +[[image:image-20221012174352-3.png]]
826 +
827 +
828 +(% style="color:blue" %)**//2). MQTT  Sub//**
829 +
830 +If you don't want to store the information via node-red, you can get the output via the subscribe command.
831 +
832 +
833 +**If connecting from the same machine, you can use the following command to receive data:**
834 +
835 +(% class="box infomessage" %)
448 448  (((
837 +**mosquitto_sub -h localhost -t "application/#" -v**
838 +)))
839 +
840 +
841 +(% style="color:blue" %)**Different host**
842 +
843 +(% class="box infomessage" %)
844 +(((
845 +**mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v**
846 +)))
847 +
848 +[[image:image-20221012173639-1.png||height="273" width="1206"]]
849 +
850 +
851 += 11. How to use Chirpstack API to batch register Sensor Node/Gateway in Chistapstack Server =
852 +
853 +The following example is based on the built-in ChirpStack server for LPS8V2
854 +
855 +[[image:image-20231201174640-1.png||height="584" width="1148"]]
856 +
857 +
858 +**11.1 Generate API Tokens**
859 +
860 +Access the built-in chirpstack , click "API Key" and "Add API Key".
861 +
862 +[[image:image-20231201175118-2.png||height="597" width="1156"]]
863 +
864 +Save the generated API Tokens
865 +
866 +[[image:image-20231201175648-3.png||height="596" width="1155"]]
867 +
868 +[[image:image-20231201180103-4.png||height="413" width="1151"]]
869 +
870 += 12.  Example: Use Local Server ChirpStack and Node-Red in LPS8v2 =
871 +
872 +
873 +LPS8v2 includes a local ChirpStack Server and Node-Red. This example shows how to configure LHT65N to use with the local Node-Red server. This example assumes users already have:
874 +
875 +* LHT65N register on LPS8v2 Built-In ChirpStack server already
876 +* The user is able to see the data on the built-in ChirpStack server device page.
877 +
878 +Below are the steps to plot the sensor data on LPS8v2 Node-Red.
879 +
880 +
881 +== 12.1 Link Node-Red to Local ChirpStack ==
882 +
883 +
884 +Users can download the Node-Red decoder from this link and import it into the Node-Red platform:  **[[attach:LHT65N-ChirpStack-node-red.json||target="_blank"]]**
885 +
886 +For more information on importing Input Flow, check out this link: **[[Import Input Flow for Dragino Sensors>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/#H3.A0ImportInputFlowforDraginoSensors]]**
887 +
888 +After importing the Input Flow is complete, the user needs to edit the MQTT in the node
889 +
890 +
891 +(% style="color:blue" %)**1. Change the Topic**
892 +
893 +Topic modifies it to the following format:
894 +
895 +**application/(% style="color:red" %)Application ID(%%)/device/(% style="color:red" %)End device ID(%%)/event/up**
896 +
897 +Reference link: [[**Node-RED integration** >>https://www.chirpstack.io/docs/guides/node-red-integration.html]]
898 +
899 +[[image:image-20230527143923-1.png||height="588" width="1132"]]
900 +
901 +
902 +
903 +(% style="color:blue" %)**2. Enter the MQTT configuration information**
904 +
905 +[[image:image-20230527144206-2.png||height="590" width="1136"]]
906 +
907 +
908 +(% style="color:blue" %)**3.** **Finally, click "Update" and Deploy**
909 +
910 +"Connected" indicates that the Link Node-red to Local Chirpstack is normal.
911 +
912 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/Notes%20for%20TTN/WebHome/image-20220914140918-5.png?width=1121&height=602&rev=1.1||alt="image-20220914140918-5.png"]]
913 +
914 +
915 +== 12.2 Check result. ==
916 +
917 +
918 +Users can check logs by adding debug.
919 +
920 +Browser access: **Node-Red-Server-Address:1880/ui**
921 +
922 +[[image:image-20230529150923-1.png||height="424" width="1118"]]
923 +
924 +
925 += 13.  Trouble Shooting =
926 +
927 +== 13.1  MIC Mismatch or MIC Failed ==
928 +
929 +
930 +(((
449 449  When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs.
450 450  )))
451 451  
452 452  (((
453 453  Under normal circumstances, users need to change the APPKEY to solve this problem.
936 +
937 +
938 +== 13.2  The node is very close to the gateway, but the signal is poor ==
939 +
940 +
941 +If you are using US915 or AU915, you found the frequency points of different subband ranges in your uplink
942 +
943 +Like that:Both 905.1Mhz and 902.3Mhz appear on uplink
944 + But they belong to Subband1 and Subband2 of US915 respectively
945 +
946 +Cause: The server and the gateway use different frequency bands (the server uses Subband1, and the gateway uses Subband2)
947 +
948 + In server side, it shows the frequency is 905.1Mhz, which is sub-band2. But the RSSI is very low, Because this is not a signal in 905.1Mhz, it is on 902.3Mhz, the signal is too strong and appear a noise in 905.1Mhz.
949 +
950 +How to check the frequency band used by the server:
951 +
952 +You can view the information sent by the server: ch_mask in Unconfirmdedatadown
953 +
954 +[[image:image-20230821113255-1.png]]
955 +
956 +According to lorawan's protocol, your first ch_mask is 7 for ChMaskCntl = 7 then 125 kHz channels are disabled. Simultaneously the channels 64 to 71 are set according to the ChMask bit mask.
957 +
958 +[[image:image-20230821113539-2.png]]
959 +
960 +In the second message, the channel 0~~7 is true, which means that your server is using subband2.
961 +
962 +[[image:image-20230821113618-3.png]]
963 +
964 +**Note: lorawan's protocol link——[[LoRaWAN® Regional Parameters v1.0.3revA (lora-alliance.org)>>url:https://resources.lora-alliance.org/document/lorawan-regional-parameters-v1-0-3reva]]**
965 +
966 +
454 454  )))
LHT65N-ChirpStack-node-red.json
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +18.9 KB
Content
... ... @@ -1,0 +1,721 @@
1 +[
2 + {
3 + "id": "0f8b93c6ce9ba9bd",
4 + "type": "tab",
5 + "label": "流程 1",
6 + "disabled": false,
7 + "info": "",
8 + "env": []
9 + },
10 + {
11 + "id": "11ea7050721f9df5",
12 + "type": "mqtt in",
13 + "z": "0f8b93c6ce9ba9bd",
14 + "name": "LHT65N",
15 + "topic": "application/43b0fd94-75be-4a80-a78c-c9381fe23b05/device/a84041c8b1824695/event/up",
16 + "qos": "0",
17 + "datatype": "auto-detect",
18 + "broker": "862a790de52f4ea4",
19 + "nl": false,
20 + "rap": true,
21 + "rh": 0,
22 + "inputs": 0,
23 + "x": 100,
24 + "y": 140,
25 + "wires": [
26 + [
27 + "034db5cd68129249",
28 + "6e4c3938ccd21838",
29 + "d20a25c0a12cad04",
30 + "38136d7454e138e5",
31 + "239852361ed7c91d"
32 + ]
33 + ]
34 + },
35 + {
36 + "id": "6e4c3938ccd21838",
37 + "type": "debug",
38 + "z": "0f8b93c6ce9ba9bd",
39 + "name": "",
40 + "active": true,
41 + "tosidebar": true,
42 + "console": false,
43 + "tostatus": false,
44 + "complete": "false",
45 + "statusVal": "",
46 + "statusType": "auto",
47 + "x": 490,
48 + "y": 140,
49 + "wires": []
50 + },
51 + {
52 + "id": "034db5cd68129249",
53 + "type": "function",
54 + "z": "0f8b93c6ce9ba9bd",
55 + "name": "",
56 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Ext_sensor\"] == \"Temperature Sensor\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar ext_sensor=data2[\"Ext_sensor\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nif (\"TempC_DS\" in data2){\n var tempC_DS=data2[\"TempC_DS\"]\n}\nelse {\ntempC_DS=data2[\"TempC_TMP117\"]\n}\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:ext_sensor},\n a6={payload:hum_SHT},a7={payload:tempC_DS},a8={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a7,a8];\n}",
57 + "outputs": 9,
58 + "noerr": 0,
59 + "initialize": "",
60 + "finalize": "",
61 + "libs": [],
62 + "x": 470,
63 + "y": 260,
64 + "wires": [
65 + [
66 + "054041c1f8ad740a"
67 + ],
68 + [
69 + "11286fbcb9419c65"
70 + ],
71 + [
72 + "6f74bac1ba605862"
73 + ],
74 + [
75 + "c9f618cca24db5e1"
76 + ],
77 + [
78 + "7f2fc42c4bcc6ff9"
79 + ],
80 + [
81 + "980646824d0c5239"
82 + ],
83 + [
84 + "a2ed445e50c952ea"
85 + ],
86 + [
87 + "13394b6f113fe555"
88 + ],
89 + []
90 + ]
91 + },
92 + {
93 + "id": "054041c1f8ad740a",
94 + "type": "ui_text",
95 + "z": "0f8b93c6ce9ba9bd",
96 + "group": "6c8dcef19b33b1ab",
97 + "order": 0,
98 + "width": 0,
99 + "height": 0,
100 + "name": "f_port",
101 + "label": "f_port",
102 + "format": "{{msg.payload}}",
103 + "layout": "row-spread",
104 + "className": "",
105 + "x": 770,
106 + "y": 160,
107 + "wires": []
108 + },
109 + {
110 + "id": "11286fbcb9419c65",
111 + "type": "ui_text",
112 + "z": "0f8b93c6ce9ba9bd",
113 + "group": "9d9e40253fa3a62f",
114 + "order": 0,
115 + "width": 0,
116 + "height": 0,
117 + "name": "f_cunt",
118 + "label": "f_cunt",
119 + "format": "{{msg.payload}}",
120 + "layout": "row-spread",
121 + "className": "",
122 + "x": 770,
123 + "y": 200,
124 + "wires": []
125 + },
126 + {
127 + "id": "6f74bac1ba605862",
128 + "type": "ui_chart",
129 + "z": "0f8b93c6ce9ba9bd",
130 + "name": "bat",
131 + "group": "b24db75b1499c15f",
132 + "order": 0,
133 + "width": 0,
134 + "height": 0,
135 + "label": "bat",
136 + "chartType": "line",
137 + "legend": "false",
138 + "xformat": "HH:mm:ss",
139 + "interpolate": "linear",
140 + "nodata": "",
141 + "dot": false,
142 + "ymin": "",
143 + "ymax": "",
144 + "removeOlder": 1,
145 + "removeOlderPoints": "",
146 + "removeOlderUnit": "3600",
147 + "cutout": 0,
148 + "useOneColor": false,
149 + "useUTC": false,
150 + "colors": [
151 + "#1f77b4",
152 + "#aec7e8",
153 + "#ff7f0e",
154 + "#2ca02c",
155 + "#98df8a",
156 + "#d62728",
157 + "#ff9896",
158 + "#9467bd",
159 + "#c5b0d5"
160 + ],
161 + "outputs": 1,
162 + "useDifferentColor": false,
163 + "className": "",
164 + "x": 770,
165 + "y": 240,
166 + "wires": [
167 + []
168 + ]
169 + },
170 + {
171 + "id": "c9f618cca24db5e1",
172 + "type": "ui_text",
173 + "z": "0f8b93c6ce9ba9bd",
174 + "group": "758898c4bead5e6f",
175 + "order": 6,
176 + "width": 0,
177 + "height": 0,
178 + "name": "Bat_status",
179 + "label": "Bat_status",
180 + "format": "{{msg.payload}}",
181 + "layout": "row-spread",
182 + "className": "",
183 + "x": 790,
184 + "y": 280,
185 + "wires": []
186 + },
187 + {
188 + "id": "7f2fc42c4bcc6ff9",
189 + "type": "ui_text",
190 + "z": "0f8b93c6ce9ba9bd",
191 + "group": "a8f02d8f9b3e80a1",
192 + "order": 0,
193 + "width": 0,
194 + "height": 0,
195 + "name": "Ext_sensor",
196 + "label": "Ext_sensor",
197 + "format": "{{msg.payload}}",
198 + "layout": "row-spread",
199 + "className": "",
200 + "x": 790,
201 + "y": 320,
202 + "wires": []
203 + },
204 + {
205 + "id": "980646824d0c5239",
206 + "type": "ui_chart",
207 + "z": "0f8b93c6ce9ba9bd",
208 + "name": "Hum_SHT",
209 + "group": "a9ef53ea130e5557",
210 + "order": 6,
211 + "width": 0,
212 + "height": 0,
213 + "label": "Hum_SHT",
214 + "chartType": "line",
215 + "legend": "false",
216 + "xformat": "HH:mm:ss",
217 + "interpolate": "linear",
218 + "nodata": "",
219 + "dot": false,
220 + "ymin": "",
221 + "ymax": "",
222 + "removeOlder": 1,
223 + "removeOlderPoints": "",
224 + "removeOlderUnit": "3600",
225 + "cutout": 0,
226 + "useOneColor": false,
227 + "useUTC": false,
228 + "colors": [
229 + "#1f77b4",
230 + "#aec7e8",
231 + "#ff7f0e",
232 + "#2ca02c",
233 + "#98df8a",
234 + "#d62728",
235 + "#ff9896",
236 + "#9467bd",
237 + "#c5b0d5"
238 + ],
239 + "outputs": 1,
240 + "useDifferentColor": false,
241 + "className": "",
242 + "x": 790,
243 + "y": 360,
244 + "wires": [
245 + []
246 + ]
247 + },
248 + {
249 + "id": "a2ed445e50c952ea",
250 + "type": "ui_chart",
251 + "z": "0f8b93c6ce9ba9bd",
252 + "name": "TempC_sensor",
253 + "group": "1558cd7a030388f7",
254 + "order": 6,
255 + "width": 0,
256 + "height": 0,
257 + "label": "TempC_sensor",
258 + "chartType": "line",
259 + "legend": "false",
260 + "xformat": "HH:mm:ss",
261 + "interpolate": "linear",
262 + "nodata": "",
263 + "dot": false,
264 + "ymin": "",
265 + "ymax": "",
266 + "removeOlder": 1,
267 + "removeOlderPoints": "",
268 + "removeOlderUnit": "3600",
269 + "cutout": 0,
270 + "useOneColor": false,
271 + "useUTC": false,
272 + "colors": [
273 + "#1f77b4",
274 + "#aec7e8",
275 + "#ff7f0e",
276 + "#2ca02c",
277 + "#98df8a",
278 + "#d62728",
279 + "#ff9896",
280 + "#9467bd",
281 + "#c5b0d5"
282 + ],
283 + "outputs": 1,
284 + "useDifferentColor": false,
285 + "className": "",
286 + "x": 800,
287 + "y": 400,
288 + "wires": [
289 + []
290 + ]
291 + },
292 + {
293 + "id": "13394b6f113fe555",
294 + "type": "ui_chart",
295 + "z": "0f8b93c6ce9ba9bd",
296 + "name": "TempC_SHT",
297 + "group": "f523098714ee6cd6",
298 + "order": 6,
299 + "width": 0,
300 + "height": 0,
301 + "label": "TempC_SHT",
302 + "chartType": "line",
303 + "legend": "false",
304 + "xformat": "HH:mm:ss",
305 + "interpolate": "linear",
306 + "nodata": "",
307 + "dot": false,
308 + "ymin": "",
309 + "ymax": "",
310 + "removeOlder": 1,
311 + "removeOlderPoints": "",
312 + "removeOlderUnit": "3600",
313 + "cutout": 0,
314 + "useOneColor": false,
315 + "useUTC": false,
316 + "colors": [
317 + "#1f77b4",
318 + "#aec7e8",
319 + "#ff7f0e",
320 + "#2ca02c",
321 + "#98df8a",
322 + "#d62728",
323 + "#ff9896",
324 + "#9467bd",
325 + "#c5b0d5"
326 + ],
327 + "outputs": 1,
328 + "useDifferentColor": false,
329 + "className": "",
330 + "x": 790,
331 + "y": 440,
332 + "wires": [
333 + []
334 + ]
335 + },
336 + {
337 + "id": "d20a25c0a12cad04",
338 + "type": "function",
339 + "z": "0f8b93c6ce9ba9bd",
340 + "name": "",
341 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Work_mode\"]==\"Interrupt Sensor send\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar work_mode=data2[\"Work_mode\"]\nvar exti_pin_level=data2[\"Exti_pin_level\"]\nvar exti_status=data2[\"Exti_status\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:work_mode},\na6={payload:exti_pin_level},a7={payload:exti_status},a8={payload:hum_SHT},a9={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a7,a8,a9];\n}",
342 + "outputs": 9,
343 + "noerr": 0,
344 + "initialize": "",
345 + "finalize": "",
346 + "libs": [],
347 + "x": 470,
348 + "y": 440,
349 + "wires": [
350 + [
351 + "054041c1f8ad740a"
352 + ],
353 + [
354 + "11286fbcb9419c65"
355 + ],
356 + [
357 + "6f74bac1ba605862"
358 + ],
359 + [
360 + "c9f618cca24db5e1"
361 + ],
362 + [
363 + "7f2fc42c4bcc6ff9"
364 + ],
365 + [
366 + "0513bcb70cd63787"
367 + ],
368 + [
369 + "10eed06366dc18c4"
370 + ],
371 + [
372 + "980646824d0c5239"
373 + ],
374 + [
375 + "13394b6f113fe555"
376 + ]
377 + ]
378 + },
379 + {
380 + "id": "0513bcb70cd63787",
381 + "type": "ui_text",
382 + "z": "0f8b93c6ce9ba9bd",
383 + "group": "b1dc3cad430eb5b7",
384 + "order": 0,
385 + "width": 0,
386 + "height": 0,
387 + "name": "Exti_pin_level",
388 + "label": "Exti_pin_level",
389 + "format": "{{msg.payload}}",
390 + "layout": "row-spread",
391 + "className": "",
392 + "x": 780,
393 + "y": 560,
394 + "wires": []
395 + },
396 + {
397 + "id": "10eed06366dc18c4",
398 + "type": "ui_text",
399 + "z": "0f8b93c6ce9ba9bd",
400 + "group": "4184be11e1179998",
401 + "order": 0,
402 + "width": 0,
403 + "height": 0,
404 + "name": "Exti_status",
405 + "label": "Exti_status",
406 + "format": "{{msg.payload}}",
407 + "layout": "row-spread",
408 + "className": "",
409 + "x": 770,
410 + "y": 600,
411 + "wires": []
412 + },
413 + {
414 + "id": "38136d7454e138e5",
415 + "type": "function",
416 + "z": "0f8b93c6ce9ba9bd",
417 + "name": "",
418 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Work_mode\"]==\"Interrupt Sensor count\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar work_mode=data2[\"Work_mode\"]\nvar exit_count=data2[\"Exit_count\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:work_mode},\na6={payload:exit_count},a8={payload:hum_SHT},a9={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a8,a9];\n}",
419 + "outputs": 8,
420 + "noerr": 0,
421 + "initialize": "",
422 + "finalize": "",
423 + "libs": [],
424 + "x": 470,
425 + "y": 620,
426 + "wires": [
427 + [
428 + "054041c1f8ad740a"
429 + ],
430 + [
431 + "11286fbcb9419c65"
432 + ],
433 + [
434 + "6f74bac1ba605862"
435 + ],
436 + [
437 + "c9f618cca24db5e1"
438 + ],
439 + [
440 + "7f2fc42c4bcc6ff9"
441 + ],
442 + [
443 + "3914f37c12607c9f"
444 + ],
445 + [
446 + "980646824d0c5239"
447 + ],
448 + [
449 + "13394b6f113fe555"
450 + ]
451 + ]
452 + },
453 + {
454 + "id": "3914f37c12607c9f",
455 + "type": "ui_text",
456 + "z": "0f8b93c6ce9ba9bd",
457 + "group": "28cf5cca4c2c0bb5",
458 + "order": 0,
459 + "width": 0,
460 + "height": 0,
461 + "name": "exit_count",
462 + "label": "exit_count",
463 + "format": "{{msg.payload}}",
464 + "layout": "row-spread",
465 + "className": "",
466 + "x": 790,
467 + "y": 700,
468 + "wires": []
469 + },
470 + {
471 + "id": "239852361ed7c91d",
472 + "type": "function",
473 + "z": "0f8b93c6ce9ba9bd",
474 + "name": "",
475 + "func": "var data = msg.payload[\"deviceInfo\"]\nvar decode = msg.payload[\"object\"]\nif (decode[\"Work_mode\"]==\"ADC Sensor\"){\nvar f_port = msg.payload[\"fPort\"]\nvar f_cnt = msg.payload[\"fCnt\"]\nvar data2 = decode\nvar bat =data2[\"BatV\"]\nvar bat_status=data2[\"Bat_status\"]\nvar work_mode=data2[\"Work_mode\"]\nvar adc_V=data2[\"ADC_V\"]\nvar hum_SHT=data2[\"Hum_SHT\"]\nvar tempC_SHT=data2[\"TempC_SHT\"]\nvar a1={payload:f_port},a2={payload:f_cnt},a3={payload:bat},a4={payload:bat_status},a5={payload:work_mode},\na6={payload:adc_V},a8={payload:hum_SHT},a9={payload:tempC_SHT}\nreturn [a1,a2,a3,a4,a5,a6,a8,a9];\n}",
476 + "outputs": 8,
477 + "noerr": 0,
478 + "initialize": "",
479 + "finalize": "",
480 + "libs": [],
481 + "x": 470,
482 + "y": 760,
483 + "wires": [
484 + [
485 + "054041c1f8ad740a"
486 + ],
487 + [
488 + "11286fbcb9419c65"
489 + ],
490 + [
491 + "6f74bac1ba605862"
492 + ],
493 + [
494 + "c9f618cca24db5e1"
495 + ],
496 + [
497 + "7f2fc42c4bcc6ff9"
498 + ],
499 + [
500 + "605688b5e60df43d"
501 + ],
502 + [
503 + "980646824d0c5239"
504 + ],
505 + [
506 + "13394b6f113fe555"
507 + ]
508 + ]
509 + },
510 + {
511 + "id": "605688b5e60df43d",
512 + "type": "ui_chart",
513 + "z": "0f8b93c6ce9ba9bd",
514 + "name": "ADC_V",
515 + "group": "5f974d1fd1c0edfa",
516 + "order": 0,
517 + "width": 0,
518 + "height": 0,
519 + "label": "ADC_V",
520 + "chartType": "line",
521 + "legend": "false",
522 + "xformat": "HH:mm:ss",
523 + "interpolate": "linear",
524 + "nodata": "",
525 + "dot": false,
526 + "ymin": "",
527 + "ymax": "",
528 + "removeOlder": 1,
529 + "removeOlderPoints": "",
530 + "removeOlderUnit": "3600",
531 + "cutout": 0,
532 + "useOneColor": false,
533 + "useUTC": false,
534 + "colors": [
535 + "#1f77b4",
536 + "#aec7e8",
537 + "#ff7f0e",
538 + "#2ca02c",
539 + "#98df8a",
540 + "#d62728",
541 + "#ff9896",
542 + "#9467bd",
543 + "#c5b0d5"
544 + ],
545 + "outputs": 1,
546 + "useDifferentColor": false,
547 + "className": "",
548 + "x": 780,
549 + "y": 780,
550 + "wires": [
551 + []
552 + ]
553 + },
554 + {
555 + "id": "862a790de52f4ea4",
556 + "type": "mqtt-broker",
557 + "name": "LHT65N",
558 + "broker": "10.130.2.143",
559 + "port": "1883",
560 + "clientid": "",
561 + "autoConnect": true,
562 + "usetls": false,
563 + "protocolVersion": "4",
564 + "keepalive": "60",
565 + "cleansession": true,
566 + "birthTopic": "",
567 + "birthQos": "0",
568 + "birthPayload": "",
569 + "birthMsg": {},
570 + "closeTopic": "",
571 + "closeQos": "0",
572 + "closePayload": "",
573 + "closeMsg": {},
574 + "willTopic": "",
575 + "willQos": "0",
576 + "willPayload": "",
577 + "willMsg": {},
578 + "userProps": "",
579 + "sessionExpiry": ""
580 + },
581 + {
582 + "id": "6c8dcef19b33b1ab",
583 + "type": "ui_group",
584 + "name": "f_port",
585 + "tab": "7e01624d2b1a030f",
586 + "order": 1,
587 + "disp": true,
588 + "width": "6",
589 + "collapse": false,
590 + "className": ""
591 + },
592 + {
593 + "id": "9d9e40253fa3a62f",
594 + "type": "ui_group",
595 + "name": "f_cunt",
596 + "tab": "7e01624d2b1a030f",
597 + "order": 2,
598 + "disp": true,
599 + "width": "6",
600 + "collapse": false,
601 + "className": ""
602 + },
603 + {
604 + "id": "b24db75b1499c15f",
605 + "type": "ui_group",
606 + "name": "bat",
607 + "tab": "7e01624d2b1a030f",
608 + "order": 8,
609 + "disp": true,
610 + "width": "6",
611 + "collapse": false,
612 + "className": ""
613 + },
614 + {
615 + "id": "758898c4bead5e6f",
616 + "type": "ui_group",
617 + "name": "Bat_status",
618 + "tab": "7e01624d2b1a030f",
619 + "order": 3,
620 + "disp": true,
621 + "width": "6",
622 + "collapse": false,
623 + "className": ""
624 + },
625 + {
626 + "id": "a8f02d8f9b3e80a1",
627 + "type": "ui_group",
628 + "name": "Ext_sensor",
629 + "tab": "7e01624d2b1a030f",
630 + "order": 4,
631 + "disp": true,
632 + "width": "6",
633 + "collapse": false,
634 + "className": ""
635 + },
636 + {
637 + "id": "a9ef53ea130e5557",
638 + "type": "ui_group",
639 + "name": "Hum_SHT",
640 + "tab": "7e01624d2b1a030f",
641 + "order": 9,
642 + "disp": true,
643 + "width": "6",
644 + "collapse": false,
645 + "className": ""
646 + },
647 + {
648 + "id": "1558cd7a030388f7",
649 + "type": "ui_group",
650 + "name": "TempC_sensor",
651 + "tab": "7e01624d2b1a030f",
652 + "order": 10,
653 + "disp": true,
654 + "width": "6",
655 + "collapse": false,
656 + "className": ""
657 + },
658 + {
659 + "id": "f523098714ee6cd6",
660 + "type": "ui_group",
661 + "name": "TempC_SHT",
662 + "tab": "7e01624d2b1a030f",
663 + "order": 11,
664 + "disp": true,
665 + "width": "6",
666 + "collapse": false,
667 + "className": ""
668 + },
669 + {
670 + "id": "b1dc3cad430eb5b7",
671 + "type": "ui_group",
672 + "name": "Exti_pin_level",
673 + "tab": "7e01624d2b1a030f",
674 + "order": 6,
675 + "disp": true,
676 + "width": "6",
677 + "collapse": false,
678 + "className": ""
679 + },
680 + {
681 + "id": "4184be11e1179998",
682 + "type": "ui_group",
683 + "name": "Exti_status",
684 + "tab": "7e01624d2b1a030f",
685 + "order": 7,
686 + "disp": true,
687 + "width": "6",
688 + "collapse": false,
689 + "className": ""
690 + },
691 + {
692 + "id": "28cf5cca4c2c0bb5",
693 + "type": "ui_group",
694 + "name": "exit_count",
695 + "tab": "7e01624d2b1a030f",
696 + "order": 5,
697 + "disp": true,
698 + "width": "6",
699 + "collapse": false,
700 + "className": ""
701 + },
702 + {
703 + "id": "5f974d1fd1c0edfa",
704 + "type": "ui_group",
705 + "name": "ADC_V",
706 + "tab": "7e01624d2b1a030f",
707 + "order": 12,
708 + "disp": true,
709 + "width": "6",
710 + "collapse": false,
711 + "className": ""
712 + },
713 + {
714 + "id": "7e01624d2b1a030f",
715 + "type": "ui_tab",
716 + "name": "LHT65N",
717 + "icon": "LHT65N",
718 + "disabled": false,
719 + "hidden": false
720 + }
721 +]
image-20220526090748-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +214.7 KB
Content
image-20220526091602-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +129.2 KB
Content
image-20220526091801-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +88.1 KB
Content
image-20220526091912-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +94.9 KB
Content
image-20220531171609-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +79.4 KB
Content
image-20220531171651-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +86.3 KB
Content
image-20220531171809-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +126.4 KB
Content
image-20220531171923-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +113.1 KB
Content
image-20220531172031-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +62.4 KB
Content
image-20220531172158-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +108.7 KB
Content
image-20220531172304-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +162.5 KB
Content
image-20220531172837-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +67.9 KB
Content
image-20220531172857-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +36.6 KB
Content
image-20220531173236-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +160.2 KB
Content
image-20220531173419-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +104.3 KB
Content
image-20220531173519-12.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +63.9 KB
Content
image-20220531173601-13.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +67.6 KB
Content
image-20220531173658-14.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +59.3 KB
Content
image-20220531173754-15.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +41.7 KB
Content
image-20220531173856-16.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +46.7 KB
Content
image-20220531173939-17.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +41.4 KB
Content
image-20220531174015-18.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +27.4 KB
Content
image-20220531174046-19.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +27.2 KB
Content
image-20220531174120-20.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +41.4 KB
Content
image-20220601102430-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +139.4 KB
Content
image-20220601102543-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +51.5 KB
Content
image-20221010193350-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Edwin
Size
... ... @@ -1,0 +1,1 @@
1 +42.7 KB
Content
image-20221010193621-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Edwin
Size
... ... @@ -1,0 +1,1 @@
1 +34.2 KB
Content
image-20221012173639-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +56.2 KB
Content
image-20221012174220-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +14.8 KB
Content
image-20221012174352-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +93.0 KB
Content
image-20221012184501-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +91.3 KB
Content
image-20221012184631-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +32.4 KB
Content
image-20221012184655-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +45.4 KB
Content
image-20221222113302-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +76.3 KB
Content
image-20221222114220-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +64.3 KB
Content
image-20221222134830-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +54.5 KB
Content
image-20221222140203-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +91.4 KB
Content
image-20221222141754-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +179.1 KB
Content
image-20221222141830-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +116.7 KB
Content
image-20221230094246-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +84.9 KB
Content
image-20230415165254-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +67.2 KB
Content
image-20230415170404-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +17.9 KB
Content
image-20230415170854-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +48.4 KB
Content
image-20230527115750-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +208.8 KB
Content
image-20230527143923-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +222.4 KB
Content
image-20230527144206-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +224.2 KB
Content
image-20230529150923-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +87.2 KB
Content
image-20230531162943-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +84.6 KB
Content
image-20230702094608-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +53.8 KB
Content
image-20230702094852-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +12.5 KB
Content
image-20230702094944-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +26.7 KB
Content
image-20230702095114-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +43.5 KB
Content
image-20230702095557-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +48.5 KB
Content
image-20230702095641-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +19.2 KB
Content
image-20230702095827-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +34.9 KB
Content
image-20230702100312-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +33.2 KB
Content
image-20230702100356-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +21.9 KB
Content
image-20230702100543-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +25.6 KB
Content
image-20230702100930-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +48.7 KB
Content
image-20230821113255-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +115.7 KB
Content
image-20230821113539-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +71.1 KB
Content
image-20230821113618-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +19.0 KB
Content
image-20230821114047-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +125.6 KB
Content
image-20230926092907-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +64.0 KB
Content
image-20230926093057-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +69.6 KB
Content
image-20230926093233-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +95.8 KB
Content
image-20231108140540-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +46.3 KB
Content
image-20231108164914-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +37.2 KB
Content
image-20231108165128-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +43.3 KB
Content
image-20231108165158-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +60.8 KB
Content
image-20231108171112-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +47.7 KB
Content
image-20231108171145-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +39.1 KB
Content
image-20231201174640-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +43.6 KB
Content
image-20231201175118-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +83.2 KB
Content
image-20231201175648-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +103.2 KB
Content
image-20231201180103-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +52.6 KB
Content
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0