Show last authors
1
2
3 (% style="text-align:center" %)
4 [[image:image-20221031143350-3.png]]
5
6 (% style="display:none" %) (%%)
7
8
9
10 **Table of Contents:**
11
12 {{toc/}}
13
14
15
16
17
18
19
20
21
22 = 1.  Introduction =
23
24
25 == 1.1  ​What is LWL03A LoRaWAN Water Leak ==
26
27
28 (((
29 The Dragino LWL03A is a (% style="color:blue" %)**LoRaWAN None-Position Rope Type Water Leak Controller**(%%). User can lay the (% style="color:blue" %)**LWL03A + Water Leak Cable**(%%) on the ground to detect water leakage. The water leak cable is sensitivity, when there is water over the leak cable. LWL03A will indicates a (% style="color:blue" %)**water leak event**(%%) and uplink to IoT server via LoRaWAN network.
30 )))
31
32 (((
33 LWL03A is powered by (% style="color:blue" %)**8500mAh battery**(%%) and target for long time use up to 10 years.
34 )))
35
36 (((
37 The LWL03A will send periodically data every 2 hours as well as for each water leak event. It also counts the water leak times and calculate last water leak duration.
38 )))
39
40 (((
41 Each LWL03A is pre-load with a set of unique keys for LoRaWAN registration, register these keys to LoRaWAN server and it will auto connect after power on.
42 )))
43
44
45
46
47 == ​1.2  Features ==
48
49
50 * LoRaWAN v1.0.3 Class A protocol.
51 * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864
52 * Water Leak detect
53 * 8500mAh Li-SoCI2 battery
54 * AT Commands to change parameters
55 * Uplink on periodically and leakage event
56 * Remote configure parameters via LoRa Downlink
57 * Firmware upgradable via program port
58
59 == 1.3  Cable Specification ==
60
61
62
63
64 == 1.4  ​Applications ==
65
66
67 * Smart Buildings & Home Automation
68 * Smart Cities
69 * Smart Factory
70
71 == 1.5  Mechanical ==
72
73
74 [[image:1667211179108-212.png]]
75
76
77 [[image:1667211192189-120.png]]
78
79
80
81 == 1.6  Installation ==
82
83
84 [[image:image-20221101180548-1.png||height="684" width="679"]]
85
86
87 [[image:image-20221031145604-4.png]]
88
89
90
91 == 1.7  Firmware Change log ==
92
93
94 [[LWL03A Image files – Download link & Changelog>>url:https://www.dropbox.com/sh/23v29gi61jq9mp6/AABgwJQ_xuybFivgbDZwTyNGa?dl=0]]
95
96
97
98 == 1.8  Pin Definitions and Switch ==
99
100
101 [[image:1654741572060-177.png]]
102
103 **LWL03A is based on LSN50v2**
104
105
106
107 === 1.8.1  Pin Definition ===
108
109
110 (((
111 The device is pre-configured to connect to a door sensor. The other pins are not used. If user wants to know more about other pins, please refer to the user manual of LSN50v2 at:  [[https:~~/~~/www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0>>https://www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0]]
112 )))
113
114
115
116 === 1.8.2  Jumper JP2(Power ON/OFF) ===
117
118
119 Power on Device when putting this jumper.
120
121
122
123 === 1.8.3  BOOT MODE / SW1 ===
124
125
126 (((
127 1)  ISP: upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. Firmware won't run.
128 )))
129
130 (((
131 2)  Flash: work mode, the device starts to work and send out console output for further debug
132 )))
133
134
135
136 === 1.8.4  Reset Button ===
137
138
139 Press to reboot the device.
140
141
142
143 === 1.8.5  LED ===
144
145
146 It will flash:
147
148 ~1. Boot the device in flash mode
149
150 2. Send an uplink packet
151
152
153
154 = 2.  Operation Mode =
155
156
157 == 2.1  How it works ==
158
159
160 (((
161 The LWL03A is configured as LoRaWAN OTAA Class A mode by default. It has OTAA keys to join network. To connect a local LoRaWAN network, user just need to input the OTAA keys in the network server and [[power on>>||anchor="H1.8.2A0JumperJP228PowerON2FOFF29"]] the LWL03A. It will auto join the network via OTAA.
162 )))
163
164 (((
165 In case user can't set the OTAA keys in the network server and has to use the existing keys from server. User can [[use AT Command>>https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/LDS01/]] to set the keys in the devices.
166 )))
167
168
169
170 == 2.2  Example to use for LoRaWAN network ==
171
172
173 (((
174 Here shows an example for how to join the [[TTN V3 Network>>url:https://eu1.cloud.thethings.network/]]. Below is the network structure, we use [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]] as LoRaWAN gateway here.
175
176
177 )))
178
179 (((
180 [[image:image-20221031151740-5.png]]
181
182
183 )))
184
185 (((
186 The LWL03A has water leak detect probe as above. When there is water between these two detect probe, they will be short and generate the water leak event. and send the status to LoRaWAN server. The LWL03A will uplink two type of messages to the server.
187
188 * A keep-alive message which send every 2 hours. (Interval can be changed)
189
190 * An emergency event message when detect a water leak/water no leak. (leak/no [[leak event can be disabled>>||anchor="H3.4A0Enable2FDisableAlarm"]])
191
192 * A periodically update at every 10 minutes when in water leak.(Interval can be changed)
193
194 * A message when switch from water leak to none water leak. ([[Alarm event can be disabled>>||anchor="H3.8A0AlarmBaseonTimeout"]])
195
196 The LG308 is already set to connect to [[TTN V3 network >>url:https://eu1.cloud.thethings.network/]]. What we need to now is only configure the TTN V3:
197
198
199 (((
200 (% style="color:blue" %)**Step 1**(%%):  Create a device in TTN V3 with the OTAA keys from LWL03A.
201 )))
202
203 (((
204 Each LWL03A is shipped with a sticker with the default device EUI as below:
205 )))
206 )))
207
208 [[image:image-20220607170145-1.jpeg]]
209
210
211 Users can enter these keys in the LoRaWAN Server portal. Below is the TTN V3 screenshot:
212
213
214 **Add APP EUI in the application:**
215
216 [[image:1654742558691-332.png]]
217
218
219 [[image:1654742595660-519.png]]
220
221
222 [[image:1654742610413-498.png]]
223
224
225
226 [[image:1654742630064-347.png]]
227
228 **Add APP KEY and DEV EUI**
229
230
231
232 (% style="color:blue" %)**Step 2**(%%): Power on LWL03A
233
234
235 [[image:1654742860601-778.png]]
236
237
238
239 Put the jumper to power on LWL03A and it will auto-join to the TTN V3 network. After join success, it will start to upload sensor data to TTN V3 and the user can see it in the panel.
240
241 [[image:image-20221031161420-7.png||height="289" width="1322"]]
242
243
244
245 == 2.3  ​Uplink Payload ==
246
247
248 (((
249 Uplink payloads have two types:
250 )))
251
252 * (((
253 Leak/No leak Status: Use FPORT=2
254 )))
255 * (((
256 Other control commands: Use other FPORT fields.
257 )))
258
259 (((
260 The application server should parse the correct value based on FPORT settings.
261 )))
262
263
264
265 === 2.3.1  Device Status, FPORT~=5 ===
266
267
268 (((
269 Include device configure status. Once LWL03A Joined the network, it will uplink this message to the server. After that, LWL03A will uplink Device Status every 12 hours.
270 )))
271
272 (((
273 Users can also use the downlink command(% style="color:blue" %)**(0x26 01)**(%%) to ask LWL03A to resend this uplink. This uplink payload also includes the DeviceTimeReq to get time.
274 )))
275
276 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
277 |=(% scope="row" %)**Size(bytes)**|**11**|**2**|**1**|**1**|**2**
278 |=**Value**|Sensor Model|Firmware Version|Frequency Band|Sub-band|BAT
279
280 **Example parse in TTNv3:**
281
282 [[image:image-20221031161732-8.png||height="432" width="1339"]]
283
284
285 * (% style="color:#4f81bd" %)**Sensor Model**(%%): For LWL03A, this value is 0x14
286
287 * (% style="color:#4f81bd" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
288
289 * (% style="color:#4f81bd" %)**Frequency Band**:
290
291 *0x01: EU868
292
293 *0x02: US915
294
295 *0x03: IN865
296
297 *0x04: AU915
298
299 *0x05: KZ865
300
301 *0x06: RU864
302
303 *0x07: AS923
304
305 *0x08: AS923-1
306
307 *0x09: AS923-2
308
309 *0x0a: AS923-3
310
311 *0x0b: CN470
312
313 *0x0c: EU433
314
315 *0x0d: KR920
316
317 *0x0e: MA869
318
319
320 * (% style="color:#4f81bd" %)**Sub-Band**:
321
322 AU915 and US915: value 0x00 ~~ 0x08
323
324 CN470: value 0x0B ~~ 0x0C
325
326 Other Bands: Always 0x00
327
328
329 * (% style="color:#4f81bd" %)**Battery Info:**
330
331 Check the battery voltage.
332
333 Ex1: 0x0B45 = 2885mV
334
335 Ex2: 0x0B49 = 2889mV
336
337
338
339 === 2.3.2  Sensor Configuration, FPORT~=4 ===
340
341
342 (((
343 LWL03A will only send this command after getting the downlink command (0x26 02) from the server.
344 )))
345
346 (((
347 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
348 |=(% scope="row" %)**Size(bytes)**|**3**|**1**|**1**|**2**|**1**
349 |=**Value**|TDC (unit: sec)|Disalarm|Keep status|Keep time (unit: sec)|Leak alarm time
350 )))
351
352
353 * (((
354 (% style="color:#4f81bd" %)**TDC: (default: 0x001C20)**
355 )))
356
357 (((
358 Uplink interval for the Leak/No leak Event, default value is 0x001C20 which is 7200 seconds = 2 hours.
359 )))
360
361
362 * (((
363 (% style="color:#4f81bd" %)**Disalarm: (default: 0)**
364 )))
365
366 (((
367 (% style="color:#037691" %) **If Disalarm = 1**(%%), LWL03A will only send uplink at every TDC periodically. This is normally use for pulse meter application, in this application, there are many Leak/No leak event, and platform only care about the total number of pulse.
368 )))
369
370 (((
371 (% style="color:#037691" %) **If Disalarm = 0**(%%), LWL03A will send uplink at every TDC periodically and send data on each Leak/No leak event. This is useful for the application user need to monitor the Leak/No leak event in real-time.
372 )))
373
374 (((
375 (% style="color:red; font-weight:bold" %)** Note: When Disalarm=0, a high frequently Leak**(% style="color:red" %)**/No leak event will cause lots of uplink and drain battery very fast. **
376 )))
377
378
379 * (((
380 (% style="color:#4f81bd" %)**Keep Status & Keep Time**
381 )))
382
383 (((
384 Shows the configure value of [[Alarm Base on Timeout Feature>>||anchor="H3.8A0AlarmBaseonTimeout"]]
385 )))
386
387
388 * (% style="color:#4f81bd" %)**Leak alarm time**
389
390 Regularly update a confirm uplink when water leaks, default value is 0x0A which is 10 minutes.
391
392
393
394 === 2.3.3  Real-Time Open/Close Status, Uplink FPORT~=2 ===
395
396
397 LWL03A will send this uplink **after** Device Status once join the LoRaWAN network successfully. And LWL03A will:
398
399 ~1. periodically send this uplink every 2 hours, this interval [[can be changed>>||anchor="H3.1A0SetTransmitIntervalTime"]].
400
401 2. There is an Leak/No leak event.
402
403
404 Uplink Payload totals 11 bytes.
405
406 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
407 |=(% colspan="5" style="width: 492px;" %)**Real-Time Open/Close Status, FPORT=2**
408 |(% style="width:60px" %)**Size(bytes)**|(% style="width:70px" %)**1**|(% style="width:90px" %)**3**|(% style="width:120px" %)**3**|(% style="width:80px" %)**4**
409 |(% style="width:101px" %)**Value**|(% style="width:77px" %)Status & [[Alarm>>||anchor="H3.8A0AlarmBaseonTimeout"]](((
410 &TDC flag
411 )))|(% style="width:99px" %)Total leak events|(% style="width:88px" %)(((
412 last leak
413 duration (unit: sec)
414 )))|(% style="width:126px" %)[[Unix TimeStamp>>||anchor="H2.4.1A0UnixTimeStamp"]]
415
416 **Status & Alarm:**
417
418 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:490px" %)
419 |=(% scope="row" style="width: 60px;" %)**Size(bit)**|(% style="width:50px" %)**6**|(% style="width:100px" %)**1**|(% style="width:140px" %)**1**|(% style="width:140px" %)**1**
420 |=(% style="width: 82px;" %)**Value**|(% style="width:71px" %)Reserve|(% style="width:176px" %)(((
421 TDC flag
422 0:No;1:Yes
423 )))|(% style="width:176px" %)(((
424 Alarm
425 0: No Alarm;
426 1: Alarm
427 )))|(% style="width:131px" %)Status
428 0: Close, 1: Open
429
430 [[image:1667205498482-181.png]]
431
432
433 **Please check the decoder from this link: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/LWL03A>>https://github.com/dragino/dragino-end-node-decoder/tree/main/LWL03A]]**
434
435
436
437 === 2.3.4  Historical Water Leak/No leak Event, FPORT~=3 ===
438
439
440 (((
441 LWL03A stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.4A0DatalogFeature"]].
442 )))
443
444 (((
445 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time leak/no leak status.
446 )))
447
448 (((
449
450 )))
451
452 * (((
453 Each data entry is 11 bytes and has the same structure as [[Real-Time open/close status>>||anchor="H2.3.3A0Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]], to save airtime and battery, LWL03A will send max bytes according to the current DR and Frequency bands.
454 )))
455
456 (((
457 For example, in the US915 band, the max payload for different DR is:
458 )))
459
460 (% style="color:blue" %)**1. DR0**(%%): max is 11 bytes so one entry of data
461
462 (% style="color:blue" %)**2. DR1**(%%): max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
463
464 (% style="color:blue" %)**3. DR2**(%%): total payload includes 11 entries of data
465
466 (% style="color:blue" %)**4. DR3**(%%): total payload includes 22 entries of data.
467
468
469 If LWL03A doesn't have any data in the polling time. It will uplink 11 bytes of 0
470
471
472
473 [[image:1667205726581-981.png]]
474
475
476
477 (((
478 (% style="color:#037691" %)**Access via serial port:**
479 )))
480
481 [[image:image-20221031164229-9.png]]
482
483
484 (((
485 (% style="color:#037691" %)**Downlink:**
486 )))
487
488 (((
489 0x31 63 5C D2 B8 63 5C D8 1C 05
490 )))
491
492
493 (((
494 (% style="color:#037691" %)**Uplink:**
495 )))
496
497 (((
498 01 00 00 0A 00 00 0A 63 5C D2 F2 00 00 00 0A 00 00 15 63 5C D3 07 03 00 00 0F 00 00 00 63 5C D4 99 00 00 00 0F 00 00 28 63 5C D4 B7 02 00 00 11 00 00 E3 63 5C D6 52 00 00 00 00 00 00 00 63 5C D7 11 02 00 00 10 00 00 01 63 5C D7 51 00 00 00 10 00 00 01 63 5C D7 81 01 00 00 00 00 00 01 63 5C D7 8F 00 00 00 0D 00 00 0D 63 5C D7 F9
499 )))
500
501
502 (((
503 (% style="color:#037691" %)**Parsed Value:**
504
505
506 [ALARM, WATER_LEAK_STATUS, WATER_LEAK_TIMES, LAST_WATER_LEAK_DURATION, TIME]
507
508
509 [FALSE,LEAK,10,10,2022-10-29 07:14:58],
510
511 [FALSE,NO LEAK,10,21,2022-10-29 07:15:19],
512
513 [TRUE,LEAK,15,0,2022-10-29 07:22:01],
514
515 [FALSE,NO LEAK,15,40,2022-10-29 07:22:31],
516
517 [TRUE,NO LEAK,17,227,2022-10-29 07:29:22],
518
519 [FALSE,NO LEAK,0,0,2022-10-29 07:32:33],
520
521 [TRUE,NO LEAK,16,1,2022-10-29 07:33:37],
522
523 [FALSE,NO LEAK,16,1,2022-10-29 07:34:25],
524
525 [FALSE,LEAK,0,1,2022-10-29 07:34:39],
526
527 [FALSE,NO LEAK,13,13,2022-10-29 07:36:25],
528 )))
529
530
531
532 == 2.4  Datalog Feature ==
533
534
535 When a user wants to retrieve sensor value, he can send a poll command from the IoT platform to ask the sensor to send value in the required time slot.
536
537
538
539 === 2.4.1  Unix TimeStamp ===
540
541
542 LWL03A use Unix TimeStamp format based on
543
544 [[image:image-20220609113256-8.png]]
545
546
547 (((
548 Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
549 )))
550
551 (((
552 Below is the converter example
553 )))
554
555 [[image:image-20220609113256-9.png||height="467" width="1127"]]
556
557
558 (((
559 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
560 )))
561
562
563
564 === 2.4.2  Set Device Time ===
565
566
567 (((
568 There are two ways to set the device's time:
569 )))
570
571 (((
572 (% style="color:blue" %)**1.  Through LoRaWAN MAC Command (Default settings)**
573 )))
574
575 (((
576 Users need to set **SYNCMOD=1** to enable sync time via the MAC command.
577 )))
578
579 (((
580 Once LWL03A Joined the LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to LWL03A. If LWL03A fails to get the time from the server, LWL03A will use the internal time and wait for the next time request ~[[[via Device Status (FPORT=5)>>||anchor="H2.3.1A0DeviceStatus2CFPORT3D5"]]].
581 )))
582
583
584 (((
585 (% style="color:red" %)**Note**: **LoRaWAN Server needs to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature.**
586 )))
587
588
589 (((
590 (% style="color:blue" %)**2.  Manually Set Time**
591 )))
592
593 (((
594 Users need to set **SYNCMOD=0** to manual time, otherwise, the user set time will be overwritten by the time set by the server.
595 )))
596
597
598
599 == 2.5 ​Show Data in DataCake IoT Server ==
600
601 (((
602 Datacake IoT platform provides a human-friendly interface to show the sensor data, once we have sensor data in TTN V3, we can use Datacake to connect to TTN V3 and see the data in Datacake. Below are the steps:
603 )))
604
605 (((
606 (% style="color:blue" %)**Step 1**(%%)**: Link TTNv3 to Datacake.**[[https:~~/~~/docs.datacake.de/lorawan/lns/thethingsindustries#create-integration-on-tti>>url:https://docs.datacake.de/lorawan/lns/thethingsindustries#create-integration-on-tti]]
607 )))
608
609 (((
610 (% style="color:blue" %)**Step 2**(%%)**: Configure LWL03A in Datacake.**
611 )))
612
613 [[image:1654746350207-427.png]]
614
615
616 [[image:1654747162439-840.png]]
617
618
619 [[image:1654746405400-203.png]]
620
621
622
623 [[image:1654746763908-732.png]]
624
625
626
627 [[image:1654746716087-684.png]]
628
629
630 [[image:1654746693868-718.png]]
631
632
633 [[image:1654746674738-826.png]]
634
635
636 [[image:1654746646379-591.png]]
637
638
639 [[image:1654746549277-209.png]]
640
641
642 [[image:1654746593411-887.png]]
643
644
645
646 = 3.  Configure LWL03A via AT Command or LoRaWAN Downlink =
647
648
649 (((
650 Use can configure LWL03A via AT Command or LoRaWAN Downlink.
651 )))
652
653 * (((
654 AT Command Connection: See [[FAQ>>||anchor="H5.A0FAQ"]].
655 )))
656 * (((
657 LoRaWAN Downlink instruction for different platforms: [[IoT LoRaWAN Server>>doc:Main.WebHome]]
658 )))
659
660 (((
661 There are two kinds of commands to configure LWL03A, they are:
662 )))
663
664 * (((
665 (% style="color:#4f81bd" %)** General Commands**.
666 )))
667
668 (((
669 These commands are to configure:
670 )))
671
672 * (((
673 General system settings like: uplink interval.
674 )))
675 * (((
676 LoRaWAN protocol & radio related command.
677 )))
678
679 (((
680 They are same for all Dragino Device which support DLWS-007 LoRaWAN Stack. These commands can be found on the wiki: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
681 )))
682
683 (((
684
685 )))
686
687 * (((
688 (% style="color:#4f81bd" %)** Commands special design for LWL03A**
689 )))
690
691 (((
692 These commands only valid for LWL03A, as below:
693 )))
694
695
696
697 == 3.1  Set Transmit Interval Time ==
698
699
700 Feature: Change LoRaWAN End Node Transmit Interval.
701
702 (% style="color:#4472c4" %)**AT Command: AT+TDC**
703
704 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:510px" %)
705 |=(% style="width: 156px;" %)**Command Example**|=(% style="width: 133px;" %)**Function**|=(% style="width: 220px;" %)**Response**
706 |(% style="width:156px" %)AT+TDC?|(% style="width:133px" %)Show current transmit Interval|(% style="width:220px" %)(((
707 30000
708
709 OK
710
711 the interval is 30000ms = 30s
712 )))
713 |(% style="width:156px" %)AT+TDC=60000|(% style="width:133px" %)Set Transmit Interval|(% style="width:220px" %)(((
714 OK
715
716 Set transmit interval to 60000ms = 60 seconds
717 )))
718
719 (((
720 (% style="color:#4472c4" %)**Downlink Command: 0x01**
721 )))
722
723 (((
724 Format: Command Code (0x01) followed by 3 bytes time value.
725 )))
726
727 (((
728 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
729 )))
730
731 * (((
732 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
733 )))
734 * (((
735 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
736
737
738
739
740 )))
741
742 == 3.2  Set Password ==
743
744
745 Feature: Set device password, max 9 digits.
746
747 (% style="color:#4472c4" %)**AT Command: AT+PWORD**
748
749 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:404.989px" %)
750 |=(% style="width: 170px;" %)**Command Example**|=(% style="width: 123px;" %)**Function**|=(% style="width: 109px;" %)**Response**
751 |(% style="width:170px" %)(((
752 AT+PWORD=?
753 )))|(% style="width:123px" %)(((
754 Show password
755 )))|(% style="width:109px" %)(((
756 (((
757 123456
758 )))
759
760 (((
761 OK
762 )))
763 )))
764 |(% style="width:170px" %)(((
765 AT+PWORD=999999
766 )))|(% style="width:123px" %)(((
767 Set password
768 )))|(% style="width:109px" %)(((
769 OK
770 )))
771
772 (% style="color:#4472c4" %)**Downlink Command:**
773
774 No downlink command for this feature.
775
776
777
778 == 3.3  Quit AT Command ==
779
780
781 Feature: Quit AT Command mode, so user needs to input the password again before using AT Commands.
782
783 (% style="color:#4472c4" %)**AT Command: AT+DISAT**
784
785 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:451.989px" %)
786 |=(% style="width: 155px;" %)**Command Example**|=(% style="width: 198px;" %)**Function**|=(% style="width: 96px;" %)**Response**
787 |(% style="width:155px" %)AT+DISAT|(% style="width:198px" %)Quit AT Commands mode|(% style="width:96px" %)OK
788
789 (% style="color:#4472c4" %)**Downlink Command:**
790
791 No downlink command for this feature.
792
793
794
795 == 3.4  Enable / Disable Alarm ==
796
797
798 Feature: Enable/Disable Alarm for open/close event. Default value 0.
799
800 (% style="color:#4472c4" %)**AT Command:**
801
802 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
803 |=(% style="width: 157px;" %)**Command Example**|=(% style="width: 257px;" %)**Function**|=**Response**
804 |(% style="width:157px" %)AT+DISALARM=1|(% style="width:257px" %)End node will only send packet in TDC time.|OK
805 |(% style="width:157px" %)AT+DISALARM=0|(% style="width:257px" %)End node will send packet in TDC time or status change for water leak sensor|OK
806
807 (% style="color:#4472c4" %)**Downlink Command:**
808
809 0xA7 01  ~/~/ Same As AT+DISALARM=1
810
811 0xA7 00  ~/~/ Same As AT+DISALARM=0
812
813
814
815 == 3.5  Clear count ==
816
817
818 Feature: Clear current door open.
819
820 (% style="color:#4472c4" %)**AT Command:**
821
822 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510.222px" %)
823 |=(% style="width: 155px;" %)**Command Example**|=(% style="width: 266px;" %)**Function**|=(% style="width: 85px;" %)**Response**
824 |(% style="width:155px" %)AT+CLRC|(% style="width:266px" %)Clear the count of door open events.|(% style="width:85px" %)OK
825
826 (% style="color:#4472c4" %)**Downlink Command:**
827
828 0xA6 01 ~/~/ Same As AT+ CLRC
829
830
831
832 == 3.6  Set system time ==
833
834
835 Feature: Set system time, Unix format. [[See here for format detail.>>||anchor="H2.4.1A0UnixTimeStamp"]]
836
837 (% style="color:#4472c4" %)**AT Command:**
838
839
840 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
841 |=**Command Example**|=**Function**|=**Response**
842 |AT+TIMESTAMP=1611104352|Set System time to 2021-01-20 00:59:12|OK
843
844 (% style="color:#4472c4" %)**Downlink Command:**
845
846 0x306007806000  ~/~/ Set timestamp to 0x(6007806000),Same as AT+TIMESTAMP=1611104352
847
848
849
850 == 3.7  Set Time Sync Mode ==
851
852
853 (((
854 Feature: Enable/Disable Sync system time via LoRaWAN MAC Command (DeviceTimeReq), LoRaWAN server must support v1.0.3 protocol to reply to this command.
855 )))
856
857 (((
858 SYNCMOD is set to 1 by default. If user wants to set a different time from the LoRaWAN server, the user needs to set this to 0.
859 )))
860
861
862 (% style="color:#4472c4" %)**AT Command:**
863
864 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
865 |=**Command Example**|=**Function**|=**Response**
866 |AT+SYNCMOD=1|Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) The default is zero time zone.|OK
867 |AT+SYNCMOD=1,8|Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) Set to East eight time zone.|OK
868 |AT+SYNCMOD=1,-12|Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) Set to West Twelve Time Zone.|OK
869
870 (% style="color:#4472c4" %)**Downlink Command:**
871
872 0x28 01  ~/~/ Same As AT+SYNCMOD=1
873
874 0x28 01 08  ~/~/ Same As AT+SYNCMOD=1,8
875
876 0x28 01 F4  ~/~/ Same As AT+SYNCMOD=1,-12
877
878 0x28 00  ~/~/ Same As AT+SYNCMOD=0
879
880
881
882 == 3.8  Alarm Base on Timeout ==
883
884
885 LWL03A can monitor the timeout for a status change, this feature can be used to monitor some events such as door opening too long etc.
886
887 User configure this feature by using:
888
889 (% style="color:#4472c4" %)**AT Command to configure:**
890
891 * (% style="color:red" %)**AT+TTRIG=1,30** (%%) **~-~->** When status change from no leak to leak, and device keep in leak status for more than 30 seconds. LWL03A will send an uplink packet, the Alarm bit (the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
892
893 * (% style="color:red" %)**AT+TTRIG=0,30**(%%)  **~-~->** When status change from leak to no leak, and device keep in no leak status for more than 30 seconds. LWL03A will send an uplink packet, the Alarm bit (the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
894
895 * (((
896 (% style="color:red" %)**AT+TTRIG=0,0**  (%%) **~-~-> ** Default Value, disable timeout Alarm.
897 )))
898
899 (((
900 (% style="color:#4472c4" %)**Downlink Command to configure:**
901 )))
902
903 (((
904 **Command: (% style="color:red" %)0xA9 aa bb cc(%%)**
905 )))
906
907 (((
908 **A9:** Command Type Code
909 )))
910
911 (((
912 **aa:** status to be monitored
913 )))
914
915 (((
916 **bb cc:** timeout.
917 )))
918
919
920 (((
921 If user send 0xA9 01 00 1E: equal to AT+TTRIG=1,30
922 )))
923
924 (((
925 Or
926 )))
927
928 (((
929 0xA9 00 00 00: Equal to AT+TTRIG=0,0. Disable timeout Alarm.
930 )))
931
932
933
934 == 3.9 The working mode of the total water leakage event ==
935
936
937 (% style="color:#4472c4" %)**AT Command to configure:**
938
939 * (% style="color:red" %)**AT+COUNTMOD=0** (%%)**~-~->** Default Value, Total leak events since factory.
940
941 * (% style="color:red" %)**AT+COUNTMOD=1** (%%)**~-~->** Total leak events since last TDC uplink.
942
943 (% style="color:#4472c4" %)**Downlink Command to configure:**
944
945 Command: (% style="color:red" %)**0x0B aa**
946
947 **0B:** Command Type Code
948
949 **aa:** mod
950
951
952 If user send 0x0B 01: equal to AT+COUNTMOD=1
953
954 Or
955
956 0x0B 00: Equal to AT+COUNTMOD=0
957
958
959
960 == 3.10 Regularly update a confirm uplink when water leaks ==
961
962
963 (% style="color:#4472c4" %)**AT Command to configure:**
964
965 * (% style="color:red" %)**AT+LEAKALARM=10** (%%)**~-~->** Default Value, A periodically update at every 10 minutes when in water leak.
966
967 * (% style="color:red" %)**AT+LEAKALARM=0**   (%%)**~-~->** Disable a periodically update when in water leak.
968
969 (% style="color:#4472c4" %)**Downlink Command to configure:**
970
971 Command: (% style="color:red" %)**0x0C aa**
972
973 **0C:** Command Type Code
974
975 **aa:** uplink interval
976
977
978 If user send 0x0C 0A: equal to AT+LEAKALARM=10
979
980 Or
981
982 0x0C 00: Equal to AT+LEAKALARM=0.
983
984
985
986 == 3.11 Delay time for state changes to take effect ==
987
988
989 (% style="color:#4472c4" %)**AT Command to configure:**
990
991 * (% style="color:red" %)**AT+DETEDELAY=50** (%%)**~-~->** Default Value, Set state change, valid signal is 50ms.
992
993 * (% style="color:red" %)**AT+DETEDELAY=0**  (%%) **~-~->** Disable valid signal detection..
994
995 (% style="color:#4472c4" %)**Downlink Command to configure:**
996
997 Command: (% style="color:red" %)**0x0D aa bb**
998
999 **0D:** Command Type Code
1000
1001 **aa bb:** timeout
1002
1003
1004 If user send 0x0D 00 32: equal to AT+DETEDELAY=50
1005
1006 Or
1007
1008 0x0D 00 00: Equal to AT+DETEDELAY=0.
1009
1010
1011
1012 == 3.12 Print data entries base on page ==
1013
1014
1015 Feature: Print the sector data from start page to stop page (max is 400 pages).
1016
1017 (% style="color:#4472c4" %)**AT Command: AT+PDTA**
1018
1019 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
1020 |=**Command Example**|=**Response**
1021 |AT+PDTA=1,1|(((
1022 Stop Tx events when read sensor data
1023
1024 8016000 22/10/28 00:39:05 bat:3627 status:leak    leak_times:0 last_leak_duration:0 alarm:false
1025
1026 8016010 22/10/28 00:48:57 bat:3633 status:leak    leak_times:0 last_leak_duration:0 alarm:false
1027
1028 8016020 22/10/28 00:58:57 bat:3633 status:leak    leak_times:0 last_leak_duration:0 alarm:false
1029
1030 8016030 22/10/28 01:08:57 bat:3635 status:leak    leak_times:0 last_leak_duration:0 alarm:false
1031
1032 8016040 22/10/28 01:11:40 bat:3635 status:no_leak leak_times:0 last_leak_duration:32 alarm:false
1033
1034 8016050 22/10/28 01:12:12 bat:3633 status:leak    leak_times:1 last_leak_duration:32 alarm:false
1035
1036 8016060 22/10/28 01:12:22 bat:3633 status:no_leak leak_times:1 last_leak_duration:0 alarm:false
1037
1038 8016070 22/10/28 02:31:54 bat:3630 status:no_leak leak_times:0 last_leak_duration:0 alarm:false
1039
1040 Start Tx events
1041
1042 OK
1043 )))
1044
1045 (% style="color:#4472c4" %)**Downlink Command:**
1046
1047 No downlink command for this feature.
1048
1049
1050
1051 == 3.13 Print last few data entries ==
1052
1053
1054 Feature: Print the last few data entries
1055
1056 (% style="color:#4472c4" %)**AT Command: AT+PLDTA**
1057
1058 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
1059 |=**Command Example**|=**Response**
1060 |AT+PLDTA=10|(((
1061 Stop Tx events when read sensor data
1062
1063 1 22/10/29 09:58:45 bat:3620 status:no_leak leak_times:0 last_leak_duration:7 alarm:false
1064
1065 2 22/10/31 00:51:04 bat:3641 status:no_leak leak_times:0 last_leak_duration:0 alarm:false
1066
1067 3 22/10/31 00:56:52 bat:3643 status:leak    leak_times:1 last_leak_duration:0 alarm:false
1068
1069 4 22/10/31 00:58:40 bat:3641 status:leak    leak_times:0 last_leak_duration:0 alarm:false
1070
1071 5 22/10/31 00:59:22 bat:3641 status:no_leak leak_times:0 last_leak_duration:0 alarm:false
1072
1073 6 22/10/31 01:01:50 bat:3641 status:leak    leak_times:0 last_leak_duration:0 alarm:false
1074
1075 7 22/10/31 01:02:22 bat:3641 status:leak    leak_times:1 last_leak_duration:0 alarm:false
1076
1077 8 22/10/31 02:20:40 bat:3627 status:leak    leak_times:0 last_leak_duration:0 alarm:false
1078
1079 9 22/10/31 02:34:59 bat:3627 status:leak    leak_times:0 last_leak_duration:0 alarm:false
1080
1081 10 22/10/31 02:45:55 bat:3625 status:leak    leak_times:0 last_leak_duration:0 alarm:false
1082
1083 Start Tx events
1084
1085 OK
1086 )))
1087
1088 (% style="color:#4472c4" %)**Downlink Command:**
1089
1090 No downlink command for this feature.
1091
1092
1093
1094 == 3.14  Clear Flash Record ==
1095
1096
1097 (((
1098 Feature: Clear flash storage for data log feature.
1099 )))
1100
1101 (((
1102 (% style="color:#4472c4" %)**AT Command: AT+CLRDTA**
1103
1104
1105 (% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
1106 |=(% style="width: 157px;" %)**Command Example**|=(% style="width: 169px;" %)**Function**|=**Response**
1107 |(% style="width:157px" %)AT+CLRDTA|(% style="width:169px" %)Clear flash storage for data log feature.|Clear all stored sensor data… OK
1108 )))
1109
1110
1111 (((
1112 (% style="color:#4472c4" %)**Downlink Command:**
1113 )))
1114
1115 (((
1116 Example: 0xA301  ~/~/  Same as AT+CLRDTA
1117 )))
1118
1119
1120
1121 = 4.  Battery & How to replace =
1122
1123
1124 == 4.1  Battery Info ==
1125
1126 (((
1127 LWL03A is equipped with a [[8500mAH ER18505 Li-SOCI2 battery>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]. The battery is an un-rechargeable battery with a low discharge rate targeting 8~~10 years of use. This type of battery is commonly used in IoT targets for long-term running, such as water meters.
1128 )))
1129
1130 (((
1131 The battery related documents as below:
1132 )))
1133
1134 * [[Battery Dimension>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]],
1135
1136 * [[Lithium-Thionyl Chloride Battery  datasheet>>url:https://www.dragino.com/downloads/downloads/datasheet/Battery/ER26500/ER26500_Datasheet-EN.pdf]],
1137
1138 * [[Lithium-ion Battery-Capacitor datasheet>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]], [[Tech Spec>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]]
1139
1140 (((
1141 The discharge curve is not linear so can't simply use percentage to show the battery level. Below is the battery performance.
1142 )))
1143
1144
1145 [[image:1654593587246-335.png]]
1146
1147
1148 Minimum Working Voltage for the LWL03A:
1149
1150 LWL03A:  2.45v ~~ 3.6v
1151
1152
1153
1154 === 4.1.1  ​Battery Note ===
1155
1156
1157 (((
1158 The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased.
1159 )))
1160
1161
1162
1163 == 4.2  Replace Battery ==
1164
1165
1166 (((
1167 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery.
1168 )))
1169
1170 (((
1171 And make sure the positive and negative pins match.
1172 )))
1173
1174 [[image:image-20221031154914-6.png]]
1175
1176
1177
1178 == 4.3  Battery Life Analyze ==
1179
1180
1181 (((
1182 Dragino battery powered products are all run in Low Power mode. User can check the guideline from this link to calculate the estimate battery life:
1183 )))
1184
1185 (((
1186 [[https:~~/~~/www.dragino.com/downloads/downloads/LoRa_End_Node/Battery_Analyze/DRAGINO_Battery_Life_Guide.pdf>>url:https://www.dragino.com/downloads/downloads/LoRa_End_Node/Battery_Analyze/DRAGINO_Battery_Life_Guide.pdf]]
1187 )))
1188
1189 (((
1190 When entering the first command, the (% style="color:red" %)**RED LED**(%%) will on and user can now input AT Commands. After input all needed AT Commands, please input (% style="color:red" %)**AT+CLPM=1**(%%) to set the device to work in Low Power mode and (% style="color:red" %)**RED LED**(%%) will be off.
1191 )))
1192
1193 (((
1194 More detail AT Command manual can be found at [[AT Command Manual>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/LDS01/]]
1195 )))
1196
1197
1198
1199 = 5.  FAQ =
1200
1201
1202 == 5.1  How to use AT Command to configure LWL03A ==
1203
1204
1205 LWL03A UART connection photo
1206
1207
1208 [[image:1654757007713-791.png]]
1209
1210
1211 (((
1212 In the PC, you need to set the serial baud rate to (% style="color:green" %)**9600**(%%) to access the serial console for LWL03A. LWL03A will output system info once power on as below:
1213 )))
1214
1215
1216 [[image:image-20220609144231-3.png||height="644" width="922"]]
1217
1218
1219
1220 == 5.2  How to upgrade the firmware? ==
1221
1222
1223 A new firmware might be available for:
1224
1225 * Support new features
1226
1227 * For bug fix
1228
1229 * Change LoRaWAN bands.
1230
1231 Instruction for how to upgrade: [[Firmware Upgrade Instruction>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome||anchor="H2.HardwareUpgradeMethodSupportList"]]
1232
1233
1234 Firmware location: [[https:~~/~~/www.dropbox.com/sh/23v29gi61jq9mp6/AABgwJQ_xuybFivgbDZwTyNGa?dl=0>>url:https://www.dropbox.com/sh/23v29gi61jq9mp6/AABgwJQ_xuybFivgbDZwTyNGa?dl=0]]
1235
1236
1237
1238 == 5.3  How to change the LoRa Frequency Bands/Region? ==
1239
1240
1241 (((
1242 Users can follow the introduction for how to upgrade image. When downloading the images, choose the required image file for download.
1243 )))
1244
1245
1246 = 6.  Order Info =
1247
1248
1249 (% style="color:red" %)**Notice: LWL03A includes a one meter water leak cable, If user want to extend the lenght, please choose Water Leak Cable DR-WLN-XXX.**
1250
1251 **Water Leak Controller Part Number: (% style="color:blue" %)LWL03A-XXX(%%)**
1252
1253 (% style="color:blue" %)**XXX**:
1254
1255 * (% style="color:red" %)**EU433**(%%): frequency bands EU433
1256 * (% style="color:red" %)**EU868**(%%): frequency bands EU868
1257 * (% style="color:red" %)**KR920**(%%): frequency bands KR920
1258 * (% style="color:red" %)**CN470**(%%): frequency bands CN470
1259 * (% style="color:red" %)**AS923**(%%): frequency bands AS923
1260 * (% style="color:red" %)**AU915**(%%): frequency bands AU915
1261 * (% style="color:red" %)**US915**(%%): frequency bands US915
1262 * (% style="color:red" %)**IN865**(%%): frequency  bands IN865
1263 * (% style="color:red" %)**CN779**(%%): frequency bands CN779
1264
1265 **Water Leak Cable Part Number: (% style="color:blue" %)DR-WLN-XXX(%%)**
1266
1267 (% style="color:blue" %)**XXX:**
1268
1269 * (% style="color:red" %)**1M : **(%%)1 meter water leak cable
1270 * (% style="color:red" %)**5M : **(%%)5 meters water leak cable
1271 * (% style="color:red" %)**10M: **(%%)10 meters water leak cable
1272
1273 = 7.  ​Packing Info =
1274
1275
1276 **LWL03A Package Includes**:
1277
1278 * LWL03A x 1
1279 * 1 x 1m water lead cable
1280 * 1 x termination end
1281
1282 = 8.  ​Support =
1283
1284
1285 * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
1286
1287 * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]].
1288
1289
1290
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0