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