<
From version < 167.1 >
edited by Bei Jinggeng
on 2023/08/21 11:35
To version < 95.3 >
edited by Xiaoling
on 2022/05/31 17:31
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Bei
1 +XWiki.Xiaoling
Content
... ... @@ -1,4 +1,4 @@
1 -**~ Table of Contents:**
1 +**~ Contents:**
2 2  
3 3  {{toc/}}
4 4  
... ... @@ -5,20 +5,17 @@
5 5  
6 6  
7 7  
8 -= 1.  Introduction =
8 += 1. Introduction =
9 9  
10 -
11 11  (% 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/]]
12 12  
13 13  (((
14 14  (% style="color:black" %)The dragino gateway can connect the ChirpStack server via Semtech UDP or Semtech Basic Station.
15 -
16 -
17 17  )))
18 18  
19 -(% style="color:blue" %)**Prerequisite:**
16 +**Prerequisite**
20 20  
21 -**1) Have a Chirstack Server.**
18 +1) Have a Chirstack Server.
22 22  
23 23  [[image:image-20220525100058-1.png]]
24 24  
... ... @@ -25,96 +25,49 @@
25 25  ChirpStack home page
26 26  
27 27  
25 +2) Gateway model support
28 28  
29 -**2) Gateway model support**
30 -
31 31  (% class="box" %)
32 32  (((
33 33  (((
34 34  Semtech UDP : **All Model**
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
31 +Basic Station : , , 
32 +**Note** : the firmware needs >  if use the Bais station
37 37  )))
38 38  )))
39 39  
40 -= 2.  Node usage introduction =
41 41  
42 -== 2.1 Register Node ==
43 43  
44 -Step 1: Add application
38 += 2. Semtech UDP =
45 45  
46 -[[image:image-20230702094608-1.png||height="537" width="1015"]]
40 +== 2.1 Step 1. Add the Network-servers ==
47 47  
48 -Step 2:Fill name
49 -
50 -[[image:image-20230702094852-2.png]]
51 -
52 -Step4 :Add device profile
53 -
54 -[[image:image-20230702095114-4.png||height="448" width="1061"]]
55 -
56 -
57 -Step5 :Configure your device profile
58 -
59 -[[image:image-20230702095557-5.png||height="648" width="1121"]]
60 -
61 -Does node support class-c
62 -
63 -[[image:image-20230702095641-6.png||height="349" width="1114"]]
64 -
65 -Add node's decoder
66 -
67 -[[image:image-20230702095827-7.png||height="490" width="1138"]]
68 -
69 -
70 -Step6 :add device
71 -
72 -[[image:image-20230702094944-3.png||height="439" width="1153"]]
73 -
74 -
75 -
76 -[[image:image-20230702100312-8.png||height="585" width="1176"]]
77 -
78 -[[image:image-20230702100543-10.png||height="313" width="1099"]]
79 -
80 -[[image:image-20230702100930-11.png||height="613" width="1098"]]
81 -
82 -
83 -= 3.  Semtech UDP =
84 -
85 -== 3.1  Step 1. Add the Network-servers ==
86 -
87 -
88 88  The network-Servers address varies depending on the ChirpStack server setup environment
89 89  
90 90  (% class="box" %)
91 91  (((
92 - Windows       ~-~->  Network-server server *  :  localhost:8000
93 - Linux  ~-~->  Network-server server *  :  chirpstack-network-server:8000
46 + Windows       ~-~->Network-server server * : localhost:8000
47 + Linux         ~-~->Network-server server * : chirpstack-network-server:8000
94 94  )))
95 95  
50 +If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.
96 96  
97 -(% style="color:red" %)**If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.**
52 +[[image:image-20220531171609-1.png]]
98 98  
99 -
100 -[[image:image-20220531171609-1.png||height="638" width="1268"]](% style="display:none" %)
101 -
102 102  Add the Network-servers
103 103  
104 104  
105 -== 3.2  Step 2. Create Gateway-profiles ==
57 +== 2.2 Step 2. Create Gateway-profiles ==
106 106  
59 +[[image:image-20220531171651-2.png]]
107 107  
108 -[[image:image-20220531171651-2.png||height="632" width="1264"]](% style="display:none" %)
109 -
110 110  Create Gateway-profiles
111 111  
112 112  
113 -== 3.3  Step 3. Create Service-profiles ==
64 +== 2.3 Step 3. Create Service-profiles ==
114 114  
66 +[[image:image-20220531171809-3.png]]
115 115  
116 -[[image:image-20220531171809-3.png||height="761" width="1265"]]
117 -
118 118  Create Service-profiles
119 119  
120 120  
... ... @@ -125,81 +125,69 @@
125 125  If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %)
126 126  
127 127  
128 -== 3.4  Step 4. Add the gateway ==
78 +== 2.4 Step 4. Add the gateway ==
129 129  
130 -
131 131  The example gateway id is: a840411e96744150
132 132  
133 133  (((
134 134  (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.**
135 -
136 -
137 137  )))
138 138  
139 -[[image:image-20220531171923-4.png||height="745" width="1253"]](% style="display:none" %)
86 +[[image:image-20220531171923-4.png]](% style="display:none" %)
140 140  
88 +
141 141  Add the gateway
142 142  
143 -
144 -
145 145  [[image:image-20220531172031-5.png]]
146 146  
147 147  Configure the gateway
148 148  
149 149  
150 -== 3.5  Step 5. Checking gateway Status ==
96 +== 2.5 Step 5. Checking gateway Status ==
151 151  
98 +[[image:image-20220531172158-6.png]](% style="display:none" %)
152 152  
153 -[[image:image-20220531172158-6.png||height="704" width="1167"]](% style="display:none" %)
154 154  
155 -
156 -
157 157  gateway Status
158 158  
159 -[[image:image-20220531172304-7.png||height="628" width="1165"]]
103 +[[image:image-20220531172304-7.png]]
160 160  
161 161  gateway Status
162 162  
163 163  
164 -= 4.  Gateway Registration for Basics Station =
108 += 3. Gateway Registration for Basics Station =
165 165  
166 -== 4.1  Introduction ==
110 +== 3.1 Introduction ==
167 167  
168 -
169 169  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.
170 170  
171 171  ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation.
172 172  
116 +**Below list the support products and Requirements:**
173 173  
174 -(% style="color:blue" %)**Below list the support products and Requirements:**
175 -
176 176  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]]
177 177  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/]]
178 178  
179 -(% style="color:blue" %)**How to set up chirpStack Basic Station**
121 +**How to set up chirpStack Basic Station**
180 180  
181 181  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]]
182 182  
125 +**What do you need to prepare**
183 183  
184 -(% style="color:blue" %)**What do you need to prepare**
185 -
186 186  A gateway that can access the internet normally
187 187  
188 188  
189 -== 4.2  Add Gateway ==
130 +== 3.2 Add Gateway ==
190 190  
191 -
192 192  [[image:image-20220524164205-10.png]]
193 193  
194 194  
195 -== 4.3  Access the gateway GUI ==
135 +== 3.3 Access the gateway GUI ==
196 196  
197 -
198 198  Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station
199 199  
200 200  [[image:image-20220524164319-11.png]]
201 201  
202 -
203 203  User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate
204 204  
205 205  (% class="box" %)
... ... @@ -206,7 +206,7 @@
206 206  (((
207 207  Service Provider  ~-~->  Choose the ChirpStack/Senet ~-~- Basic Station
208 208  
209 -LNS URI  ~-~->  Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:443 or ws:~/~/xxxx.chirpstack.com:3001
147 +LNS URI  ~-~->  Enter the LNS URI address, For example : wss:~/~/xxxx.chirpstack.com:433 or ws:~/~/xxxx.chirpstack.com:3001
210 210  
211 211  LNS TLS trust  ~-~->  Upload the TLS Certificate
212 212  )))
... ... @@ -215,23 +215,20 @@
215 215  [[image:image-20220524164341-12.png]]
216 216  
217 217  
218 -== 4.4  Start Station ==
156 +== 3.4 Start Station ==
219 219  
158 +When the user has finished the configuration, Please click Sace&Apply to start station to connect ChirpStack
220 220  
221 -When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack.
222 222  
161 +== 3.5 Successful Connection ==
223 223  
224 -== 4.5  Successful Connection ==
225 -
226 -
227 227  If user completes the above steps, which will see live date in the ChirpStack.
228 228  
229 229  [[image:image-20220524164448-13.png]]
230 230  
231 231  
232 -== 4.6  Trouble Shooting ==
168 +== 3.6 Trouble Shooting ==
233 233  
234 -
235 235  User can check the station log in the logread/system log page.
236 236  
237 237  [[image:image-20220531172837-8.png]]
... ... @@ -242,265 +242,31 @@
242 242  [[image:image-20220531172857-9.png]]
243 243  
244 244  
245 -= 5.  How the gateway connects to Chirpstack v3 via gateway-bridge =
180 += 4. Downlink =
246 246  
182 +== 4.1 Chirpstack Downlink Note ==
247 247  
248 -(% style="color:blue" %)**Below list the support products and Requirements:**
184 +[[image:image-20220525101223-9.png]]
249 249  
250 -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]]
251 -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/]]
186 +Convert the data to Base64
252 252  
253 -(% style="color:blue" %)**How to set up chirpStack Gateway-bridge**
254 254  
255 -Users can check out the ChirpStack gateway-bridge v3 [[link>>https://www.chirpstack.io/gateway-bridge/gateway/dragino/]]
189 +[[image:image-20220526090748-4.png]]
256 256  
191 +Check ChripStack downlink DataRate
257 257  
258 -(% style="color:blue" %)**What do you need to prepare**
259 259  
260 -A gateway that can access the internet normally
261 -
262 -
263 -The following example does not have configuration certificates:
264 -
265 -
266 -== 5.1  Configure Packet Forwarder ==
267 -
268 -
269 -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
270 -
271 -* In the (% style="color:blue" %)**LoRaWAN** (%%)menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
272 -
273 -* Make sure the following settings are set:
274 -** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-//
275 -** **LoRaWAN Server Address:** //localhost or 127.0.0.1//
276 -** **Server port for upstream:** //1700//
277 -** **Server port for downstream:** //1700//
278 -
279 - Click (% style="color:blue" %)**Save & Apply**.
280 -
281 -[[image:image-20221222114220-2.png||height="748" width="931"]]
282 -
283 -
284 -== 5.2  Configuring gateway frequency ==
285 -
286 -
287 -(% style="color:red" %)**Note: Gateway frequencies must match**
288 -
289 -[[image:image-20221222134830-3.png||height="408" width="923"]]
290 -
291 -
292 -== 5.3  Generate and modify the gateway-bridge configuration file ==
293 -
294 -
295 -**1)Generate the gateway-bridge configuration file**
296 -
297 -By default, the configuration file is not up-to-date,so the user needs to rebuild the gateway-bridge configuration file.
298 -
299 -Users need to access the command line of the gateway through SSH,Then type the following command:
300 -
301 -(% class="box infomessage" %)
302 -(((
303 -**/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge configfile > /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
304 -)))
305 -
306 -
307 -**2)modify the gateway-bridge configuration file**
308 -
309 -The user needs to modify the server address in line 252 in the configuration file
310 -
311 -(% class="box infomessage" %)
312 -(((
313 -**vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
314 -)))
315 -
316 -[[image:image-20230415165254-1.png||height="583" width="956"]]
317 -
318 -
319 -== 5.4  Debug ==
320 -
321 -
322 -After the above configuration is completed, the user can enter the command to debug the gateway-bridge connection
323 -
324 -(% class="box infomessage" %)
325 -(((
326 -**/opt/chirpstack-gateway-bridge/chirpstack-gateway-bridge ~-~-config /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml**
327 -)))
328 -
329 -If the gateway-bridge connection is normal, the debug log displays **"connected to mqtt broker"**.
330 -
331 -[[image:image-20230415170404-2.png]]
332 -
333 -
334 -If the debug log shows "**connection error**", check that the server port or server is correct
335 -
336 -[[image:image-20230415170854-3.png]]
337 -
338 -
339 -More information can be found on the **[[ChirpStack website>>https://www.chirpstack.io/docs/]]**or **[[Forum>>url:https://forum.chirpstack.io/]]**
340 -
341 -
342 -== 5.5  (Re)start and stop gateway-bridge ==
343 -
344 -
345 -Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service:
346 -
347 -(% class="box infomessage" %)
348 -(((
349 -**# start**
350 -
351 -/etc/init.d/chirpstack-gateway-bridge start
352 -
353 -**# stop**
354 -
355 -/etc/init.d/chirpstack-gateway-bridge stop
356 -
357 -**# restart**
358 -
359 -/etc/init.d/chirpstack-gateway-bridge restart
360 -)))
361 -
362 -
363 -= 6.  How the gateway connects to Chirpstack v4 via gateway-bridge =
364 -
365 -
366 -(% style="color:blue" %)**Below list the support products and Requirements:**
367 -
368 -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]]
369 -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/]]
370 -
371 -(% style="color:blue" %)**How to set up chirpStack Gateway-bridge**
372 -
373 -Users can check out the ChirpStack gateway-bridge v4 [[link>>https://www.chirpstack.io/docs/chirpstack-gateway-bridge/install/dragino.html]]
374 -
375 -
376 -(% style="color:blue" %)**What do you need to prepare**
377 -
378 -A gateway that can access the internet normally
379 -
380 -
381 -== 6.1  Configure Packet Forwarder ==
382 -
383 -
384 -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
385 -
386 -* In the (% style="color:blue" %)**LoRaWAN**(%%) menu, click on (% style="color:blue" %)**LoRaWAN ~-~- Semtech UDP**
387 -
388 -* Make sure the following settings are set:
389 -** **Service Provider:** //~-~-Custom/Private LoRaWAN~-~-//
390 -** **LoRaWAN Server Address:** //localhost or 127.0.0.1//
391 -** **Server port for upstream:** //1700//
392 -** **Server port for downstream:** //1700//
393 -
394 - Click (% style="color:blue" %)**Save & Apply**.
395 -
396 -[[image:image-20221222114220-2.png||height="748" width="931"]]
397 -
398 -
399 -== 6.2  Configuring gateway frequency ==
400 -
401 -
402 -(% style="color:red" %)**Note: Gateway frequencies must match**
403 -
404 -[[image:image-20221222134830-3.png||height="408" width="923"]]
405 -
406 -
407 -== 6.3  Modify the gateway-bridge configuration file ==
408 -
409 -
410 -Run the gateway command line command to modify the gateway-bridge configuration file:
411 -
412 -(% class="box infomessage" %)
413 -(((
414 -**root@dragino-1d27d4:~~#  vim /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml **
415 -)))
416 -
417 -[[image:image-20221222113302-1.png]]
418 -
419 -
420 -[[image:image-20221222140203-4.png||height="875" width="806"]]
421 -
422 -[[image:image-20221230094246-1.png||height="768" width="783"]]
423 -
424 -(% class="wikigeneratedid" id="H" %)
425 -After the modification, run the following command: **/etc/init.d/chirpstack-gateway-bridge restart**
426 -
427 -
428 -== 6.4  (Re)start and stop gateway-bridge ==
429 -
430 -
431 -Use the following commands to (re)start and stop the ChirpStack Gateway Bridge Service:
432 -
433 -(% class="box infomessage" %)
434 -(((
435 -**# start**
436 -
437 -/etc/init.d/chirpstack-gateway-bridge start
438 -
439 -**# stop**
440 -
441 -/etc/init.d/chirpstack-gateway-bridge stop
442 -
443 -**# restart**
444 -
445 -/etc/init.d/chirpstack-gateway-bridge restart
446 -)))
447 -
448 -
449 -== 6.5  Successful Connection ==
450 -
451 -
452 -[[image:image-20221222141754-5.png||height="488" width="1150"]]
453 -
454 -
455 -[[image:image-20221222141830-6.png||height="582" width="1153"]]
456 -
457 -
458 -= 7.  Downlink =
459 -
460 -== 7.1  Convert HEX to Base64 ==
461 -
462 -
463 -(% style="color:red" %)**Note: Chirpstack uses base64 to downlink, the end node user manual provides HEX format of the downlink commands. So user needs to convert the HEX to Base64.**
464 -
465 -**[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:**
466 -
467 -[[image:image-20221010193350-1.png]]
468 -
469 -
470 -
471 -**[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]**
472 -
473 -[[image:image-20221010193621-2.png]]
474 -
475 -
476 -== 7.2  Chirpstack Downlink Note ==
477 -
478 -
479 -[[image:image-20220601102543-2.png]]
480 -
481 -**Convert the data to Base64**
482 -
483 -(% style="display:none" %) (%%)
484 -
485 -
486 -[[image:image-20220531173236-10.png||height="597" width="1215"]]
487 -
488 -**Check ChripStack downlink DataRate**
489 -
490 -
491 -
492 492  [[image:image-20220525101326-11.png]]
493 493  
494 -**Make sure the RX2DR is the same in the end node**
196 +Make sure the RX2DR is the same in the end node
495 495  
496 496  
497 -== 7. Loraserver Downlink Note ==
199 +== 4.2 Loraserver Downlink Note ==
498 498  
499 -
500 500  User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End
501 501  
502 502  (((
503 -**Below is examples:**
204 +Below is examples:
504 504  )))
505 505  
506 506  (% class="box" %)
... ... @@ -511,17 +511,16 @@
511 511  User name: User name Password: password
512 512  )))
513 513  
514 -[[image:image-20220531173419-11.png]]
215 +[[image:image-20220525101401-12.png]]
515 515  
516 516  (((
517 -**MQTT Connect to ChirpStack**
218 +MQTT Connect to ChirpStack
518 518  
519 -
520 520  
521 521  )))
522 522  
523 523  (((
524 -**After connect**
224 +After connect
525 525  )))
526 526  
527 527  (% class="box" %)
... ... @@ -539,16 +539,24 @@
539 539  Payload: {"confirmed":true,"fPort":2,"data":"AwEB"}
540 540  )))
541 541  
542 -[[image:image-20220531173519-12.png]]
242 +[[image:image-20220525101436-13.png]]
543 543  
544 -**MQTT Connect to ChirpStack**
244 +MQTT Connect to ChirpStack
545 545  
546 546  
547 -**If we want to send downstream hex 030101 to end node, the BASE64 payload is AwEB**
247 +(((
248 +(% 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/]]
249 +)))
548 548  
549 -[[image:image-20220531173658-14.png]]
251 +[[image:image-20220525101505-14.png]]
550 550  
253 +Choose to Use Hex for Encode
551 551  
255 +
256 +If we want send downstream hex 030101 to end node, the BASE64 payload is AwEB
257 +
258 +[[image:image-20220525104025-15.png]]
259 +
552 552  (((
553 553  Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码:
554 554  )))
... ... @@ -566,15 +566,15 @@
566 566   {
567 567   if(sha1[n] >= 'A' && sha1[n] <= 'Z')
568 568   {
569 - ascv = sha1.charCodeAt( n ) - 55;
277 + ascv = sha1.charCodeAt(n) - 55;
570 570   }
571 571   else if(sha1[n] >= 'a' && sha1[n] <= 'z')
572 572   {
573 - ascv = sha1.charCodeAt( n ) - 87;
281 + ascv = sha1.charCodeAt(n) - 87;
574 574   }
575 575   else
576 576   {
577 - ascv = sha1.charCodeAt( n ) - 48;
285 + ascv = sha1.charCodeAt(n) - 48;
578 578   }
579 579  \\ bit_arr = (bit_arr << 4) | ascv;
580 580   bit_num += 4;
... ... @@ -611,27 +611,22 @@
611 611  )))
612 612  
613 613  
614 -== 7.4  Add the decode function in Chirpstack for the payload ==
322 +== 4.3 Add the decode function in Chirpstack for the payload ==
615 615  
616 -
617 617  User enters the payload code according to the steps.
618 618  
619 -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]]**
326 +[[image:image-20220525104051-16.png]]
620 620  
621 -[[image:image-20220531173754-15.png||height="474" width="1334"]]
328 +[[image:image-20220525104155-17.png]]
622 622  
623 623  
624 -[[image:image-20220531173856-16.png]]
331 +[[image:image-20220526091602-5.png]]
625 625  
333 +[[image:image-20220526091801-6.png]]
626 626  
627 -[[image:image-20220531174120-20.png]]
628 628  
629 -[[image:image-20220531174046-19.png]]
336 += 5. Multiply Uplink in ChirpStack =
630 630  
631 -
632 -= 8.  Multiply Uplink in ChirpStack =
633 -
634 -
635 635  (((
636 636  nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data.
637 637  )))
... ... @@ -638,17 +638,12 @@
638 638  
639 639  (((
640 640  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]]
641 -
642 -
643 643  )))
644 644  
645 -[[image:image-20220526091912-7.png||height="241" width="1336"]]
346 +[[image:image-20220526091912-7.png]]
646 646  
647 -
648 648  (((
649 649  nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame.
650 -
651 -
652 652  )))
653 653  
654 654  [[image:image-20220525104359-21.png]]
... ... @@ -655,8 +655,6 @@
655 655  
656 656  (((
657 657  Above behaviour will cause the platform shows below two cases of error:
658 -
659 -
660 660  )))
661 661  
662 662  (((
... ... @@ -666,35 +666,29 @@
666 666  [[image:image-20220525104437-22.png]]
667 667  
668 668  
365 +Duplicate transmission in short time
669 669  
670 -**Duplicate transmission in short time**
367 +[[image:image-20220525104502-23.png]]
671 671  
672 -[[image:image-20220601102430-1.png||height="598" width="1319"]]
673 673  
370 +== 5.1 Solution ==
674 674  
675 -== 8.1  Solution ==
676 -
677 -
678 678  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]]
679 679  
680 -
681 681  (((
682 -(% 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.**
683 -
684 -
375 +~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.
685 685  )))
686 686  
687 687  [[image:image-20220525104532-24.png]]
688 688  
689 689  
690 -**installation path:**
381 +installation path:
691 691  
692 692  [[image:image-20220525104554-25.png]]
693 693  
694 694  
695 -
696 696  (((
697 -(% style="color:blue" %)**2.  Environment variable settings:**
387 +2. Environment variable settings:.
698 698  )))
699 699  
700 700  (((
... ... @@ -702,25 +702,23 @@
702 702  )))
703 703  
704 704  (((
705 -2) Set the variable name GOROOT and the variable value C:\Go\ (installation directory)
395 +2)Set the variable name GOROOT and the variable value C:\Go\ (installation directory)
706 706  )))
707 707  
708 708  [[image:image-20220524165433-33.png]]
709 709  
710 710  
711 -3) Modify the system variable Path and add C:\Go\bin\:
401 +3)Modify the system variable Path and add C:\Go\bin\:
712 712  
713 713  [[image:image-20220524165452-34.png]]
714 714  
715 -
716 716  User variable setting file generation directory: D:\go:
717 717  
718 718  [[image:image-20220524165517-35.png]]
719 719  
720 720  
410 +3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file.
721 721  
722 -(% 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.**
723 -
724 724  The name of the plugin: Example ADR plugin:
725 725  
726 726  [[image:image-20220524165540-36.png]]
... ... @@ -730,9 +730,8 @@
730 730  [[image:image-20220524165557-37.png]]
731 731  
732 732  
421 +4. Compile the ADR configuration file and generate the exe file.
733 733  
734 -(% style="color:blue" %)**4.  Compile the ADR configuration file and generate the exe file.**
735 -
736 736  1) Create a folder named adr-setting
737 737  
738 738  2) Open the adr-setting folder
... ... @@ -756,9 +756,8 @@
756 756  [[image:image-20220524165623-38.png]]
757 757  
758 758  
446 +5. Add the plugin and run the plugin.
759 759  
760 -(% style="color:blue" %)**5.  Add the plugin and run the plugin.**
761 -
762 762  (((
763 763  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:
764 764  )))
... ... @@ -794,120 +794,14 @@
794 794  Finish.
795 795  
796 796  
797 -= 9.  How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. =
483 += 6. Trouble Shooting =
798 798  
485 +== 6.1 MIC Mismatch or MIC Failed ==
799 799  
800 -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.
801 -
802 -This example will be shown how to store/get all the data in two ways:
803 -
804 -(% style="color:blue" %)**//1). Chirpstack ~-~-> Node-red//**
805 -
806 -
807 -[[image:image-20221012184501-1.png]]
808 -
809 -
810 -Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file
811 -
812 -[[image:image-20221012174220-2.png]]
813 -
814 -
815 -[[image:image-20221012184655-3.png||height="395" width="1049"]]
816 -
817 -
818 -**Each message is continuously logged to a specified file**
819 -
820 -[[image:image-20221012174352-3.png]]
821 -
822 -
823 -(% style="color:blue" %)**//2). MQTT  Sub//**
824 -
825 -If you don't want to store the information via node-red, you can get the output via the subscribe command.
826 -
827 -
828 -**If connecting from the same machine, you can use the following command to receive data:**
829 -
830 -(% class="box infomessage" %)
831 831  (((
832 -**mosquitto_sub -h localhost -t "application/#" -v**
833 -)))
834 -
835 -
836 -(% style="color:blue" %)**Different host**
837 -
838 -(% class="box infomessage" %)
839 -(((
840 -**mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v**
841 -)))
842 -
843 -[[image:image-20221012173639-1.png]]
844 -
845 -= 10.  Example: Use Local Server ChirpStack and Node-Red in LPS8v2 =
846 -
847 -
848 -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:
849 -
850 -* LHT65N register on LPS8v2 Built-In ChirpStack server already
851 -* The user is able to see the data on the built-in ChirpStack server device page.
852 -
853 -Below are the steps to plot the sensor data on LPS8v2 Node-Red.
854 -
855 -
856 -== 10.1 Link Node-Red to Local ChirpStack ==
857 -
858 -
859 -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"]]**
860 -
861 -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]]**
862 -
863 -After importing the Input Flow is complete, the user needs to edit the MQTT in the node
864 -
865 -
866 -(% style="color:blue" %)**1. Change the Topic**
867 -
868 -Topic modifies it to the following format:
869 -
870 -**application/(% style="color:red" %)Application ID(%%)/device/(% style="color:red" %)End device ID(%%)/event/up**
871 -
872 -Reference link: [[**Node-RED integration** >>https://www.chirpstack.io/docs/guides/node-red-integration.html]]
873 -
874 -[[image:image-20230527143923-1.png||height="588" width="1132"]]
875 -
876 -
877 -
878 -(% style="color:blue" %)**2. Enter the MQTT configuration information**
879 -
880 -[[image:image-20230527144206-2.png||height="590" width="1136"]]
881 -
882 -
883 -(% style="color:blue" %)3. **Finally, click "Update" and Deploy**
884 -
885 -"Connected" indicates that the Link Node-red to Local Chirpstack is normal.
886 -
887 -[[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"]]
888 -
889 -
890 -== 10.2 Check result. ==
891 -
892 -
893 -Users can check logs by adding debug.
894 -
895 -Browser access: **Node-Red-Server-Address:1880/ui**
896 -
897 -[[image:image-20230529150923-1.png||height="424" width="1118"]]
898 -
899 -
900 -= 11.  Trouble Shooting =
901 -
902 -== 11.1  MIC Mismatch or MIC Failed ==
903 -
904 -
905 -(((
906 906  When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs.
907 907  )))
908 908  
909 909  (((
910 910  Under normal circumstances, users need to change the APPKEY to solve this problem.
911 -
912 -
913 913  )))
LHT65N-ChirpStack-node-red.json
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -18.9 KB
Content
... ... @@ -1,721 +1,0 @@
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-20220531173236-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -160.2 KB
Content
image-20220531173419-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -104.3 KB
Content
image-20220531173519-12.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -63.9 KB
Content
image-20220531173601-13.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -67.6 KB
Content
image-20220531173658-14.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -59.3 KB
Content
image-20220531173754-15.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -41.7 KB
Content
image-20220531173856-16.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -46.7 KB
Content
image-20220531173939-17.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -41.4 KB
Content
image-20220531174015-18.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -27.4 KB
Content
image-20220531174046-19.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -27.2 KB
Content
image-20220531174120-20.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -41.4 KB
Content
image-20220601102430-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -139.4 KB
Content
image-20220601102543-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -51.5 KB
Content
image-20221010193350-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -42.7 KB
Content
image-20221010193621-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -34.2 KB
Content
image-20221012173639-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -56.2 KB
Content
image-20221012174220-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -14.8 KB
Content
image-20221012174352-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -93.0 KB
Content
image-20221012184501-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -91.3 KB
Content
image-20221012184631-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -32.4 KB
Content
image-20221012184655-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -45.4 KB
Content
image-20221222113302-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -76.3 KB
Content
image-20221222114220-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -64.3 KB
Content
image-20221222134830-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -54.5 KB
Content
image-20221222140203-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -91.4 KB
Content
image-20221222141754-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -179.1 KB
Content
image-20221222141830-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -116.7 KB
Content
image-20221230094246-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -84.9 KB
Content
image-20230415165254-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -67.2 KB
Content
image-20230415170404-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -17.9 KB
Content
image-20230415170854-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -48.4 KB
Content
image-20230527115750-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -208.8 KB
Content
image-20230527143923-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -222.4 KB
Content
image-20230527144206-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -224.2 KB
Content
image-20230529150923-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -87.2 KB
Content
image-20230531162943-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -84.6 KB
Content
image-20230702094608-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -53.8 KB
Content
image-20230702094852-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -12.5 KB
Content
image-20230702094944-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -26.7 KB
Content
image-20230702095114-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -43.5 KB
Content
image-20230702095557-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -48.5 KB
Content
image-20230702095641-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -19.2 KB
Content
image-20230702095827-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -34.9 KB
Content
image-20230702100312-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -33.2 KB
Content
image-20230702100356-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -21.9 KB
Content
image-20230702100543-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -25.6 KB
Content
image-20230702100930-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -48.7 KB
Content
image-20230821113255-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -115.7 KB
Content
image-20230821113539-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -71.1 KB
Content
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0