Version 76.3 by Xiaoling on 2024/01/25 09:02

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