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