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