Show last authors
1 (% style="text-align:center" %)
2 [[image:1652856952171-363.png]]
3
4
5
6
7
8
9
10
11
12
13
14
15 **Table of Contents:**
16
17 {{toc/}}
18
19
20
21 = 1. Introduction =
22
23
24 == 1.1 What is CPL01 LoRaWAN Pulse/Contact Sensor ==
25
26 (((
27
28
29 The Dragino CPL01 is a (% style="color:blue" %)**LoRaWAN Contact Sensor**(%%). It detects open/close status and uplink to IoT server via LoRaWAN network. user can see the dry contact status, open time, open counts in the IoT Server.
30 )))
31
32 (((
33 CPL01 is powered by (% style="color:blue" %)**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.)
34 )))
35
36 (((
37 The CPL01 will send periodically data every day as well as for each dry contact action. It also counts the contact open times and calculate last open duration. User can also disable the uplink for each open/close event, instead, device can count each open event and uplink periodically.
38 )))
39
40 (((
41 CPL01 has the open alarm feature, user can set this feature so device will send Alarm if the contact has been open for a certain time.
42 )))
43
44 (((
45 CPL01 is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures.
46 )))
47
48 (((
49 Each CPL01 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.
50 )))
51
52 (((
53 *Battery life depends on how often to send data, please see [[battery analyzer>>||anchor="H4.Battery26howtoreplace"]].
54 )))
55
56
57
58 == 1.2 Features ==
59
60
61 * LoRaWAN v1.0.3 Class A protocol.
62 * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864
63 * Open/Close detect
64 * Open/Close statistics
65 * 8500mAh industrial battery(none-rechargeable)
66 * AT Commands to change parameters
67 * Uplink on periodically and open/close event
68 * Datalog feature
69 * Remote configure parameters via LoRa Downlink
70 * Firmware upgradable via program port
71 * Wall Mountable
72 * Outdoor Use
73
74
75
76
77 == 1.3 Installation ==
78
79
80 Connect CPL01 to an Open Close sensor like below. So it can detect the open/close event.
81
82
83 [[image:1652857419839-473.png||height="435" width="482"]]
84
85
86 [[image:1652857455276-422.png||height="229" width="728"]]
87
88
89
90 == 1.4 Storage & Operation Temperature ==
91
92
93 -40°C to +85°C
94
95
96
97 == 1.5 Applications ==
98
99
100 (% class="wikigeneratedid" %)
101 (% style="display:none" %)
102
103 * Open/Close Detection
104 * Pulse meter application
105 * Dry Contact Detection
106
107
108
109
110 == 1.6 Mechanical ==
111
112
113 [[image:1652857762997-798.png]]
114
115
116 [[image:1652857791347-991.png]]
117
118
119
120 == 1.7 Pin Definitions and Switch ==
121
122
123 [[image:1652857867227-591.png||height="374" width="727"]]
124
125
126
127 === 1.7.1 Pin Definition ===
128
129
130 CPL01 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: [[https:~~/~~/www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0>>https://www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0]]
131
132
133
134 === 1.7.2 Jumper JP2(Power ON/OFF) ===
135
136
137 Power on Device when putting this jumper.
138
139
140
141 === 1.7.3 BOOT MODE / SW1 ===
142
143
144 (((
145 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.
146 )))
147
148 (((
149 2) Flash: work mode, the device starts to work and send out console output for further debug
150 )))
151
152
153
154 === 1.7.4 Reset Button ===
155
156
157 Press to reboot the device.
158
159
160
161 === 1.7.5 LED ===
162
163
164 It will flash:
165
166 1. Boot the device in flash mode
167 1. Send an uplink packet
168
169
170
171
172 = 2. Operation Mode =
173
174
175 == 2.1 How it works? ==
176
177
178 (((
179 Each CPL01 is shipped with a worldwide unique set of OTAA keys. To use CPL01 in a LoRaWAN network, user needs to input the OTAA keys in the LoRaWAN network server. So CPL01 can join the LoRaWAN network and start to transmit sensor data.
180 )))
181
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
190 [[image:1652858412212-334.png||height="327" width="723"]]
191
192
193 * (((
194 In this use case, the CPL01 is connect to a dry contact sensor to detect the open/close event and send the status to the LoRaWAN server. The CPL01 will uplink different types of messages to the LoRaWAN server. See [[Uplink payload>>||anchor="H2.3UplinkPayload"]] for detail.
195 )))
196
197 (((
198 Assume the DLOS8 is already set to connect to the [[TTN V3 network >>url:https://eu1.cloud.thethings.network]]. We need to add the CPL01 device in TTN V3:
199
200
201 )))
202
203 (((
204 (% style="color:blue" %)**Step 1**(%%): Create a device in TTN V3 with the OTAA keys from CPL01.
205 )))
206
207 (((
208 Each CPL01 is shipped with a sticker with the default device EUI as below:
209 )))
210
211 [[image:1652858451221-297.png]]
212
213
214 Users can enter these keys in the LoRaWAN Server portal. Below is the TTN V3 screenshot:
215
216 Add APP EUI in the application.
217
218 [[image:1652858478050-325.png]]
219
220
221 [[image:1652858498638-881.png||height="327" width="727"]]
222
223
224 [[image:1652858507748-628.png]]
225
226 [[image:1652858520534-791.png]]
227
228
229 Add APP KEY and DEV EUI
230
231
232
233 (% style="color:blue" %)**Step 2**(%%): Power on CPL01
234
235
236 [[image:1652858584749-726.png]]
237
238
239
240 (((
241 Put the jumper to power on CPL01 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.
242 )))
243
244 [[image:1652858597931-989.png||height="322" width="721"]]
245
246
247
248 == 2.3 Uplink Payload ==
249
250
251 (((
252 Uplink payloads have two types:
253 )))
254
255 * (((
256 Open/Close Status: Use FPORT=2
257 )))
258 * (((
259 Other control commands: Use other FPORT fields.
260 )))
261
262 (((
263 The application server should parse the correct value based on FPORT settings.
264 )))
265
266
267
268 === 2.3.1 Device Status, FPORT~=5 ===
269
270
271 (((
272 Include device configure status. Once CPL01 Joined the network, it will uplink this message to the server. After that, CPL01 will uplink Device Status every 12 hours.
273 )))
274
275 (((
276 Users can also use the downlink command(0x26 01) to ask CPL01 to resend this uplink. This uplink payload also includes the DeviceTimeReq to get time.
277
278 [[image:image-20220609150022-3.png]]
279 )))
280
281
282 Example parse in TTNv3
283
284 [[image:1652859749264-179.png||height="275" width="723"]]
285
286
287 * (((
288 (% style="color:#037691" %)** Sensor Model**(%%): For CPL01, this value is 0x0E
289 )))
290
291 * (((
292 (% style="color:#037691" %)** Firmware Version**(%%): 0x0100, Means: v1.0.0 version
293 )))
294
295 * (((
296 (% style="color:#037691" %)** Frequency Band**:
297 )))
298
299 (% class="box" %)
300 (((
301 *0x01: EU868
302 *0x02: US915
303 *0x03: IN865
304 *0x04: AU915
305 *0x05: KZ865
306 *0x06: RU864
307 *0x07: AS923
308 *0x08: AS923-1
309 *0x09: AS923-2
310 *0x0a: AS923-3
311 *0x0b: CN470
312 *0x0c: EU433
313 *0x0d: KR920
314 *0x0e: MA869
315 )))
316
317 * (((
318 (((
319 (% style="color:#037691" %)** Sub-Band**:
320 )))
321
322 * (((
323 AU915 and US915:value 0x00 ~~ 0x08
324 )))
325 * (((
326 CN470: value 0x0B ~~ 0x0C
327 )))
328 * (((
329 Other Bands: Always 0x00
330 )))
331 )))
332
333 * (((
334 (% style="color:#037691" %)** Battery Info:**
335 )))
336
337 (((
338 Check the battery voltage.
339 )))
340
341 (((
342 (% style="color:blue" %)** Ex1**(%%): 0x0B45 = 2885mV
343 )))
344
345 (((
346 (% style="color:blue" %)** Ex2**(%%): 0x0B49 = 2889mV
347 )))
348
349
350
351 === 2.3.2 Sensor Configuration, FPORT~=4 ===
352
353
354 CPL01 will only send this command after getting the downlink command (0x26 02) from the server.
355
356 [[image:image-20220609150109-4.png]]
357
358
359 * (((
360 (% style="color:#037691" %)** TDC: (default: 0x001C20)**
361 )))
362
363 (((
364 Uplink interval for the total pulse count, default value is 0x001C20 which is 7200 seconds = 2 hours.
365
366
367 )))
368
369 * (((
370 (% style="color:#037691" %)** Disalarm: (default: 0)**
371 )))
372
373 (((
374 (% style="color:blue" %)** If Disalarm = 1**(%%), CPL01 will only send uplink at every TDC periodically. This is normally use for pulse meter application, in this application, there are many disconnect/connect event, and platform only care about the total number of pulse.
375 )))
376
377 (((
378 (% style="color:blue" %)** If Disalarm = 0**(%%), CPL01 will send uplink at every TDC periodically.
379
380
381 )))
382
383 * (((
384 (% style="color:#037691" %)** Keep Status & Keep Time**
385 )))
386
387 (((
388 Shows the configure value of [[Alarm Base on Timeout Feature>>||anchor="H3.5AlarmBaseonTimeout"]]
389
390
391 )))
392
393 * (((
394 (% style="color:#037691" %)** Trigger mode (default: 0)**
395 )))
396
397 (((
398 (% style="color:blue" %)** If Trigger mode = 0**(%%), count close to open event.
399 )))
400
401 (((
402 (% style="color:blue" %)** If Trigger mode = 1**(%%), count open to close event.
403 )))
404
405 [[image:1652860064987-743.png||height="152" width="730"]]
406
407
408 [[image:1652860079526-831.png||height="209" width="729"]]
409
410
411
412 === 2.3.3 Real-Time Open/Close Status, Uplink FPORT~=2 ===
413
414
415 (((
416 (((
417 CPL01 will send this uplink **after** Device Status once join the LoRaWAN network successfully. And CPL01 will:
418 )))
419 )))
420
421 (((
422 (((
423 periodically send this uplink every 2 hours, this interval [[can be changed>>||anchor="H3.1SetTransmitIntervalTime"]].
424 )))
425 )))
426
427 (((
428 (((
429 Uplink Payload totals 11 bytes.
430 )))
431 )))
432
433 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
434 |=(% colspan="5" style="width: 723px;" %)**Real-Time Open/Close Status, FPORT=2**
435 |(% style="width:101px" %)**Size (bytes)**|(% style="width:133px" %)**1**|(% style="width:92px" %)**3**|(% style="width:247px" %)**3**|(% style="width:149px" %)**4**
436 |(% style="width:101px" %)**Value**|(% style="width:133px" %)Status & [[Alarm>>||anchor="H3.5AlarmBaseonTimeout"]]|(% style="width:92px" %)Total pulse|(% style="width:247px" %)The last open duration (unit: min)|(% style="width:149px" %)[[Unix TimeStamp>>||anchor="H2.4.1UnixTimeStamp"]]
437
438 [[image:image-20220609150155-5.png]]
439
440
441 * (((
442 (% style="color:#037691" %)** Calculate Flag**
443 )))
444
445 (((
446 The calculate flag is a user define field, IoT server can use this filed to handle different meter with different pulse factor. For example, if there are 100 water meters, meter 1 ~~50 are 1 liter/pulse and meter 51 ~~ 100 has 1.5 liter/pulse.
447 )))
448
449 (((
450 User can set calculate flag to 1 for meter 1~~50 and 2 for meter 51 ~~ 100, So IoT Server can use this field for calculation.
451 )))
452
453 (((
454 Default value: 0. 
455 )))
456
457 (((
458 Range (6 bits): (b)000000 ~~ (b) 111111
459 )))
460
461 (((
462 Refer: [[Set Calculate Flag>>||anchor="H3.9Setthecalculateflag"]]
463
464
465 )))
466
467 * (((
468 (% style="color:#037691" %)** Alarm**
469 )))
470
471 (((
472 See [[Alarm Base on Timeout>>||anchor="H3.5AlarmBaseonTimeout"]]
473
474
475 )))
476
477 * (((
478 (% style="color:#037691" %)** Contact Status**
479 )))
480
481 (((
482 0: Open
483 )))
484
485 (((
486 1: Close
487
488
489 )))
490
491 * (((
492 (% style="color:#037691" %)** Total pulse**
493 )))
494
495 (((
496 Total pulse/counting base on dry [[contact trigger event>>||anchor="H2.3.2SensorConfiguration2CFPORT3D4"]]
497 )))
498
499 (((
500 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
501
502
503 )))
504
505 * (((
506 (% style="color:#037691" %)** The last open duration**
507 )))
508
509 (((
510 Dry Contact last open duration.
511 )))
512
513 (((
514 Unit: min.
515 )))
516
517 [[image:1652860403792-491.png||height="153" width="735"]]
518
519
520
521 === 2.3.4 Historical Door Open/Close Event, FPORT~=3 ===
522
523
524 (((
525 CPL01 stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.4DatalogFeature"]].
526 )))
527
528 (((
529 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
530 )))
531
532 * (((
533 Each data entry is 11 bytes and has the same structure as [[Real-Time open/close status>>||anchor="H2.3.3Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]], to save airtime and battery, CPL01 will send max bytes according to the current DR and Frequency bands.
534 )))
535
536 (((
537 For example, in the US915 band, the max payload for different DR is:
538 )))
539
540 (((
541 a) (% style="color:blue" %)**DR0**(%%): max is 11 bytes so one entry of data
542 )))
543
544 (((
545 b) (% style="color:blue" %)**DR1**(%%): max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
546 )))
547
548 (((
549 c) (% style="color:blue" %)**DR2**(%%): total payload includes 11 entries of data
550 )))
551
552 (((
553 d) (% style="color:blue" %)**DR3**(%%): total payload includes 22 entries of data.
554 )))
555
556 (((
557 If CPL01 doesn't have any data in the polling time. It will uplink 11 bytes of 0
558
559
560 )))
561
562 (% style="color:blue" %)** Downlink:**
563
564 (% class="box" %)
565 (((
566 **0x31 61 E9 3A D4 61 E9 3D E0 05**
567 )))
568
569 [[image:1652861353248-624.png||height="189" width="720"]]
570
571
572 (% style="color:blue" %)** Uplink:**
573
574 (% class="box" %)
575 (((
576 **0E 00 23 E6 00 00 00 61 E9 3B 04 0E 00 23 E6 00 00 00 61 E9 3B 25 0D 00 00 00 00 00 00 61 E9 3B C8 0E 00 00 02 00 00 00 61 E9 3B D4 0E 00 00 06 00 00 00 61 E9 3B DB 01 00 00 00 00 00 00 61 E9 3C 91 01 00 00 00 00 00 00 61 E9 3C A1 0D 00 00 00 00 00 00 61 E9 3C BC 0E 00 00 07 00 00 00 61 E9 3C D6 00 00 00 00 00 00 00 61 E9 3D A6**
577 )))
578
579 (% style="color:#037691" %)** **
580
581 (% style="color:#037691" %)**Parsed Value:**
582
583 (((
584 [ALARM, PIN_STATUS, TOTAL_PULSE, CALCULATE_FLAG, LAST_OPEN_DURATION, TIME]
585 )))
586
587 (((
588
589 )))
590
591 (((
592 [TRUE, CLOSE, 9190, 3, 0, 2022-01-20 10:35:48],
593 )))
594
595 (((
596 [TRUE, CLOSE, 9190, 3, 0, 2022-01-20 10:36:21],
597 )))
598
599 (((
600 [FALSE, OPEN, 0, 3, 0, 2022-01-20 10:39:04],
601 )))
602
603 (((
604 [TRUE, CLOSE, 2, 3, 0, 2022-01-20 10:39:16],
605 )))
606
607 (((
608 [TRUE, CLOSE, 6, 3, 0, 2022-01-20 10:39:23],
609 )))
610
611 (((
612 [FALSE, OPEN, 0, 0, 0, 2022-01-20 10:42:25],
613 )))
614
615 (((
616 [FALSE, OPEN, 0, 0, 0, 2022-01-20 10:42:41],
617 )))
618
619 (((
620 [FALSE, OPEN, 0, 3, 0, 2022-01-20 10:43:08],
621 )))
622
623 (((
624 [TRUE, CLOSE, 7, 3, 0, 2022-01-20 10:43:34],
625 )))
626
627 (((
628 [FALSE, CLOSE, 0, 0, 0, 2022-01-20 10:47:02],
629
630
631 )))
632
633 [[image:1652861480446-216.png]]
634
635
636
637 == 2.4 Datalog Feature ==
638
639
640 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.
641
642
643
644 === 2.4.1 Unix TimeStamp ===
645
646
647 CPL01 uses Unix TimeStamp format based on
648
649 [[image:1652861618065-927.png||height="109" width="705"]]
650
651 Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
652
653 Below is the converter example
654
655 [[image:1652861637105-371.png||height="428" width="732"]]
656
657
658
659 === 2.4.2 Set Device Time ===
660
661
662 (((
663 (((
664 There are two ways to set the device's time:
665
666
667 )))
668 )))
669
670 (((
671 (((
672 (% style="color:blue" %)**1. Through LoRaWAN MAC Command (Default settings)**
673 )))
674 )))
675
676 (((
677 (((
678 Users need to set SYNCMOD=1 to enable sync time via the MAC command.
679 )))
680 )))
681
682 (((
683 (((
684 Once CPL01 Joined the LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to CPL01. If CPL01 fails to get the time from the server, CPL01 will use the internal time and wait for the next time request ~[[[via Device Status (FPORT=5)>>||anchor="H2.3.1DeviceStatus2CFPORT3D5"]]].
685
686
687 )))
688 )))
689
690 (((
691 (((
692 (% 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.**
693 )))
694
695 (((
696
697 )))
698
699 (((
700 (% style="color:blue" %)**2. Manually Set Time**
701 )))
702
703 (((
704 Users need to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server.
705 )))
706 )))
707
708
709
710 === 2.4.3 Poll sensor value ===
711
712
713 Users can poll sensor values based on timestamps. Below is the downlink command.
714
715 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:453.989px" %)
716 |=(% colspan="4" style="width: 451px;" %)**Downlink Command to poll Open/Close status (0x31)**
717 |(% style="width:59px" %)**1byte**|(% style="width:126px" %)**4bytes**|(% style="width:138px" %)**4bytes**|(% style="width:128px" %)**1byte**
718 |(% style="width:59px" %)31|(% style="width:126px" %)Timestamp start|(% style="width:138px" %)Timestamp end|(% style="width:128px" %)Uplink Interval
719
720 (((
721 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.
722 )))
723
724 (((
725 For example, downlink command[[image:image-20220518162852-1.png]]
726 )))
727
728 (((
729 Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
730 )))
731
732 (((
733 Uplink Internal =5s,means CPL01 will send one packet every 5s. range 5~~255s.
734 )))
735
736
737
738 === 2.4.4 Decoder in TTN V3 ===
739
740
741 [[image:1652862574387-195.png||height="359" width="722"]]
742
743 (((
744 Please check the decoder from this link:
745 )))
746
747 (((
748 [[https:~~/~~/docs.google.com/document/d/1LFTp2IupfM3O4rQ1gJgZHJNP49BZFnm2xThiErnJYPQ/edit?usp=sharing>>url:https://docs.google.com/document/d/1LFTp2IupfM3O4rQ1gJgZHJNP49BZFnm2xThiErnJYPQ/edit?usp=sharing]]
749 )))
750
751
752
753 = 2.5 Show data on Datacake =
754
755
756 (((
757 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:
758 )))
759
760 (((
761 (% 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]]
762 )))
763
764 (((
765 (% style="color:blue" %)**Step 2**(%%): Configure CPL01 in Datacake
766 )))
767
768 [[image:1652862663124-805.png]]
769
770 [[image:1652862686700-576.png]]
771
772
773
774
775 [[image:1652862716106-261.png]]
776
777 [[image:1652862734313-990.png||height="229" width="707"]]
778
779
780 [[image:1652862744310-982.png||height="380" width="715"]]
781
782
783 [[image:1652862755419-628.png||height="258" width="718"]]
784
785
786 [[image:1652862763975-153.png||height="214" width="720"]]
787
788
789 [[image:1652862773781-198.png||height="321" width="499"]]
790
791
792 [[image:1652862794151-835.png||height="327" width="487"]]
793
794
795 [[image:1652862807472-427.png||height="378" width="670"]]
796
797
798
799 = 3. Configure CPL01 via AT Command or LoRaWAN Downlink =
800
801
802 (((
803 Use can configure CPL01 via AT Command or LoRaWAN Downlink.
804 )))
805
806 * (((
807 AT Command Connection: See [[FAQ>>||anchor="H5.FAQ"]].
808 )))
809 * (((
810 LoRaWAN Downlink instruction for different platforms:  [[IoT LoRaWAN Server>>doc:Main.WebHome]]
811 )))
812
813 (((
814 There are two kinds of commands to configure CPL01, they are:
815 )))
816
817 * (((
818 (% style="color:#4f81bd" %)**General Commands**.
819 )))
820
821 (((
822 These commands are to configure:
823 )))
824
825 * (((
826 General system settings like uplink interval.
827 )))
828 * (((
829 LoRaWAN protocol & radio related command.
830 )))
831
832 (((
833 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]]
834 )))
835
836 (((
837
838 )))
839
840 * (((
841 (% style="color:#4f81bd" %)**Commands special design for CPL01**
842 )))
843
844 (((
845 These commands are only valid for CPL01, as below:
846 )))
847
848
849
850 == 3.1 Set Transmit Interval Time ==
851
852
853 (((
854 Feature: Change LoRaWAN End Node Transmit Interval.
855
856
857 )))
858
859 (((
860 (% style="color:#4f81bd" %)**AT Command: AT+TDC**
861 )))
862
863 (((
864 [[image:image-20220609134826-1.png]]
865 )))
866
867 (((
868
869 )))
870
871 (((
872 (% style="color:#4f81bd" %)**Downlink Command: 0x01**
873 )))
874
875 (((
876 Format: Command Code (0x01) followed by 3 bytes time value.
877 )))
878
879 (((
880 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
881 )))
882
883 * (((
884 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
885 )))
886 * (((
887 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
888
889
890
891
892 )))
893
894 == 3.2 Set Password ==
895
896
897 Feature: Set device password, max 9 digits
898
899
900 (% style="color:#4f81bd" %)**AT Command: AT+PWORD**
901
902
903 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:404.989px" %)
904 |=(% style="width: 170px;" %)**Command Example**|=(% style="width: 123px;" %)**Function**|=(% style="width: 109px;" %)**Response**
905 |(% style="width:170px" %)(((
906 AT+PWORD=?
907 )))|(% style="width:123px" %)(((
908 Show password
909 )))|(% style="width:109px" %)(((
910 (((
911 123456
912 )))
913
914 (((
915 OK
916 )))
917 )))
918 |(% style="width:170px" %)(((
919 AT+PWORD=999999
920 )))|(% style="width:123px" %)(((
921 Set password
922 )))|(% style="width:109px" %)(((
923 OK
924 )))
925
926 (% style="color:#4f81bd" %)**Downlink Command:**
927
928 No downlink command for this feature.
929
930
931
932 == 3.3 Quit AT Command ==
933
934
935 Feature: Quit AT Command mode, so user needs to input the password again before using AT Commands.
936
937
938 (% style="color:#4f81bd" %)**AT Command: AT+DISAT**
939
940
941 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:451.989px" %)
942 |=(% style="width: 155px;" %)**Command Example**|=(% style="width: 198px;" %)**Function**|=(% style="width: 96px;" %)**Response**
943 |(% style="width:155px" %)AT+DISAT|(% style="width:198px" %)Quit AT Commands mode|(% style="width:96px" %)OK
944
945 (% style="color:#4f81bd" %)**Downlink Command:**
946
947 No downlink command for this feature.
948
949
950
951 == 3.4 Enable / Disable Alarm ==
952
953
954 Feature: Enable/Disable Alarm for open/close event. Default value 0.
955
956
957 (% style="color:#4f81bd" %)**AT Command:**
958
959 (% id="cke_bm_3822S" style="display:none" %) [[image:image-20220609151041-6.png]]
960
961 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/WebHome/image-20220609140712-1.png?rev=1.1||alt="image-20220609140712-1.png"]]
962
963
964 (% style="color:#4f81bd" %)**Downlink Command:**
965
966 **0xA7 01**  ~/~/  Same As AT+DISALARM=1
967
968 **0xA7 00    ** ~/~/  Same As AT+DISALARM=0
969
970
971 (% style="color:red" %)**Notice, This command requires setting CPL01 to LDS03A Mode first. See **(%%)**"(% style="color:blue" %)3.7 Set the sensor mode"(%%)**
972
973
974
975 == 3.5 Alarm Base on Timeout ==
976
977
978 (((
979 (((
980 CPL01 can monitor the timeout for a status change, this feature can be used to monitor some events such as door opening too long etc. Related Parameters are:
981
982
983 )))
984 )))
985
986 (((
987 (((
988 (% style="color:#4f81bd" %)**1. Keep Status: Status to be monitor**
989 )))
990 )))
991
992 (((
993 (((
994 Keep Status = 1: Monitor Close to Open event
995 )))
996 )))
997
998 (((
999 (((
1000 Keep Status = 0: Monitor Open to Close event
1001
1002
1003 )))
1004 )))
1005
1006 (((
1007 (((
1008 (% style="color:#4f81bd" %)**2. Keep Time: Timeout to send an Alarm**
1009 )))
1010 )))
1011
1012 (((
1013 (((
1014 Range 0 ~~ 65535(0xFFFF) seconds.
1015 )))
1016 )))
1017
1018 (((
1019 (((
1020 If keep time = 0, Disable Alarm Base on Timeout feature.
1021 )))
1022 )))
1023
1024 (((
1025 (((
1026 If keep time > 0, device will monitor the keep status event and send an alarm when status doesn’t change after timeout.
1027 )))
1028
1029 (((
1030
1031 )))
1032 )))
1033
1034 (((
1035 (((
1036 (% style="color:#4f81bd" %)**AT Command**(%%) to configure:
1037 )))
1038
1039 (((
1040 (% style="color:blue" %)**AT+TTRIG=1,30**(%%)  ~-~-> When the **Keep Status** change from connect to disconnect, and device remains in disconnect status for more than 30 seconds. CPL01 will send an uplink packet, the [[Alarm bit>>||anchor="H2.3.3Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]] (the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
1041 )))
1042
1043 (((
1044 (% style="color:blue" %)**AT+TTIG=0,0 **(%%) ~-~-> Default Value, disable timeout Alarm.
1045 )))
1046 )))
1047
1048 (((
1049
1050 )))
1051
1052 (((
1053 (((
1054 (% style="color:#4f81bd" %)**Downlink Command**(%%) to configure:
1055 )))
1056
1057 (((
1058 **Command: 0xA9 aa bb cc**
1059 )))
1060 )))
1061
1062 (((
1063 (((
1064 A9: Command Type Code
1065 )))
1066 )))
1067
1068 (((
1069 (((
1070 aa: status to be monitored
1071 )))
1072 )))
1073
1074 (((
1075 (((
1076 bb cc: timeout.
1077 )))
1078 )))
1079
1080 (((
1081
1082 )))
1083
1084 (((
1085 (((
1086 If user send 0xA9 01 00 1E: equal to AT+TTRIG=1,30
1087 )))
1088 )))
1089
1090 (((
1091 (((
1092 Or
1093 )))
1094 )))
1095
1096 (((
1097 (((
1098 0xA9 00 00 00: Equal to AT+TTRIG=0,0. Disable timeout Alarm.
1099 )))
1100 )))
1101
1102
1103
1104 == 3.6 Clear Flash Record ==
1105
1106
1107 Feature: Clear flash storage for data log feature.
1108
1109
1110 (% style="color:#4f81bd" %)**AT Command: AT+CLRDTA**
1111
1112 [[image:image-20220609151132-7.png]]
1113
1114
1115 (((
1116 (((
1117 (% style="color:#4f81bd" %)**Downlink Command:**
1118 )))
1119
1120 (((
1121 * **Example**: 0xA301  ~/~/  Same as AT+CLRDTA
1122 )))
1123 )))
1124
1125
1126
1127
1128 == 3.7 Set the sensor mode ==
1129
1130
1131 Feature: LDS03A and CPL01 use the same firmware. User is possible to switch between this two models.
1132
1133
1134 (% style="color:#4f81bd" %)**AT Command: AT+MOD**
1135
1136 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:443.222px" %)
1137 |=(% style="width: 156px;" %)**Command Example**|=(% style="width: 195px;" %)**Function**|=(% style="width: 88px;" %)**Response**
1138 |(% style="width:156px" %)AT+MOD =1|(% style="width:195px" %)Set the sensor to LDS03A.|(% style="width:88px" %)OK
1139 |(% style="width:156px" %)AT+MOD=2|(% style="width:195px" %)Set the sensor to CPL01.|(% style="width:88px" %)OK
1140
1141 (% style="color:#4f81bd" %)**Downlink Command:**
1142
1143 * **Example**: 0x0A02  ~/~/  Same as AT+MOD=2
1144
1145
1146
1147 == 3.8 Set trigger mode ==
1148
1149
1150 Feature: Set the trigger interrupt mode.
1151
1152
1153 (% style="color:#4f81bd" %)**AT Command: AT+TTRMOD**
1154
1155 [[image:image-20220609151344-9.png]]
1156
1157
1158 (% style="color:#4f81bd" %)**Downlink Command:**
1159
1160 * **Example**: 0xA401  ~/~/  Same as AT+ TTRMOD =1
1161
1162
1163
1164 == 3.9 Set the calculate flag ==
1165
1166
1167 Feature: Set the calculate flag
1168
1169
1170 (% style="color:#4f81bd" %)**AT Command: AT+CALCFLAG**
1171
1172 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:461.222px" %)
1173 |=(% style="width: 158px;" %)**Command Example**|=(% style="width: 192px;" %)**Function**|=(% style="width: 109px;" %)**Response**
1174 |(% style="width:158px" %)AT+CALCFLAG =1|(% style="width:192px" %)Set the calculate flag to 1.|(% style="width:109px" %)OK
1175 |(% style="width:158px" %)AT+CALCFLAG =2|(% style="width:192px" %)Set the calculate flag to 2.|(% style="width:109px" %)OK
1176
1177 (% style="color:#4f81bd" %)**Downlink Command:**
1178
1179 * **Example**: 0XA501  ~/~/  Same as AT+CALCFLAG =1
1180
1181
1182
1183 == 3.10 Set count number ==
1184
1185
1186 Feature: Manually set the count number
1187
1188
1189 (% style="color:#4f81bd" %)**AT Command: AT+SETCNT**
1190
1191 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:479.989px" %)
1192 |=(% style="width: 160px;" %)**Command Example**|=(% style="width: 221px;" %)**Function**|=(% style="width: 95px;" %)**Response**
1193 |(% style="width:160px" %)AT+ SETCNT =0|(% style="width:221px" %)Set the count number to 0.|(% style="width:95px" %)OK
1194 |(% style="width:160px" %)AT+ SETCNT =100|(% style="width:221px" %)Set the count number to 100.|(% style="width:95px" %)OK
1195
1196 (% style="color:#4f81bd" %)**Downlink Command:**
1197
1198 1. **Example**: 0xA6000001  ~/~/  Same as AT+ SETCNT =1
1199 1. **Example**: 0xA6000064  ~/~/  Same as AT+ SETCNT =100
1200
1201
1202
1203 = 4. Battery & how to replace =
1204
1205
1206 == 4.1 Battery Info ==
1207
1208
1209 CPL01 is equipped with a [[8500mAH ER18505 Li-SOCI2 battery>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]. The battery is an un-rechargeable battery with a low discharge rate targeting 8~~10 years of use. This type of battery is commonly used in IoT targets for long-term running, such as water meters.
1210
1211 (((
1212 The battery-related documents are as below:
1213 )))
1214
1215 * (((
1216 [[Battery Dimension>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]],
1217 )))
1218 * (((
1219 [[Lithium-Thionyl Chloride Battery  datasheet>>https://www.dragino.com/downloads/downloads/datasheet/Battery/ER26500/ER26500_Datasheet-EN.pdf]],
1220 )))
1221 * (((
1222 [[Lithium-ion Battery-Capacitor datasheet>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]], [[Tech Spec>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]]
1223 )))
1224
1225 (((
1226 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1227
1228
1229 [[image:1652864571107-510.png]]
1230
1231
1232 )))
1233
1234 (((
1235 Minimum Working Voltage for the CPL01:
1236 )))
1237
1238 (((
1239 CPL01:  2.45v ~~ 3.6v
1240 )))
1241
1242
1243
1244 === 4.1.1 ​Battery Note ===
1245
1246
1247 (((
1248 The Li-SICO battery is designed for small current / long period applications. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period to transmit LoRa, then the battery life may be decreased.
1249 )))
1250
1251
1252
1253 == 4.2 Replace Battery ==
1254
1255
1256 (((
1257 (((
1258 Any battery with a range of 2.45 ~~ 3.6v can be a replacement. We recommend using Li-SOCl2 Battery.
1259 )))
1260 )))
1261
1262 (((
1263 (((
1264 And make sure the positive and negative pins match.
1265 )))
1266 )))
1267
1268 [[image:image-20220518170657-2.png]]
1269
1270
1271
1272 == 4.3 Battery Life Analyze ==
1273
1274
1275 (((
1276 (((
1277 Dragino battery powered products are all run in Low Power mode. User can check the guideline from this link to calculate the estimate battery life:
1278 )))
1279 )))
1280
1281 (((
1282 (((
1283 [[https:~~/~~/www.dragino.com/downloads/downloads/LoRa_End_Node/Battery_Analyze/DRAGINO_Battery_Life_Guide.pdf>>url:https://www.dragino.com/downloads/downloads/LoRa_End_Node/Battery_Analyze/DRAGINO_Battery_Life_Guide.pdf]]
1284 )))
1285 )))
1286
1287
1288
1289 = 5. FAQ =
1290
1291
1292 == 5.1 How to use AT Command to configure CPL01 ==
1293
1294
1295 CPL01 UART connection photo
1296
1297 [[image:1652864909750-855.png||height="356" width="728"]]
1298
1299
1300 (((
1301 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:
1302 )))
1303
1304 [[image:1652864915792-686.png||height="508" width="726"]]
1305
1306
1307
1308 == 5.2 How to upgrade the firmware? ==
1309
1310
1311 (((
1312 (((
1313 A new firmware might be available for:
1314 )))
1315 )))
1316
1317 * (((
1318 (((
1319 Support new features
1320 )))
1321 )))
1322 * (((
1323 (((
1324 For bug fix
1325 )))
1326 )))
1327 * (((
1328 (((
1329 Change LoRaWAN bands.
1330 )))
1331 )))
1332
1333 (((
1334 (((
1335 Instruction for how to upgrade: [[Firmware Upgrade Instruction>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome||anchor="H2.HardwareUpgradeMethodSupportList"]]
1336 )))
1337 )))
1338
1339 (((
1340 (((
1341 Firmware location: (**​​(% style="color:red" %)same firmware as LDS03A(%%)**)[[https:~~/~~/www.dropbox.com/sh/x9rpz9ftyljg135/AAAhC5hqtQOAw9_AoEEZbl9Ca?dl=0>>https://www.dropbox.com/sh/x9rpz9ftyljg135/AAAhC5hqtQOAw9_AoEEZbl9Ca?dl=0]]
1342 )))
1343 )))
1344
1345
1346
1347 == 5.3 How to change the LoRa Frequency Bands/Region? ==
1348
1349
1350 Users can follow the introduction for how to upgrade image. When downloading the images, choose the required image file for download.
1351
1352
1353
1354 = 6. Trouble Shooting =
1355
1356
1357 == 6.1  AT Commands input doesn't work ==
1358
1359
1360 In the case if user can see the console output but can't type input to the device. Please check if you already include the (% style="color:green" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:green" %)**ENTER**(%%) while press the send key, user need to add ENTER in their string.
1361
1362
1363
1364 = 7. Order Info =
1365
1366
1367 (((
1368 (((
1369 Part Number: (% style="color:#4f81bd" %)**CPL01-XX**
1370 )))
1371 )))
1372
1373 (((
1374 (((
1375 (% style="color:#4f81bd" %)**XX**(%%): The default frequency band
1376 )))
1377 )))
1378
1379 * (((
1380 (% style="color:red" %)**AS923 **(%%)**:** LoRaWAN AS923 band
1381 )))
1382 * (((
1383 (% style="color:red" %)**AU915 **(%%)**: **LoRaWAN AU915 band
1384 )))
1385 * (((
1386 (% style="color:red" %)**EU433 **(%%)**:** LoRaWAN EU433 band
1387 )))
1388 * (((
1389 (% style="color:red" %)**EU868 **(%%)**:** LoRaWAN EU868 band
1390 )))
1391 * (((
1392 (% style="color:red" %)**KR920 **(%%)**:** LoRaWAN KR920 band
1393 )))
1394 * (((
1395 (% style="color:red" %)**US915 **(%%)**: **LoRaWAN US915 band
1396 )))
1397 * (((
1398 (% style="color:red" %)**IN865 **(%%)**:  **LoRaWAN IN865 band
1399 )))
1400 * (((
1401 (% style="color:red" %)**CN470 **(%%)**: **LoRaWAN CN470 band
1402
1403
1404
1405
1406 )))
1407
1408 = 8. Packing Info =
1409
1410
1411 (((
1412 **Package Includes**:
1413 )))
1414
1415 * (((
1416 CPL01 Open/Close Sensor x 1
1417
1418
1419
1420
1421 )))
1422
1423 = 9. Support =
1424
1425
1426 * (((
1427 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.
1428 )))
1429 * (((
1430 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]].
1431
1432
1433
1434 )))
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0