Last modified by Mengting Qiu on 2025/07/03 16:38

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