<
From version < 176.2 >
edited by Xiaoling
on 2023/09/26 16:14
To version < 97.1 >
edited by Xiaoling
on 2022/05/31 17:34
>
Change comment: Uploaded new attachment "image-20220531173419-11.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -1,4 +1,4 @@
1 -**~ Table of Contents:**
1 +**~ Contents:**
2 2  
3 3  {{toc/}}
4 4  
... ... @@ -5,120 +5,66 @@
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 -[[image:image-20230821114047-4.png||height="524" width="990"]]
20 +[[image:image-20220525100058-1.png]]
24 24  
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 40  
41 -= 2.  Node usage introduction =
42 42  
43 -== 2.1 Register Node ==
38 += 2. Semtech UDP =
44 44  
40 +== 2.1 Step 1. Add the Network-servers ==
45 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 -
93 93  The network-Servers address varies depending on the ChirpStack server setup environment
94 94  
95 95  (% class="box" %)
96 96  (((
97 - Windows       ~-~->  Network-server server *  :  localhost:8000
98 - Linux  ~-~->  Network-server server *  :  chirpstack-network-server:8000
46 + Windows       ~-~->Network-server server * : localhost:8000
47 + Linux         ~-~->Network-server server * : chirpstack-network-server:8000
99 99  )))
100 100  
50 +If the user cannot add network-Servers, re-check the ChirpStack code or the server building process.
101 101  
102 -(% 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]]
103 103  
104 -[[image:image-20220531171609-1.png||height="638" width="1268"]](% style="display:none" %)
105 -
106 106  Add the Network-servers
107 107  
108 108  
109 -== 3.2  Step 2. Create Gateway-profiles ==
57 +== 2.2 Step 2. Create Gateway-profiles ==
110 110  
59 +[[image:image-20220531171651-2.png]]
111 111  
112 -[[image:image-20220531171651-2.png||height="632" width="1264"]](% style="display:none" %)
113 -
114 114  Create Gateway-profiles
115 115  
116 116  
117 -== 3.3  Step 3. Create Service-profiles ==
64 +== 2.3 Step 3. Create Service-profiles ==
118 118  
66 +[[image:image-20220531171809-3.png]]
119 119  
120 -[[image:image-20220531171809-3.png||height="761" width="1265"]]
121 -
122 122  Create Service-profiles
123 123  
124 124  
... ... @@ -129,9 +129,8 @@
129 129  If the user has completed the preceding steps, proceed to the next step.(% style="display:none" %)
130 130  
131 131  
132 -== 3.4  Step 4. Add the gateway ==
78 +== 2.4 Step 4. Add the gateway ==
133 133  
134 -
135 135  The example gateway id is: a840411e96744150
136 136  
137 137  (((
... ... @@ -138,84 +138,61 @@
138 138  (% style="color:red" %)**Note : The Gateway EUI and server addresses must match the ChirpStack configuration.**
139 139  )))
140 140  
141 -[[image:image-20220531171923-4.png||height="745" width="1253"]](% style="display:none" %)
86 +[[image:image-20220531171923-4.png]](% style="display:none" %)
142 142  
88 +
143 143  Add the gateway
144 144  
145 -
146 146  [[image:image-20220531172031-5.png]]
147 147  
148 148  Configure the gateway
149 149  
150 150  
151 -== 3.5  Step 5. Checking gateway Status ==
96 +== 2.5 Step 5. Checking gateway Status ==
152 152  
98 +[[image:image-20220531172158-6.png]](% style="display:none" %)
153 153  
154 -[[image:image-20220531172158-6.png||height="704" width="1167"]](% style="display:none" %)
155 155  
156 -
157 -
158 158  gateway Status
159 159  
160 -[[image:image-20220531172304-7.png||height="628" width="1165"]]
103 +[[image:image-20220531172304-7.png]]
161 161  
162 162  gateway Status
163 163  
164 164  
165 -= 4.  Semtech UDP for ChirpStack v4 =
108 += 3. Gateway Registration for Basics Station =
166 166  
167 -== 4.1  Step 1. Add the gateway ==
110 +== 3.1 Introduction ==
168 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 -
185 185  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.
186 186  
187 187  ChirpStack Open-Source LoRaWAN® Network Server needs to set up a configuration that can use Semtech BasicStation.
188 188  
116 +**Below list the support products and Requirements:**
189 189  
190 -(% style="color:blue" %)**Below list the support products and Requirements:**
191 -
192 192  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]]
193 193  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/]]
194 194  
195 -(% style="color:blue" %)**How to set up chirpStack Basic Station**
121 +**How to set up chirpStack Basic Station**
196 196  
197 197  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]]
198 198  
125 +**What do you need to prepare**
199 199  
200 -(% style="color:blue" %)**What do you need to prepare**
201 -
202 202  A gateway that can access the internet normally
203 203  
204 204  
205 -== 5.2  Add Gateway ==
130 +== 3.2 Add Gateway ==
206 206  
207 -
208 208  [[image:image-20220524164205-10.png]]
209 209  
210 210  
211 -== 5.3  Access the gateway GUI ==
135 +== 3.3 Access the gateway GUI ==
212 212  
213 -
214 214  Access the gateway GUI interface of LoRaWAN~-~->LoRaWAN ~-~- Basic Station
215 215  
216 216  [[image:image-20220524164319-11.png]]
217 217  
218 -
219 219  User need to Choose the ChirpStack/Senet ~-~- Basic Station , input Server URI and Upload the TLS Certificate
220 220  
221 221  (% class="box" %)
... ... @@ -222,7 +222,7 @@
222 222  (((
223 223  Service Provider  ~-~->  Choose the ChirpStack/Senet ~-~- Basic Station
224 224  
225 -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
226 226  
227 227  LNS TLS trust  ~-~->  Upload the TLS Certificate
228 228  )))
... ... @@ -231,23 +231,20 @@
231 231  [[image:image-20220524164341-12.png]]
232 232  
233 233  
234 -== 5.4  Start Station ==
156 +== 3.4 Start Station ==
235 235  
158 +When the user has finished the configuration, Please click Sace&Apply to start station to connect ChirpStack
236 236  
237 -When the user has finished the configuration, Please click **Sace&Apply** to start station to connect ChirpStack.
238 238  
161 +== 3.5 Successful Connection ==
239 239  
240 -== 5.5  Successful Connection ==
241 -
242 -
243 243  If user completes the above steps, which will see live date in the ChirpStack.
244 244  
245 245  [[image:image-20220524164448-13.png]]
246 246  
247 247  
248 -== 5.6  Trouble Shooting ==
168 +== 3.6 Trouble Shooting ==
249 249  
250 -
251 251  User can check the station log in the logread/system log page.
252 252  
253 253  [[image:image-20220531172837-8.png]]
... ... @@ -258,266 +258,31 @@
258 258  [[image:image-20220531172857-9.png]]
259 259  
260 260  
261 -= 6.  How the gateway connects to Chirpstack v3 via gateway-bridge =
180 += 4. Downlink =
262 262  
182 +== 4.1 Chirpstack Downlink Note ==
263 263  
264 -(% style="color:blue" %)**Below list the support products and Requirements:**
184 +[[image:image-20220525101223-9.png]]
265 265  
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/]]
186 +Convert the data to Base64
268 268  
269 -(% style="color:blue" %)**How to set up chirpStack Gateway-bridge**
270 270  
271 -Users can check out the ChirpStack gateway-bridge v3 [[link>>https://www.chirpstack.io/gateway-bridge/gateway/dragino/]]
189 +[[image:image-20220531173236-10.png]]
272 272  
191 +Check ChripStack downlink DataRate
273 273  
274 -(% style="color:blue" %)**What do you need to prepare**
275 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 -== 8.1  Convert HEX to Base64 ==
478 -
479 -
480 -(% 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.**
481 -
482 -**[[Online HEX to Base64 Converter>>https://base64.guru/converter/encode/hex]]:**
483 -
484 -[[image:image-20221010193350-1.png]]
485 -
486 -
487 -
488 -**[[Online Base64 to Hex converter>>https://base64.guru/converter/decode/hex]]**
489 -
490 -[[image:image-20221010193621-2.png]]
491 -
492 -
493 -== 8.2  Chirpstack Downlink Note ==
494 -
495 -
496 -[[image:image-20220601102543-2.png]]
497 -
498 -**Convert the data to Base64**
499 -
500 -(% style="display:none" %) (%%)
501 -
502 -
503 -[[image:image-20220531173236-10.png||height="597" width="1215"]]
504 -
505 -**Check ChripStack downlink DataRate**
506 -
507 -
508 -
509 509  [[image:image-20220525101326-11.png]]
510 510  
511 -**Make sure the RX2DR is the same in the end node**
196 +Make sure the RX2DR is the same in the end node
512 512  
513 513  
514 -== 8. Loraserver Downlink Note ==
199 +== 4.2 Loraserver Downlink Note ==
515 515  
516 -
517 517  User can use MQTT to send downlink payload to ChirpStack to perform downstream to LoRaWAN End
518 518  
519 519  (((
520 -**Below is examples:**
204 +Below is examples:
521 521  )))
522 522  
523 523  (% class="box" %)
... ... @@ -528,17 +528,16 @@
528 528  User name: User name Password: password
529 529  )))
530 530  
531 -[[image:image-20220531173419-11.png]]
215 +[[image:image-20220525101401-12.png]]
532 532  
533 533  (((
534 -**MQTT Connect to ChirpStack**
218 +MQTT Connect to ChirpStack
535 535  
536 -
537 537  
538 538  )))
539 539  
540 540  (((
541 -**After connect**
224 +After connect
542 542  )))
543 543  
544 544  (% class="box" %)
... ... @@ -556,16 +556,24 @@
556 556  Payload: {"confirmed":true,"fPort":2,"data":"AwEB"}
557 557  )))
558 558  
559 -[[image:image-20220531173519-12.png]]
242 +[[image:image-20220525101436-13.png]]
560 560  
561 -**MQTT Connect to ChirpStack**
244 +MQTT Connect to ChirpStack
562 562  
563 563  
564 -**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 +)))
565 565  
566 -[[image:image-20220531173658-14.png]]
251 +[[image:image-20220525101505-14.png]]
567 567  
253 +Choose to Use Hex for Encode
568 568  
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 +
569 569  (((
570 570  Downlink payload encode javescript code: 可以在网站上运行以下Javsscript代码:
571 571  )))
... ... @@ -583,15 +583,15 @@
583 583   {
584 584   if(sha1[n] >= 'A' && sha1[n] <= 'Z')
585 585   {
586 - ascv = sha1.charCodeAt( n ) - 55;
277 + ascv = sha1.charCodeAt(n) - 55;
587 587   }
588 588   else if(sha1[n] >= 'a' && sha1[n] <= 'z')
589 589   {
590 - ascv = sha1.charCodeAt( n ) - 87;
281 + ascv = sha1.charCodeAt(n) - 87;
591 591   }
592 592   else
593 593   {
594 - ascv = sha1.charCodeAt( n ) - 48;
285 + ascv = sha1.charCodeAt(n) - 48;
595 595   }
596 596  \\ bit_arr = (bit_arr << 4) | ascv;
597 597   bit_num += 4;
... ... @@ -628,27 +628,22 @@
628 628  )))
629 629  
630 630  
631 -== 8.4  Add the decode function in Chirpstack for the payload ==
322 +== 4.3 Add the decode function in Chirpstack for the payload ==
632 632  
633 -
634 634  User enters the payload code according to the steps.
635 635  
636 -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]]
637 637  
638 -[[image:image-20220531173754-15.png||height="474" width="1334"]]
328 +[[image:image-20220525104155-17.png]]
639 639  
640 640  
641 -[[image:image-20220531173856-16.png]]
331 +[[image:image-20220526091602-5.png]]
642 642  
333 +[[image:image-20220526091801-6.png]]
643 643  
644 -[[image:image-20220531174120-20.png]]
645 645  
646 -[[image:image-20220531174046-19.png]]
336 += 5. Multiply Uplink in ChirpStack =
647 647  
648 -
649 -= 9.  Multiply Uplink in ChirpStack =
650 -
651 -
652 652  (((
653 653  nbtrans field is the value to determine the re-transmission time for unconfirmed uplink data.
654 654  )))
... ... @@ -655,17 +655,12 @@
655 655  
656 656  (((
657 657  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]]
658 -
659 -
660 660  )))
661 661  
662 -[[image:image-20220526091912-7.png||height="241" width="1336"]]
346 +[[image:image-20220526091912-7.png]]
663 663  
664 -
665 665  (((
666 666  nbtrans is a field of ADR message, in unconfirm mode, it tells end node how many time it needs to transmit for every frame.
667 -
668 -
669 669  )))
670 670  
671 671  [[image:image-20220525104359-21.png]]
... ... @@ -672,8 +672,6 @@
672 672  
673 673  (((
674 674  Above behaviour will cause the platform shows below two cases of error:
675 -
676 -
677 677  )))
678 678  
679 679  (((
... ... @@ -683,32 +683,29 @@
683 683  [[image:image-20220525104437-22.png]]
684 684  
685 685  
365 +Duplicate transmission in short time
686 686  
687 -**Duplicate transmission in short time**
367 +[[image:image-20220525104502-23.png]]
688 688  
689 -[[image:image-20220601102430-1.png||height="508" width="1120"]]
690 690  
370 +== 5.1 Solution ==
691 691  
692 -== 9.1  Solution ==
693 -
694 -
695 695  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]]
696 696  
697 697  (((
698 -(% 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.**
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.
699 699  )))
700 700  
701 701  [[image:image-20220525104532-24.png]]
702 702  
703 703  
704 -**installation path:**
381 +installation path:
705 705  
706 706  [[image:image-20220525104554-25.png]]
707 707  
708 708  
709 -
710 710  (((
711 -(% style="color:blue" %)**2.  Environment variable settings:**
387 +2. Environment variable settings:.
712 712  )))
713 713  
714 714  (((
... ... @@ -716,25 +716,23 @@
716 716  )))
717 717  
718 718  (((
719 -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)
720 720  )))
721 721  
722 722  [[image:image-20220524165433-33.png]]
723 723  
724 724  
725 -3) Modify the system variable Path and add C:\Go\bin\:
401 +3)Modify the system variable Path and add C:\Go\bin\:
726 726  
727 727  [[image:image-20220524165452-34.png]]
728 728  
729 -
730 730  User variable setting file generation directory: D:\go:
731 731  
732 732  [[image:image-20220524165517-35.png]]
733 733  
734 734  
410 +3. Modify the ADR configuration file according to your own needs, adr.setting.go is an example of the ADR configuration file.
735 735  
736 -(% 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.**
737 -
738 738  The name of the plugin: Example ADR plugin:
739 739  
740 740  [[image:image-20220524165540-36.png]]
... ... @@ -744,9 +744,8 @@
744 744  [[image:image-20220524165557-37.png]]
745 745  
746 746  
421 +4. Compile the ADR configuration file and generate the exe file.
747 747  
748 -(% style="color:blue" %)**4.  Compile the ADR configuration file and generate the exe file.**
749 -
750 750  1) Create a folder named adr-setting
751 751  
752 752  2) Open the adr-setting folder
... ... @@ -770,9 +770,8 @@
770 770  [[image:image-20220524165623-38.png]]
771 771  
772 772  
446 +5. Add the plugin and run the plugin.
773 773  
774 -(% style="color:blue" %)**5.  Add the plugin and run the plugin.**
775 -
776 776  (((
777 777  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:
778 778  )))
... ... @@ -808,150 +808,14 @@
808 808  Finish.
809 809  
810 810  
811 -= 10.  How to store/get all data traffic for a specific sensor, including raw payload, and uplink/ downlink history. =
483 += 6. Trouble Shooting =
812 812  
485 +== 6.1 MIC Mismatch or MIC Failed ==
813 813  
814 -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.
815 -
816 -This example will be shown how to store/get all the data in two ways:
817 -
818 -(% style="color:blue" %)**//1). Chirpstack ~-~-> Node-red//**
819 -
820 -
821 -[[image:image-20221012184501-1.png||height="608" width="1041"]]
822 -
823 -
824 -Use MQTT in Nore-red to subscribe to topics published by the chirpstack-application and then continuously write to a file
825 -
826 -[[image:image-20221012174220-2.png]]
827 -
828 -
829 -[[image:image-20221012184655-3.png||height="395" width="1049"]]
830 -
831 -
832 -**Each message is continuously logged to a specified file**
833 -
834 -[[image:image-20221012174352-3.png]]
835 -
836 -
837 -(% style="color:blue" %)**//2). MQTT  Sub//**
838 -
839 -If you don't want to store the information via node-red, you can get the output via the subscribe command.
840 -
841 -
842 -**If connecting from the same machine, you can use the following command to receive data:**
843 -
844 -(% class="box infomessage" %)
845 845  (((
846 -**mosquitto_sub -h localhost -t "application/#" -v**
847 -)))
848 -
849 -
850 -(% style="color:blue" %)**Different host**
851 -
852 -(% class="box infomessage" %)
853 -(((
854 -**mosquitto_sub -h IPADDRESS -p 8883 ~-~-insecure ~-~-cafile ca.pem ~-~-cert cert.pem ~-~-key key.pem -t "application/#" -v**
855 -)))
856 -
857 -[[image:image-20221012173639-1.png||height="273" width="1206"]]
858 -
859 -
860 -= 11.  Example: Use Local Server ChirpStack and Node-Red in LPS8v2 =
861 -
862 -
863 -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:
864 -
865 -* LHT65N register on LPS8v2 Built-In ChirpStack server already
866 -* The user is able to see the data on the built-in ChirpStack server device page.
867 -
868 -Below are the steps to plot the sensor data on LPS8v2 Node-Red.
869 -
870 -
871 -== 11.1 Link Node-Red to Local ChirpStack ==
872 -
873 -
874 -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"]]**
875 -
876 -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]]**
877 -
878 -After importing the Input Flow is complete, the user needs to edit the MQTT in the node
879 -
880 -
881 -(% style="color:blue" %)**1. Change the Topic**
882 -
883 -Topic modifies it to the following format:
884 -
885 -**application/(% style="color:red" %)Application ID(%%)/device/(% style="color:red" %)End device ID(%%)/event/up**
886 -
887 -Reference link: [[**Node-RED integration** >>https://www.chirpstack.io/docs/guides/node-red-integration.html]]
888 -
889 -[[image:image-20230527143923-1.png||height="588" width="1132"]]
890 -
891 -
892 -
893 -(% style="color:blue" %)**2. Enter the MQTT configuration information**
894 -
895 -[[image:image-20230527144206-2.png||height="590" width="1136"]]
896 -
897 -
898 -(% style="color:blue" %)**3.** **Finally, click "Update" and Deploy**
899 -
900 -"Connected" indicates that the Link Node-red to Local Chirpstack is normal.
901 -
902 -[[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"]]
903 -
904 -
905 -== 11.2 Check result. ==
906 -
907 -
908 -Users can check logs by adding debug.
909 -
910 -Browser access: **Node-Red-Server-Address:1880/ui**
911 -
912 -[[image:image-20230529150923-1.png||height="424" width="1118"]]
913 -
914 -
915 -= 12.  Trouble Shooting =
916 -
917 -== 12.1  MIC Mismatch or MIC Failed ==
918 -
919 -
920 -(((
921 921  When the device is registered or the device is working normally, the problem of MIC mismatch and MIC failed occurs.
922 922  )))
923 923  
924 924  (((
925 925  Under normal circumstances, users need to change the APPKEY to solve this problem.
926 -
927 -
928 -== 12.2  The node is very close to the gateway, but the signal is poor ==
929 -
930 -
931 -If you are using US915 or AU915, you found the frequency points of different subband ranges in your uplink
932 -
933 -Like that:Both 905.1Mhz and 902.3Mhz appear on uplink
934 - But they belong to Subband1 and Subband2 of US915 respectively
935 -
936 -Cause: The server and the gateway use different frequency bands (the server uses Subband1, and the gateway uses Subband2)
937 -
938 - 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.
939 -
940 -How to check the frequency band used by the server:
941 -
942 -You can view the information sent by the server: ch_mask in Unconfirmdedatadown
943 -
944 -[[image:image-20230821113255-1.png]]
945 -
946 -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.
947 -
948 -[[image:image-20230821113539-2.png]]
949 -
950 -In the second message, the channel 0~~7 is true, which means that your server is using subband2.
951 -
952 -[[image:image-20230821113618-3.png]]
953 -
954 -**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]]**
955 -
956 -
957 957  )))
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-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
image-20230821113618-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -19.0 KB
Content
image-20230821114047-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -125.6 KB
Content
image-20230926092907-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -64.0 KB
Content
image-20230926093057-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -69.6 KB
Content
image-20230926093233-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -95.8 KB
Content
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0