Version 74.3 by Edwin Chen on 2024/01/18 09:24

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