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