Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20230616100711-1.png]]
3
4
5
6
7
8
9 **Table of Contents:**
10
11 {{toc/}}
12
13
14
15
16
17
18 = 1. Introduction =
19
20 == 1.1 What is CPL03-LB LoRaWAN Pulse/Contact Sensor ==
21
22
23 The Dragino CPL03-LB is a (% style="color:blue" %)**LoRaWAN Contact Sensor**(%%) for Internet of Things solution. It detects dry contact status, open time, open counts, and then upload to IoT server via LoRaWAN wireless protocol.
24
25 The CPL03-LB 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.
26
27 The LoRa wireless technology used in CPL03-LB allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption.
28
29 CPL03-LB (% style="color:blue" %)**supports open alarm feature**(%%), user can set open alarm for instant notice. CPL03-LB (% style="color:blue" %)**supports Datalog feature**(%%), it can save the data when there is no LoRaWAN network and uplink when network recover.
30
31 CPL03-LB is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures.
32
33 CPL03-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
34
35 CPL03-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
36
37 Each CPL03-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on.
38
39
40 [[image:image-20230530111051-3.png||height="402" width="850"]]
41
42
43 == 1.2 ​Features ==
44
45
46 * LoRaWAN 1.0.3 Class A
47 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
48 * Ultra-low power consumption
49 * Open/Close detect
50 * Open/Close statistics
51 * Supports open alarm feature
52 * Supports Datalog feature
53 * Support Bluetooth v5.1 and LoRaWAN remote configure
54 * Support wireless OTA update firmware
55 * Uplink on periodically and open/close event
56 * Downlink to change configure
57 * 8500mAh Battery for long term use
58
59
60 == 1.3 Specification ==
61
62
63 (% style="color:#037691" %)**Common DC Characteristics:**
64
65 * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
66 * Operating Temperature: -40 ~~ 85°C
67
68 (% style="color:#037691" %)**LoRa Spec:**
69
70 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
71 * Max +22 dBm constant RF output vs.
72 * RX sensitivity: down to -139 dBm.
73 * Excellent blocking immunity
74
75 (% style="color:#037691" %)**Battery:**
76
77 * Li/SOCI2 un-chargeable battery
78 * Capacity: 8500mAh
79 * Self-Discharge: <1% / Year @ 25°C
80 * Max continuously current: 130mA
81 * Max boost current: 2A, 1 second
82
83 (% style="color:#037691" %)**Power Consumption**
84
85 * Sleep Mode: 5uA @ 3.3v
86 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
87
88
89 == 1.4 Applications ==
90
91
92 * Open/Close Detection
93 * Pulse meter application
94 * Dry Contact Detection
95
96
97 == 1.5 Sleep mode and working mode ==
98
99
100 (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
101
102 (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
103
104
105 == 1.6 Button & LEDs ==
106
107
108 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
109
110
111 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
112 |=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action**
113 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
114 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
115 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
116 )))
117 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
118 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network.
119 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
120 Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network.
121 )))
122 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode.
123
124
125 == 1.7 BLE connection ==
126
127
128 CPL03-LB support BLE remote configure.
129
130
131 BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
132
133 * Press button to send an uplink
134 * Press button to active device.
135 * Device Power on or reset.
136
137 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
138
139
140 == 1.8 Pin Definitions ==
141
142
143 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-LB/WebHome/image-20230610163213-1.png?width=699&height=404&rev=1.1||alt="image-20230610163213-1.png"]]
144
145
146 == 1.9 Mechanical ==
147
148
149 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
150
151
152 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
153
154
155 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
156
157
158 = 2. Configure CPL03-LB to connect to LoRaWAN network =
159
160 == 2.1 How it works ==
161
162
163 The CPL03-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the CPL03-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 2 hours.
164
165 (% style="display:none" %) (%%)
166
167 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
168
169
170 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
171
172 The LPS8v2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
173
174 [[image:image-20230530111412-4.png||height="398" width="805"]](% style="display:none" %)
175
176
177 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from CPL03-LB.
178
179 Each CPL03-LB is shipped with a sticker with the default device EUI as below:
180
181 [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
182
183
184 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
185
186
187 (% style="color:blue" %)**Register the device**
188
189 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]]
190
191
192 (% style="color:blue" %)**Add APP EUI and DEV EUI**
193
194 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]]
195
196
197 (% style="color:blue" %)**Add APP EUI in the application**
198
199
200 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]]
201
202
203 (% style="color:blue" %)**Add APP KEY**
204
205 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]]
206
207
208 (% style="color:blue" %)**Step 2:**(%%) Activate on CPL03-LB
209
210
211 Press the button for 5 seconds to activate the CPL03-LB.
212
213 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
214
215 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
216
217
218 == 2.3 ​Uplink Payload ==
219
220 === 2.3.1 Device Status, FPORT~=5 ===
221
222
223 Include device configure status. Once CPL03-LB Joined the network, it will uplink this message to the server. After that, CPL03-LB will uplink Device Status every 12 hours.
224
225 Users can also use the downlink command**(0x26 01)** to ask CPL03-LB to resend this uplink. This uplink payload also includes the DeviceTimeReq to get time.
226
227 The Payload format is as below.
228
229
230 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
231 |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
232 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
233 |(% 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
234
235 Example parse in TTNv3
236
237 [[image:image-20230702165811-1.png||height="166" width="913"]]
238
239
240 (% style="color:#037691" %)**Sensor Model**(%%): For CPL03-LB, this value is 0x20
241
242 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
243
244 (% style="color:#037691" %)**Frequency Band**:
245
246 0x01: EU868
247
248 0x02: US915
249
250 0x03: IN865
251
252 0x04: AU915
253
254 0x05: KZ865
255
256 0x06: RU864
257
258 0x07: AS923
259
260 0x08: AS923-1
261
262 0x09: AS923-2
263
264 0x0a: AS923-3
265
266 0x0b: CN470
267
268 0x0c: EU433
269
270 0x0d: KR920
271
272 0x0e: MA869
273
274
275 (% style="color:#037691" %)**Sub-Band**:
276
277 AU915 and US915:value 0x00 ~~ 0x08
278
279 CN470: value 0x0B ~~ 0x0C
280
281 Other Bands: Always 0x00
282
283
284 (% style="color:#037691" %)**Battery Info**:
285
286 Check the battery voltage.
287
288 Ex1: 0x0B45 = 2885mV
289
290 Ex2: 0x0B49 = 2889mV
291
292
293 === 2.3.2 Sensor Configuration, FPORT~=4 ===
294
295
296 CPL03-LB will only send this command after getting the downlink command **(0x26 02)** from the server.
297
298 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
299 |(% colspan="9" style="background-color:#d9e2f3; color:#0070c0; width:515px" %)**Sensor Configuration FPORT=4**
300 |**Size(bytes)**|(% style="width:73px" %)**3**|(% style="width:73px" %)**1**|(% style="width:61px" %)**1**|(% style="width:88px" %)**2**|(% style="width:72px" %)**1**|(% style="width:73px" %)**1**|(% style="width:73px" %)**1**|(% style="width:114px" %)**1**
301 |**Value**|(% style="width:73px" %)TDC (unit:sec)|(% style="width:73px" %)Disalarm|(% style="width:61px" %)Keep status|(% style="width:88px" %)Keep time (unit: sec)|(% style="width:72px" %)(((
302 Trigger1 mod(PA8)
303 )))|(% style="width:73px" %)(((
304 Trigger2 mod(PA4)
305 )))|(% style="width:73px" %)(((
306 Trigger3 mod(PB15)
307 )))|(% style="width:114px" %)(((
308 Alarm interval(unit: min)
309 )))
310
311 Example parse in TTNv3
312
313 [[image:image-20230702170310-2.png||height="135" width="892"]]
314
315
316 * (((
317 (% style="color:#037691" %)** TDC: (default: 0x001C20)**
318 )))
319
320 (((
321 Uplink interval for the total pulse count, default value is 0x001C20 which is 7200 seconds = 2 hours.
322
323
324 )))
325
326 * (((
327 (% style="color:#037691" %)** Disalarm: (default: 0)**
328 )))
329
330 (((
331 (% style="color:blue" %)** If Disalarm = 1**(%%), CPL03-LB 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.
332 )))
333
334 (((
335 (% style="color:blue" %)** If Disalarm = 0**(%%), CPL03-LB will send uplink at every TDC periodically.
336
337
338 )))
339
340 * (((
341 (% style="color:#037691" %)** Keep Status & Keep Time**
342 )))
343
344 (((
345 Shows the configure value of [[Alarm Base on Timeout Feature>>||anchor="H3.3.4AlarmBaseonTimeout"]]
346
347
348 )))
349
350 * (((
351 (% style="color:#037691" %)** Trigger1 mod (default: 0)**
352 )))
353
354 (((
355 The trigger mode of PA8 pin.
356
357 (((
358 0: The pulse count will increment by one after a close to open event.
359 )))
360
361 (((
362 1: The pulse count will increment by one after a open to close event.
363 )))
364 )))
365
366
367
368 * (((
369 (% style="color:#037691" %)** Trigger2 mod (default: 0)**
370 )))
371
372 (((
373 (((
374 The trigger mode of PA4 pin. Only valid when AT+MOD=2.
375
376 (((
377 0: The pulse count will increment by one after a close to open event.
378 )))
379
380 (((
381 1: The pulse count will increment by one after a open to close event.
382 )))
383 )))
384
385
386
387 * (((
388 (% style="color:#037691" %)** Trigger3 mod (default: 0)**
389 )))
390
391 (((
392 (((
393 The trigger mode of PB15 pin. Only valid when AT+MOD=2.
394
395 (((
396 0: The pulse count will increment by one after a close to open event.
397 )))
398
399 (((
400 1: The pulse count will increment by one after a open to close event.
401 )))
402 )))
403
404
405 )))
406 )))
407
408 * (((
409 (% style="color:#037691" %)**Alarm interval(default: 0)**
410 )))
411
412 When the state of the door sensor has not been changed after the timeout alarm, the device will send a uplink every alarm interval. It will stop the alarm until the state of the door sensor is changed after the timeout alarm.
413
414
415 === 2.3.3 CPL01:Real-Time Open/Close Status, Uplink FPORT~=2 ===
416
417
418 **Default working mode, (% style="color:blue" %)AT+MOD=1:(%%)**
419
420 (((
421 CPL03-LB will send this uplink **after** Device Status once join the LoRaWAN network successfully. And CPL03-LB will:
422 )))
423
424 (((
425 periodically send this uplink every 2 hours, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
426 )))
427
428 (((
429 Uplink Payload totals 11 bytes.
430 )))
431
432 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
433 |=(% colspan="5" style="background-color:#D9E2F3;color:#0070C0; width: 515px;" %)**Real-Time Open/Close Status, FPORT=2**
434 |(% style="width:60px" %)**Size(bytes)**|(% style="width:65px" %)**1**|(% style="width:65px" %)**3**|(% style="width:240px" %)**3**|(% style="width:90px" %)**4**
435 |(% style="width:101px" %)**Value**|(% style="width:133px" %)Status & [[Alarm>>||anchor="H3.3.5TTRIGtimeoutstatusalarm"]]|(% style="width:92px" %)Total pulse|(% style="width:247px" %)The last  duration (unit: sec)|(% style="width:149px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
436
437 **Status & Alarm field:**
438
439 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
440 |(% style="width:50px" %)**Size(bit)**|(% style="width:50px" %)**[bit7:bit6]**|(% style="width:55px" %)**bit5**|(% style="width:70px" %)**bit4**|(% style="width:60px" %)**bit3**|(% style="width:70px" %)**bit2**|(% style="width:80px" %)**bit1**|(% style="width:80px" %)**bit0**
441 |(% style="width:76px" %)Value|(% style="width:85px" %)Reserve|(% style="width:53px" %)Count mod|(% style="width:61px" %)TDC flag 0:No;1:Yes|(% style="width:65px" %)(((
442 work mod
443 )))|(% style="width:69px" %)Trigger1 mod|(% style="width:90px" %)Alarm: 0: No Alarm; 1: Alarm|(% style="width:82px" %)Status 0: Close; 1: Open
444
445 [[image:image-20230702170355-3.png||height="258" width="902"]]
446
447
448 * (((
449 (% style="color:#037691" %)**Count mod:Default=0**
450 )))
451
452 0: Uplink total open door times since factory
453
454 1 : Uplink total open door times since last FPORT=2 uplink.
455
456
457 * (% style="color:#037691" %)**TDC flag**
458
459 When the flag is 1, it means sending packets at normal time intervals.
460
461 Otherwise, it is a packet sent at non-TDC time.
462
463 (((
464
465
466 * (% style="color:#037691" %)**Work mod**
467
468 0: CPL01-Real-Time Open/Close Status mode.
469
470 1: CPL03-3 pulse mode.
471
472
473 * (% style="color:#037691" %)**Trigger1 mod**
474
475 (((
476 0: The pulse count will increment by one after a close to open event and the last duration is for the open event.
477 )))
478
479 (((
480 1: The pulse count will increment by one after a open to close event and the last duration is for the close event.
481 )))
482
483
484 )))
485
486 * (((
487 (% style="color:#037691" %)** Alarm**
488 )))
489
490 (((
491 See [[Alarm Base on Timeout>>||anchor="H3.3.4AlarmBaseonTimeout"]]
492
493
494 )))
495
496 * (((
497 (% style="color:#037691" %)** Status**
498 )))
499
500 (((
501 0: Open
502 )))
503
504 (((
505 1: Close
506
507
508 )))
509
510 * (((
511 (% style="color:#037691" %)** Total pulse**
512 )))
513
514 (((
515 Total pulse/counting base on dry [[contact trigger event>>||anchor="H2.3.2SensorConfiguration2CFPORT3D4"]]
516 )))
517
518 (((
519 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
520
521
522 )))
523
524 * (((
525 (% style="color:#037691" %)** The last duration**
526 )))
527
528 (((
529 **1) AT+TTRMOD1=0 **: Dry Contact last open duration.(Unit: sec)
530 )))
531
532 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/WebHome/1652860403792-491.png?width=735&height=153&rev=1.1||alt="1652860403792-491.png"]]
533
534
535 (((
536 **2) AT+TTRMOD1=1 **: Dry Contact last close duration.(Unit: sec)
537 )))
538
539 [[image:image-20230710144115-1.png||height="153" width="627"]]
540
541
542 === 2.3.4 CPL03:3 pulse mode, Uplink FPORT~=6 ===
543
544
545 **To use this working mode, you need to set (% style="color:blue" %)AT+MOD=2.(%%)**
546
547 The wiring of the three pulse counting modes are as follows:
548
549 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/WebHome/image-20221013153352-1.png?width=720&height=628&rev=1.1||alt="image-20221013153352-1.png"]]
550
551
552 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:447px" %)
553 |(% style="background-color:#d9e2f3; color:#0070c0; width:95px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:61px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:98px" %)**3**|(% style="background-color:#d9e2f3; color:#0070c0; width:98px" %)**3**|(% style="background-color:#d9e2f3; color:#0070c0; width:95px" %)**3**
554 |(% style="width:93px" %)Value|(% style="width:59px" %)Status|(% style="width:98px" %)(((
555 Port1 Total Pulse(PA8)
556 )))|(% style="width:96px" %)(((
557 Port2 Total Pulse(PA4)
558 )))|(% style="width:94px" %)(((
559 Port3 Total Pulse(PB15)
560 )))
561
562 (% style="color:blue" %)**Status:**
563
564 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:480px" %)
565 |(% style="background-color:#d9e2f3; color:#0070c0; width:55px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:65px" %)**[bit7:bit6]**|(% style="background-color:#d9e2f3; color:#0070c0; width:75px" %)**bit5**|(% style="background-color:#d9e2f3; color:#0070c0; width:115px" %)**bit4**|(% style="background-color:#d9e2f3; color:#0070c0; width:65px" %)**bit3**|(% style="background-color:#d9e2f3; color:#0070c0; width:105px" %)**[bit2:bit0]**
566 |(% style="width:75px" %)Value|(% style="width:89px" %)Reserve|(% style="width:70px" %)Count mod|(% style="width:111px" %)TDC flag 0:No; 1:Yes|(% style="width:83px" %)(((
567 work mod
568 )))|(% style="width:103px" %)Calculate Flag
569
570 (% style="color:red" %)**Max COUNT for each port is 16777215. Exceed this number will reset to 1.**
571
572 [[image:image-20230702170602-4.png||height="210" width="896"]]
573
574
575 * (((
576 (% style="color:#037691" %)**Count mod:Default=0**
577 )))
578
579 0: Uplink total open door times since factory
580
581 1 : Uplink total open door times since last FPORT=2 uplink.
582
583
584 * (% style="color:#037691" %)**TDC flag**
585
586 When the flag is 1, it means sending packets at normal time intervals.
587
588 Otherwise, it is a packet sent at non-TDC time.
589
590
591 * (% style="color:#037691" %)**Work mod**
592
593 0: CPL01-Real-Time Open/Close Status mode.
594
595 1: CPL03-3 pulse mode.
596
597
598 * (((
599 (% style="color:#037691" %)** Calculate Flag**
600 )))
601
602 (((
603 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.
604 )))
605
606 (((
607 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.
608 )))
609
610 (((
611 Default value: 0. 
612 )))
613
614 (((
615 Range (3 bits): (b)000 ~~ (b) 111
616 )))
617
618 (((
619 Refer: [[Set Calculate Flag>>||anchor="H3.3.9Setthecalculateflag"]]
620
621
622 * (((
623 (% style="color:#037691" %)** Port1 Total Pulse(PA8 of pin)**
624 )))
625
626 (((
627 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215.Exceed this number will reset to 1.
628
629
630 * (((
631 (% style="color:#037691" %)** Port2 Total Pulse(PA4 of pin)**
632 )))
633
634 (((
635 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215.Exceed this number will reset to 1.
636
637
638 * (((
639 (% style="color:#037691" %)** Port3 Total Pulse(PB15 of pin)**
640 )))
641
642 (((
643 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215.Exceed this number will reset to 1.
644
645
646 )))
647 )))
648 )))
649 )))
650
651 (% style="color:blue" %)**Related AT Command:**
652
653 (% style="color:#037691" %)**AT+TTRMOD1:  Port1 count mode;  0: Signal falling edge(Default), 1: Signal raising edge**
654
655 AT+TTRMOD1=0  Downlink Command: 0xA4 01 00
656
657 AT+TTRMOD1=1  Downlink Command: 0xA4 01 01
658
659
660 (% style="color:#037691" %)**AT+TTRMOD2:  Port2 count mode;  0: Signal falling edge(Default), 1: Signal raising edge**
661
662 AT+TTRMOD2=0  Downlink Command: 0xA4 02 00
663
664 AT+TTRMOD2=1  Downlink Command: 0xA4 02 01
665
666
667 (% style="color:#037691" %)**AT+TTRMOD3:  Port3 count mode;  0: Signal falling edge(Default), 1: Signal raising edge**
668
669 AT+TTRMOD3=0  Downlink Command: 0xA4 03 00
670
671 AT+TTRMOD3=1  Downlink Command: 0xA4 03 01
672
673
674 (% style="color:#037691" %)**AT+CALCFLAG:  Calculate Flag ( Default : 0 )**
675
676 AT+CALCFLAG=aa  Downlink Command: 0xA5 aa
677
678
679 (% style="color:#037691" %)**AT+COUNTMOD:  Accumulative Mode;  0: Accumulative (Default),1: Reset after uplink.**
680
681 AT+COUNTMOD=0 Downlink Command: 0x0B 00
682
683 AT+COUNTMOD=1 Downlink Command: 0x0B 01
684
685
686 (% style="color:#037691" %)**AT+SETCNT:  Set count value**
687
688 AT+SETCNT=1,aa  Downlink Command: 0xA6 01 aa aa aa
689
690 AT+SETCNT=2,aa  Downlink Command: 0xA6 02 aa aa aa
691
692 AT+SETCNT=3,aa  Downlink Command: 0xA6 03 aa aa aa
693
694
695 === 2.3.5 Historical Door Open/Close Event, FPORT~=3 ===
696
697
698 (((
699 CPL03-LB stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5DatalogFeature"]].
700 )))
701
702 (((
703 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
704 )))
705
706 * (((
707 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, CPL03-LB will send max bytes according to the current DR and Frequency bands.
708 )))
709
710 (((
711 For example, in the US915 band, the max payload for different DR is:
712 )))
713
714 (((
715 a) (% style="color:blue" %)**DR0**(%%): max is 11 bytes so one entry of data
716 )))
717
718 (((
719 b) (% style="color:blue" %)**DR1**(%%): max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
720 )))
721
722 (((
723 c) (% style="color:blue" %)**DR2**(%%): total payload includes 11 entries of data
724 )))
725
726 (((
727 d) (% style="color:blue" %)**DR3**(%%): total payload includes 22 entries of data.
728 )))
729
730 (((
731 If CPL03-LB doesn't have any data in the polling time. It will uplink 11 bytes of 0
732
733
734 )))
735
736 (% style="color:blue" %)** Downlink:**
737
738 (% class="box" %)
739 (((
740 0x31 64 AE 52 C2 64 AE 54 E0 05
741 )))
742
743 [[image:image-20230712154740-1.png||height="160" width="1050"]]
744
745
746 (% style="color:blue" %)** Uplink:**
747
748 (% class="box" %)
749 (((
750 41 00 00 01 00 00 32 64 AE 52 C2 41 00 00 20 00 00 00 64 AE 52 C9 61 00 00 0C 00 00 00 64 AE 53 45 64 00 00 12 00 00 3D 64 AE 54 11 78 00 00 00 00 00 00 64 AE 54 4B 68 00 00 17 00 00 05 64 AE 54 86 4C 00 00 17 00 00 05 64 AE 54 AB 4C 00 00 17 00 00 05 64 AE 54 B7 4C 00 00 17 00 00 05 64 AE 54 E0
751 )))
752
753 (% style="color:#037691" %)** **
754
755 (% style="color:#037691" %)**Parsed Value:**
756
757 (% style="color:#037691" %)**CPL01:**
758
759 (((
760 (% class="MsoNormal" %)
761 (% lang="EN-US" style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; font-family:Arial,sans-serif" %)[WORKMOD,  COUNTMOD,  TDC_FLAG, ALARM,  STATUS,  TRIGGER1_MOD,  TOTAL_PULSE,  LAST_DURATION, TIME]
762
763 (% class="MsoNormal" %)
764 (% lang="EN-US" %)[CPL01,SUM,NO,FALSE,OPEN,0,1,50,2023-07-12 07:14:10],
765
766 (% class="MsoNormal" %)
767 (% lang="EN-US" %)[CPL01,SUM,NO,FALSE,OPEN,0,32,0,2023-07-12 07:14:17],
768
769 (% class="MsoNormal" %)
770 (% lang="EN-US" %)[CPL01,PART,NO,FALSE,OPEN,0,12,0,2023-07-12 07:16:21],
771
772 (% class="MsoNormal" %)
773 (% lang="EN-US" %)[CPL01,PART,NO,FALSE,CLOSE,1,18,61,2023-07-12 07:19:45],
774
775 (((
776
777
778 (% style="color:#037691" %)**CPL03:Due to the limitation of byte length, only count value 1 and count value 2 are sent in the data record data.**
779 )))
780
781 (% class="MsoNormal" %)
782 (% lang="EN-US" style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; font-family:Arial,sans-serif" %)[WORKMOD, COUNTMOD, TDC_FLAG, (%%)CALCULATE_FLAG, (% lang="EN-US" style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; font-family:Arial,sans-serif" %) PORT1_TOTAL_PULSE,  PORT2_TOTAL_PULSE, TIME]
783
784 (% class="MsoNormal" %)
785 (% lang="EN-US" %)[CPL03,PART,YES,0,0,0,2023-07-12 07:20:43],
786
787 (% class="MsoNormal" %)
788 (% lang="EN-US" %)[CPL03,PART,NO,0,23,5,2023-07-12 07:21:42],
789
790 (% class="MsoNormal" %)
791 (% lang="EN-US" %)[CPL03,SUM,NO,4,23,5,2023-07-12 07:22:19],
792
793 (% class="MsoNormal" %)
794 (% lang="EN-US" %)[CPL03,SUM,NO,4,23,5,2023-07-12 07:22:31],
795
796 (% class="MsoNormal" %)
797 (% lang="EN-US" %)[CPL03,SUM,NO,4,23,5,2023-07-12 07:23:12],
798
799 (((
800
801 )))
802 )))
803
804 [[image:image-20230712155210-4.png||height="194" width="785"]]
805
806
807 == 2.4 Payload Decoder file ==
808
809
810 In TTN, use can add a custom payload so it shows friendly reading
811
812 In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
813
814
815 == 2.5 Datalog Feature ==
816
817
818 Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, CPL03-LB will store the reading for future retrieving purposes.
819
820 (% style="color:red" %)**Note:After the device is reset, in cumulative counting mode ,the last stored count value will be read as the initial value.**
821
822
823 === 2.5.1 Ways to get datalog via LoRaWAN ===
824
825
826 Set PNACKMD=1, CPL03-LB will wait for ACK for every uplink, when there is no LoRaWAN network,CPL03-LB 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.
827
828 * (((
829 a) CPL03-LB will do an ACK check for data records sending to make sure every data arrive server.
830 )))
831 * (((
832 b) CPL03-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but CPL03-LB 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 CPL03-LB gets a ACK, CPL03-LB will consider there is a network connection and resend all NONE-ACK messages.
833 )))
834
835 Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
836
837 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220703111700-2.png?width=1119&height=381&rev=1.1||alt="图片-20220703111700-2.png" height="381" width="1119"]]
838
839
840 === 2.5.2 Unix TimeStamp ===
841
842
843 CPL03-LB uses Unix TimeStamp format based on
844
845 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="图片-20220523001219-11.png" height="97" width="627"]]
846
847 User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
848
849 Below is the converter example
850
851 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]]
852
853
854 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
855
856
857 === 2.5.3 Set Device Time ===
858
859
860 User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
861
862 Once CPL03-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to CPL03-LB. If CPL03-LB fails to get the time from the server, CPL03-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
863
864 (% 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.**
865
866
867 === 2.5.4 Poll sensor value ===
868
869
870 Users can poll sensor values based on timestamps. Below is the downlink command.
871
872 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:425.818px" %)
873 |(% colspan="4" style="background-color:#d9e2f3; color:#0070c0; width:423px" %)**Downlink Command to poll Open/Close status (0x31)**
874 |(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte**
875 |(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval
876
877 (((
878 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.
879 )))
880
881 (((
882 For example, downlink command [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/WebHome/image-20220518162852-1.png?rev=1.1||alt="image-20220518162852-1.png"]]
883 )))
884
885 (((
886 Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
887 )))
888
889 (((
890 Uplink Internal =5s,means CPL03-LB will send one packet every 5s. range 5~~255s.
891 )))
892
893
894 == 2.6 Frequency Plans ==
895
896
897 The CPL03-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
898
899 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
900
901
902 = 3. Configure CPL03-LB =
903
904 == 3.1 Configure Methods ==
905
906
907 CPL03-LB supports below configure method:
908
909 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
910
911 * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
912
913 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
914
915 == 3.2 General Commands ==
916
917
918 These commands are to configure:
919
920 * General system settings like: uplink interval.
921
922 * LoRaWAN protocol & radio related command.
923
924 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
925
926 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
927
928
929 == 3.3 Commands special design for CPL03-LB ==
930
931
932 These commands only valid for CPL03-LB, as below:
933
934
935 === 3.3.1 Set Transmit Interval Time ===
936
937
938 (((
939 Feature: Change LoRaWAN End Node Transmit Interval.
940 )))
941
942 (((
943 (% style="color:blue" %)**AT Command: AT+TDC**
944 )))
945
946 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
947 |=(% style="width: 156px;background-color:#D9E2F3; color:#0070c0" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3; color:#0070c0" %)**Function**|=(% style="background-color:#D9E2F3; color:#0070c0" %)**Response**
948 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
949 30000
950 OK
951 the interval is 30000ms = 30s
952 )))
953 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
954 OK
955 Set transmit interval to 60000ms = 60 seconds
956 )))
957
958 (((
959 (% style="color:blue" %)**Downlink Command: 0x01**
960 )))
961
962 (((
963 Format: Command Code (0x01) followed by 3 bytes time value.
964 )))
965
966 (((
967 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
968 )))
969
970 * (((
971 Example 1: Downlink Payload: 01 00 00 1E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
972 )))
973
974 * (((
975 Example 2: Downlink Payload: 01 00 00 3C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
976
977
978
979 )))
980
981 === 3.3.2 Set Power Output Duration ===
982
983
984 Control the output duration 5V . Before each sampling, device will
985
986 ~1. first enable the power output to external sensor,
987
988 2. keep it on as per duration, read sensor value and construct uplink payload
989
990 3. final, close the power output.
991
992 (% style="color:blue" %)**AT Command: AT+5VT**
993
994 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
995 |=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
996 |(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)0 (default)
997 OK
998 |(% style="width:154px" %)AT+5VT=500|(% style="width:196px" %)Close after a delay of 500 milliseconds.|(% style="width:157px" %)OK
999
1000 (% style="color:blue" %)**Downlink Command: 0x07**
1001
1002 Format: Command Code (0x07) followed by 2 bytes.
1003
1004 The first and second bytes are the time to turn on.
1005
1006 * Example 1: Downlink Payload: 07 00 00  **~-~-->**  AT+5VT=0
1007
1008 * Example 2: Downlink Payload: 07 01 F4  **~-~-->**  AT+5VT=500
1009
1010
1011 === 3.3.3 Enable / Disable Alarm ===
1012
1013
1014 Feature: Enable/Disable Alarm for open/close event. Default value 0.
1015
1016 (% style="color:blue" %)**AT Command:**
1017
1018 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
1019 |(% style="background-color:#d9e2f3; color:#0070c0; width:153px" %)**Command Example**|(% style="background-color:#d9e2f3; color:#0070c0; width:277px" %)**Function**|(% style="background-color:#d9e2f3; color:#0070c0; width:85px" %)**Response**
1020 |(% style="width:154px" %)AT+DISALARM=1|(% style="width:278px" %)End node will only send packets in TDC time.|OK
1021 |(% style="width:154px" %)AT+DISALARM=0|(% style="width:278px" %)End node will send packets in TDC time or status change for door sensor|OK
1022
1023 (% style="color:blue" %)**Downlink Command:**
1024
1025 **0xA7 01**  ~/~/  Same As AT+DISALARM=1
1026
1027 **0xA7 00    ** ~/~/  Same As AT+DISALARM=0
1028
1029
1030 === 3.3.4 Alarm Base on Timeout ===
1031
1032
1033 (((
1034 CPL03-LB 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:
1035 )))
1036
1037 (((
1038 (% style="color:#4f81bd" %)**1. Keep Status: Status to be monitor**
1039 )))
1040
1041 (((
1042 **Keep Status = 1**: Monitor Close to Open event
1043 )))
1044
1045 (((
1046 **Keep Status = 0**: Monitor Open to Close event
1047 )))
1048
1049
1050 (((
1051 (% style="color:#4f81bd" %)**2. Keep Time: Timeout to send an Alarm**
1052 )))
1053
1054 (((
1055 Range 0 ~~ 65535(0xFFFF) seconds.
1056 )))
1057
1058 (((
1059 If** keep time = 0**, Disable Alarm Base on Timeout feature.
1060 )))
1061
1062 (((
1063 If **keep time > 0**, device will monitor the keep status event and send an alarm when status doesn’t change after timeout.
1064 )))
1065
1066
1067 (((
1068 (% style="color:#4f81bd" %)**AT Command**(%%) to configure:
1069 )))
1070
1071 (((
1072 (% 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. CPL03-LB 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.
1073 )))
1074
1075 (((
1076 (% style="color:blue" %)**AT+TTIG=0,0 **(%%) ~-~-> Default Value, disable timeout Alarm.
1077 )))
1078
1079
1080 (((
1081 (% style="color:#4f81bd" %)**Downlink Command**(%%) to configure:
1082 )))
1083
1084 (((
1085 **Command: 0xA9 aa bb cc**
1086 )))
1087
1088 (((
1089 **A9: **Command Type Code
1090 )))
1091
1092 (((
1093 **aa: **status to be monitored
1094 )))
1095
1096 (((
1097 **bb cc: **timeout.
1098 )))
1099
1100
1101 (((
1102 If user send 0xA9 01 00 1E: equal to AT+TTRIG=1,30
1103 )))
1104
1105 (((
1106 Or
1107 )))
1108
1109 (((
1110 0xA9 00 00 00: Equal to AT+TTRIG=0,0. Disable timeout Alarm.
1111 )))
1112
1113
1114 === 3.3.5 TTRIG timeout status alarm ===
1115
1116
1117 It needs to be used with AT+TTRIG . When TTRIG times out and causes an alarm, and the status does not change subsequently, an alarm packet will be sent at the alarm interval.
1118
1119 (% style="color:blue" %)**AT Command:**
1120
1121 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
1122 |(% style="background-color:#d9e2f3; color:#0070c0; width:181px" %)**Command Example**|(% style="background-color:#d9e2f3; color:#0070c0; width:248px" %)**Function**|(% style="background-color:#d9e2f3; color:#0070c0; width:86px" %)**Response**
1123 |(% style="width:181px" %)AT+TTRALARM=0|(% style="width:248px" %)Disable continuous alarm.|(% style="width:104px" %)OK(default)
1124 |(% style="width:181px" %)AT+TTRALARM=60|(% style="width:248px" %)The alarm interval is 60 minutes (unit: minutes)|(% style="width:104px" %)OK
1125
1126 (% style="color:blue" %)**Downlink Command:**
1127
1128 Example:  0C aa  => AT+TTRALARM= aa
1129
1130
1131 === 3.3.6 Set trigger mode of PA8 ===
1132
1133
1134 Feature: Set the trigger interrupt mode.
1135
1136 (% style="color:blue" %)**AT Command: AT+TTRMOD1**
1137
1138 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:499px" %)
1139 |=(% style="width: 157px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 246px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 96px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Response**
1140 |(% style="width:157px" %)(((
1141 AT+TTRMOD1=1
1142 )))|(% style="width:156px" %)Count and trigger from open to close (rising edge)|(% style="width:96px" %)(((
1143 (((
1144 OK
1145 )))
1146 )))
1147 |(% style="width:157px" %)(((
1148 AT+TTRMOD1=0
1149 )))|(% style="width:156px" %)Count and trigger from close to open (falling edge)|(% style="width:96px" %)(((
1150 OK(default)
1151 )))
1152
1153 (% style="color:blue" %)**Downlink Command:**
1154
1155 * **Example1**: 0xA4 01 01  ~/~/  Same as AT+ TTRMOD1 =1
1156 * **Example2**: 0xA4 01 00  ~/~/  Same as AT+ TTRMOD1 =0
1157
1158
1159 === 3.3.7 Set trigger mode of PA4 ===
1160
1161
1162 Feature: Set the trigger interrupt mode.
1163
1164 (% style="color:blue" %)**AT Command: AT+TTRMOD2**
1165
1166 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:501px" %)
1167 |=(% style="width: 157px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 246px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 98px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Response**
1168 |(% style="width:157px" %)(((
1169 AT+TTRMOD2=1
1170 )))|(% style="width:156px" %)Count and trigger from open to close (rising edge)|(% style="width:98px" %)(((
1171 (((
1172 OK
1173 )))
1174 )))
1175 |(% style="width:157px" %)(((
1176 AT+TTRMOD2=0
1177 )))|(% style="width:156px" %)Count and trigger from close to open (falling edge)|(% style="width:98px" %)(((
1178 OK(default)
1179 )))
1180
1181 (% style="color:blue" %)**Downlink Command:**
1182
1183 * **Example1**: 0xA4 02 01  ~/~/  Same as AT+ TTRMOD2 =1
1184 * **Example2**: 0xA4 02 00  ~/~/  Same as AT+ TTRMOD2 =0
1185
1186
1187 === 3.3.8 Set trigger mode of PB15 ===
1188
1189
1190 Feature: Set the trigger interrupt mode.
1191
1192 (% style="color:blue" %)**AT Command: AT+TTRMOD3**
1193
1194 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
1195 |=(% style="width: 157px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 246px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 97px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Response**
1196 |(% style="width:157px" %)(((
1197 AT+TTRMOD3=1
1198 )))|(% style="width:156px" %)Count and trigger from open to close (rising edge)|(% style="width:97px" %)(((
1199 (((
1200 OK
1201 )))
1202 )))
1203 |(% style="width:157px" %)(((
1204 AT+TTRMOD3=0
1205 )))|(% style="width:156px" %)Count and trigger from close to open (falling edge)|(% style="width:97px" %)(((
1206 OK(default)
1207 )))
1208
1209 (% style="color:blue" %)**Downlink Command:**
1210
1211 * **Example1**: 0xA4 03 01  ~/~/  Same as AT+ TTRMOD3 =1
1212 * **Example2**: 0xA4 03 00  ~/~/  Same as AT+ TTRMOD3 =0
1213
1214
1215 === 3.3.9 Set the calculate flag ===
1216
1217
1218 Feature: Set the calculate flag.**(Range is 0 to 7)**
1219
1220 (% style="color:blue" %)**AT Command: AT+CALCFLAG**
1221
1222 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:472px" %)
1223 |=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 193px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 121px; background-color:#D9E2F3;color:#0070C0" %)**Response**
1224 |(% style="width:158px" %)AT+CALCFLAG =0|(% style="width:192px" %)Set the calculate flag to 0.|(% style="width:119px" %)OK(default)
1225 |(% style="width:158px" %)AT+CALCFLAG =2|(% style="width:192px" %)Set the calculate flag to 2.|(% style="width:119px" %)OK
1226
1227 (% style="color:blue" %)**Downlink Command:**
1228
1229 * **Example**: 0XA5 01  ~/~/  Same as AT+CALCFLAG =1
1230
1231
1232 === 3.3.10 Set count number ===
1233
1234
1235 Feature: Manually set the count number
1236
1237 In CPL01 work mode, the Total_pulse set by the "AT+SETCNT=1,xx" command.
1238
1239 In CPL03 work mode, the Port1_Total_pulse(PA8) set by the "AT+SETCNT=1,xx" command.
1240
1241 (% style="color:blue" %)**AT Command: AT+SETCNT**
1242
1243 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:479px" %)
1244 |=(% style="width: 160px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 223px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 96px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1245 |(% style="width:160px" %)AT+ SETCNT =1,100|(% style="width:221px" %)Set the count number to 0.|(% style="width:95px" %)OK
1246 |(% style="width:160px" %)AT+ SETCNT =2,0|(% style="width:221px" %)Set the count number to 100.|(% style="width:95px" %)OK
1247 |(% style="width:160px" %)AT+ SETCNT =3,50|(% style="width:221px" %)Set the count number to 50.|(% style="width:95px" %)OK
1248
1249 (% style="color:blue" %)**Downlink Command:**
1250
1251 0xA6 01 00 00 64  ==>  AT+SETCNT=1,100
1252
1253 0xA6 02 00 00 00  ==>  AT+SETCNT=2,0
1254
1255 0xA6 03 00 00 32  ==>  AT+SETCNT=3,50
1256
1257
1258 === 3.3.11  Clear all counter values ===
1259
1260
1261 Feature: Manually clear all counter values
1262
1263 (% style="color:blue" %)**AT Command:**
1264
1265 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:479px" %)
1266 |=(% style="width: 160px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 223px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 96px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1267 |(% style="width:160px" %)AT+CLRC|(% style="width:221px" %)Set all counter values to 0.|(% style="width:95px" %)OK
1268
1269 (% style="color:blue" %)**Downlink Command: **(%%)0xA6 01
1270
1271
1272 === 3.3.12  Count Mod ===
1273
1274
1275 Feature: Manually set the count mode.
1276
1277 (% style="color:blue" %)**AT Command:**
1278
1279 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:515px" %)
1280 |=(% style="width: 160px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 269px; background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 86px; background-color:#D9E2F3;color:#0070C0" %)**Response**
1281 |(% style="width:160px" %)AT+COUNTMOD=0|(% style="width:318px" %)the count value keeps accumulating mode|(% style="width:96px" %)OK(default)
1282 |(% style="width:160px" %)AT+COUNTMOD=1|(% style="width:318px" %)the count value will be reset after each TDC time(Last Close Duration Reset after each uplink)|(% style="width:96px" %)OK
1283
1284 (% style="color:blue" %)**Downlink Command:**
1285
1286 Example1:  0B 00  => AT+COUNTMOD=0
1287
1288 Example2:  0B 01  => AT+COUNTMOD=1
1289
1290
1291 === 3.3.13  Work Mod ===
1292
1293
1294 Feature: Manually set the work mode.
1295
1296 (% style="color:blue" %)**AT Command:**
1297
1298 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:474px" %)
1299 |=(% style="width: 155px; background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 223px; background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 96px; background-color:#D9E2F3;color:#0070C0" %)**Response**
1300 |(% style="width:155px" %)AT+MOD=1|(% style="width:223px" %)Set the Real-Time Open/Close Status mode(CPL01).|(% style="width:96px" %)OK(default)
1301 |(% style="width:155px" %)AT+MOD=2|(% style="width:223px" %)Set the 3 pulse mode(CPL03).|(% style="width:96px" %)OK
1302
1303 (% style="color:blue" %)**Downlink Command:**
1304
1305 Example1:  0A 01  => AT+MOD=1
1306
1307 Example2:  0A 02  => AT+MOD=2
1308
1309
1310 === 3.3.14  Set Time Sync Mode ===
1311
1312
1313 Feature: Enable/Disable Sync system time via LoRaWAN MAC Command (DeviceTimeReq), LoRaWAN server must support v1.0.3 protocol to reply to this command.
1314
1315 SYNCMOD is set to 1 by default. If user wants to set a different time from the LoRaWAN server, the user needs to set this to 0.
1316
1317 (% style="color:blue" %)**AT Command:**
1318
1319 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:515px" %)
1320 |=(% style="width: 160px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 269px; background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 86px; background-color:#D9E2F3;color:#0070C0" %)**Response**
1321 |(% style="width:160px" %)AT+SYNCMOD=1|(% style="width:318px" %)Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) The default is zero time zone.|(% style="width:98px" %)OK(default)
1322 |(% style="width:160px" %)AT+SYNCMOD=1,8|(% style="width:318px" %)Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) Set to East eight time zone.|(% style="width:98px" %)OK
1323 |(% style="width:160px" %)AT+SYNCMOD=1,-12|(% style="width:318px" %)Enable Sync system time via LoRaWAN MAC Command (DeviceTimeReq) Set to West Twelve Time Zone.|(% style="width:98px" %)OK
1324
1325 (% style="color:blue" %)**Downlink Command:**
1326
1327 0x28 01  ~/~/ Same As AT+SYNCMOD=1
1328
1329 0x28 01 08  ~/~/ Same As AT+SYNCMOD=1,8
1330
1331 0x28 01 F4  ~/~/ Same As AT+SYNCMOD=1,-12
1332
1333 0x28 00  ~/~/ Same As AT+SYNCMOD=0
1334
1335
1336 = 4. Battery & Power Consumption =
1337
1338
1339 CPL03-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1340
1341 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1342
1343
1344 = 5. OTA Firmware update =
1345
1346
1347 (% class="wikigeneratedid" %)
1348 User can change firmware CPL03-LB to:
1349
1350 * Change Frequency band/ region.
1351
1352 * Update with new features.
1353
1354 * Fix bugs.
1355
1356 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/f3r5k6l7ksplc8x/AACmkH3z1aRpujcaMeEGyPxwa?dl=0]]**
1357
1358 Methods to Update Firmware:
1359
1360 * (Recommanded way) OTA firmware update via wireless : **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]**
1361
1362 * Update through UART TTL interface : **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
1363
1364
1365 = 6. FAQ =
1366
1367 == 6.1  AT Commands input doesn't work ==
1368
1369
1370 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.
1371
1372
1373 = 7. Order Info =
1374
1375
1376 Part Number: (% style="color:blue" %)**CPL03-LB-XXX**
1377
1378 (% style="color:red" %)**XXX**(%%): The default frequency band
1379
1380 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1381
1382 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1383
1384 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1385
1386 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1387
1388 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1389
1390 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1391
1392 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1393
1394 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1395
1396
1397 = 8. ​Packing Info =
1398
1399
1400 (% style="color:#037691" %)**Package Includes**:
1401
1402 * CPL03-LB LoRaWAN Pulse/Contact Sensor
1403
1404 (% style="color:#037691" %)**Dimension and weight**:
1405
1406 * Device Size: cm
1407
1408 * Device Weight: g
1409
1410 * Package Size / pcs : cm
1411
1412 * Weight / pcs : g
1413
1414
1415 = 9. Support =
1416
1417
1418 * 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.
1419
1420 * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[Support@dragino.cc>>mailto:Support@dragino.cc]].
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0