Version 64.2 by Xiaoling on 2023/05/30 11:14

Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20230530084608-2.jpeg||height="707" width="707"]]
3
4
5 **Table of Contents:**
6
7 {{toc/}}
8
9
10
11
12
13
14 = 1. Introduction =
15
16 == 1.1 What is CPL03-LB LoRaWAN Pulse/Contact Sensor ==
17
18
19 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.
20
21 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.
22
23 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.
24
25 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.
26
27 CPL03-LB is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures.
28
29 CPL03-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
30
31 CPL03-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
32
33 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.
34
35
36 [[image:image-20230530111051-3.png||height="402" width="850"]]
37
38
39 == 1.2 ​Features ==
40
41
42 * LoRaWAN 1.0.3 Class A
43 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
44 * Ultra-low power consumption
45 * Open/Close detect
46 * Open/Close statistics
47 * Temperature & Humidity alarm
48 * supports open alarm feature
49 * supports Datalog feature
50 * Support Bluetooth v5.1 and LoRaWAN remote configure
51 * Support wireless OTA update firmware
52 * Uplink on periodically and open/close event
53 * Downlink to change configure
54 * 8500mAh Battery for long term use
55
56 == 1.3 Specification ==
57
58
59 (% style="color:#037691" %)**Common DC Characteristics:**
60
61 * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
62 * Operating Temperature: -40 ~~ 85°C
63
64 (% style="color:#037691" %)**LoRa Spec:**
65
66 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
67 * Max +22 dBm constant RF output vs.
68 * RX sensitivity: down to -139 dBm.
69 * Excellent blocking immunity
70
71 (% style="color:#037691" %)**Battery:**
72
73 * Li/SOCI2 un-chargeable battery
74 * Capacity: 8500mAh
75 * Self-Discharge: <1% / Year @ 25°C
76 * Max continuously current: 130mA
77 * Max boost current: 2A, 1 second
78
79 (% style="color:#037691" %)**Power Consumption**
80
81 * Sleep Mode: 5uA @ 3.3v
82 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
83
84 == 1.4 Applications ==
85
86
87 * Open/Close Detection
88 * Pulse meter application
89 * Dry Contact Detection
90
91 == 1.5 Sleep mode and working mode ==
92
93
94 (% 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.
95
96 (% 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.
97
98
99 == 1.6 Button & LEDs ==
100
101
102 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
103
104
105 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
106 |=(% 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**
107 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
108 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
109 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
110 )))
111 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
112 (% 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.
113 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
114 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.
115 )))
116 |(% 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.
117
118 == 1.7 BLE connection ==
119
120
121 CPL03-LB support BLE remote configure.
122
123
124 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:
125
126 * Press button to send an uplink
127 * Press button to active device.
128 * Device Power on or reset.
129
130 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
131
132
133 == 1.8 Pin Definitions ==
134
135 [[image:image-20230523174230-1.png]]
136
137
138 == 1.9 Mechanical ==
139
140
141 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
142
143
144 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
145
146
147 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
148
149
150 = 2. Configure CPL03-LB to connect to LoRaWAN network =
151
152 == 2.1 How it works ==
153
154
155 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 20 minutes.
156
157 (% style="display:none" %) (%%)
158
159 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
160
161
162 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.
163
164 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.
165
166 [[image:image-20230530111412-4.png||height="398" width="805"]](% style="display:none" %)
167
168
169 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from CPL03-LB.
170
171 Each CPL03-LB is shipped with a sticker with the default device EUI as below:
172
173 [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
174
175
176 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
177
178
179 (% style="color:blue" %)**Register the device**
180
181 [[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"]]
182
183
184 (% style="color:blue" %)**Add APP EUI and DEV EUI**
185
186 [[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"]]
187
188
189 (% style="color:blue" %)**Add APP EUI in the application**
190
191
192 [[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"]]
193
194
195 (% style="color:blue" %)**Add APP KEY**
196
197 [[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"]]
198
199
200 (% style="color:blue" %)**Step 2:**(%%) Activate on CPL03-LB
201
202
203 Press the button for 5 seconds to activate the CPL03-LB.
204
205 (% 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.
206
207 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
208
209
210 == 2.3 ​Uplink Payload ==
211
212 === 2.3.1 Device Status, FPORT~=5 ===
213
214
215 Users can use the downlink command(**0x26 01**) to ask CPL03-LB to send device configure detail, include device configure status. CPL03-LB will uplink a payload via FPort=5 to server.
216
217 The Payload format is as below.
218
219
220 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
221 |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
222 |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
223 |(% 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
224
225 Example parse in TTNv3
226
227 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/WebHome/1652859749264-179.png?width=723&height=275&rev=1.1||alt="1652859749264-179.png"]]
228
229
230 (% style="color:#037691" %)**Sensor Model**(%%): For CPL03-LB, this value is 0x0A
231
232 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
233
234 (% style="color:#037691" %)**Frequency Band**:
235
236 *0x01: EU868
237
238 *0x02: US915
239
240 *0x03: IN865
241
242 *0x04: AU915
243
244 *0x05: KZ865
245
246 *0x06: RU864
247
248 *0x07: AS923
249
250 *0x08: AS923-1
251
252 *0x09: AS923-2
253
254 *0x0a: AS923-3
255
256 *0x0b: CN470
257
258 *0x0c: EU433
259
260 *0x0d: KR920
261
262 *0x0e: MA869
263
264
265 (% style="color:#037691" %)**Sub-Band**:
266
267 AU915 and US915:value 0x00 ~~ 0x08
268
269 CN470: value 0x0B ~~ 0x0C
270
271 Other Bands: Always 0x00
272
273
274 (% style="color:#037691" %)**Battery Info**:
275
276 Check the battery voltage.
277
278 Ex1: 0x0B45 = 2885mV
279
280 Ex2: 0x0B49 = 2889mV
281
282
283 === 2.3.2 Sensor Configuration, FPORT~=4 ===
284
285
286 CPL03-LB will only send this command after getting the downlink command (0x26 02) from the server.
287
288 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
289 |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0; width:504px" %)**Sensor Configuration FPORT=4**
290 |**Size(bytes)**|(% style="width:75px" %)**3**|(% style="width:77px" %)**1**|(% style="width:96px" %)**1**|(% style="width:158px" %)**2**|(% style="width:158px" %)**1**
291 |**Value**|(% style="width:75px" %)TDC (unit:sec)|(% style="width:77px" %)Disalarm|(% style="width:96px" %)Keep status|(% style="width:158px" %)Keep time (unit: sec)|(% style="width:158px" %)Trigger mode
292
293 * (((
294 (% style="color:#037691" %)** TDC: (default: 0x001C20)**
295 )))
296
297 (((
298 Uplink interval for the total pulse count, default value is 0x001C20 which is 7200 seconds = 2 hours.
299
300
301 )))
302
303 * (((
304 (% style="color:#037691" %)** Disalarm: (default: 0)**
305 )))
306
307 (((
308 (% 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.
309 )))
310
311 (((
312 (% style="color:blue" %)** If Disalarm = 0**(%%), CPL03-LB will send uplink at every TDC periodically.
313
314
315 )))
316
317 * (((
318 (% style="color:#037691" %)** Keep Status & Keep Time**
319 )))
320
321 (((
322 Shows the configure value of [[Alarm Base on Timeout Feature>>||anchor="H3.5AlarmBaseonTimeout"]]
323
324
325 )))
326
327 * (((
328 (% style="color:#037691" %)** Trigger mode (default: 0)**
329 )))
330
331 (((
332 (% style="color:blue" %)** If Trigger mode = 0**(%%), count close to open event.
333 )))
334
335 (((
336 (% style="color:blue" %)** If Trigger mode = 1**(%%), count open to close event.
337 )))
338
339 [[image:1652860064987-743.png||height="152" width="730"]]
340
341
342 [[image:1652860079526-831.png||height="209" width="729"]]
343
344
345 === 2.3.3 Real-Time Open/Close Status, Uplink FPORT~=2 ===
346
347
348 (((
349 (((
350 CPL03-LB will send this uplink **after** Device Status once join the LoRaWAN network successfully. And CPL03-LB will:
351 )))
352 )))
353
354 (((
355 (((
356 periodically send this uplink every 2 hours, this interval [[can be changed>>||anchor="H3.1SetTransmitIntervalTime"]].
357 )))
358 )))
359
360 (((
361 (((
362 Uplink Payload totals 11 bytes.
363 )))
364 )))
365
366 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
367 |=(% colspan="5" style="background-color:#D9E2F3;color:#0070C0; width: 520px;" %)**Real-Time Open/Close Status, FPORT=2**
368 |(% style="width:60px" %)**Size(bytes)**|(% style="width:65px" %)**1**|(% style="width:65px" %)**3**|(% style="width:240px" %)**3**|(% style="width:90px" %)**4**
369 |(% style="width:101px" %)**Value**|(% style="width:133px" %)Status & [[Alarm>>||anchor="H3.5AlarmBaseonTimeout"]]|(% style="width:92px" %)Total pulse|(% style="width:247px" %)The last open duration (unit: min)|(% style="width:149px" %)[[Unix TimeStamp>>||anchor="H2.4.1UnixTimeStamp"]]
370
371 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:504px" %)
372 |=(% colspan="4" style="background-color:#D9E2F3;color:#0070C0; width: 502px;" %)**Status & Alarm field**
373 |(% style="width:60px" %)**Size(bit)**|(% style="width:70px" %)**6**|(% style="width:228px" %)**1**|(% style="width:146px" %)**1**
374 |(% style="width:76px" %)Value|(% style="width:80px" %)Calculate Flag|(% style="width:208px" %)Alarm: 0: No Alarm; 1: Alarm|(% style="width:136px" %)Contact Status: 0: Open, 1: Close
375
376 * (((
377 (% style="color:#037691" %)** Calculate Flag**
378 )))
379
380 (((
381 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.
382 )))
383
384 (((
385 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.
386 )))
387
388 (((
389 Default value: 0. 
390 )))
391
392 (((
393 Range (6 bits): (b)000000 ~~ (b) 111111
394 )))
395
396 (((
397 Refer: [[Set Calculate Flag>>||anchor="H3.9Setthecalculateflag"]]
398
399
400 )))
401
402 * (((
403 (% style="color:#037691" %)** Alarm**
404 )))
405
406 (((
407 See [[Alarm Base on Timeout>>||anchor="H3.5AlarmBaseonTimeout"]]
408
409
410 )))
411
412 * (((
413 (% style="color:#037691" %)** Contact Status**
414 )))
415
416 (((
417 0: Open
418 )))
419
420 (((
421 1: Close
422
423
424 )))
425
426 * (((
427 (% style="color:#037691" %)** Total pulse**
428 )))
429
430 (((
431 Total pulse/counting base on dry [[contact trigger event>>||anchor="H2.3.2SensorConfiguration2CFPORT3D4"]]
432 )))
433
434 (((
435 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
436
437
438 )))
439
440 * (((
441 (% style="color:#037691" %)** The last open duration**
442 )))
443
444 (((
445 Dry Contact last open duration.
446 )))
447
448 (((
449 Unit: min.
450 )))
451
452 [[image:1652860403792-491.png||height="153" width="735"]]
453
454
455 === 2.3.4 Real-Time Open/Close Status, 3 pulse mode, Uplink FPORT~=6 ===
456
457
458 (% style="color:red" %)**Note:**
459
460 * Firmware support for this mode is not released. If users want to test, please contact Dragino support.
461 * Users need to run (% style="color:blue" %)**AT+MOD=3**(%%) to support this model after updating the firmware.
462 * This mode doesn't support Historical Events and Datalog features.
463
464 (% style="color:blue" %)**CPL03-LB 3 Pulse Wiring:**
465
466 [[image:image-20221013153352-1.png||height="628" width="720"]]
467
468
469 (% style="color:blue" %)**Payload:**
470
471 [[image:image-20221013153352-2.png||height="167" width="1215"]]
472
473
474 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:447px" %)
475 |(% 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**
476 |(% style="width:93px" %)Value|(% style="width:59px" %)Status|(% style="width:98px" %)(((
477 Port1 Total Pulse(PB14)
478 )))|(% style="width:96px" %)(((
479 Port2 Total Pulse(PB15)
480 )))|(% style="width:94px" %)(((
481 Port3 Total Pulse(PA4)
482 )))
483
484 (% style="color:blue" %)**Status:**
485
486 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:257px" %)
487 |(% style="background-color:#d9e2f3; color:#0070c0; width:75px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:112px" %)**6**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**2**
488 |(% style="width:75px" %)Value|(% style="width:111px" %)Calculate Flag|(% style="width:68px" %)Reserve
489
490 (% style="color:red" %)**Max COUNT for each port is 16777215. Exceed this number will reset to 1.**
491
492
493 (% style="color:blue" %)**Related AT Command:**
494
495 (% style="color:#037691" %)**AT+TTRMOD1:  Port1 count mode;  0: Signal falling edge(Default), 1: Signal raising edge**
496
497 AT+TTRMOD1=0  Downlink Command: 0xA4 01 00
498
499 AT+TTRMOD1=1  Downlink Command: 0xA4 01 01
500
501
502 (% style="color:#037691" %)**AT+TTRMOD2:  Port2 count mode;  0: Signal falling edge(Default), 1: Signal raising edge**
503
504 AT+TTRMOD1=0  Downlink Command: 0xA4 02 00
505
506 AT+TTRMOD1=1  Downlink Command: 0xA4 02 01
507
508
509 (% style="color:#037691" %)**AT+TTRMOD3:  Port3 count mode;  0: Signal falling edge(Default), 1: Signal raising edge**
510
511 AT+TTRMOD1=0  Downlink Command: 0xA4 03 00
512
513 AT+TTRMOD1=1  Downlink Command: 0xA4 03 01
514
515
516 (% style="color:#037691" %)**AT+CALCFLAG:  Calculate Flag ( Default : 0 )**
517
518 AT+CALCFLAG=aa
519
520
521 (% style="color:blue" %)**Downlink Command: 0xA5 aa**
522
523 (% style="color:#037691" %)**AT+COUNTMOD:  Accumulative Mode;  0: Accumulative (Default),1: Reset after uplink.**
524
525 AT+COUNTMOD=0 Downlink Command: 0x0B 00
526
527 AT+COUNTMOD=1 Downlink Command: 0x0B 01
528
529
530 (% style="color:#037691" %)**AT+SETCNT:  Set count value**
531
532 AT+SETCNT=1,aa  Downlink Command: 0xA6 01 aa aa aa
533
534 AT+SETCNT=2,aa  Downlink Command: 0xA6 02 aa aa aa
535
536 AT+SETCNT=3,aa  Downlink Command: 0xA6 03 aa aa aa
537
538
539 (% style="color:blue" %)**Decode:  **(%%)[[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
540
541
542 === 2.3.5 Historical Door Open/Close Event, FPORT~=3 ===
543
544
545 (((
546 CPL03-LB stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.4DatalogFeature"]].
547 )))
548
549 (((
550 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
551 )))
552
553 * (((
554 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.
555 )))
556
557 (((
558 For example, in the US915 band, the max payload for different DR is:
559 )))
560
561 (((
562 a) (% style="color:blue" %)**DR0**(%%): max is 11 bytes so one entry of data
563 )))
564
565 (((
566 b) (% style="color:blue" %)**DR1**(%%): max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
567 )))
568
569 (((
570 c) (% style="color:blue" %)**DR2**(%%): total payload includes 11 entries of data
571 )))
572
573 (((
574 d) (% style="color:blue" %)**DR3**(%%): total payload includes 22 entries of data.
575 )))
576
577 (((
578 If CPL03-LB doesn't have any data in the polling time. It will uplink 11 bytes of 0
579
580
581 )))
582
583 (% style="color:blue" %)** Downlink:**
584
585 (% class="box" %)
586 (((
587 **0x31 61 E9 3A D4 61 E9 3D E0 05**
588 )))
589
590 [[image:1652861353248-624.png||height="189" width="720"]]
591
592
593 (% style="color:blue" %)** Uplink:**
594
595 (% class="box" %)
596 (((
597 **0E 00 23 E6 00 00 00 61 E9 3B 04 0E 00 23 E6 00 00 00 61 E9 3B 25 0D 00 00 00 00 00 00 61 E9 3B C8 0E 00 00 02 00 00 00 61 E9 3B D4 0E 00 00 06 00 00 00 61 E9 3B DB 01 00 00 00 00 00 00 61 E9 3C 91 01 00 00 00 00 00 00 61 E9 3C A1 0D 00 00 00 00 00 00 61 E9 3C BC 0E 00 00 07 00 00 00 61 E9 3C D6 00 00 00 00 00 00 00 61 E9 3D A6**
598 )))
599
600 (% style="color:#037691" %)** **
601
602 (% style="color:#037691" %)**Parsed Value:**
603
604 (((
605 [ALARM, PIN_STATUS, TOTAL_PULSE, CALCULATE_FLAG, LAST_OPEN_DURATION, TIME]
606 )))
607
608 (((
609
610 )))
611
612 (((
613 [TRUE, CLOSE, 9190, 3, 0, 2022-01-20 10:35:48],
614 )))
615
616 (((
617 [TRUE, CLOSE, 9190, 3, 0, 2022-01-20 10:36:21],
618 )))
619
620 (((
621 [FALSE, OPEN, 0, 3, 0, 2022-01-20 10:39:04],
622 )))
623
624 (((
625 [TRUE, CLOSE, 2, 3, 0, 2022-01-20 10:39:16],
626 )))
627
628 (((
629 [TRUE, CLOSE, 6, 3, 0, 2022-01-20 10:39:23],
630 )))
631
632 (((
633 [FALSE, OPEN, 0, 0, 0, 2022-01-20 10:42:25],
634 )))
635
636 (((
637 [FALSE, OPEN, 0, 0, 0, 2022-01-20 10:42:41],
638 )))
639
640 (((
641 [FALSE, OPEN, 0, 3, 0, 2022-01-20 10:43:08],
642 )))
643
644 (((
645 [TRUE, CLOSE, 7, 3, 0, 2022-01-20 10:43:34],
646 )))
647
648 (((
649 [FALSE, CLOSE, 0, 0, 0, 2022-01-20 10:47:02],
650
651
652 )))
653
654 [[image:1652861480446-216.png]]
655
656
657 == 2.4 Payload Decoder file ==
658
659
660 In TTN, use can add a custom payload so it shows friendly reading
661
662 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]]
663
664
665 == 2.5 Datalog Feature ==
666
667
668 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.
669
670
671 === 2.5.1 Ways to get datalog via LoRaWAN ===
672
673
674 Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayload28FPORT3D329"]], 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.
675
676 * (((
677 a) CPL03-LB will do an ACK check for data records sending to make sure every data arrive server.
678 )))
679 * (((
680 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.
681 )))
682
683 Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
684
685 [[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"]]
686
687
688 === 2.5.2 Unix TimeStamp ===
689
690
691 CPL03-LB uses Unix TimeStamp format based on
692
693 [[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"]]
694
695 User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
696
697 Below is the converter example
698
699 [[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"]]
700
701
702 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
703
704
705 === 2.5.3 Set Device Time ===
706
707
708 User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
709
710 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).
711
712 (% 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.**
713
714
715
716 === 2.5.4 Poll sensor value ===
717
718
719 Users can poll sensor values based on timestamps. Below is the downlink command.
720
721 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:425.818px" %)
722 |(% colspan="4" style="background-color:#d9e2f3; color:#0070c0; width:423px" %)**Downlink Command to poll Open/Close status (0x31)**
723 |(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte**
724 |(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval
725
726 (((
727 Timestamp start and Timestamp end-use Unix TimeStamp format as mentioned above. Devices will reply with all data logs during this period, using the uplink interval.
728 )))
729
730 (((
731 For example, downlink command[[image:image-20220518162852-1.png]]
732 )))
733
734 (((
735 Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
736 )))
737
738 (((
739 Uplink Internal =5s,means CPL03-LB will send one packet every 5s. range 5~~255s.
740 )))
741
742
743 == 2.7 Frequency Plans ==
744
745
746 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.
747
748 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
749
750
751 = 3. Configure CPL03-LB =
752
753 == 3.1 Configure Methods ==
754
755
756 CPL03-LB supports below configure method:
757
758 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
759 * 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]].
760 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
761
762
763 == 3.2 General Commands ==
764
765
766 These commands are to configure:
767
768 * General system settings like: uplink interval.
769 * LoRaWAN protocol & radio related command.
770
771 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
772
773 [[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/]]
774
775
776 == 3.3 Commands special design for CPL03-LB ==
777
778
779 These commands only valid for CPL03-LB, as below:
780
781
782 === 3.3.1 Set Transmit Interval Time ===
783
784
785 (((
786 Feature: Change LoRaWAN End Node Transmit Interval.
787 )))
788
789 (((
790 (% style="color:blue" %)**AT Command: AT+TDC**
791 )))
792
793 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
794 |=(% 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**
795 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
796 30000
797 OK
798 the interval is 30000ms = 30s
799 )))
800 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
801 OK
802 Set transmit interval to 60000ms = 60 seconds
803 )))
804
805 (((
806 (% style="color:blue" %)**Downlink Command: 0x01**
807 )))
808
809 (((
810 Format: Command Code (0x01) followed by 3 bytes time value.
811 )))
812
813 (((
814 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
815 )))
816
817 * (((
818 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
819 )))
820 * (((
821 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
822
823
824
825 )))
826
827 === 3.3.2 Quit AT Command ===
828
829
830 Feature: Quit AT Command mode, so user needs to input the password again before using AT Commands.
831
832 (% style="color:blue" %)**AT Command: AT+DISAT**
833
834 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:452px" %)
835 |=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 198px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 99px;background-color:#D9E2F3;color:#0070C0" %)**Response**
836 |(% style="width:155px" %)AT+DISAT|(% style="width:198px" %)Quit AT Commands mode|(% style="width:96px" %)OK
837
838 (% style="color:blue" %)**Downlink Command:**
839
840 No downlink command for this feature.
841
842
843 === 3.3.3 Get Device Status ===
844
845
846 Send a LoRaWAN downlink to ask device send Alarm settings.
847
848 (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
849
850 Sensor will upload Device Status via FPORT=5. See payload section for detail.
851
852
853 === 3.3.4 Enable / Disable Alarm ===
854
855
856 Feature: Enable/Disable Alarm for open/close event. Default value 0.
857
858 (% style="color:blue" %)**AT Command:**
859
860 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
861 |(% style="background-color:#d9e2f3; color:#0070c0; width:154px" %)**Command Example**|(% style="background-color:#d9e2f3; color:#0070c0; width:278px" %)**Function**|(% style="background-color:#d9e2f3; color:#0070c0; width:88px" %)**Response**
862 |(% style="width:154px" %)AT+DISALARM=1|(% style="width:278px" %)End node will only send packets in TDC time.|OK
863 |(% style="width:154px" %)AT+DISALARM=0|(% style="width:278px" %)End node will send packets in TDC time or status change for door sensor|OK
864
865 (% style="color:blue" %)**Downlink Command:**
866
867 **0xA7 01**  ~/~/  Same As AT+DISALARM=1
868
869 **0xA7 00    ** ~/~/  Same As AT+DISALARM=0
870
871
872 === 3.3.5 Alarm Base on Timeout ===
873
874
875 (((
876 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:
877 )))
878
879
880 (((
881 (% style="color:#4f81bd" %)**1. Keep Status: Status to be monitor**
882 )))
883
884 (((
885 **Keep Status = 1**: Monitor Close to Open event
886 )))
887
888 (((
889 **Keep Status = 0**: Monitor Open to Close event
890 )))
891
892
893 (((
894 (% style="color:#4f81bd" %)**2. Keep Time: Timeout to send an Alarm**
895 )))
896
897 (((
898 Range 0 ~~ 65535(0xFFFF) seconds.
899 )))
900
901 (((
902 If** keep time = 0**, Disable Alarm Base on Timeout feature.
903 )))
904
905 (((
906 If **keep time > 0**, device will monitor the keep status event and send an alarm when status doesn’t change after timeout.
907 )))
908
909
910 (((
911 (% style="color:#4f81bd" %)**AT Command**(%%) to configure:
912 )))
913
914 (((
915 (% 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.
916 )))
917
918 (((
919 (% style="color:blue" %)**AT+TTIG=0,0 **(%%) ~-~-> Default Value, disable timeout Alarm.
920 )))
921
922
923 (((
924 (% style="color:#4f81bd" %)**Downlink Command**(%%) to configure:
925 )))
926
927 (((
928 **Command: 0xA9 aa bb cc**
929 )))
930
931 (((
932 **A9: **Command Type Code
933 )))
934
935 (((
936 **aa: **status to be monitored
937 )))
938
939 (((
940 **bb cc: **timeout.
941 )))
942
943
944 (((
945 If user send 0xA9 01 00 1E: equal to AT+TTRIG=1,30
946 )))
947
948 (((
949 Or
950 )))
951
952 (((
953 0xA9 00 00 00: Equal to AT+TTRIG=0,0. Disable timeout Alarm.
954 )))
955
956
957 === 3.3.6 Clear Flash Record ===
958
959
960 Feature: Clear flash storage for data log feature.
961
962 (% style="color:blue" %)**AT Command: AT+CLRDTA**
963
964 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
965 |=(% style="width: 157px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 169px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 174px;background-color:#D9E2F3;color:#0070C0" %)**Response**
966 |(% style="width:157px" %)AT+CLRDTA|(% style="width:169px" %)Clear flash storage for data log feature.|Clear all stored sensor data… OK
967
968 (((
969 (% style="color:blue" %)**Downlink Command:**
970 )))
971
972 (((
973 * **Example**: 0xA301  ~/~/  Same as AT+CLRDTA
974 )))
975
976
977
978
979 === 3.3.7 Set trigger mode ===
980
981
982 Feature: Set the trigger interrupt mode.
983
984 (% style="color:blue" %)**AT Command: AT+TTRMOD**
985
986 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:495px" %)
987 |=(% style="width: 157px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 246px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 92px;background-color:#D9E2F3;color:#0070C0" %)**Response**
988 |(% style="width:157px" %)(((
989 AT+TTRMOD=1
990 )))|(% style="width:156px" %)Count and trigger from open to close (rising edge)|(% style="width:89px" %)(((
991 (((
992 OK
993 )))
994 )))
995 |(% style="width:157px" %)(((
996 AT+TTRMOD=0
997 )))|(% style="width:156px" %)Count and trigger from close to open (falling edge)|(% style="width:89px" %)(((
998 OK
999 )))
1000
1001 (% style="color:blue" %)**Downlink Command:**
1002
1003 * **Example**: 0xA401  ~/~/  Same as AT+ TTRMOD =1
1004
1005
1006 === 3.3.8 Set the calculate flag ===
1007
1008
1009 Feature: Set the calculate flag
1010
1011 (% style="color:blue" %)**AT Command: AT+CALCFLAG**
1012
1013 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:461px" %)
1014 |=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 193px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 110px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1015 |(% style="width:158px" %)AT+CALCFLAG =1|(% style="width:192px" %)Set the calculate flag to 1.|(% style="width:109px" %)OK
1016 |(% style="width:158px" %)AT+CALCFLAG =2|(% style="width:192px" %)Set the calculate flag to 2.|(% style="width:109px" %)OK
1017
1018 (% style="color:blue" %)**Downlink Command:**
1019
1020 * **Example**: 0XA501  ~/~/  Same as AT+CALCFLAG =1
1021
1022 === 3.3.9 Set count number ===
1023
1024
1025 Feature: Manually set the count number
1026
1027 (% style="color:blue" %)**AT Command: AT+SETCNT**
1028
1029 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:479px" %)
1030 |=(% 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**
1031 |(% style="width:160px" %)AT+ SETCNT =0|(% style="width:221px" %)Set the count number to 0.|(% style="width:95px" %)OK
1032 |(% style="width:160px" %)AT+ SETCNT =100|(% style="width:221px" %)Set the count number to 100.|(% style="width:95px" %)OK
1033
1034 (% style="color:blue" %)**Downlink Command:**
1035
1036 * **Example**: 0xA6000001  ~/~/  Same as AT+ SETCNT =1
1037
1038 * **Example**: 0xA6000064  ~/~/  Same as AT+ SETCNT =100
1039
1040 === 3.3.10 Set Interrupt Mode ===
1041
1042
1043 Feature, Set Interrupt mode for PA8 of pin.
1044
1045 When AT+INTMOD=0 is set, PA8 is used as a digital input port.
1046
1047 (% style="color:blue" %)**AT Command: AT+INTMOD**
1048
1049 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1050 |=(% 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**
1051 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
1052 0
1053 OK
1054 the mode is 0 =Disable Interrupt
1055 )))
1056 |(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
1057 Set Transmit Interval
1058 0. (Disable Interrupt),
1059 ~1. (Trigger by rising and falling edge)
1060 2. (Trigger by falling edge)
1061 3. (Trigger by rising edge)
1062 )))|(% style="width:157px" %)OK
1063
1064 (% style="color:blue" %)**Downlink Command: 0x06**
1065
1066 Format: Command Code (0x06) followed by 3 bytes.
1067
1068 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1069
1070 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
1071
1072 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1073
1074
1075 === 3.3.11 Set Power Output Duration ===
1076
1077
1078 Control the output duration 5V . Before each sampling, device will
1079
1080 ~1. first enable the power output to external sensor,
1081
1082 2. keep it on as per duration, read sensor value and construct uplink payload
1083
1084 3. final, close the power output.
1085
1086 (% style="color:blue" %)**AT Command: AT+5VT**
1087
1088 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1089 |=(% 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**
1090 |(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)0 (default)
1091 OK
1092 |(% style="width:154px" %)AT+5VT=500|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:157px" %)OK
1093
1094 (% style="color:blue" %)**Downlink Command: 0x07**
1095
1096 Format: Command Code (0x07) followed by 2 bytes.
1097
1098 The first and second bytes are the time to turn on.
1099
1100 * Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
1101
1102 * Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
1103
1104
1105 = 4. Battery & Power Consumption =
1106
1107
1108 CPL03-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1109
1110 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1111
1112
1113 = 5. OTA Firmware update =
1114
1115
1116 (% class="wikigeneratedid" %)
1117 User can change firmware CPL03-LB to:
1118
1119 * Change Frequency band/ region.
1120
1121 * Update with new features.
1122
1123 * Fix bugs.
1124
1125 Firmware and changelog can be downloaded from : **[[Firmware download link>>url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]**
1126
1127
1128 Methods to Update Firmware:
1129
1130 * (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/]]
1131
1132 * 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]]**.
1133
1134 = 6. FAQ =
1135
1136 == 6.1  AT Commands input doesn't work ==
1137
1138
1139 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.
1140
1141
1142 = 7. Order Info =
1143
1144
1145 Part Number: (% style="color:blue" %)**CPL03-LB-XXX**
1146
1147 (% style="color:red" %)**XXX**(%%): The default frequency band
1148
1149 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1150
1151 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1152
1153 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1154
1155 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1156
1157 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1158
1159 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1160
1161 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1162
1163 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1164
1165 = 8. ​Packing Info =
1166
1167
1168 (% style="color:#037691" %)**Package Includes**:
1169
1170 * CPL03-LB LoRaWAN Pulse/Contact Sensor
1171
1172 (% style="color:#037691" %)**Dimension and weight**:
1173
1174 * Device Size: cm
1175
1176 * Device Weight: g
1177
1178 * Package Size / pcs : cm
1179
1180 * Weight / pcs : g
1181
1182 = 9. Support =
1183
1184
1185 * 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.
1186
1187 * 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]].