Last modified by Mengting Qiu on 2025/07/31 18:11

Show last authors
1
2
3 [[image:image-20240108180055-3.png||data-xwiki-image-style-alignment="center"]]
4
5
6
7
8
9
10
11
12
13 **Table of Contents :**
14
15 {{toc/}}
16
17
18
19
20
21
22 = 1. Introduction =
23
24 == 1.1 What is CPL03-LB/LS LoRaWAN Pulse/Contact Sensor ==
25
26
27 The Dragino CPL03-LB/LS 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.
28
29 The CPL03-LB/LS will send periodically data every day as well as for each dry contact action. It also counts the contact open times and calculate last open duration. User can also disable the uplink for each open/close event, instead, device can count each open event and uplink periodically.
30
31 The LoRa wireless technology used in CPL03-LB/LS 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.
32
33 CPL03-LB/LS (% style="color:blue" %)**supports open alarm feature**(%%), user can set open alarm for instant notice. CPL03-LB/LS (% style="color:blue" %)**supports Datalog feature**(%%), it can save the data when there is no LoRaWAN network and uplink when network recover.
34
35 CPL03-LB/LS is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures.
36
37 CPL03-LB/LS (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
38
39 CPL03-LB/LS is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery **(%%)or (% style="color:blue" %)**solar powered + Li-ion battery**(%%), it is designed for long term use up to 5 years.
40
41 Each CPL03-LB/LS 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.
42
43
44 == 1.2 ​Features ==
45
46
47 * LoRaWAN 1.0.3 Class A
48 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
49 * Ultra-low power consumption
50 * Open/Close detect
51 * Open/Close statistics
52 * Supports open alarm feature
53 * Supports Datalog feature
54 * IP protection level: IP67
55 * Support Bluetooth v5.1 and LoRaWAN remote configure
56 * Support wireless OTA update firmware
57 * Uplink on periodically and open/close event
58 * Downlink to change configure
59 * 8500mAh Li/SOCl2 Battery (CPL03-LB)
60 * Solar panel + 3000mAh Li-ion battery (CPL03-LS)
61
62 == 1.3 Specification ==
63
64
65 (% style="color:#037691" %)**Common DC Characteristics:**
66
67 * Supply Voltage: Built-in Battery , 2.5v ~~ 3.6v
68 * Operating Temperature: -40 ~~ 85°C
69
70 (% style="color:#037691" %)**LoRa Spec:**
71
72 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
73 * Max +22 dBm constant RF output vs.
74 * RX sensitivity: down to -139 dBm.
75 * Excellent blocking immunity
76
77 (% style="color:#037691" %)**Battery:**
78
79 * Li/SOCI2 un-chargeable battery
80 * Capacity: 8500mAh
81 * Self-Discharge: <1% / Year @ 25°C
82 * Max continuously current: 130mA
83 * Max boost current: 2A, 1 second
84
85 (% style="color:#037691" %)**Power Consumption**
86
87 * Sleep Mode: 5uA @ 3.3v
88 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
89
90 == 1.4 Applications ==
91
92
93 * Open/Close Detection
94 * Pulse meter application
95 * Dry Contact Detection
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:image-20250418101632-2.jpeg]]
109
110 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
111 |=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 226px;background-color:#4F81BD;color:white" %)**Action**
112 |[[image:1749538175500-830.png]] 1~~3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
113 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
114 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
115 )))
116 |[[image:1749538170953-383.png]] >3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
117 (% 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.
118 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
119 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.
120 )))
121 |[[image:1749538185070-307.png]] x5|(% 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.
122
123 == 1.7 BLE connection ==
124
125
126 CPL03-LB/LS support BLE remote configure.
127
128
129 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:
130
131 * Press button to send an uplink
132 * Press button to active device.
133 * Device Power on or reset.
134
135 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
136
137
138 == 1.8 Pin Definitions ==
139
140
141 [[image:image-20250401084750-1.jpeg]]
142
143
144 == 1.9 Mechanical ==
145
146 === 1.9.1 for LB version ===
147
148
149 [[image:image-20250401084816-2.jpeg]]
150
151
152 === 1.9.2 for LS version ===
153
154
155 [[image:image-20250401084826-3.jpeg]]
156
157
158 = 2. Configure CPL03-LB/LS to connect to LoRaWAN network =
159
160 == 2.1 How it works ==
161
162
163 The CPL03-LB/LS 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/LS. 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-20250418101331-1.png]](% style="display:none" %)
175
176
177 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from CPL03-LB/LS.
178
179 Each CPL03-LB/LS 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 **Create the application.**
187
188 [[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"]]
189
190 [[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"]]
191
192
193 **Add devices to the created Application.**
194
195 [[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"]]
196
197 [[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"]]
198
199
200 **Enter end device specifics manually.**
201
202 [[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"]]
203
204
205 **Add DevEUI and AppKey. Customize a platform ID for the device.**
206
207 [[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"]]
208
209
210 (% style="color:blue" %)**Step 2:**(%%) Add decoder.
211
212 In TTN, user can add a custom payload so it shows friendly reading.
213
214 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/]]
215
216 Below is TTN screen shot:
217
218 [[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"]]
219
220 [[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" height="562" width="1168"]]
221
222
223 (% style="color:blue" %)**Step 3:**(%%) Activate on CPL03-LB/LS
224
225 Press the button for 5 seconds to activate the CPL03-LB/LS.
226
227 (% 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.
228
229 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
230
231
232 == 2.3 ​Uplink Payload ==
233
234 === 2.3.1 Device Status, FPORT~=5 ===
235
236
237 Include device configure status. Once CPL03-LB/LS Joined the network, it will uplink this message to the server. After that, CPL03-LB/LS will uplink Device Status every 12 hours.
238
239 Users can also use the downlink command**(0x26 01)** to ask CPL03-LB/LS to resend this uplink. This uplink payload also includes the DeviceTimeReq to get time.
240
241 The Payload format is as below.
242
243
244 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
245 |(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)**
246 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
247 |(% 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
248
249 Example parse in TTNv3
250
251 [[image:image-20230702165811-1.png||height="166" width="913"]]
252
253
254 (% style="color:#037691" %)**Sensor Model**(%%): For CPL03-LB/LS, this value is 0x20
255
256 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
257
258 (% style="color:#037691" %)**Frequency Band**:
259
260 0x01: EU868
261
262 0x02: US915
263
264 0x03: IN865
265
266 0x04: AU915
267
268 0x05: KZ865
269
270 0x06: RU864
271
272 0x07: AS923
273
274 0x08: AS923-1
275
276 0x09: AS923-2
277
278 0x0a: AS923-3
279
280 0x0b: CN470
281
282 0x0c: EU433
283
284 0x0d: KR920
285
286 0x0e: MA869
287
288
289 (% style="color:#037691" %)**Sub-Band**:
290
291 AU915 and US915:value 0x00 ~~ 0x08
292
293 CN470: value 0x0B ~~ 0x0C
294
295 Other Bands: Always 0x00
296
297
298 (% style="color:#037691" %)**Battery Info**:
299
300 Check the battery voltage.
301
302 Ex1: 0x0B45 = 2885mV
303
304 Ex2: 0x0B49 = 2889mV
305
306
307 === 2.3.2 Sensor Configuration, FPORT~=4 ===
308
309
310 CPL03-LB/LS will only send this command after getting the downlink command **(0x26 02)** from the server.
311
312 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
313 |(% colspan="9" style="background-color:#4f81bd; color:white; width:515px" %)**Sensor Configuration FPORT=4**
314 |**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**
315 |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" %)(((
316 Trigger1 mod(PA8)
317 )))|(% style="width:73px" %)(((
318 Trigger2 mod(PA4)
319 )))|(% style="width:73px" %)(((
320 Trigger3 mod(PB15)
321 )))|(% style="width:114px" %)(((
322 Alarm interval(unit: min)
323 )))
324
325 Example parse in TTNv3
326
327 [[image:image-20230702170310-2.png||height="135" width="892"]]
328
329
330 * (((
331 (% style="color:#037691" %)** TDC: (default: 0x001C20)**
332 )))
333
334 (((
335 Uplink interval for the total pulse count, default value is 0x001C20 which is 7200 seconds = 2 hours.
336
337
338 )))
339
340 * (((
341 (% style="color:#037691" %)** Disalarm: (default: 0)**
342 )))
343
344 (((
345 (% style="color:blue" %)** If Disalarm = 1**(%%), CPL03-LB/LS 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.
346 )))
347
348 (((
349 (% style="color:blue" %)** If Disalarm = 0**(%%), CPL03-LB/LS sends the uplink at the timing of each TDC and also triggers the uplink when an interrupt event occurs.
350
351
352 )))
353
354 * (((
355 (% style="color:#037691" %)** Keep Status & Keep Time**
356 )))
357
358 (((
359 Shows the configure value of [[Alarm Base on Timeout Feature>>||anchor="H3.3.4AlarmBaseonTimeout"]]
360
361
362 )))
363
364 * (((
365 (% style="color:#037691" %)** Trigger1 mod (default: 0)**
366 )))
367
368 (((
369 The trigger mode of PA8 pin.
370
371 (((
372 0: The pulse count will increment by one after a close to open event.
373 )))
374
375 (((
376 1: The pulse count will increment by one after a open to close event.
377
378 )))
379 )))
380
381 * (((
382 (% style="color:#037691" %)** Trigger2 mod (default: 0)**
383 )))
384
385 (((
386 (((
387 The trigger mode of PA4 pin. Only valid when AT+MOD=2.
388
389 (((
390 0: The pulse count will increment by one after a close to open event.
391 )))
392
393 (((
394 1: The pulse count will increment by one after a open to close event.
395 )))
396 )))
397
398
399
400
401
402
403
404
405
406
407 * (((
408 (% style="color:#037691" %)** Trigger3 mod (default: 0)**
409 )))
410
411 (((
412 (((
413 The trigger mode of PB15 pin. Only valid when AT+MOD=2.
414
415 (((
416 0: The pulse count will increment by one after a close to open event.
417 )))
418
419 (((
420 1: The pulse count will increment by one after a open to close event.
421 )))
422 )))
423
424
425 )))
426 )))
427
428 * (((
429 (% style="color:#037691" %)**Alarm interval(default: 0)**
430 )))
431
432 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.
433
434
435 === 2.3.3 Real-Time Open/Close Status, Uplink FPORT~=2 ===
436
437
438 **Default working mode, (% style="color:blue" %)AT+MOD=1:(%%)**
439
440 The wiring of the Real-Time Open/Close Status mode is as follows:
441
442 [[image:image-20230810113214-2.png||height="399" width="565"]]
443
444 (((
445 CPL03-LB/LS will send this uplink **after** Device Status once join the LoRaWAN network successfully. And CPL03-LB/LS will:
446 )))
447
448 (((
449 periodically send this uplink every 2 hours, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
450 )))
451
452 (((
453 Uplink Payload totals 11 bytes.
454 )))
455
456 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %)
457 |=(% colspan="5" style="background-color:#4F81BD;color:white; width: 515px;" %)**Real-Time Open/Close Status, FPORT=2**
458 |(% style="width:60px" %)**Size(bytes)**|(% style="width:65px" %)**1**|(% style="width:65px" %)**3**|(% style="width:240px" %)**3**|(% style="width:90px" %)**4**
459 |(% 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.3UnixTimeStamp"]]
460
461 **Status & Alarm field:**
462
463 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %)
464 |(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:50px" %)**[bit7:bit6]**|(% style="background-color:#4f81bd; color:white; width:55px" %)**bit5**|(% style="background-color:#4f81bd; color:white; width:70px" %)**bit4**|(% style="background-color:#4f81bd; color:white; width:60px" %)**bit3**|(% style="background-color:#4f81bd; color:white; width:70px" %)**bit2**|(% style="background-color:#4f81bd; color:white; width:80px" %)**bit1**|(% style="background-color:#4f81bd; color:white; width:80px" %)**bit0**
465 |(% 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" %)(((
466 work mod
467 )))|(% style="width:69px" %)Trigger1 mod|(% style="width:90px" %)Alarm: 0: No Alarm; 1: Alarm|(% style="width:82px" %)Status 0: Close; 1: Open
468
469 [[image:image-20230702170355-3.png||height="258" width="902"]]
470
471
472 * (((
473 (% style="color:#037691" %)**Count mod:Default=0**
474 )))
475
476 0: Uplink total open door times since factory
477
478 1 : Uplink total open door times since last FPORT=2 uplink.
479
480
481 * (% style="color:#037691" %)**TDC flag**
482
483 When the flag is 1, it means sending packets at normal time intervals.
484
485 Otherwise, it is a packet sent at non-TDC time.
486
487 (((
488
489
490 * (% style="color:#037691" %)**Work mod**
491
492 0: CPL01-Real-Time Open/Close Status mode.
493
494 1: CPL03-3 pulse mode.
495
496
497 * (% style="color:#037691" %)**Trigger1 mod**
498
499 0: The pulse count will increment by one after a close to open event and the last duration is for the open event.
500
501 (((
502 1: The pulse count will increment by one after a open to close event and the last duration is for the close event.
503 )))
504
505 (((
506
507 )))
508 )))
509
510 * (((
511 (% style="color:#037691" %)** Alarm**
512 )))
513
514 (((
515 See [[Alarm Base on Timeout>>||anchor="H3.3.4AlarmBaseonTimeout"]]
516
517
518 )))
519
520 * (((
521 (% style="color:#037691" %)** Status**
522 )))
523
524 (((
525 0: Open
526 )))
527
528 (((
529 1: Close
530
531
532 )))
533
534 * (((
535 (% style="color:#037691" %)** Total pulse**
536 )))
537
538 (((
539 Total pulse/counting base on dry [[contact trigger event>>||anchor="H2.3.2SensorConfiguration2CFPORT3D4"]]
540 )))
541
542 (((
543 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
544
545
546 )))
547
548 * (((
549 (% style="color:#037691" %)** The last duration**
550 )))
551
552 (((
553 **1) AT+TTRMOD1=0 **: Dry Contact last open duration.(Unit: sec)
554 )))
555
556 [[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"]]
557
558
559 (((
560 **2) AT+TTRMOD1=1 **: Dry Contact last close duration.(Unit: sec)
561 )))
562
563 [[image:image-20230710144115-1.png||height="153" width="627"]]
564
565
566 (% style="color:blue" %)**Related AT Command:**
567
568 Click on the corresponding entry to view the detailed AT command description.
569
570 [[**AT+DISALARM**>>||anchor="H3.3.3Enable2FDisableAlarm"]]
571
572 [[**AT+TTRIG**>>||anchor="H3.3.4AlarmBaseonTimeout"]]
573
574 [[**AT+TTRALARM**>>||anchor="H3.3.5TTRIGtimeoutstatusalarm"]]
575
576 [[**AT+TTRMOD1**>>||anchor="H3.3.6.2AT2BTTRMOD13Da"]]
577
578
579 === 2.3.4 3 x pulse counting mode, Uplink FPORT~=6 ===
580
581
582 **To use this working mode, you need to set (% style="color:blue" %)AT+MOD=2.(%%)**
583
584 (% style="color:red" %)**NOTE: Since firmware V1.1.1, for MOD2 new Report on Change Feature is added, and a new byte is added to the uplink payload for the ROC flag. Please check this [[section>>||anchor="H2.6ReportonChangeFeature28SincefirmwareV1.1.129"]] for details.**
585
586 The wiring of the three pulse counting mode is as follows:
587
588 [[image:image-20230810114416-3.png||height="497" width="610"]]
589
590 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:447px" %)
591 |(% 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**
592 |(% style="width:93px" %)Value|(% style="width:59px" %)Status|(% style="width:98px" %)(((
593 Port1 Total Pulse(PA8)
594 )))|(% style="width:96px" %)(((
595 Port2 Total Pulse(PA4)
596 )))|(% style="width:94px" %)(((
597 Port3 Total Pulse(PB15)
598 )))
599
600 (% style="color:blue" %)**Status:**
601
602 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %)
603 |(% style="background-color:#4f81bd; color:white; width:55px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:65px" %)**[bit7:bit6]**|(% style="background-color:#4f81bd; color:white; width:75px" %)**bit5**|(% style="background-color:#4f81bd; color:white; width:115px" %)**bit4**|(% style="background-color:#4f81bd; color:white; width:65px" %)**bit3**|(% style="background-color:#4f81bd; color:white; width:105px" %)**[bit2:bit0]**
604 |(% 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" %)(((
605 work mod
606 )))|(% style="width:103px" %)Calculate Flag
607
608 (% style="color:red" %)**Max COUNT for each port is 16777215. Exceed this number will reset to 1.**
609
610 [[image:image-20230702170602-4.png||height="210" width="896"]]
611
612
613 * (((
614 (% style="color:#037691" %)**Count mod:Default=0**
615 )))
616
617 0: Uplink total open door times since factory
618
619 1 : Uplink total open door times since last FPORT=2 uplink.
620
621
622 * (% style="color:#037691" %)**TDC flag**
623
624 When the flag is 1, it means sending packets at normal time intervals.
625
626 Otherwise, it is a packet sent at non-TDC time.
627
628
629 * (% style="color:#037691" %)**Work mod**
630
631 0: CPL01-Real-Time Open/Close Status mode.
632
633 1: CPL03-3 pulse mode.
634
635
636 * (((
637 (% style="color:#037691" %)** Calculate Flag**
638 )))
639
640 (((
641 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.
642 )))
643
644 (((
645 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.
646 )))
647
648 (((
649 Default value: 0. 
650 )))
651
652 (((
653 Range (3 bits): (b)000 ~~ (b) 111
654 )))
655
656 (((
657 Refer: [[Set Calculate Flag>>||anchor="H3.3.9Setthecalculateflag"]]
658
659
660 * (((
661 (% style="color:#037691" %)** Port1 Total Pulse(PA8 of pin)**
662 )))
663
664 (((
665 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215.Exceed this number will reset to 1.
666
667
668 * (((
669 (% style="color:#037691" %)** Port2 Total Pulse(PA4 of pin)**
670 )))
671
672 (((
673 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215.Exceed this number will reset to 1.
674
675
676 * (((
677 (% style="color:#037691" %)** Port3 Total Pulse(PB15 of pin)**
678 )))
679
680 (((
681 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215.Exceed this number will reset to 1.
682
683
684 )))
685 )))
686 )))
687 )))
688
689 (% style="color:blue" %)**Related AT Command:**
690
691 Click on the corresponding entry to view the detailed AT command description.
692
693 [[**AT+TTRMOD1**>>||anchor="H3.3.6.1AT2BTTRMOD13Da2Cb"]]
694
695 [[**AT+TTRMOD2**>>||anchor="H3.3.7.1A0AT2BTTRMOD23Da2Cb"]]
696
697 [[**AT+TTRMOD3**>>||anchor="H3.3.8.1A0AT2BTTRMOD33Da2Cb"]]
698
699 [[**AT+CALCFLAG**>>||anchor="H3.3.9Setthecalculateflag"]]
700
701 [[**AT+SETCNT**>>||anchor="H3.3.10Setcountnumber"]]
702
703 [[**AT+COUNTMOD**>>||anchor="H3.3.12A0CountMod"]]
704
705
706 === 2.3.5 3 Interrupt mode, Uplink FPORT~=7(Since firmware v1.1.0) ===
707
708
709 **To use this working mode, you need to set (% style="color:blue" %)AT+MOD=3.(%%)**
710
711 (% style="color:red" %)**Note: There is no Datalog feature when using this working mode.**
712
713 The wiring of the three interrupt mode is as follows:
714
715 [[image:image-20241008170434-1.png]]
716
717 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:440px" %)
718 |(% style="background-color:#4f81bd; color:white; width:95px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:199px" %)**1**|(% colspan="4" rowspan="1" style="background-color:#4f81bd; color:white; width:145px" %)**10**
719 |(% style="width:93px" %)Value|(% style="width:199px" %)(((
720 (((
721 Interrupt 1(PA8)
722 )))
723
724 (((
725 & Interrupt 2(PA4)
726 )))
727
728 (((
729 & Interrupt 3(PB15)
730 )))
731 )))|(% colspan="4" rowspan="1" style="width:145px" %)(((
732 Bytes reserved, meaningless
733 )))
734
735 (% style="color:blue" %)**Interrupt 1 & Interrupt 2 & Interrupt 3:**
736
737 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
738 |(% style="background-color:#4f81bd; color:white; width:55px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:65px" %)**[bit7:bit6]**|(% style="background-color:#4f81bd; color:white; width:65px" %)**bit5**|(% style="background-color:#4f81bd; color:white; width:65px" %)**bit4**|(% style="background-color:#4f81bd; color:white; width:65px" %)**bit3**|(% style="background-color:#4f81bd; color:white; width:65px" %)**bit2**|(% style="background-color:#4f81bd; color:white; width:65px" %)**bit1**|(% style="background-color:#4f81bd; color:white; width:65px" %)**bit0**
739 |(% style="width:75px" %)Value|(% style="width:89px" %)Reserve|(% style="width:70px" %)PB15_Trigger|(% style="width:111px" %)PB15_Status|(% style="width:83px" %)(((
740 PA4_Trigger
741 )))|(% style="width:103px" %)PA4_Status|(% style="width:103px" %)PA8_Trigger|(% style="width:103px" %)PA8_Status
742
743 [[image:image-20241008175026-2.png||height="367" width="1416"]]
744
745 * (% style="color:#037691" %)**PA8_Trigger:**
746
747 PA8 interrupt flag to determine if the uplink is generated by a PA8 interrupt.
748
749 PA8_Trigger= (bytes[0] & 0x02)
750
751 **0:** "FALSE", this uplink is not generated by the PA8 interrupt.
752
753 **1:** "TRUE", this uplink is generated by the PA8 interrupt.
754
755
756 * (% style="color:#037691" %)**PA8_Status :**
757
758 PA8 pin level status.
759
760 PA8_Status= (bytes[0] & 0x01)
761
762 **0:** "OPEN", PA8 pin is low.
763
764 **1:** "CLOSE", PA8 pin is high.
765
766
767 * (% style="color:#037691" %)**PA4_Trigger:**
768
769 PA4 interrupt flag to determine if the uplink is generated by a PA4 interrupt.
770
771 PA4_Trigger= (bytes[0] & 0x08)
772
773 **0: **"FALSE", this uplink is not generated by the PA4 interrupt.
774
775 **1:** "TRUE", this uplink is generated by the PA4 interrupt.
776
777
778 * (% style="color:#037691" %)**PA4_Status :**
779
780 PA4 pin level status.
781
782 PA4_Status= (bytes[0] & 0x04)
783
784 **0:** "OPEN", PA4 pin is low.
785
786 **1:** "CLOSE", PA4 pin is high.
787
788
789 * (% style="color:#037691" %)**PB15_Trigger:**
790
791 PB15 interrupt flag to determine if the uplink is generated by a PB15 interrupt.
792
793 PB15_Trigger= (bytes[0] & 0x20)
794
795 **0: **"FALSE", this uplink is not generated by the PB15 interrupt.
796
797 **1:** "TRUE", this uplink is generated by the PB15 interrupt.
798
799
800 * (% style="color:#037691" %)**PB15_Status :**
801
802 PB15 pin level status.
803
804 PB15_Status= (bytes[0] & 0x10)
805
806 **0:** "OPEN", PB15 pin is low.
807
808 **1:** "CLOSE", PB15 pin is high.
809
810
811 (% style="color:blue" %)**Related AT Command:**
812
813 Click on the corresponding entry to view the detailed AT command description.
814
815 [[**AT+TTRMOD1**>>||anchor="H3.3.6.2AT2BTTRMOD13Da"]]
816
817 [[**AT+TTRMOD2**>>||anchor="H3.3.7.2AT2BTTRMOD23Da"]]
818
819 [[**AT+TTRMOD3**>>||anchor="H3.3.8.2AT2BTTRMOD33Da"]]
820
821
822 === 2.3.6 Historical Open/Close Event, FPORT~=3 ===
823
824
825 (((
826 CPL03-LB/LS stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5DatalogFeature"]].
827 )))
828
829 (((
830 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
831 )))
832
833 * (((
834 Each data entry is 11 bytes and has the same structure as [[Real-Time open/close status>>||anchor="H2.3.3A0Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]], to save airtime and battery, CPL03-LB/LS will send max bytes according to the current DR and Frequency bands.
835 )))
836
837 (((
838 For example, in the US915 band, the max payload for different DR is:
839 )))
840
841 (((
842 a) (% style="color:blue" %)**DR0**(%%): max is 11 bytes so one entry of data
843 )))
844
845 (((
846 b) (% style="color:blue" %)**DR1**(%%): max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
847 )))
848
849 (((
850 c) (% style="color:blue" %)**DR2**(%%): total payload includes 11 entries of data
851 )))
852
853 (((
854 d) (% style="color:blue" %)**DR3**(%%): total payload includes 22 entries of data.
855 )))
856
857 (((
858 If CPL03-LB/LS doesn't have any data in the polling time. It will uplink 11 bytes of 0
859
860
861 )))
862
863 (% style="color:blue" %)** Downlink:**
864
865 (% class="box" %)
866 (((
867 0x31 64 AE 52 C2 64 AE 54 E0 05
868 )))
869
870 [[image:image-20230712154740-1.png||height="160" width="1050"]]
871
872
873 (% style="color:blue" %)** Uplink:**
874
875 (% class="box" %)
876 (((
877 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
878 )))
879
880 (% style="color:#037691" %)** **
881
882 (% style="color:#037691" %)**Parsed Value:**
883
884 (% style="color:#037691" %)**CPL01:**
885
886 (((
887 (% class="MsoNormal" %)
888 (% 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]
889
890 (% class="MsoNormal" %)
891 (% lang="EN-US" %)[CPL01,SUM,NO,FALSE,OPEN,0,1,50,2023-07-12 07:14:10],
892
893 (% class="MsoNormal" %)
894 (% lang="EN-US" %)[CPL01,SUM,NO,FALSE,OPEN,0,32,0,2023-07-12 07:14:17],
895
896 (% class="MsoNormal" %)
897 (% lang="EN-US" %)[CPL01,PART,NO,FALSE,OPEN,0,12,0,2023-07-12 07:16:21],
898
899 (% class="MsoNormal" %)
900 (% lang="EN-US" %)[CPL01,PART,NO,FALSE,CLOSE,1,18,61,2023-07-12 07:19:45],
901
902 (((
903
904
905 (% 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.**
906 )))
907
908 (% class="MsoNormal" %)
909 (% 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]
910
911 (% class="MsoNormal" %)
912 (% lang="EN-US" %)[CPL03,PART,YES,0,0,0,2023-07-12 07:20:43],
913
914 (% class="MsoNormal" %)
915 (% lang="EN-US" %)[CPL03,PART,NO,0,23,5,2023-07-12 07:21:42],
916
917 (% class="MsoNormal" %)
918 (% lang="EN-US" %)[CPL03,SUM,NO,4,23,5,2023-07-12 07:22:19],
919
920 (% class="MsoNormal" %)
921 (% lang="EN-US" %)[CPL03,SUM,NO,4,23,5,2023-07-12 07:22:31],
922
923 (% class="MsoNormal" %)
924 (% lang="EN-US" %)[CPL03,SUM,NO,4,23,5,2023-07-12 07:23:12],
925 )))
926
927 [[image:image-20230712155210-4.png||height="194" width="785"]]
928
929
930 === 2.3.7 Bi-Direction People counter Mode, Uplink FPORT~=8 (Since v1.1.3, firmware not released) ===
931
932
933 **To activate this mode, set (% style="color:blue" %)AT+MOD=4.(%%)**
934
935
936 (% style="color:blue" %)**Implementation:**
937
938 * Requires two PIR sensors (PIR A and PIR B) installed at opposite ends of a passage (P1 and P2).
939 * PIR A must be connected to interrupt pin PA8.
940 * PIR B must be connected to interrupt pin PA4.
941
942
943
944 (% style="color:blue" %)**Counting Logic:**
945
946 ~1. When a person enters from P1 (triggering PIR A/PA8 first) → No immediate count.
947
948 If he subsequently exit via P2 (triggering PIR B/PA4) → +1 to pa8topa4_pulse count.
949
950
951 2. When a person enters from P2 (triggering PIR B/PA4 first) → No immediate count.
952
953 If he subsequently exit via P1 (triggering PIR A/PA8) → +1 to pa4topa8_pulse count.
954
955
956 (% style="color:blue" %)**Critical Limitations:**
957
958 ~1. Single-channel only: The PIR sensors cannot inherently determine directionality.
959
960
961 2. Sequential Trigger Requirement:
962
963 If Person X enters from P1 (triggers PIR A) but doesn't exit via P2...
964
965 ...and Person Y then enters from P2 (triggers PIR B)...
966
967 The system will falsely register this as Person X having exited (miscounting occurs).
968
969 This leads to both under-counting (missed actual exits) and over-counting (false exit records).
970
971
972 (% style="color:blue" %)**Wiring Connection:**
973
974 This mode uses the PA8 and PA4 pins to trigger the interrupt count. The wiring is as follows:
975
976 [[image:1752551891478-381.jpg||height="423" width="630"]]
977
978
979 (% style="color:blue" %)**Uplink Data Format (FPORT=8):**
980
981 (((
982 CPL03-LB/LS will send this uplink **after** Device Status once join the LoRaWAN network successfully. And CPL03-LB/LS will:
983 )))
984
985 (((
986 periodically send this uplink every 2 hours, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
987 )))
988
989 (((
990 Uplink Payload totals 11 bytes.
991 )))
992
993 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
994 |=(% colspan="5" style="background-color:#4F81BD;color:white; width: 515px;" %)Bi-Direction People counter**, FPORT=8**
995 |(% style="width:60px" %)**Size(bytes)**|(% style="width:65px" %)**1**|(% style="width:65px" %)**3**|(% style="width:240px" %)**3**|(% style="width:90px" %)**4**
996 |(% style="width:101px" %)Value|(% style="width:133px" %)count_mod & tdc_interval & calculate_flag|(% style="width:92px" %)pa8topa4_pulse|(% style="width:247px" %)pa4topa8_pulse|(% style="width:149px" %)[[data_time>>||anchor="H2.5.3UnixTimeStamp"]]
997
998 [[image:1751958304976-150.png||height="501" width="1534"]]
999
1000
1001 * (% style="color:#037691" %)**count_mod :**
1002
1003 Indicates the counting mode is: SUM or PART
1004
1005 count_mod= (bytes[0] & 0x20)
1006
1007 **0:** "SUM".
1008
1009 **1:** "PART".
1010
1011
1012 * (% style="color:#037691" %)**tdc_interval (default: 0x001C20):**
1013
1014 Uplink interval for the total pulse count, default value is 0x001C20 which is 7200 seconds = 2 hours.
1015
1016 tdc_interval= (bytes[0] & 0x10)
1017
1018 **0:** "NO".
1019
1020 **1:** "YES".
1021
1022
1023 * (% style="color:#037691" %)**calculate_flag:**
1024
1025 A calculation flag indicating a count
1026
1027 calculate_flag= (bytes[0] & 0x07).
1028
1029 0x10(H) = (0x10 & 0x07) = 0
1030
1031
1032 * (% style="color:#037691" %)**pa8topa4_pulse :**
1033
1034 Total trigger times from PA8 to PA4.
1035
1036 pa8topa4_pulse= (bytes[1]<<16 | bytes[2]<<8 | bytes[3])
1037
1038 **Ex1:**
1039
1040 0x00 00 1E = 30 (Unit: times)
1041
1042
1043 * (% style="color:#037691" %)**pa4topa8_pulse :**
1044
1045 Total trigger times from PA4 to PA8.
1046
1047 pa4topa8_pulse=bytes[4]<<16 | bytes[5]<<8 | bytes[6]
1048
1049 **Ex1:**
1050
1051 0x00 00 19 = 25 (Unit: times)
1052
1053
1054 (% style="color:blue" %)**Related AT Command:**
1055
1056 Click on the corresponding entry to view the detailed AT command description.
1057
1058 [[**AT+TTRMOD1**>>||anchor="H3.3.6.1AT2BTTRMOD13Da2Cb"]]
1059
1060 [[**AT+TTRMOD2**>>||anchor="H3.3.7.1A0AT2BTTRMOD23Da2Cb"]]
1061
1062 [[**AT+TTRMOD3**>>||anchor="H3.3.8.1A0AT2BTTRMOD33Da2Cb"]]
1063
1064
1065 == 2.4 Payload Decoder file ==
1066
1067
1068 In TTN, use can add a custom payload so it shows friendly reading
1069
1070 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]]
1071
1072
1073 == 2.5 Datalog Feature ==
1074
1075
1076 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/LS will store the reading for future retrieving purposes.
1077
1078
1079 === 2.5.1 How datalog works ===
1080
1081
1082 CPL03-LB/LS will wait for ACK for every uplink, when there is no LoRaWAN network,CPL03-LB/LS 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.
1083
1084 * (((
1085 a) CPL03-LB/LS will do an ACK check for data records sending to make sure every data arrive server.
1086 )))
1087 * (((
1088 b) CPL03-LB/LS will send data in **CONFIRMED Mode**, but CPL03-LB/LS 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/LS gets a ACK, CPL03-LB/LS will consider there is a network connection and resend all NONE-ACK messages.
1089
1090
1091 )))
1092
1093 === 2.5.2 Enable Datalog ===
1094
1095
1096 User need to make sure below two settings are enable to use datalog;
1097
1098 * (% 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.
1099 * (% 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.
1100
1101
1102
1103 Once CPL03-LB/LS 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/LS. If CPL03-LB/LS fails to get the time from the server, CPL03-LB/LS will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
1104
1105 (% 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.**
1106
1107
1108 === 2.5.3 Unix TimeStamp ===
1109
1110
1111 CPL03-LB/LS uses Unix TimeStamp format based on
1112
1113 [[image:image-20250401085119-8.jpeg]]
1114
1115 User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
1116
1117 Below is the converter example
1118
1119 [[image:image-20250401085132-9.jpeg]]
1120
1121
1122 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
1123
1124
1125 === 2.5.4 Poll sensor value ===
1126
1127
1128 Users can poll sensor values based on timestamps. Below is the downlink command.
1129
1130 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:425.818px" %)
1131 |(% colspan="4" style="background-color:#4f81bd; color:white; width:423px" %)**Downlink Command to poll Open/Close status (0x31)**
1132 |(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte**
1133 |(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval
1134
1135 (((
1136 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.
1137 )))
1138
1139 (((
1140 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"]]
1141 )))
1142
1143 (((
1144 Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
1145 )))
1146
1147 (((
1148 Uplink Internal =5s,means CPL03-LB/LS will send one packet every 5s. range 5~~255s.
1149
1150
1151 )))
1152
1153 == 2.6 Report on Change Feature (Since firmware V1.1.1) ==
1154
1155
1156 Used to monitor count increments for INT1, INT2, and INT3. When INT1/2/3 of the count increment meets the set increment, the ROC uplink is sent.
1157
1158 After the ROC function is added, the AT+MOD=2 uplink payload adds a byte for the ROC_flag, and the meaning of the other bytes remains unchanged.
1159
1160 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1161 |(% style="background-color:#4f81bd; color:white; width:70px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:60px" %)**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:98px" %)**3**|(% style="background-color:#4f81bd; color:white; width:86px" %)**1**
1162 |(% style="width:93px" %)Value|(% style="width:59px" %)Status|(% style="width:98px" %)(((
1163 Port1 Total Pulse(PA8)
1164 )))|(% style="width:96px" %)(((
1165 Port2 Total Pulse(PA4)
1166 )))|(% style="width:94px" %)(((
1167 Port3 Total Pulse(PB15)
1168 )))|(% style="width:94px" %)(((
1169 ROC_flag
1170
1171
1172 )))
1173
1174 (% style="color:blue" %)**ROC_flag:**
1175
1176 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:435px" %)
1177 |(% style="background-color:#4f81bd; color:white; width:55px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:65px" %)**[bit7:bit3]**|(% style="background-color:#4f81bd; color:white; width:105px" %)**bit2**|(% style="background-color:#4f81bd; color:white; width:105px" %)**bit1**|(% style="background-color:#4f81bd; color:white; width:105px" %)**bit0**
1178 |(% style="width:75px" %)Value|(% style="width:89px" %)Reserve|(% style="width:103px" %)PB15_ROC|(% style="width:103px" %)PA4_ROC|(% style="width:103px" %)PA8_ROC
1179
1180 * (% style="color:#037691" %)**PA8_ROC**
1181
1182 **0:** "FALSE", the uplink is generated by the ROC of PA8.
1183
1184 **1: **"TRUE", the uplink is not generated by the ROC of PA8.
1185
1186
1187 * (% style="color:#037691" %)**PA4_ROC**
1188
1189 **0:** "FALSE", the uplink is generated by the ROC of PA4.
1190
1191 **1: **"TRUE", the uplink is not generated by the ROC of PA4.
1192
1193
1194 * (% style="color:#037691" %)**PB15_ROC**
1195
1196 **0:** "FALSE", the uplink is generated by the ROC of PB15.
1197
1198 **1: **"TRUE", the uplink is not generated by the ROC of PB15.
1199
1200
1201 Use the [[**AT+ROC**>>||anchor="H3.3.15A0SettheReportonChange28SincefirmwareV1.1.129"]] command to set the INT1/INT2/INT3 count increment detection value.
1202
1203 * Set **AT+ROC=1,10,50,100**  ~/~/ INT1,INT2 and INT3 count increments are monitored, and each time INT1 count increases by 10, a ROC uplink is sent; each time INT2 count increases by 50, a ROC uplink is sent; each time INT3 count increases by 100, a ROC uplink is sent.
1204
1205 Screenshot of parsing example in TTN:
1206
1207 [[image:image-20241010174111-1.png||height="452" width="1444"]]
1208
1209
1210 == 2.7 Frequency Plans ==
1211
1212
1213 The CPL03-LB/LS uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country.
1214
1215 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
1216
1217
1218 = 3. Configure CPL03-LB/LS =
1219
1220 == 3.1 Configure Methods ==
1221
1222
1223 CPL03-LB/LS supports below configure method:
1224
1225 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
1226
1227 * 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]].
1228
1229 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
1230
1231 == 3.2 General Commands ==
1232
1233
1234 These commands are to configure:
1235
1236 * General system settings like: uplink interval.
1237
1238 * LoRaWAN protocol & radio related command.
1239
1240 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
1241
1242 [[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/]]
1243
1244
1245 == 3.3 Commands special design for CPL03-LB/LS ==
1246
1247
1248 These commands only valid for CPL03-LB/LS, as below:
1249
1250
1251 === 3.3.1 Set Transmit Interval Time ===
1252
1253
1254 (((
1255 Feature: Change LoRaWAN End Node Transmit Interval.
1256 )))
1257
1258 (((
1259 (% style="color:blue" %)**AT Command: AT+TDC**
1260 )))
1261
1262 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1263 |=(% 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**
1264 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
1265 30000
1266 OK
1267 the interval is 30000ms = 30s
1268 )))
1269 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
1270 OK
1271 Set transmit interval to 60000ms = 60 seconds
1272 )))
1273
1274 (((
1275 (% style="color:blue" %)**Downlink Command: 0x01**
1276 )))
1277
1278 (((
1279 Format: Command Code (0x01) followed by 3 bytes time value.
1280 )))
1281
1282 (((
1283 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
1284 )))
1285
1286 * (((
1287 Example 1: Downlink Payload: 01 00 00 1E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
1288 )))
1289
1290 * (((
1291 Example 2: Downlink Payload: 01 00 00 3C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
1292
1293
1294 )))
1295
1296 === 3.3.2 Set Power Output Duration ===
1297
1298
1299 Control the output duration 5V . Before each sampling, device will
1300
1301 ~1. first enable the power output to external sensor,
1302
1303 2. keep it on as per duration, read sensor value and construct uplink payload
1304
1305 3. final, close the power output.
1306
1307 (% style="color:blue" %)**AT Command: AT+5VT**
1308
1309 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1310 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response**
1311 |(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)0 (default)
1312 OK
1313 |(% style="width:154px" %)AT+5VT=500|(% style="width:196px" %)Close after a delay of 500 milliseconds.|(% style="width:157px" %)OK
1314
1315 (% style="color:blue" %)**Downlink Command: 0x07**
1316
1317 Format: Command Code (0x07) followed by 2 bytes.
1318
1319 The first and second bytes are the time to turn on.
1320
1321 * Example 1: Downlink Payload: 07 00 00  **~-~-->**  AT+5VT=0
1322
1323 * Example 2: Downlink Payload: 07 01 F4  **~-~-->**  AT+5VT=500
1324
1325
1326
1327 === 3.3.3 Enable / Disable Alarm ===
1328
1329
1330 **It only takes effect when (% style="color:blue" %)AT+MOD=1(%%).**
1331
1332 Feature: Enable/Disable Alarm for open/close event. Default value 0.
1333
1334 (% style="color:blue" %)**AT Command:**
1335
1336 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
1337 |(% style="background-color:#4f81bd; color:white; width:153px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:277px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:85px" %)**Response**
1338 |(% style="width:154px" %)AT+DISALARM=1|(% style="width:278px" %)End node will only send packets in TDC time.|OK
1339 |(% style="width:154px" %)AT+DISALARM=0|(% style="width:278px" %)End node will send packets in TDC time or status change for door sensor|OK
1340
1341 (% style="color:blue" %)**Downlink Command:**
1342
1343 * **0xA7 01**  ~/~/  Same As AT+DISALARM=1
1344 * **0xA7 00    ** ~/~/  Same As AT+DISALARM=0
1345
1346
1347
1348 === 3.3.4 Alarm Base on Timeout ===
1349
1350
1351 **It only takes effect when (% style="color:blue" %)AT+MOD=1(%%).**
1352
1353 (((
1354 CPL03-LB/LS 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:
1355 )))
1356
1357 (((
1358 (% style="color:#4f81bd" %)**1. Keep Status: Status to be monitor**
1359 )))
1360
1361 (((
1362 **Keep Status = 1**: Monitor Close to Open event
1363 )))
1364
1365 (((
1366 **Keep Status = 0**: Monitor Open to Close event
1367 )))
1368
1369
1370 (((
1371 (% style="color:#4f81bd" %)**2. Keep Time: Timeout to send an Alarm**
1372 )))
1373
1374 (((
1375 Range 0 ~~ 65535(0xFFFF) seconds.
1376 )))
1377
1378 (((
1379 If** keep time = 0**, Disable Alarm Base on Timeout feature.
1380 )))
1381
1382 (((
1383 If **keep time > 0**, device will monitor the keep status event and send an alarm when status doesn’t change after timeout.
1384 )))
1385
1386
1387 (((
1388 (% style="color:#4f81bd" %)**AT Command**(%%) to configure:
1389 )))
1390
1391 (((
1392 (% 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/LS 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.
1393 )))
1394
1395 (((
1396 (% style="color:blue" %)**AT+TTRIG=0,0 **(%%) ~-~-> Default Value, disable timeout Alarm.
1397 )))
1398
1399
1400 (((
1401 (% style="color:#4f81bd" %)**Downlink Command**(%%) to configure:
1402 )))
1403
1404 (((
1405 **Command: 0xA9 aa bb cc**
1406 )))
1407
1408 (((
1409 **A9: **Command Type Code
1410 )))
1411
1412 (((
1413 **aa: **status to be monitored
1414 )))
1415
1416 (((
1417 **bb cc: **timeout.
1418 )))
1419
1420
1421 (((
1422 If user send 0xA9 01 00 1E: equal to AT+TTRIG=1,30
1423 )))
1424
1425 (((
1426 Or
1427 )))
1428
1429 (((
1430 0xA9 00 00 00: Equal to AT+TTRIG=0,0. Disable timeout Alarm.
1431 )))
1432
1433
1434 === 3.3.5 TTRIG timeout status alarm ===
1435
1436
1437 **It only takes effect when (% style="color:blue" %)AT+MOD=1(%%).**
1438
1439 (((
1440 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.
1441 )))
1442
1443 (% style="color:blue" %)**AT Command:**
1444
1445 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
1446 |(% style="background-color:#4f81bd; color:white; width:181px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:248px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:86px" %)**Response**
1447 |(% style="width:181px" %)AT+TTRALARM=0|(% style="width:248px" %)Disable continuous alarm.|(% style="width:104px" %)OK(default)
1448 |(% style="width:181px" %)AT+TTRALARM=60|(% style="width:248px" %)The alarm interval is 60 minutes (unit: minutes)|(% style="width:104px" %)OK
1449
1450 (% style="color:blue" %)**Downlink Command:**
1451
1452 Example:  0C aa  => AT+TTRALARM= aa
1453
1454
1455 === 3.3.6 Set trigger mode of PA8 (Since v1.1.3, firmware not released) ===
1456
1457
1458 ==== 3.3.6.1 AT+TTRMOD1~=a,b ====
1459
1460 **It only takes effect when (% style="color:blue" %)AT+MOD=2 & AT+MOD=4(%%).**
1461
1462 Feature: Get or Set the trigger interrupt mode(PA8).
1463
1464 (% style="color:blue" %)**AT Command: AT+TTRMOD1=a,b**
1465
1466 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:499px" %)
1467 |=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Parameter**|=(% style="width: 246px;background-color:#4F81BD;color:white" %)**Values and function**
1468 |(% style="width:157px" %)(((
1469 a
1470 )))|(% style="width:156px" %)(((
1471 1: Count and trigger from open to close (rising edge)
1472
1473 0: Count and trigger from close to open (falling edge)
1474 )))
1475 |(% style="width:157px" %)(((
1476 b
1477 )))|(% style="width:156px" %)(((
1478 Set the delay time. (Default: 0)
1479
1480 **Value range: 0~~65535 ms**
1481 )))
1482
1483 **Example**:
1484
1485 * AT+TTRMOD1=0,0  ~/~/ Disable the PA8 pin interrupt function
1486 * AT+TTRMOD1=1,100  ~/~/ Set the interrupt of the PA8 pin to be triggered by the rising edge, however, the interrupt will only be triggered if the high level state remains 100ms
1487 * AT+TTRMOD1=0,100  ~/~/ Set the interrupt of the PA8 pin to be triggered by the falling edge, however, the interrupt will only be triggered if the low level state remains 100ms
1488
1489 (% style="color:blue" %)**Downlink Command: A4 01 aa bb bb**
1490
1491 * **Example1**: 0xA4 01 00 00 64  ~/~/  Same as AT+ TTRMOD1=0,100
1492 * **Example2**: 0xA4 01 01 00 64  ~/~/  Same as AT+ TTRMOD1=1,100
1493 * **Example3**: 0xA4 01 00 00 00  ~/~/  Same as AT+ TTRMOD1=0,0
1494
1495
1496
1497 ==== 3.3.6.2 AT+TTRMOD1~=a ====
1498
1499 **It only takes effect when (% style="color:blue" %)AT+MOD=1 & AT+MOD=3(%%).**
1500
1501 Feature: Get or Set the trigger interrupt mode(PA8).
1502
1503 (% style="color:blue" %)**AT Command: AT+TTRMOD1**
1504
1505 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
1506 |(% style="background-color:#4f81bd; color:white; width:181px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:248px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:86px" %)**Response**
1507 |(% style="width:181px" %)AT+TTRMOD1=0|(% style="width:248px" %)Disable Interrupt|(% style="width:104px" %)OK
1508 |(% style="width:181px" %)AT+TTRMOD1=1|(% style="width:248px" %)Trigger by rising and falling edge|(% style="width:104px" %)OK
1509 |(% style="width:181px" %)AT+TTRMOD1=2|(% style="width:248px" %)Trigger by falling edge|(% style="width:104px" %)OK(default)
1510 |(% style="width:181px" %)AT+TTRMOD1=3|(% style="width:248px" %)Trigger by rising edge|(% style="width:104px" %)OK
1511
1512 **Example**:
1513
1514 * AT+TTRMOD1=0  ~/~/ Disable the PA8 pin interrupt function
1515 * AT+TTRMOD1=2  ~/~/ Set the interrupt of the PA8 pin to be triggered by the falling edge
1516 * AT+TTRMOD1=3  ~/~/ Set the interrupt of the PA8 pin to be triggered by the rising edge
1517
1518 (% style="color:blue" %)**Downlink Command: A4 01 aa**
1519
1520 * **Example1**: 0xA4 01 00 ~/~/  Same as AT+ TTRMOD1=0
1521 * **Example2**: 0xA4 01 01 ~/~/  Same as AT+ TTRMOD1=1
1522
1523
1524
1525 === 3.3.7 Set trigger mode of PA4 (Since v1.1.3, firmware not released) ===
1526
1527 ==== 3.3.7.1 AT+TTRMOD2~=a,b ====
1528
1529 **It only takes effect when (% style="color:blue" %)AT+MOD=2 & AT+MOD=4(%%)..**
1530
1531 Feature: Get or Set the trigger interrupt mode(PA4).
1532
1533 (% style="color:blue" %)**AT Command: AT+TTRMOD2=a,b**
1534
1535 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:499px" %)
1536 |=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Parameter**|=(% style="width: 246px;background-color:#4F81BD;color:white" %)**Values and function**
1537 |(% style="width:157px" %)(((
1538 a
1539 )))|(% style="width:156px" %)(((
1540 1: Count and trigger from open to close (rising edge)
1541
1542 0: Count and trigger from close to open (falling edge)
1543 )))
1544 |(% style="width:157px" %)(((
1545 b
1546 )))|(% style="width:156px" %)(((
1547 Set the delay time. (Default: 0)
1548
1549 **Value range: 0~~65535 ms**
1550 )))
1551
1552 **Example**:
1553
1554 * AT+TTRMOD2=0,0  ~/~/ Disable the PA4 pin interrupt function
1555 * AT+TTRMOD2=1,100  ~/~/ Set the interrupt of the PA4 pin to be triggered by the rising edge, however, the interrupt will only be triggered if the high level state remains 100ms
1556 * AT+TTRMOD2=0,100  ~/~/ Set the interrupt of the PA4 pin to be triggered by the falling edge, however, the interrupt will only be triggered if the low level state remains 100ms
1557
1558 (% style="color:blue" %)**Downlink Command: A4 02 aa bb bb**
1559
1560 * **Example1**: 0xA4 02 00 00 64  ~/~/  Same as AT+ TTRMOD2=0,100
1561 * **Example2**: 0xA4 02 01 00 64  ~/~/  Same as AT+ TTRMOD2=1,100
1562 * **Example3**: 0xA4 02 00 00 00  ~/~/  Same as AT+ TTRMOD2=0,0
1563
1564
1565
1566 ==== 3.3.7.2 AT+TTRMOD2~=a ====
1567
1568 **It only takes effect when(% style="color:blue" %) AT+MOD=3(%%).**
1569
1570 Feature: Get or Set the trigger interrupt mode(PA4).
1571
1572 (% style="color:blue" %)**AT Command: AT+TTRMOD2**
1573
1574 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
1575 |(% style="background-color:#4f81bd; color:white; width:181px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:248px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:86px" %)**Response**
1576 |(% style="width:181px" %)AT+TTRMOD2=0|(% style="width:248px" %)Disable Interrupt|(% style="width:104px" %)OK
1577 |(% style="width:181px" %)AT+TTRMOD2=1|(% style="width:248px" %)Trigger by rising and falling edge|(% style="width:104px" %)OK
1578 |(% style="width:181px" %)AT+TTRMOD2=2|(% style="width:248px" %)Trigger by falling edge|(% style="width:104px" %)OK(default)
1579 |(% style="width:181px" %)AT+TTRMOD2=3|(% style="width:248px" %)Trigger by rising edge|(% style="width:104px" %)OK
1580
1581 **Example**:
1582
1583 * AT+TTRMOD2=0  ~/~/ Disable the PA8 pin interrupt function
1584 * AT+TTRMOD2=2  ~/~/ Set the interrupt of the PA4 pin to be triggered by the falling edge
1585 * AT+TTRMOD2=3  ~/~/ Set the interrupt of the PA4 pin to be triggered by the rising edge
1586
1587 (% style="color:blue" %)**Downlink Command: A4 02 aa**
1588
1589 * **Example1**: 0xA4 02 00 ~/~/  Same as AT+ TTRMOD2=0
1590 * **Example2**: 0xA4 02 01 ~/~/  Same as AT+ TTRMOD2=1
1591
1592
1593
1594 === 3.3.8 Set trigger mode of PB15 (Since v1.1.3, firmware not released) ===
1595
1596 ==== 3.3.8.1 AT+TTRMOD3~=a,b ====
1597
1598 **It only takes effect when (% style="color:blue" %)AT+MOD=2 & AT+MOD=4(%%).**
1599
1600 Feature: Get or Set the trigger interrupt mode(PB15).
1601
1602 (% style="color:blue" %)**AT Command: AT+TTRMOD3=a,b**
1603
1604 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:499px" %)
1605 |=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Parameter**|=(% style="width: 246px;background-color:#4F81BD;color:white" %)**Values and function**
1606 |(% style="width:157px" %)(((
1607 a
1608 )))|(% style="width:156px" %)(((
1609 1: Count and trigger from open to close (rising edge)
1610
1611 0: Count and trigger from close to open (falling edge)
1612 )))
1613 |(% style="width:157px" %)(((
1614 b
1615 )))|(% style="width:156px" %)(((
1616 Set the delay time. (Default: 0)
1617
1618 **Value range: 0~~65535 ms**
1619 )))
1620
1621 **Example**:
1622
1623 * AT+TTRMOD3=0,0  ~/~/ Disable the PB15 pin interrupt function
1624 * AT+TTRMOD3=1,100  ~/~/ Set the interrupt of the PB15 pin to be triggered by the rising edge, however, the interrupt will only be triggered if the high level state remains 100ms
1625 * AT+TTRMOD3=0,100  ~/~/ Set the interrupt of the PB15 pin to be triggered by the falling edge, however, the interrupt will only be triggered if the low level state remains 100ms
1626
1627 (% style="color:blue" %)**Downlink Command: A4 03 aa bb bb**
1628
1629 * **Example1**: 0xA4 03 00 00 64  ~/~/  Same as AT+ TTRMOD3=0,100
1630 * **Example2**: 0xA4 03 01 00 64  ~/~/  Same as AT+ TTRMOD3=1,100
1631 * **Example3**: 0xA4 03 00 00 00  ~/~/  Same as AT+ TTRMOD3=0,0
1632
1633
1634
1635 ==== 3.3.8.2 AT+TTRMOD3~=a ====
1636
1637 **It only takes effect when(% style="color:blue" %) AT+MOD=3(%%).**
1638
1639 Feature: Get or Set the trigger interrupt mode(PB15).
1640
1641 (% style="color:blue" %)**AT Command: AT+TTRMOD3**
1642
1643 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
1644 |(% style="background-color:#4f81bd; color:white; width:181px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:248px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:86px" %)**Response**
1645 |(% style="width:181px" %)AT+TTRMOD3=0|(% style="width:248px" %)Disable Interrupt|(% style="width:104px" %)OK
1646 |(% style="width:181px" %)AT+TTRMOD3=1|(% style="width:248px" %)Trigger by rising and falling edge|(% style="width:104px" %)OK
1647 |(% style="width:181px" %)AT+TTRMOD3=2|(% style="width:248px" %)Trigger by falling edge|(% style="width:104px" %)OK(default)
1648 |(% style="width:181px" %)AT+TTRMOD3=3|(% style="width:248px" %)Trigger by rising edge|(% style="width:104px" %)OK
1649
1650 **Example**:
1651
1652 * AT+TTRMOD3=0  ~/~/ Disable the PA8 pin interrupt function
1653 * AT+TTRMOD3=2  ~/~/ Set the interrupt of the PB15 pin to be triggered by the falling edge
1654 * AT+TTRMOD3=3  ~/~/ Set the interrupt of the PB15 pin to be triggered by the rising edge
1655
1656 (% style="color:blue" %)**Downlink Command: A4 03 aa**
1657
1658 * **Example1**: 0xA4 03 00 ~/~/  Same as AT+ TTRMOD3=0
1659 * **Example2**: 0xA4 03 01 ~/~/  Same as AT+ TTRMOD3=1
1660
1661
1662
1663 === 3.3.9 Set the calculate flag ===
1664
1665
1666 **It only takes effect when (% style="color:blue" %)AT+MOD=2(%%).**
1667
1668 Feature: Set the calculate flag.**(Range is 0 to 7)**
1669
1670 (% style="color:blue" %)**AT Command: AT+CALCFLAG**
1671
1672 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:472px" %)
1673 |=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 193px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 121px; background-color:#4F81BD;color:white" %)**Response**
1674 |(% style="width:158px" %)AT+CALCFLAG =0|(% style="width:192px" %)Set the calculate flag to 0.|(% style="width:119px" %)OK(default)
1675 |(% style="width:158px" %)AT+CALCFLAG =2|(% style="width:192px" %)Set the calculate flag to 2.|(% style="width:119px" %)OK
1676
1677 (% style="color:blue" %)**Downlink Command:**
1678
1679 * **Example**: 0XA5 01  ~/~/  Same as AT+CALCFLAG =1
1680
1681
1682
1683
1684 === 3.3.10 Set count number ===
1685
1686
1687 Feature: Manually set the count number
1688
1689 In CPL01 work mode, the Total_pulse set by the "AT+SETCNT=1,xx" command.
1690
1691 In CPL03 work mode, the Port1_Total_pulse(PA8) set by the "AT+SETCNT=1,xx" command.
1692
1693 (% style="color:blue" %)**AT Command: AT+SETCNT**
1694
1695 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:479px" %)
1696 |=(% 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**
1697 |(% style="width:160px" %)AT+ SETCNT =1,100|(% style="width:221px" %)Set the count number to 0.|(% style="width:95px" %)OK
1698 |(% style="width:160px" %)AT+ SETCNT =2,0|(% style="width:221px" %)Set the count number to 100.|(% style="width:95px" %)OK
1699 |(% style="width:160px" %)AT+ SETCNT =3,50|(% style="width:221px" %)Set the count number to 50.|(% style="width:95px" %)OK
1700
1701 (% style="color:blue" %)**Downlink Command:**
1702
1703 0xA6 01 00 00 64  ==>  AT+SETCNT=1,100
1704
1705 0xA6 02 00 00 00  ==>  AT+SETCNT=2,0
1706
1707 0xA6 03 00 00 32  ==>  AT+SETCNT=3,50
1708
1709
1710 === 3.3.11  Clear all counter values ===
1711
1712
1713 Feature: Manually clear all counter values
1714
1715 (% style="color:blue" %)**AT Command:**
1716
1717 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:479px" %)
1718 |=(% 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**
1719 |(% style="width:160px" %)AT+CLRC|(% style="width:221px" %)Set all counter values to 0.|(% style="width:95px" %)OK
1720
1721 (% style="color:blue" %)**Downlink Command: **(%%)0xA6 01
1722
1723
1724 === 3.3.12  Count Mod ===
1725
1726
1727 Feature: Manually set the count mode.
1728
1729 (% style="color:blue" %)**AT Command:**
1730
1731 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
1732 |=(% style="width: 160px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 269px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 86px; background-color:#4F81BD;color:white" %)**Response**
1733 |(% style="width:160px" %)AT+COUNTMOD=0|(% style="width:318px" %)the count value keeps accumulating mode|(% style="width:96px" %)OK(default)
1734 |(% 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
1735
1736 (% style="color:blue" %)**Downlink Command:**
1737
1738 Example1:  0B 00  => AT+COUNTMOD=0
1739
1740 Example2:  0B 01  => AT+COUNTMOD=1
1741
1742
1743 === 3.3.13  Work Mod ===
1744
1745
1746 Feature: Manually set the work mode.
1747
1748 (% style="color:blue" %)**AT Command:**
1749
1750 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:474px" %)
1751 |=(% style="width: 155px; 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**
1752 |(% style="width:155px" %)AT+MOD=1|(% style="width:223px" %)Set the Real-Time Open/Close Status mode.|(% style="width:96px" %)OK(default)
1753 |(% style="width:155px" %)AT+MOD=2|(% style="width:223px" %)Set the 3 x pulse counting mode.|(% style="width:96px" %)OK
1754
1755 (% style="color:blue" %)**Downlink Command:**
1756
1757 Example1:  0A 01  => AT+MOD=1
1758
1759 Example2:  0A 02  => AT+MOD=2
1760
1761
1762 === 3.3.14  Set Time Sync Mode ===
1763
1764
1765 Feature: Enable/Disable Sync system time via LoRaWAN MAC Command (DeviceTimeReq), LoRaWAN server must support v1.0.3 protocol to reply to this command.
1766
1767 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.
1768
1769 (% style="color:blue" %)**AT Command:**
1770
1771 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %)
1772 |=(% style="width: 160px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 269px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 86px; background-color:#4F81BD;color:white" %)**Response**
1773 |(% 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)
1774 |(% 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
1775 |(% 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
1776
1777 (% style="color:blue" %)**Downlink Command:**
1778
1779 0x28 01  ~/~/ Same As AT+SYNCMOD=1
1780
1781 0x28 01 08  ~/~/ Same As AT+SYNCMOD=1,8
1782
1783 0x28 01 F4  ~/~/ Same As AT+SYNCMOD=1,-12
1784
1785 0x28 00  ~/~/ Same As AT+SYNCMOD=0
1786
1787
1788 === 3.3.15 Set the Report on Change (Since firmware V1.1.1) ===
1789
1790
1791 **It only takes effect when (% style="color:blue" %)AT+MOD=2.(%%)**
1792
1793 Feature: Monitors the count increments of INT1, INT2, and INT3. When the count increments of INT1/2/3 meet the set increments, the ROC uplink is sent.
1794
1795 (% style="color:blue" %)**AT Command: AT+ROC**
1796
1797 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1798 |=(% style="width: 160px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 220px; background-color:#4F81BD;color:white" %)**Parameters**|=(% style="width: 130px; background-color:#4F81BD;color:white" %)**Response/Explanation**
1799 |(% style="width:160px" %)AT+ROC=?|(% style="width:318px" %)Show current ROC setting|(% style="width:98px" %)(((
1800 0,0,0,0(default)
1801 OK
1802 )))
1803 |(% colspan="1" rowspan="4" style="width:160px" %)(((
1804
1805
1806
1807
1808 AT+ROC=a,b,c,d
1809 )))|(% style="width:318px" %)**a**: Enable or disable the ROC|(% style="width:98px" %)(((
1810 0: off
1811 1: on
1812 )))
1813 |(% style="width:318px" %)**b**: Set the INT1 Count increment detection value|(% style="width:98px" %)Range: 0~~65535
1814 |(% style="width:318px" %)**c**: Set the INT2 Count increment detection value|(% style="width:98px" %)Range: 0~~65535
1815 |(% style="width:318px" %)**d**: Set the INT3 Count increment detection value|(% style="width:98px" %)Range: 0~~65535
1816
1817 **Example:**
1818
1819 * AT+ROC=1,600,0,0  ~/~/ Only the INT1 count (PA8) is monitored, and every time the INT1 count increases by 600, a ROC uplink is sent.
1820 * AT+ROC=1,3000, 500, 1000  ~/~/ Monitor INT1 (PA8), INT2 (PA4), INT3 (PB15) counts. A ROC uplink will be triggered whenever the INT1 count increases by 3000/INT2 count increases by 500/INT3 count increases by 1000.
1821
1822 (% style="color:red" %)**NOTE: If the ROC uplink is triggered by one of the counts (INT1/2/3), only the count comparison value for this count is refreshed, and the comparison counts for the remaining two counts are refreshed only after they meet the count increment setpoint and trigger the ROC uplink.**
1823
1824 **Example:   **AT+ROC=1,100,200,300  
1825
1826 Suppose the current count value is: INT1=100,INT2=150,INT3=200.
1827
1828 At this time, the incremental count of INT1 reaches 100 (initially 0), a ROC uplink will be triggered, at this time the comparative count value of INT1 is refreshed to 100, continue to trigger the count of INT1, and when the count value of INT1 reaches 200, a ROC uplink will be triggered again and the comparative count value will be refreshed to 200.
1829
1830 INT2,INT3 count does not meet the ROC condition, at this time, the comparative count value of
1831 INT2,INT3 is still 0. When the count increment meets the set value, ROC will be triggered by INT2 or INT3, and refresh the comparative count value of INT2,INT3.
1832
1833
1834 (% style="color:blue" %)**Downlink Command: 0xA8**
1835
1836 **Format:** Function code (0xA8) followed by 7 bytes.
1837
1838 The 1st byte after function code 0xA8 sets ROC on/off, the 2nd and 3rd bytes set the INT1 count increment detection value, the 4th and 5th bytes set the INT2 count increment detection value, and the 6th and 7th bytes set the INT3 count increment detection value.
1839
1840 **Example:**
1841
1842 * Downlink Payload: **A8 00 00 00 00 00 00 00 ** ~/~/ Equal to AT+ROC=0,0,0,0
1843 * Downlink Payload: **A8 01 02 58 00 00 00 00 ** ~/~/ Equal to AT+ROC=1,600,0,0
1844 * Downlink Payload: **A8 01 0B B8 01 F4 03 E8 ** ~/~/ Equal to AT+ROC=1,3000, 500, 1000
1845
1846
1847
1848 === 3.3.16 Set LBT Mode (Since firmware V1.1.3) ===
1849
1850
1851 Feature: Enable/Disable Listen Before Talk (LBT) mode. After enabling the LBT mode, the device will detect whether the frequency is occupied. If the frequency is occupied, the device will switch to another frequency for transmission.
1852
1853 (% class="wikigeneratedid" %)
1854 (% style="color:blue" %)**AT Command: AT+LBTSET**
1855
1856 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:474px" %)
1857 |=(% style="width: 155px; 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**
1858 |(% style="width:155px" %)AT+LBTSET=0|(% style="width:223px" %)Disable LBT mode.|(% style="width:96px" %)OK(default)
1859 |(% style="width:155px" %)AT+LBTSET=1|(% style="width:223px" %)Enable LBT mode.|(% style="width:96px" %)OK
1860
1861 (% class="wikigeneratedid" %)
1862 (% style="color:blue" %)**Downlink Command: 0x0D**
1863
1864 Example1:  **0D 00**  ~/~/ Equal to AT+LBTSET=0.
1865
1866 Example2:  **0D 01**  ~/~/ Equal to AT+LBTSET=1.
1867
1868 (% class="wikigeneratedid" %)
1869 (% style="color:red" %)**Note: When using a Bluetooth tool or a serial port tool to view the device's print information, only by enabling the debugging mode(AT+DEBUG) can the frequency point detection process of the LBT be observed.**
1870
1871 (% class="wikigeneratedid" %)
1872 (% style="color:red" %)**Example:**
1873
1874 * Send "AT+DEBUG" once to enter the debugging mode. Sending it again will exit the debugging mode.
1875
1876 (% class="wikigeneratedid" %)
1877 [[image:1750320672923-229.png||height="369" width="579"]]
1878
1879 * An example of LBT printing in debug mode.
1880
1881 (% class="wikigeneratedid" %)
1882 [[image:1753956709926-944.png||height="476" width="653"]]
1883
1884
1885 === 3.3.17 Set Random Time Offset (Since firmware V1.1.3) ===
1886
1887
1888 (% class="wikigeneratedid" %)
1889 Feature: Configure a random time offset (0~~255 seconds) to be added or subtracted from the TDC time (Transmit interval time) or added to interrupt events (**applicable to AT+MOD=1**), helping to stagger transmissions and reduce collisions.
1890
1891 (% class="wikigeneratedid" %)
1892 (% style="color:blue" %)**AT Command: AT+RANDOMTIME=a**
1893
1894 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1895 |=(% style="width: 161px; background-color: rgb(79, 129, 189); color: white;" %)**Command Example**|=(% style="width: 261px; background-color: rgb(79, 129, 189); color: white;" %)**Function**|=(% style="width: 77px; background-color: rgb(79, 129, 189); color: white;" %)**Response**
1896 |(% style="width:161px" %)AT+RANDOMTIME=?|(% style="width:261px" %)Display the current random drift time range.|(% style="width:77px" %)(((
1897 0 (default)
1898
1899 OK
1900 )))
1901 |(% style="width:161px" %)AT+RANDOMTIME=30|(% style="width:261px" %)(((
1902 Set the random drift time range to a time length of TDC±30 seconds.
1903
1904 That is, nodes will randomly send packets within a range of 30 seconds before and after the TDC time.
1905
1906 Or the node will send data at a random time (within 30 seconds) after a door state change triggers an interrupt.
1907 )))|(% style="width:77px" %)OK
1908
1909 (% class="wikigeneratedid" %)
1910 (% style="color:blue" %)**Downlink Command: 0x0F**
1911
1912 **Example 1:**  **0F 1E**  ~/~/ 0x1E(H)=30(D), Equal to AT+RANDOMTIME=30
1913
1914 * ±30s around TDC
1915 * 0-30s delay after interrupt
1916
1917
1918
1919 **Example 2:**  **0F 64**  ~/~/ 0x64(H)=100(D), Equal to AT+RANDOMTIME=100
1920
1921 * ±100s around TDC
1922 * 0-100s delay after interrupt
1923
1924
1925
1926 = 4. Battery & Power Consumption =
1927
1928
1929 CPL03-LB use ER26500 + SPC1520 battery pack and CPL03-LS use 3000mAh Recharable Battery with Solar Panel. See below link for detail information about the battery info and how to replace.
1930
1931 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1932
1933
1934 = 5. OTA Firmware update =
1935
1936
1937 (% class="wikigeneratedid" %)
1938 User can change firmware CPL03-LB/LS to:
1939
1940 * Change Frequency band/ region.
1941
1942 * Update with new features.
1943
1944 * Fix bugs.
1945
1946 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/f3r5k6l7ksplc8x/AACmkH3z1aRpujcaMeEGyPxwa?dl=0]]**
1947
1948 Methods to Update Firmware:
1949
1950 * (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/]]**
1951
1952 * 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]]**.
1953
1954 = 6. FAQ =
1955
1956 == 6.1  AT Commands input doesn't work ==
1957
1958
1959 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.
1960
1961
1962 == 6.2  How to Connect Dry contacts or Wet Contacts ==
1963
1964
1965 CPL03-LB/LS can only be connected to dry contacts by default, and the wiring method is to connect the two ports of dry contacts to the VDD pin and pulse input pin of CPL03-LB/LS respectively.
1966
1967 If you want to connect a wet contact, you need to change the original wiring method. The wiring method is that the GND of the wet contact is connected to the GND of CPL03-LB/LS, and the pulse output is connected to the pulse pin, but the pulse output voltage of the wet contact must be less than 3.6V.
1968
1969
1970 == 6.3 What is the maximum total number of pulses for CPL03? What happens after the maximum total number of pulses is reached? ==
1971
1972
1973 The maximum total number of pulses for CPL03 is three bytes FF FF FF (16,777,215)
1974 The count is reset when the maximum total number of pulses is reached
1975
1976
1977 = 7. Order Info =
1978
1979
1980 **Part Number: (% style="color:blue" %)CPL03-LB-XX (%%)or(% style="color:blue" %) CPL03-LS-XX(%%)**
1981
1982 (% style="color:red" %)**XX**(%%): The default frequency band
1983
1984 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1985
1986 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1987
1988 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1989
1990 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1991
1992 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1993
1994 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1995
1996 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1997
1998 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1999
2000 = 8. ​Packing Info =
2001
2002
2003 (% style="color:#037691" %)**Package Includes**:
2004
2005 * CPL03-LB or CPL03-LS** **LoRaWAN Pulse/Contact Sensor x 1
2006
2007 (% style="color:#037691" %)**Dimension and weight**:
2008
2009 * Device Size: cm
2010
2011 * Device Weight: g
2012
2013 * Package Size / pcs : cm
2014
2015 * Weight / pcs : g
2016
2017 = 9. Support =
2018
2019
2020 * 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.
2021
2022 * 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]].