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