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