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