Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20220519085532-1.png||_mstalt="431171" height="429" width="366"]]
3
4
5
6
7
8 **Table of Contents:**
9
10 {{toc/}}
11
12
13
14
15
16
17 = 1. Introduction =
18
19 == 1.1 What is SW3L LoRaWAN Flow Sensor ==
20
21
22 (((
23 The Dragino SW3L is a (% style="color:#037691" %)**LoRaWAN Flow Sensor**(%%). It detects water flow volume and uplink to IoT server via LoRaWAN network. User can use this to** (% style="color:#037691" %)monitor the water usage for buildings.(%%)**
24 )))
25
26 (((
27 SW3L is powered by (% style="color:#037691" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long term use up to 10 years. (Actually Battery life depends on the use environment, update period.)
28 )))
29
30 (((
31 The SW3L will send water flow volume every 20 minutes. It can also (% style="color:#037691" %)**detect the water flow status**(%%) and (% style="color:#037691" %)**send Alarm**(%%), to avoid the waste for water usage such as broken toilet case.
32 )))
33
34 (((
35 SW3L is designed for both indoor and outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures.
36 )))
37
38 (((
39 Each SW3L 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
40 )))
41
42 (((
43 *Battery life depends on how often to send data, please see battery analyzer.
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 * Upload water flow volume
53 * Monitor water waste
54 * 8500mAh industrial battery(none-rechargeable)
55 * AT Commands to change parameters
56 * Uplink on periodically and open/close event
57 * Datalog feature
58 * Remote configure parameters via LoRa Downlink
59 * Firmware upgradable via program port
60 * Wall Mountable
61 * Outdoor Use
62
63 == 1.3 Installation ==
64
65
66 Each SW3L package is shipped with a flow sensor. Install the flow sensor into water pipe with correct flow direction to start monitoring.
67
68
69 == 1.4 Storage & Operation Temperature ==
70
71
72 -40°C to +85°C
73
74
75 == 1.5 Applications ==
76
77
78 * Flow Sensor application
79 * Water Control
80 * Toilet Flow Sensor
81 * Monitor Waste water
82
83 == 1.6 Flow Sensor Spec ==
84
85
86 (((
87 (% border="1.5" cellspacing="2" style="background-color:#ffffcc; color:green; width:510px" %)
88 |=(% style="width: 80px;" %)**Model**|=(% style="width: 80px;" %)**Probe**|=(% style="width: 80px;" %)**Diameter**|=(% style="width: 80px;" %)**Range**|=(% style="width: 80px;" %)**Max Pressure**|=(% style="width: 110px;" %)**Measure**
89 |(% style="width:88px" %)SW3L-004|(% style="width:75px" %)DW-004|(% style="width:107px" %)G1/2" /DN15|(% style="width:101px" %)1~~30L/min|(% style="width:116px" %)≤ 2.0Mpa|(% style="width:124px" %)450 pulse = 1 L
90 |(% style="width:88px" %)SW3L-006|(% style="width:75px" %)DW-006|(% style="width:107px" %)G3/4" /DN20|(% style="width:101px" %)1~~60L/min|(% style="width:116px" %)≤ 1.2Mpa|(% style="width:124px" %)390 pulse = 1 L
91 |(% style="width:88px" %)SW3L-010|(% style="width:75px" %)DW-010|(% style="width:107px" %)G 1" /DN25|(% style="width:101px" %)2~~100L/min|(% style="width:116px" %)≤ 2.0Mpa|(% style="width:124px" %)64 pulse = 1 L
92
93
94 )))
95
96
97 == 1.7 Mechanical ==
98
99
100 [[image:1652922789057-479.png||_mstalt="299312"]]
101
102 [[image:1652922797548-885.png||_mstalt="300391"]]
103
104
105
106 **DW-004 Flow Sensor: diameter: G1/2” / DN15.  450 pulse = 1 L**
107
108 [[image:image-20220519091350-1.png||_mstalt="429611" height="385" width="722"]]
109
110
111
112 **006: DW-006 Flow Sensor: diameter: G3/4” / DN20.  390 pulse = 1 L**
113
114 [[image:image-20220519091423-2.png||_mstalt="5391646" height="258" width="723"]]
115
116
117
118 **010: DW-010 Flow Sensor: diameter: G 1” / DN25. 64 pulse = 1 L**
119
120 [[image:image-20220519091423-3.png||_mstalt="5391971" height="448" width="724"]]
121
122
123 == 1.8 Pin Definitions and Switch ==
124
125
126 [[image:1652923899427-927.png||_mstalt="299377" height="372" width="723"]]
127
128
129 === 1.8.1 Pin Definition ===
130
131
132 SW3L is pre-configured to connect to two external wires. The other pins are not used. If user wants to know more about other pins, please refer to the user manual of LSN50v2 at:
133
134 [[https:~~/~~/www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0>>https://www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0]]
135
136 (% style="color:red" %)**Add PA11 digital input and PA12 digital input(Since firmware v1.2.0)**
137
138
139 === 1.8.2 Jumper JP2(Power ON/OFF) ===
140
141
142 Power on Device when putting this jumper.
143
144
145 === 1.8.3 BOOT MODE / SW1 ===
146
147
148 (((
149 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. 
150 2) Flash: work mode, the device starts to work and send out console output for further debug
151 )))
152
153
154 === 1.8.4 Reset Button ===
155
156
157 Press to reboot the device.
158
159
160 === 1.8.5 LED ===
161
162
163 It will flash:
164 1)   Boot the device in flash mode
165 2)   Send an uplink packe
166
167
168 = 2. Operation Mode =
169
170 == 2.1 How it works? ==
171
172
173 Each SW3L is shipped with a worldwide unique set of OTAA keys. To use SW3L in a LoRaWAN network, user needs to input the OTAA keys in the LoRaWAN network server. So SW3L can join the LoRaWAN network and start to transmit sensor data.
174
175
176 == 2.2 Example to use for LoRaWAN network ==
177
178
179 This section shows an example of how to join the TTN V3 LoRaWAN IoT server. Usages with other LoRaWAN IoT servers are similar.
180
181
182 [[image:1652944563101-603.png||_mstalt="292279" height="321" width="729"]]
183
184
185 * In this use case, the SW3L is connected into water line to measure water flow and send the status to the LoRaWAN server. The SW3L will uplink different types of messages to the LoRaWAN server. See [[Uplink payload>>||anchor="H2.3UplinkPayload"]] for detail.
186
187 (((
188 Assume the DLOS8 is already set to connect to the [[TTN V3 network >>url:https://eu1.cloud.thethings.network]]. We need to add the SW3L device in TTN V3:
189
190
191 )))
192
193 (((
194 (% style="color:blue" %)**Step 1**(%%): Create a device in TTN V3 with the OTAA keys from SW3L.
195 )))
196
197 (((
198 Each SW3L is shipped with a sticker with the default device EUI as below:
199 )))
200
201 [[image:image-20230426085254-1.png]]
202
203
204 Users can enter these keys in the LoRaWAN Server portal. Below is the TTN V3 screenshot:
205
206 Add APP EUI in the application.
207
208
209
210 [[image:image-20220519151704-1.png||_mstalt="429715"]]
211
212
213 [[image:image-20220519151704-2.png||_mstalt="430079" height="322" width="717"]]
214
215
216 [[image:image-20220519151704-3.png||_mstalt="430443"]]
217
218
219 [[image:image-20220519151704-4.png||_mstalt="430807"]]
220
221 Add APP KEY and DEV EUI
222
223
224
225 (% style="color:blue" %)**Step 2**(%%): Power on SW3L
226
227 [[image:image-20220519094347-1.png||_mstalt="432549" height="430" width="725"]]
228
229
230 (((
231 Put the jumper to power on SW3L 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.
232 )))
233
234 [[image:1652924675638-547.png||_mstalt="298363" height="254" width="732"]]
235
236
237 == 2.3 Uplink Payload ==
238
239
240 (((
241 Uplink payloads have two types:
242 )))
243
244 * (((
245 Open/Close Status: Use FPORT=2
246 )))
247 * (((
248 Other control commands: Use other FPORT fields.
249 )))
250
251 (((
252 The application server should parse the correct value based on FPORT settings.
253
254
255 )))
256
257 === 2.3.1 Device Status, FPORT~=5 ===
258
259
260 (((
261 (((
262 Include device configure status. Once SW3L Joined the network, it will uplink this message to the server. After that, SW3L will uplink Device Status every 12 hours.
263 )))
264 )))
265
266 (((
267 (((
268 Users can also use the downlink command(0x26 01) to ask SW3L to resend this uplink. This uplink payload also includes the DeviceTimeReq to get time.
269
270 [[image:image-20220609174312-1.png||_mstalt="429572"]]
271 )))
272 )))
273
274
275 Example parse in TTNv3
276
277 [[image:1652925144491-755.png||_mstalt="296296" height="139" width="732"]]
278
279 * (% style="color:#037691" %)**Sensor Model**(%%): For SW3L, this value is 0x11
280
281 * (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
282
283 * (% style="color:#037691" %)**Frequency Band**(%%):
284
285 *0x01: EU868
286
287 *0x02: US915
288
289 *0x03: IN865
290
291 *0x04: AU915
292
293 *0x05: KZ865
294
295 *0x06: RU864
296
297 *0x07: AS923
298
299 *0x08: AS923-1
300
301 *0x09: AS923-2
302
303 *0x0a: AS923-3
304
305 *0x0b: CN470
306
307 *0x0c: EU433
308
309 *0x0d: KR920
310
311 *0x0e: MA869
312
313 * (((
314 (% style="color:#037691" %)**Sub-Band**:
315
316 * AU915 and US915:value 0x00 ~~ 0x08
317 * CN470: value 0x0B ~~ 0x0C
318 * Other Bands: Always 0x00
319
320
321 )))
322
323 * (% style="color:#037691" %)**Battery Info:**
324
325 Check the battery voltage.
326
327 **Ex1**: 0x0B45 = 2885mV
328
329 **Ex2**: 0x0B49 = 2889mV
330
331
332 === 2.3.2 Sensor Configuration, FPORT~=4 ===
333
334
335 SW3L will only send this command after getting the downlink command (0x26 02) from the server.
336
337 [[image:image-20220609174446-2.png||_mstalt="432575"]]
338
339
340 * (% style="color:#037691" %)**TDC: (default: 0x0004B0)**
341
342 Uplink interval for the total pulse count, default value is 0x0004B0 which is 1200 seconds = 20 minutes.
343
344
345 * (% style="color:#037691" %)**STOP Duration & Alarm Timer**
346
347 Shows the configure value of [[Alarm for continuously water flow>>||anchor="H3.4Alarmforcontinuouslywaterflow"]]
348
349 [[image:image-20220519095747-2.png||_mstalt="434460" height="113" width="723"]]
350
351
352 === 2.3.3 Water Flow Value, Uplink FPORT~=2 ===
353
354
355 (((
356 SW3L will send this uplink **after** Device Status once join the LoRaWAN network successfully. And SW3L will:
357 )))
358
359 (((
360 periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.1SetTransmitIntervalTime"]].
361 )))
362
363 (((
364 Uplink Payload totals 11 bytes.
365 )))
366
367 (% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:510px" %)
368 |=(% colspan="6" style="width: 510px;" %)**Water Flow Value,  FPORT=2**
369 |(% style="width:60px" %)**Size(bytes)**|(% style="width:130px" %)**1**|(% style="width:130px" %)**4**|(% style="width:30px" %)**1**|(% style="width:50px" %)**1**|(% style="width:80px" %)**4**
370 |(% style="width:110px" %)**Value**|(% style="width:81px" %)Calculate Flag & [[Alarm>>||anchor="H3.4Alarmforcontinuouslywaterflow"]]|(% style="width:95px" %)(((
371 Total pulse Or Last Pulse
372 )))|(% style="width:55px" %)MOD|(% style="width:115px" %)Reserve(0x01)|(% style="width:129px" %)[[Unix TimeStamp>>||anchor="H2.4.1UnixTimeStamp"]]
373
374 (% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:470px" %)
375 |=(% colspan="4" style="width: 470px;" %)**Status & Alarm field**
376 |(% style="width:60px" %)**Size(bit)**|(% style="width:80px" %)**6**|(% style="width:310px" %)**1**|(% style="width:20px" %)**1**
377 |(% style="width:88px" %)**Value**|(% style="width:117px" %)Calculate Flag|(% style="width:221px" %)Alarm: 0: No Alarm; 1: Alarm|(% style="width:64px" %)N/A
378
379 [[image:image-20220519095946-3.png||_mstalt="435110" height="284" width="736"]]
380
381
382 * (((
383 (% style="color:#037691" %)**Calculate Flag**
384 )))
385
386 (((
387 The calculate flag is a user defined field, IoT server can use this flag to handle different meters with different pulse factors. For example, if there are 100 Flow Sensors, meters 1 ~~50 are 1 liter/pulse and meters 51 ~~ 100 has 1.5 liter/pulse.
388 )))
389
390 (((
391 **Example: in the default payload:**
392 )))
393
394 * (((
395 calculate flag=0: for SW3L-004 Flow Sensor: 450 pulse = 1 L
396 )))
397 * (((
398 calculate flag=1: for SW3L-006 Flow Sensor: 390 pulse = 1 L
399 )))
400 * (((
401 calculate flag=2: for SW3L-010 Flow Sensor: 64 pulse = 1 L
402 )))
403
404 (((
405 Default value: 0. 
406 )))
407
408 (((
409 Range (6 bits): (b)000000 ~~ (b) 111111
410
411 If user use with a meter for example is 0.02L/pulse. To proper decode the correct value in server,
412
413 1) User can set the Calculate Flag of this sensor to 3.
414
415 2) In server side, when a sensor data arrive, the decoder will check the value of Calculate Flag, It the value is 3, the total volume = 0.02 x Pulse Count.
416 )))
417
418 (((
419 (% style="color:red" %)**NOTE: User need to set Calculate Flag to proper value before use Flow Sensor. Downlink or AT Command see: **(%%)Refer: [[Set Calculate Flag>>||anchor="H3.6Setthecalculateflag"]]
420
421
422 )))
423
424 * (((
425 (% style="color:#037691" %)**Alarm**
426 )))
427
428 (((
429 See [[Alarm Base on Timeout>>||anchor="H3.4Alarmforcontinuouslywaterflow"]]
430 )))
431
432 [[image:image-20220519095946-4.png||_mstalt="435474" height="65" width="724"]]
433
434
435 * (((
436 (% style="color:#037691" %)**Total pulse**
437 )))
438
439 (((
440 Total pulse/counting since factory
441 )))
442
443 (((
444 Range (4 Bytes) : 0x00000000~~ 0xFFFFFFFF .
445
446
447 )))
448
449 * (((
450 (% style="color:#037691" %)**Last Pulse**
451 )))
452
453 (((
454 Total pulse since last FPORT=2 uplink. (Default 20 minutes)
455 )))
456
457 (((
458 Range (4 Bytes) : 0x00000000~~ 0xFFFFFFFF .
459
460
461 )))
462
463 * (((
464 (% style="color:#037691" %)**MOD: Default =0**
465 )))
466
467 (((
468 MOD=0 ~-~-> Uplink Total Pulse since factory
469 )))
470
471 (((
472 MOD=1 ~-~-> Uplink total pulse since last FPORT=2 uplink.
473
474
475 )))
476
477 * (((
478 (% style="color:#037691" %)**Water Flow Value**
479
480
481
482 )))
483
484 (((
485 Total Water Flow Volume = (Calculate Flag) x (Total Pulse)=9597/450=21.3L
486
487
488 )))
489
490 [[image:image-20220519095946-5.png||_mstalt="435838" height="50" width="727"]]
491
492
493
494 (((
495 Total Water Flow for TDC timer = (Calculate Flag) x (Last Pulse)=79/450=0.2L
496
497
498 )))
499
500 [[image:image-20220519095946-6.png||_mstalt="436202" height="43" width="733"]] ** **
501
502
503 === 2.3.4 Historical Water Flow Status, FPORT~=3 ===
504
505
506 (((
507 SW3L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.4DatalogFeature"]].
508 )))
509
510 (((
511 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time water flow status.
512 )))
513
514 * (((
515 Each data entry is 11 bytes and has the same structure as [[real time water flow status>>||anchor="H2.3.3A0WaterFlowValue2CUplinkFPORT3D2"]], to save airtime and battery, SW3L will send max bytes according to the current DR and Frequency bands.
516 )))
517
518 (((
519 For example, in the US915 band, the max payload for different DR is:
520 )))
521
522 (((
523 **a) DR0:** max is 11 bytes so one entry of data
524 )))
525
526 (((
527 **b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
528 )))
529
530 (((
531 **c) DR2:** total payload includes 11 entries of data
532 )))
533
534 (((
535 **d) DR3:** total payload includes 22 entries of data.
536 )))
537
538 (((
539 If SW3L doesn't have any data in the polling time. It will uplink 11 bytes of 0
540
541
542 )))
543
544 (((
545 (% style="color:#037691" %)**Downlink:**
546 )))
547
548 (((
549 0x31 62 46 B1 F0 62 46 B3 94 07
550 )))
551
552 [[image:1652926690850-712.png||_mstalt="295178" height="115" width="726"]]
553
554
555 (((
556 (% style="color:#037691" %)**Uplink:**
557 )))
558
559 (((
560 00 00 01 00 00 00 00 62 46 B2 26 00 00 01 00 00 00 00 62 46 B2 5D 00 00 01 00 00 00 00 62 46 B2 99 00 00 01 00 00 00 00 62 46 B2 D5 00 00 01 00 00 01 15 62 46 B3 11 00 00 01 00 00 01 1F 62 46 B3 7E
561
562
563 )))
564
565 (((
566 (% style="color:#037691" %)**Parsed Value:**
567 )))
568
569 (((
570 [Alarm, Calculate Flag, MOD, Total pulse or Last Pulse,** **Water Flow Value, TIME]
571 )))
572
573 (((
574
575 )))
576
577 (((
578 [FALSE,0,0,0,0.0,2022-04-01 08:04:54],
579 )))
580
581 (((
582 [FALSE,0,0,0,0.0,2022-04-01 08:05:49],
583 )))
584
585 (((
586 [FALSE,0,0,0,0.0,2022-04-01 08:06:49],
587 )))
588
589 (((
590 [FALSE,0,0,0,0.0,2022-04-01 08:07:49],
591 )))
592
593 (((
594 [FALSE,0,0,277,0.6,2022-04-01 08:08:49],
595 )))
596
597 (((
598 [FALSE,0,0,287,0.6,2022-04-01 08:10:38],
599
600
601 )))
602
603 [[image:1652926777796-267.png||_mstalt="300183" height="279" width="724"]]
604
605
606 == 2.4 Datalog Feature ==
607
608
609 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.
610
611
612 === 2.4.1 Unix TimeStamp ===
613
614
615 SW3L uses Unix TimeStamp format based on
616
617 [[image:1652926852443-847.png||_mstalt="297427" height="112" width="724"]]
618
619 Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
620
621 Below is the converter example
622
623 [[image:1652926913271-611.png||_mstalt="293605" height="421" width="720"]]
624
625
626 === 2.4.2 Set Device Time ===
627
628
629 (% style="color:#4f81bd" %)**Through LoRaWAN MAC Command**
630
631 (((
632 Once SW3L Joined the LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to SW3L. If SW3L fails to get the time from the server, SW3L will use the internal time and wait for the next time request ~[[[via Device Status (FPORT=5)>>||anchor="H2.3.1DeviceStatus2CFPORT3D5"]]].
633
634
635 )))
636
637 (((
638 (% 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.**
639
640
641 )))
642
643 === 2.4.3 Poll sensor value ===
644
645
646 Users can poll sensor values based on timestamps. Below is the downlink command.
647
648 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:458.989px" %)
649 |=(% colspan="4" style="width: 456px;" %)**Downlink Command to poll Open/Close status (0x31)**
650 |(% style="width:62px" %)**1byte**|(% style="width:137px" %)**4bytes**|(% style="width:136px" %)**4bytes**|(% style="width:120px" %)**1byte**
651 |(% style="width:62px" %)31|(% style="width:137px" %)Timestamp start|(% style="width:136px" %)Timestamp end|(% style="width:120px" %)Uplink Interval
652
653 (((
654 Timestamp start and Timestamp end-use Unix TimeStamp format as mentioned above. Devices will reply with all data logs during this period, using the uplink interval.
655 )))
656
657 (((
658 For example, downlink command[[image:image-20220519152849-5.png||_mstalt="434772"]]
659 )))
660
661 (((
662 Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
663 )))
664
665 (((
666 Uplink Internal =5s,means CPL01 will send one packet every 5s. range 5~~255s.
667
668
669 )))
670
671 === 2.4.4 Decoder in TTN V3 ===
672
673
674 [[image:1652927365661-475.png||_mstalt="297089" height="359" width="723"]]
675
676 Please check the decoder from this link:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
677
678
679 == 2.5 Show data on Datacake ==
680
681
682 (((
683 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:
684 )))
685
686 (((
687 (% 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]]
688 )))
689
690 (((
691 (% style="color:blue" %)**Step 2**(%%): Configure SW3L in Datacake  ​​​​
692
693
694 )))
695
696 [[image:image-20220519103234-7.png||_mstalt="430482" height="562" width="492"]]
697
698
699 [[image:image-20220519103234-8.png||_mstalt="430846" height="550" width="549"]]
700
701
702 [[image:image-20220519103234-9.png||_mstalt="431210" height="493" width="666"]]
703
704
705 [[image:image-20220519103234-10.png||_mstalt="451217" height="234" width="724"]]
706
707
708 [[image:image-20220519103234-11.png||_mstalt="451594" height="386" width="727"]]
709
710
711 [[image:image-20220519103234-12.png||_mstalt="451971" height="262" width="728"]]
712
713
714 [[image:image-20220519103234-13.png||_mstalt="452348" height="216" width="727"]]
715
716
717 [[image:image-20220519103234-14.png||_mstalt="452725" height="464" width="722"]]
718
719
720 [[image:image-20220519103234-15.png||_mstalt="453102" height="488" width="725"]]
721
722
723 [[image:image-20220519103234-16.png||_mstalt="453479" height="407" width="722"]]
724
725
726 = 3. Configure SW3L via AT Command or LoRaWAN Downlink =
727
728
729 Use can configure SW3L via AT Command or LoRaWAN Downlink.
730
731 * AT Command Connection: See [[FAQ>>||anchor="H5.FAQ"]].
732 * LoRaWAN Downlink instruction for different platforms: [[IoT LoRaWAN Server>>doc:Main.WebHome]]
733
734 There are two kinds of commands to configure SW3L, they are:
735
736
737 * (% style="color:#4f81bd" %)**General Commands**.
738
739 These commands are to configure:
740
741 * General system settings like uplink interval.
742 * LoRaWAN protocol & radio related command.
743
744 They are the same for all Dragino Devices which support DLWS-005 LoRaWAN Stack(Note~*~*). 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]]
745
746
747 * (% style="color:#4f81bd" %)**Commands special design for SW3L**
748
749 These commands are only valid for SW3L, as below:
750
751
752 == 3.1 Set Transmit Interval Time ==
753
754
755 Feature: Change LoRaWAN End Node Transmit Interval.
756
757
758 (% style="color:#4f81bd" %)**AT Command: AT+TDC**
759
760 [[image:image-20220609175355-3.png||_mstalt="432913"]]
761
762
763 (% style="color:#4f81bd" %)**Downlink Command: 0x01**
764
765 Format: Command Code (0x01) followed by 3 bytes time value.
766
767 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
768
769 * **Example 1**: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
770 * **Example 2**: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
771
772 == 3.2 Set Password ==
773
774
775 Feature: Set device password, max 9 digits
776
777
778 (% style="color:#4f81bd" %)**AT Command: AT+PWORD**
779
780
781 (% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:427.989px" %)
782 |=(% style="width: 174px;" %)**Command Example**|=(% style="width: 136px;" %)**Function**|=(% style="width: 114px;" %)**Response**
783 |(% style="width:174px" %)AT+PWORD=?|(% style="width:136px" %)Show password|(% style="width:114px" %)(((
784 (((
785 123456
786 )))
787
788 (((
789 OK
790 )))
791 )))
792 |(% style="width:174px" %)AT+PWORD=999999|(% style="width:136px" %)Set password|(% style="width:114px" %)(((
793 OK
794 )))
795
796 (% style="color:#4f81bd" %)**Downlink Command:**
797
798 No downlink command for this feature.
799
800
801 == 3.3 Quit AT Command ==
802
803
804 (((
805 Feature: Quit AT Command mode, so user needs to input the password again before using AT Commands.
806
807
808 (% style="color:#4f81bd" %)**AT Command: AT+DISAT**
809 )))
810
811 (% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:444.989px" %)
812 |=(% style="width: 156px;" %)**Command Example**|=(% style="width: 194px;" %)**Function**|=(% style="width: 91px;" %)**Response**
813 |(% style="width:156px" %)AT+DISAT|(% style="width:194px" %)Quit AT Commands mode|(% style="width:91px" %)OK
814
815 (% style="color:#4f81bd" %)**Downlink Command:**
816
817 No downlink command for this feature.
818
819
820 == 3.4 Alarm for continuously water flow ==
821
822
823 (((
824 This feature is to monitor and send Alarm for continuously water flow.
825 )))
826
827 (((
828 Example case is for Toilet water monitoring, if some one push toilet button, the toilet will have water flow. If the toilet button has broken and can't returned to original state, the water flow will keep for hours or days which cause huge waste for water.
829 )))
830
831 (((
832 To monitor this faulty and send alarm, there are two settings:
833 )))
834
835 * (((
836 (% style="color:#4f81bd" %)**Stop Duration: Unit: Second**
837 )))
838
839 (((
840 Default: 15s, If SW3L didn't see any water flow in 15s, SW3L will consider stop of water flow event.
841 )))
842
843 * (((
844 (% style="color:#4f81bd" %)**Alarm Timer: Units: Minute; Default 0 minutes (means Alarm disable)**
845 )))
846
847 (((
848
849
850 **Example:** 3 minutes, if SW3L detect a start of water flow event and didn't detect a stop event within Alarm timer, SW3L will send an Alarm to indicate a water flow abnormal alarm.
851 )))
852
853 (((
854 So for example, If we set stop duration=15s and Alarm Timer=3minutes. If the toilet water flow continuously for more than 3 minutes, Sensor will send an alarm (in Confirmed MODE) to platform.
855 )))
856
857 (((
858 (% style="color:red" %)**Note:** **After this alarm is send, sensor will consider a stop of water flow and count for another new event. So if water flow waste last for 1 hour, Sensor will keep sending alarm every 3 minutes.**
859
860
861 )))
862
863 (((
864 (% style="color:#4f81bd" %)**AT Command**(%%) to configure:
865 )))
866
867 * (((
868 AT+PTRIG=15,3  ~-~-> Set Stop duration: 15s, Alarm Timer: 3 minutes.
869 )))
870 * (((
871 AT+ PTRIG=15,0  ~-~-> Default Value, disable water waste Alarm.
872 )))
873
874 (((
875
876
877 (% style="color:#4f81bd" %)**Downlink Command**(%%) to configure: 
878 )))
879
880 (((
881 Command: **0xAA aa bb cc**
882 )))
883
884 (((
885 AA: Command Type Code
886 )))
887
888 (((
889 aa: Stop duration
890 )))
891
892 (((
893 bb cc: Alarm Timer
894 )))
895
896 (((
897 If user send 0xAA 0F 00 03: equal to AT+PTRIG=15,3
898 )))
899
900
901 == 3.5 Clear Flash Record ==
902
903
904 Feature: Clear flash storage for data log feature.
905
906
907 (% style="color:#4f81bd" %)**AT Command: AT+CLRDTA**
908
909 [[image:image-20220609175554-4.png||_mstalt="433563"]]
910
911
912 (% style="color:#4f81bd" %)**Downlink Command:**
913
914 * **Example**: 0xA301  ~/~/  Same as AT+CLRDTA
915
916 == 3.6 Set the calculate flag ==
917
918
919 Feature: Set the calculate flag
920
921
922 (% style="color:#4f81bd" %)**AT Command: AT+CALCFLAG**
923
924 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:461.989px" %)
925 |=(% style="width: 161px;" %)**Command Example**|=(% style="width: 202px;" %)**Function**|=(% style="width: 95px;" %)**Response**
926 |(% style="width:161px" %)AT+CALCFLAG=1|(% style="width:202px" %)Set the calculate flag to 1.|(% style="width:95px" %)OK
927 |(% style="width:161px" %)AT+CALCFLAG=2|(% style="width:202px" %)Set the calculate flag to 2.|(% style="width:95px" %)OK
928
929 (% style="color:#4f81bd" %)**Downlink Command:**
930
931 * **Example**: 0XA501  ~/~/  Same as AT+CALCFLAG =1
932
933 == 3.7 Set count number ==
934
935
936 Feature: Manually set the count number
937
938
939 (% style="color:#4f81bd" %)**AT Command: AT+SETCNT**
940
941 (% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:480.989px" %)
942 |=(% style="width: 162px;" %)**Command Example**|=(% style="width: 222px;" %)**Function**|=(% style="width: 93px;" %)**Response**
943 |(% style="width:162px" %)AT+ SETCNT=0|(% style="width:222px" %)Set the count number to 0.|(% style="width:93px" %)OK
944 |(% style="width:162px" %)AT+ SETCNT=100|(% style="width:222px" %)Set the count number to 100.|(% style="width:93px" %)OK
945
946 (% style="color:#4f81bd" %)**Downlink Command:**
947
948 * **Example**: 0xA600000001  ~/~/  Same as AT+ SETCNT =1
949 * **Example**: 0xA600000064  ~/~/  Same as AT+ SETCNT =100
950
951 == 3.8 Set work mode ==
952
953
954 Feature: Manually set the work mode
955
956
957 (% style="color:#4f81bd" %)**AT Command: AT+MOD**
958
959 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:462.989px" %)
960 |=(% style="width: 162px;" %)**Command Example**|=(% style="width: 191px;" %)**Function**|=(% style="width: 106px;" %)**Response**
961 |(% style="width:162px" %)AT+MOD=0|(% style="width:191px" %)Set the work mode to 0.|(% style="width:106px" %)OK
962 |(% style="width:162px" %)AT+MOD=1|(% style="width:191px" %)Set the work mode to 1|(% style="width:106px" %)OK
963
964 (% style="color:#4f81bd" %)**Downlink Command:**
965
966 * **Example: **0x0A00  ~/~/  Same as AT+ MOD=0
967 * **Example:** 0x0A01  ~/~/  Same as AT+ MOD =1
968
969 = 4. Battery & Power Consumption =
970
971
972 SW3L uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
973
974 [[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
975
976
977 = 5. FAQ =
978
979 == 5.1 How to use AT Command to configure SW3 ==
980
981
982 SW3L UART connection photo
983
984 [[image:1652943554687-149.png||_mstalt="298155" height="354" width="724"]]
985
986
987 (((
988 In the PC, you need to set the serial baud rate to (% style="color:green" %)**9600**(%%) to access the serial console for LSN50. LSN50 will output system info once power on as below:
989 )))
990
991 [[image:1652943563580-704.png||_mstalt="295191" height="504" width="720"]]
992
993
994 == 5.2 How to upgrade the firmware? ==
995
996
997 (((
998 A new firmware might be available for:
999 )))
1000
1001 * (((
1002 Support new features
1003 )))
1004 * (((
1005 For bug fix
1006 )))
1007 * (((
1008 Change LoRaWAN bands.
1009 )))
1010
1011 (((
1012 Instruction for how to upgrade: [[Firmware Upgrade Instruction>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome||anchor="H2.HardwareUpgradeMethodSupportList" _mstmutation="1"]]
1013
1014
1015 )))
1016
1017 (((
1018 Firmware location:  [[https:~~/~~/www.dropbox.com/sh/jktldt8q674i87l/AADqk1zoUEekCjDR_4ic2Tg0a?dl=0>>https://www.dropbox.com/sh/jktldt8q674i87l/AADqk1zoUEekCjDR_4ic2Tg0a?dl=0]]
1019 )))
1020
1021
1022 == 5.3 How to change the LoRa Frequency Bands/Region? ==
1023
1024
1025 Users can follow the introduction for how to upgrade images. When downloading the images, choose the required image file for download.
1026
1027
1028 == 5.4 Can I connect 3rd party flow sensor other than the default one? ==
1029
1030
1031 If a user wants to connect SW3L to a 3rd party flow sensor such as a [[DN50 flow sensor>>https://valvesdirect.net/product/flow-sensor-2-inch-15-400lpm/]], that is possible. A flow sensor with pulse output is needed.
1032
1033 (% style="background-color:yellow" %)**Below is the notice for the connection:**
1034
1035 ~1. Connect the 3rd party flow meter to the pulse input and GND of SW3L.
1036
1037 2. Make sure the pulse output voltage of 3rd party flow sensor is less than 5v.
1038
1039 3. It is not recommended to use SW3L to power the external flow meter, unless you are sure the external flow sensor is low power ( several uA). Otherwise the battery of SW3L will be running out soon.
1040
1041 4. After connection, user needs to set the [[Calculator Flag and change the payload>>||anchor="H2.3.3A0WaterFlowValue2CUplinkFPORT3D2"]] so to get the correct reading in the platform.
1042
1043
1044 [[image:image-20220614233814-2.png||_mstalt="429949" height="280" width="383"]]
1045
1046
1047 = 6. Order Info =
1048
1049
1050 (((
1051 Part Number: (% style="color:#4f81bd" %)**SW3L-XXX-YYY**
1052 )))
1053
1054 (((
1055 (% style="color:#4f81bd" %)**XXX**(%%): The default frequency band
1056 )))
1057
1058 * (((
1059 (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1060 )))
1061 * (((
1062 (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1063 )))
1064 * (((
1065 (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1066 )))
1067 * (((
1068 (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1069 )))
1070 * (((
1071 (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1072 )))
1073 * (((
1074 (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1075 )))
1076 * (((
1077 (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1078 )))
1079 * (((
1080 (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1081
1082
1083
1084 )))
1085
1086 (((
1087 (% style="color:#4f81bd" %)**YYY**(%%): Flow Sensor Model:
1088 )))
1089
1090 (((
1091 004: DW-004 Flow Sensor: diameter: G1/2” / DN15.  450 pulse = 1 L
1092 )))
1093
1094 (((
1095 006: DW-006 Flow Sensor: diameter: G3/4” / DN20. 390 pulse = 1 L
1096 )))
1097
1098 (((
1099 010: DW-010 Flow Sensor: diameter: G 1” / DN25. 64 pulse = 1 L
1100 )))
1101
1102 * (((
1103 calculate flag=0: for SW3L-004 Flow Sensor: 450 pulse = 1 L
1104 )))
1105 * (((
1106 calculate flag=1: for SW3L-006 Flow Sensor: 390 pulse = 1 L
1107 )))
1108 * (((
1109 calculate flag=2: for SW3L-010 Flow Sensor: 64  pulse = 1 L
1110
1111
1112
1113 )))
1114
1115 = 7. Packing Info =
1116
1117
1118 **Package Includes**:
1119
1120 * SW3L Water Flow Sensor x 1
1121
1122 = 8. Support =
1123
1124
1125 * (((
1126 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.
1127 )))
1128 * (((
1129 Provide as much information as possible regarding your inquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:file:///D:/市场资料/说明书/LoRa/LT系列/support@dragino.com]].
1130
1131
1132
1133
1134 )))
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0