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