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