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