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
408 (% style="color:red" %)**Note: At present, the calculation flag can only be set to 0~~2, and probe types other than this can directly calculate water flow using different decoding.**
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="3" style="background-color:#f2f2f2; width:459px" %)
656 |=(% colspan="4" style="width: 456px;background-color:#4F81BD;color:white" %)**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="3" style="background-color:#f2f2f2; width:510px" %)
768 |=(% 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**
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="3" style="background-color:#f2f2f2; width:405px" %)
797 |=(% 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**
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="3" style="background-color:#f2f2f2; width:452px" %)
833 |=(% 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**
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="3" style="background-color:#f2f2f2; width:510px" %)
931 |=(% 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**
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="3" style="background-color:#f2f2f2; width:462px" %)
947 |=(% 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**
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 == (% data-sider-select-id="e738628a-6dac-4911-8e57-1c07617a3bde" %)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="3" style="background-color:#f2f2f2; width:481px" %)
964 |=(% 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**
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="3" style="background-color:#f2f2f2; width:463px" %)
982 |=(% 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**
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 **Connection:**
1064
1065 [[image:image-20240918182813-2.jpeg||height="487" width="697"]]
1066
1067
1068 == 5.5 What can I do if error in Flash Write operation is displayed on the serial port? ==
1069
1070
1071 When the STM32 module is running, sometimes there is no uplink data (FPORT=2). When we use the serial port to view the printing information, we will find that the serial port is printed as "error in Flash Write operation".
1072
1073 Example:
1074
1075 [[image:image-20250217163534-3.png||height="418" width="1068"]]
1076
1077 [[image:image-20250217163128-1.png||height="604" width="822"]]
1078
1079 The device will reset continuously, and we can use the **AT+CLRDTA** command to clear all stored sensor data. Then restart the device and the device will return to normal.
1080
1081 [[image:image-20250217163301-2.png]]
1082
1083 [[image:image-20250217164119-4.png||height="442" width="1135"]]
1084
1085
1086 = 6. Order Info =
1087
1088
1089 Part Number: (% style="color:#4f81bd" %)**SW3L-XXX-YYY**
1090
1091 (% style="color:#4f81bd" %)**XXX**(%%): The default frequency band
1092
1093 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1094 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1095 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1096 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1097 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1098 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1099 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1100 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1101
1102 (((
1103 (% style="color:#4f81bd" %)**YYY**(%%): Flow Sensor Model:
1104 )))
1105
1106 * 004: DW-004 Flow Sensor: diameter: G1/2” / DN15.  450 pulse = 1 L
1107 * 006: DW-006 Flow Sensor: diameter: G3/4” / DN20. 390 pulse = 1 L
1108 * 010: DW-010 Flow Sensor: diameter: G 1” / DN25. 64 pulse = 1 L
1109 * 020: DW-020 Flow Sensor: diameter: G 2” / DN50. 12 pulse = 1 L
1110
1111 = 7. Packing Info =
1112
1113
1114 **Package Includes**:
1115
1116 * SW3L Water Flow Sensor x 1
1117
1118 = 8. Support =
1119
1120
1121 * (((
1122 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.
1123 )))
1124 * (((
1125 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]].
1126
1127
1128
1129
1130 )))
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0