Version 40.1 by Edwin Chen on 2022/10/23 00:07

Hide last authors
Xiaoling 1.5 1 (% style="text-align:center" %)
David Huang 31.1 2 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/WebHome/1652856952171-363.png?rev=1.1||alt="1652856952171-363.png" height="578" width="588"]]
Xiaoling 1.5 3
David Huang 32.1 4 {{toc/}}
Xiaoling 1.5 5
David Huang 31.1 6 = **1. Introduction** =
Xiaoling 1.5 7
Edwin Chen 34.1 8 == **1.1 ​**What is CPN01 **NB-IoT** Pulse/Contact Sensor ==
Xiaoling 1.5 9
Edwin Chen 38.1 10 The Dragino CPN01 is an (% style="color:blue" %)**NB-IoT Dry Contact Sensor**(%%). It detects open/close status and uplinks the info to IoT server via NB-IoT network. User can see the (% style="color:blue" %)**dry contact status, open time, and open counts**(%%) in the IoT Server.
Xiaoling 1.5 11
Edwin Chen 38.1 12 The CPN01 will send periodically data every day as well as for each dry contact action. It also counts the contact open times and calculates the last open duration. Users can also disable the uplink for each Open/Close event, instead, device can count each open event and uplink periodically.
Xiaoling 1.5 13
Edwin Chen 38.1 14 CPN01 has** (% style="color:blue" %)Open-Alarm feature(%%)**, user can set this feature so CPN01 will send an alarm if the contact has been open exceeds a certain time.
Xiaoling 1.5 15
Edwin Chen 34.1 16 CPN01 is designed for outdoor use. It has a weatherproof enclosure and industrial-level battery to work in low to high temperatures.
Xiaoling 1.5 17
Edwin Chen 34.1 18 NarrowBand-Internet of Things (NB-IoT) is a standards-based low power wide area (LPWA) technology developed to enable a wide range of new IoT devices and services. NB-IoT significantly improves the power consumption of user devices, system capacity, and spectrum efficiency, especially in deep coverage.
19 \\CPN01 supports different uplink methods including (% style="color:blue" %)**TCP, MQTT, UDP, and CoAP**(%%) for different application requirements.
20 \\CPN01 is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long-term use of up to 5 years. (Actually Battery life depends on the use environment, update period & uplink method)
21 \\To use CPN01, user needs to check if there is NB-IoT coverage in the field and with the Nb-IoT bands that CPN01 supports. If local operator support it, user needs to get a (% style="color:blue" %)**NB-IoT SIM card**(%%) from the operator and install into CPN01 to get NB-IoT network connection.
Xiaoling 1.5 22
David Huang 2.1 23
Edwin Chen 35.1 24
David Huang 31.1 25 == **​1.2 Features** ==
Xiaoling 1.5 26
David Huang 2.1 27 * NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD
28 * Open/Close detect
29 * Open/Close statistics
30 * Monitor Battery Level
31 * Uplink on periodically and open/close event
32 * Datalog feature
Edwin Chen 34.1 33 * Uplink periodically
David Huang 2.1 34 * Downlink to change configure
35 * Wall Mountable
36 * Outdoor Use
37 * Ultra-Low Power consumption
38 * AT Commands to change parameters
39 * Micro SIM card slot for NB-IoT SIM
Edwin Chen 34.1 40 * 8500mAh Battery for long-term use
Xiaoling 1.5 41
David Huang 31.1 42 == **1.3  Specification** ==
Xiaoling 1.5 43
David Huang 2.1 44 **Common DC Characteristics:**
Xiaoling 1.5 45
David Huang 2.1 46 * Supply Voltage: 2.1v ~~ 3.6v
47 * Operating Temperature: -40 ~~ 85°C
Xiaoling 1.5 48
David Huang 2.1 49 **NB-IoT Spec:**
Xiaoling 1.5 50
David Huang 2.1 51 * - B1 @H-FDD: 2100MHz
52 * - B3 @H-FDD: 1800MHz
53 * - B8 @H-FDD: 900MHz
54 * - B5 @H-FDD: 850MHz
55 * - B20 @H-FDD: 800MHz
56 * - B28 @H-FDD: 700MHz
Xiaoling 1.5 57
David Huang 31.1 58 == **1.4 Installation** ==
Xiaoling 1.5 59
Edwin Chen 38.1 60 Connect CPN01 to an Open Close sensor like below. So it can detect the Open/Close event.
Xiaoling 1.5 61
David Huang 31.1 62 [[image:image-20221021110329-1.png]]
Xiaoling 1.5 63
Edwin Chen 38.1 64 [[image:image-20221022234602-2.png||height="288" width="922"]]
Xiaoling 1.5 65
Edwin Chen 38.1 66
David Huang 31.1 67 == **1.5 ​Applications** ==
68
David Huang 2.1 69 * Open/Close Detection
70 * Pulse meter application
71 * Dry Contact Detection
Xiaoling 1.5 72
David Huang 31.1 73 == **1.6 Mechanical** ==
Xiaoling 1.5 74
David Huang 31.1 75 ​[[image:image-20221021110415-3.png]]
Xiaoling 1.5 76
David Huang 31.1 77 == ** 1.7 Pin Definitions and Switch** ==
Xiaoling 1.5 78
David Huang 31.1 79 [[image:image-20221021110429-4.png]]
Xiaoling 1.5 80
David Huang 31.1 81 === **1.7.1 Pin Definition** ===
Xiaoling 1.5 82
Edwin Chen 38.1 83 CPN01 is pre-configured to connect to two external wires. The other pins are not used. If user wants to know more about other pins, please refer to the **[[LSN50v2 User Manual>>doc:Main.User Manual for LoRaWAN End Nodes.LSN50 & LSN50-V2 - LoRaWAN Sensor Node User Manual.WebHome]]**.
Xiaoling 1.5 84
Edwin Chen 38.1 85
David Huang 31.1 86 === **1.7.2 Jumper JP2(Power ON/OFF)** ===
Xiaoling 1.5 87
David Huang 2.1 88 Power on Device when putting this jumper.
89
90
David Huang 31.1 91 === **1.7.3 BOOT MODE / SW1** ===
David Huang 2.1 92
93
Edwin Chen 38.1 94 1) ISP: upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. The firmware won't run.
David Huang 2.1 95
Edwin Chen 38.1 96 2) Flash: working mode, the device starts to work for NB-IoT connection and sends out console output for further debugging.
David Huang 2.1 97
98
David Huang 31.1 99 === **1.7.4 Reset Button** ===
David Huang 2.1 100
101
102 Press to reboot the device.
103
104
David Huang 31.1 105 === **1.7.5 LED** ===
David Huang 2.1 106
107
Edwin Chen 38.1 108 The LED will blink when :
David Huang 2.1 109
110 1. Boot the device in flash mode
111 1. Send an uplink packet
112
Edwin Chen 38.1 113
David Huang 31.1 114 = **2.  Use CPN01 to communicate with IoT Server** =
David Huang 2.1 115
David Huang 31.1 116 == **2.1  How it works** ==
David Huang 2.1 117
Edwin Chen 40.1 118 The CPN01 is equipped with an NB-IoT module, the pre-loaded firmware in CPN01 will get **Open/Close Event or Count** from sensor and send the value to the NB-IoT network. The NB-IoT network will forward this value to IoT server via the protocol defined by CPN01.
David Huang 2.1 119
Edwin Chen 40.1 120 The diagram below shows the working flow in the default firmware of CPN01:
David Huang 2.1 121
David Huang 31.1 122 [[image:image-20221021110615-5.png]]
David Huang 2.1 123
124
Edwin Chen 40.1 125 == **2.2 ​ Configure CPN01** ==
126
David Huang 31.1 127 === **2.2.1 Test Requirement** ===
David Huang 2.1 128
Edwin Chen 40.1 129 To use CPN01 in your city, make sure to meet below requirements:
David Huang 2.1 130
Edwin Chen 40.1 131 * Your local operator has already distributed an NB-IoT Network.
David Huang 2.1 132 * The local NB-IoT network used the band that CPN01 supports.
133 * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
134
Edwin Chen 40.1 135 Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.  The CPN01 will use CoAP(120.24.4.116:5683) or raw UDP(120.24.4.116:5601) or MQTT(120.24.4.116:1883)or TCP(120.24.4.116:5600)protocol to send data to the test server.
David Huang 2.1 136
Edwin Chen 40.1 137 [[image:image-20221023000439-3.png]]
138
David Huang 2.1 139
140
David Huang 31.1 141 === **2.2.2 Insert SIM card** ===
David Huang 2.1 142
143 Insert the NB-IoT Card get from your provider.
144
Edwin Chen 40.1 145 User needs to take out the NB-IoT module and insert the SIM card like below:
David Huang 2.1 146
David Huang 31.1 147 [[image:image-20221021110745-6.png]] ​
David Huang 2.1 148
Edwin Chen 40.1 149
David Huang 31.1 150 === **2.2.3 Connect USB – TTL to CPN01 to configure it** ===
David Huang 2.1 151
152 User need to configure CPN01 via serial port to set the **Server Address** / **Uplink Topic** to define where and how-to uplink packets. CPN01 support AT Commands, user can use a USB to TTL adapter to connect to CPN01 and use AT Commands to configure it, as below.
153
154 **Connection:**
155
156 USB TTL GND <~-~-~-~-> GND
157
158 USB TTL TXD <~-~-~-~-> UART_RXD
159
160 USB TTL RXD <~-~-~-~-> UART_TXD
161
162 In the PC, use below serial tool settings:
163
164 * Baud:  **9600**
165 * Data bits:** 8**
166 * Stop bits: **1**
167 * Parity:  **None**
168 * Flow Control: **None**
169
Edwin Chen 40.1 170 Make sure the switch is in FLASH position, then power on CPN01 by connecting the (% style="color:yellow" %)**Yellow Jumper**(%%).
David Huang 2.1 171
David Huang 31.1 172 ​[[image:image-20221021110817-7.png]]
David Huang 2.1 173
Edwin Chen 40.1 174 CPN01 will output system info once powered on as below, we can enter the **password: 12345678** to access AT Command input.
175
176
David Huang 2.1 177 **Note: the valid AT Commands can be found at:  **[[**https:~~/~~/www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0**>>url:https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0]]
178
David Huang 31.1 179 === **2.2.4 Use CoAP protocol to uplink data** ===
David Huang 2.1 180
181 **Note: if you don't have CoAP server, you can refer this link to set up one: **[[**http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Set%20up%20CoAP%20Server/]]
182
183 **Use below commands:**
184
185 * **AT+PRO=1**   ~/~/ Set to use CoAP protocol to uplink
186 * **AT+SERVADDR=120.24.4.116,5683   ** ~/~/ to set CoAP server address and port
187 * **AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** ~/~/Set COAP resource path
188
189 For parameter description, please refer to AT command set
190
David Huang 31.1 191 [[image:image-20221021110948-8.png]]
David Huang 2.1 192
193 After configure the server address and **reset the device** (via AT+ATZ ), CPN01 will start to uplink sensor values to CoAP server.
194
David Huang 31.1 195 [[image:image-20221021110956-9.png]] ​
David Huang 2.1 196
David Huang 31.1 197 === **2.2.5 Use UDP protocol to uplink data(Default protocol)** ===
David Huang 2.1 198
199 This feature is supported since firmware version v1.0.1
200
201 * **AT+PRO=2   ** ~/~/ Set to use UDP protocol to uplink
202 * **AT+SERVADDR=120.24.4.116,5601   ** ~/~/ to set UDP server address and port
203 * **AT+CFM=1       ** ~/~/If the server does not respond, this command is unnecessary
204
David Huang 32.1 205 ​ [[image:image-20221021111025-10.png]]
David Huang 2.1 206
David Huang 31.1 207 [[image:image-20221021111033-11.png||height="241" width="576"]]
David Huang 2.1 208
209
210
David Huang 31.1 211 === **2.2.6 Use MQTT protocol to uplink data** ===
David Huang 2.1 212
213 This feature is supported since firmware version v110
214
215 * **AT+PRO=3   ** ~/~/Set to use MQTT protocol to uplink
216 * **AT+SERVADDR=120.24.4.116,1883   ** ~/~/Set MQTT server address and port
217 * **AT+CLIENT=CLIENT       ** ~/~/Set up the CLIENT of MQTT
218 * **AT+UNAME=UNAME                               **~/~/Set the username of MQTT
219 * **AT+PWD=PWD                                        **~/~/Set the password of MQTT
220 * **AT+PUBTOPIC=NSE01_PUB                    **~/~/Set the sending topic of MQTT
221 * **AT+SUBTOPIC=NSE01_SUB          ** ~/~/Set the subscription topic of MQTT
222
David Huang 32.1 223 ​ [[image:image-20221021111058-12.png]]
David Huang 2.1 224
David Huang 31.1 225 [[image:image-20221021111108-13.png]]
David Huang 2.1 226
227
228
229 MQTT protocol has a much higher power consumption compare vs UDP / CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval.
230
David Huang 31.1 231 === **2.2.7 Use TCP protocol to uplink data** ===
David Huang 2.1 232
233 This feature is supported since firmware version v110
234
235 * **AT+PRO=4   ** ~/~/ Set to use TCP protocol to uplink
236 * **AT+SERVADDR=120.24.4.116,5600   ** ~/~/ to set TCP server address and port
237
David Huang 32.1 238 ​ [[image:image-20221021111125-14.png]]
David Huang 2.1 239
David Huang 31.1 240 [[image:image-20221021111131-15.png]]
David Huang 2.1 241
242
243
David Huang 31.1 244 === **2.2.8 Change Update Interval** ===
David Huang 2.1 245
246 User can use below command to change the **uplink interval**.
247
248 * **AT+TDC=600      ** ~/~/ Set Update Interval to 600s
249
250 **NOTE:**
251
252 **~1. By default, the device will send an uplink message every 1 hour.**
253
David Huang 31.1 254 == **2.3  Uplink Payload** ==
David Huang 2.1 255
256 In this mode, uplink payload includes 87 bytes in total by default.
257
258 Each time the device uploads a data package, 8 sets of recorded data will be attached. Up to 32 sets of recorded data can be uploaded.
259
260 |**Size(bytes)**|**8**|**2**|**2**|**1**|**1**|**1**|**2**|**2**|4
261 |**Value**|[[Device ID>>path:#H2.4.1A0A0DeviceID]]|[[Ver>>path:#H2.4.2A0VersionInfo]]|[[BAT>>path:#H2.4.3A0BatteryInfo]]|[[Signal Strength>>path:#H2.4.4A0SignalStrength]]|MOD|[[Interrupt>>path:#H2.4.8A0DigitalInterrupt]]|[[Soil P>>path:#H2.4.7A0SoilConductivity28EC29]]H|[[Soil Temperature>>path:#H2.4.6A0SoilTemperature]]|Time stamp
262
263 |2|2|4|8 group
264 |[[Soil Temperature>>path:#H2.4.6A0SoilTemperature]]|[[Soil P>>path:#H2.4.7A0SoilConductivity28EC29]]H|Time stamp|...
265
266 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the CPN01 uplink data.
267
David Huang 31.1 268 [[image:image-20221021111201-16.png||height="572" width="792"]]
David Huang 2.1 269
270 The payload is ASCII string, representative same HEX:
271
Edwin Chen 34.1 272 **0x (% style="color:red" %)__0xf867787050213317__  (% style="color:blue" %)__0064__ (% style="color:green" %)_0c78__  __(% style="color:#00b0f0" %)17__  __(% style="color:#7030a0" %)01__  __(% style="color:#d60093" %)00__  __(% style="color:#a14d07" %)01 __ __(% style="color:#0020b0" %)__ __00__  __(% style="color:#420042" %)000009__  __(% style="color:#663300" %) 000002__  __(% style="color:#d60093" %)6315537bb__  __(% style="color:#663300" %)// 0100000b02000002663510fed__  __0100000e0200000263510f39 010000000000000063510e85 010000000000000063510d2e 010000000000000063510c7a 010000000000000063510bc6 010000000000000063510954 010000000000000063510882 //(%%)**
David Huang 2.1 273
David Huang 33.1 274 where:
Edwin Chen 34.1 275 *(% style="color:#037691" %) **Device ID:**(%%) 0x f867787050213317 = f867787050213317
David Huang 2.1 276
Edwin Chen 34.1 277 *(% style="color:#037691" %) **Version:**(%%) 0x0064=100=1.0.0
David Huang 2.1 278
Edwin Chen 34.1 279 *(% style="color:#037691" %) **BAT:**(%%) 0x0c78 = 3192 mV = 3.192V
David Huang 33.1 280
Edwin Chen 34.1 281 *(% style="color:#037691" %) **Singal: **(%%)0x17 = 23
David Huang 33.1 282
Edwin Chen 34.1 283 *(% style="color:#037691" %) **Mod:**(%%) 0x01 = 1
David Huang 33.1 284
Edwin Chen 34.1 285 *(% style="color:#037691" %) **Calculate Flag:**(%%) 0x00= 0
David Huang 33.1 286
Edwin Chen 34.1 287 *(% style="color:#037691" %) **Contact Status:**(%%) 0x00= 0
David Huang 33.1 288
Edwin Chen 34.1 289 *(% style="color:#037691" %) **Alarm:**(%%)0x00 =0
David Huang 33.1 290
291 *(% style="color:#037691" %) **Total pulse:0x09 =0**
292
Edwin Chen 34.1 293 *(% style="color:#037691" %) **The last open duration:**(%%)0x02 =2
David Huang 33.1 294
Edwin Chen 34.1 295 *(% style="color:#037691" %)**Time stamp :**(%%) 0x6315537b =1662342011
David Huang 33.1 296
Edwin Chen 34.1 297 *(% style="color:#037691" %) **Contact Status, Total pulse, Calculate Flag, The last open duration ,Time stamp :**(%%) 0100000b0200002663510fed
David Huang 33.1 298
Edwin Chen 34.1 299 *(% style="color:#037691" %) **8 sets of recorded data: Contact Status, Total pulse, Calculate Flag, The last open duration ,Time stamp :**(%%) 0100000e0200002663510f39,.......
David Huang 33.1 300
David Huang 31.1 301 == **2.4  Payload Explanation and Sensor Interface** ==
David Huang 2.1 302
David Huang 31.1 303 === **2.4.1  Device ID** ===
David Huang 2.1 304
305 By default, the Device ID equal to the last 15 bits of IMEI.
306
307 User can use **AT+DEUI** to set Device ID
308
309 **Example:**
310
311 AT+DEUI=868411056754138
312
313 The Device ID is stored in a none-erase area, Upgrade the firmware or run AT+FDR won't erase Device ID.
314
David Huang 31.1 315 === **2.4.2  Version Info** ===
David Huang 2.1 316
317 Specify the software version: 0x64=100, means firmware version 1.00.
318
319 For example: 0x00 64 : this device is CPN01 with firmware version 1.0.0.
320
David Huang 31.1 321 === **2.4.3  Battery Info** ===
David Huang 2.1 322
323 Check the battery voltage for CPN01.
324
325 Ex1: 0x0B45 = 2885mV
326
327 Ex2: 0x0B49 = 2889mV
328
David Huang 31.1 329 === **2.4.4  Signal Strength** ===
David Huang 2.1 330
331 NB-IoT Network signal Strength.
332
333 **Ex1: 0x1d = 29**
334
335 **0**  -113dBm or less
336
337 **1**  -111dBm
338
339 **2...30** -109dBm... -53dBm
340
341 **31**   -51dBm or greater
342
343 **99**    Not known or not detectable
344
David Huang 31.1 345 === **2.4.5 Calculate Flag** ===
David Huang 2.1 346
347 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.
348
349 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.
350
351 Default value: 0. 
352
353 Range (6 bits): (b)000000 ~~ (b) 111111
354
David Huang 31.1 355 === **2.4.6  Alarm** ===
David Huang 2.1 356
357 See [[Alarm Base on Timeout>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/#H3.5AlarmBaseonTimeout]]
358
David Huang 31.1 359 === **2.4.7 Contact Status** ===
David Huang 2.1 360
361 0: Open
362
363 1: Close
364
David Huang 31.1 365 === **2.4.8 Total pulse** ===
David Huang 2.1 366
367 Total pulse/counting base on dry [[contact trigger event>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/#H2.3.2SensorConfiguration2CFPORT3D4]]
368
369 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
370
David Huang 31.1 371 === **2.4.9 The last open duration** ===
David Huang 2.1 372
373 Dry Contact last open duration.
374
375 Unit: min.
376
David Huang 31.1 377 [[image:image-20221021111346-17.png||height="146" width="770"]]
David Huang 2.1 378
379
David Huang 31.1 380 === **2.4.10  Timestamp** ===
David Huang 2.1 381
382 Time stamp : 0x6315537b =1662342011
383
384 Convert Unix timestamp to time 2022-9-5 9:40:11.
385
386 **~ **
387
David Huang 31.1 388 == **2.5  Downlink Payload** ==
David Huang 2.1 389
390 By default, CPN01 prints the downlink payload to console port.
391
David Huang 31.1 392 [[image:image-20221021111414-18.png]] ​
David Huang 2.1 393
394 **Examples:**
395
396 * **Set TDC**
397
398 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
399
400 Payload:    01 00 00 1E    TDC=30S
401
402 Payload:    01 00 00 3C    TDC=60S
403
404 * **Reset**
405
406 If payload = 0x04FF, it will reset the NSE01
407
408 * **INTMOD**
409
410 Downlink Payload: 06000003, Set AT+INTMOD=3
411
David Huang 31.1 412 == **2.6  ​LED Indicator** ==
David Huang 2.1 413
414 The CPN01 has an internal LED which is to show the status of different state.
415
416 * When power on, CPN01 will detect if sensor probe is connected, if probe detected, LED will blink four times. (no blinks in this step is no probe)
417 * Then the LED will be on for 1 second means device is boot normally.
418 * After CPN01 join NB-IoT network. The LED will be ON for 3 seconds.
419 * For each uplink probe, LED will be on for 500ms.
420
David Huang 31.1 421 == **2.7  Alarm Base on Timeout** ==
David Huang 2.1 422
423 CPL01 can monitor the timeout for a status change, this feature can be used to monitor some events such as door opening too long etc. Related Parameters are:
424
425
426 **~1. Keep Status: Status to be monitor**
427
428 Keep Status = 1: Monitor Close to Open event
429
430 Keep Status = 0: Monitor Open to Close event
431
432
433 **2. Keep Time: Timeout to send an Alarm**
434
435 Range 0 ~~ 65535(0xFFFF) seconds.
436
437 If keep time = 0, Disable Alarm Base on Timeout feature.
438
439 If keep time > 0, device will monitor the keep status event and send an alarm when status doesn’t change after timeout.
440
441
442 **AT Command** to configure:
443
444 **AT+TTRIG=1,30**  ~-~-> When the **Keep Status** change from connect to disconnect, and device remains in disconnect status for more than 30 seconds. CPL01 will send an uplink packet, the [[Alarm bit>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/#H2.3.3Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2]] (the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
445
446 **AT+TTIG=0,0 ** ~-~-> Default Value, disable timeout Alarm.
447
David Huang 31.1 448 == **2.8 Set debug mode** ==
David Huang 2.1 449
450 Feature: Enable or Disable debug mode
451
452
453 **AT Command: AT+DEBUG**
454
David Huang 31.1 455 [[image:image-20221021111629-21.png]]
David Huang 2.1 456
David Huang 31.1 457 == **2.9 Clear Flash Record** ==
David Huang 2.1 458
459 Feature: Clear flash storage for data log feature.
460
461 **AT Command: AT+CLRDTA**
462
David Huang 31.1 463 [[image:image-20221021111527-19.png]]
David Huang 2.1 464
David Huang 31.1 465 == ** 2.10 Set trigger mode** ==
David Huang 2.1 466
467 ➢ AT Command: **AT+TTRMOD**
468
469 Feature: Set the trigger interrupt mode.
470
David Huang 31.1 471 [[image:image-20221021111552-20.png]]
David Huang 2.1 472
David Huang 31.1 473 == **2.11 Set the calculate flag** ==
David Huang 2.1 474
475 Feature: Set the calculate flag
476
477 **AT Command: AT+CALCFLAG**
478
David Huang 31.1 479 [[image:image-20221021111711-22.png]]
David Huang 2.1 480
David Huang 31.1 481 == **2.12 Set count number** ==
David Huang 2.1 482
483 Feature: Manually set the count number
484
485 **AT Command: AT+SETCNT**
486
David Huang 31.1 487 [[image:image-20221021111748-24.png]]
David Huang 2.1 488
David Huang 31.1 489 == **2.13 Set the number of data to be uploaded and the recording time** ==
David Huang 2.1 490
491 ➢ AT Command:
492
493 AT+TR=900  ~/~/The unit is seconds, and the default is to record data once every 900 seconds.( The minimum can be set to 180 seconds)
494
495
496 AT+NOUD=8  ~/~/The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
497
David Huang 31.1 498 == **2.14 Read or Clear cached data** ==
David Huang 2.1 499
500 ➢ AT Command:
501
502 AT+CDP    ~/~/ Read cached data
503
David Huang 31.1 504 [[image:image-20221021111810-25.png||height="364" width="797"]]
David Huang 2.1 505
506
507 AT+CDP=0    ~/~/ Clear cached data ​
508
David Huang 31.1 509 == **2.15  ​Firmware Change Log** ==
David Huang 2.1 510
511 Download URL & Firmware Change log: [[https:~~/~~/www.dropbox.com/sh/1zmcakvbkf24f8x/AACmq2dZ3iRB9F1nVWeEB9Moa?dl=0>>url:https://www.dropbox.com/sh/1zmcakvbkf24f8x/AACmq2dZ3iRB9F1nVWeEB9Moa?dl=0]]
512
513 Upgrade Instruction: [[Upgrade Firmware>>path:#H5.1200BHowtoUpgradeFirmware]]
514
David Huang 31.1 515 == **2.16  ​Battery Analysis** ==
David Huang 2.1 516
David Huang 31.1 517 === **2.16.1  ​Battery Type** ===
David Huang 2.1 518
519 The CPN01 battery is a combination of an 8500mAh Li/SOCI2 Battery and a Super Capacitor. The battery is none-rechargeable battery type with a low discharge rate (<2% per year). This type of battery is commonly used in IoT devices such as water meter.
520
521 The battery is designed to last for several years depends on the actually use environment and update interval. 
522
523 The battery related documents as below:
524
525 * [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
526 * [[Lithium-Thionyl Chloride Battery datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
527 * [[Lithium-ion Battery-Capacitor datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
528
David Huang 31.1 529 [[image:image-20221021111911-26.png]] ​
David Huang 2.1 530
David Huang 31.1 531 === **2.16.2  Power consumption Analyze** ===
David Huang 2.1 532
533 Dragino battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval.
534
535 Instruction to use as below:
536
537 **Step 1:  **Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]]
538
539 **Step 2: ** Open it and choose
540
541 * Product Model
542 * Uplink Interval
543 * Working Mode
544
545 And the Life expectation in difference case will be shown on the right.
546
David Huang 31.1 547 [[image:image-20221021111923-27.png||height="253" width="783"]] ​
David Huang 2.1 548
David Huang 31.1 549 === **2.16.3  ​Battery Note** ===
David Huang 2.1 550
551 The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased.
552
David Huang 31.1 553 === **2.16.4  Replace the battery** ===
David Huang 2.1 554
555 The default battery pack of CPN01 includes a ER26500 plus super capacitor. If user can't find this pack locally, they can find ER26500 or equivalence without the SPC1520 capacitor, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes).
556
David Huang 31.1 557 = **3. ​ Access NB-IoT Module** =
David Huang 2.1 558
559 Users can directly access the AT command set of the NB-IoT module.
560
561 The AT Command set can refer the BC35-G NB-IoT Module AT Command: [[https:~~/~~/www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/other_vendors/BC35-G/]] 
562
David Huang 31.1 563 [[image:image-20221021112006-28.png]] ​
David Huang 2.1 564
David Huang 31.1 565 = **4.  Using the AT Commands** =
David Huang 2.1 566
David Huang 31.1 567 == **4.1  Access AT Commands** ==
David Huang 2.1 568
569 See this link for detail:  [[https:~~/~~/www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0>>url:https://www.dropbox.com/sh/351dwor6joz8nwh/AADn1BQaAAxLF_QMyU8NkW47a?dl=0]]
570
571 AT+<CMD>?  : Help on <CMD>
572
573 AT+<CMD>         : Run <CMD>
574
575 AT+<CMD>=<value> : Set the value
576
577 AT+<CMD>=?  : Get the value
578
579 **General Commands**      
580
581 AT  : Attention       
582
583 AT?  : Short Help     
584
585 ATZ  : MCU Reset    
586
587 AT+TDC  : Application Data Transmission Interval
588
589 AT+CFG  : Print all configurations
590
591 AT+CFGMOD           : Working mode selection
592
593 AT+INTMOD            : Set the trigger interrupt mode
594
595 AT+5VT  : Set extend the time of 5V power  
596
597 AT+PRO  : Choose agreement
598
599 AT+RXDL  : Extend the sending and receiving time
600
601 AT+SERVADDR  : Server Address
602
603 AT+TR      : Get or Set record time"
604
605
606 AT+NOUD      : Get or Set the number of data to be uploaded
607
608
609 AT+CDP     : Read or Clear cached data
610
611
612 AT+ DEBUG   : Enable or Disable debug mode
613
614 AT+ TTRIG   : Get or Set Alarm Base on Timeout
615
616 AT+ TTRMOD   : Get or Set the trigger interrupt mode(0:falling,1:rising)
617
618 AT+ CALCFLAG   : Get or Set the calculate flag
619
620 AT+ CLRC   : Clear current door open count
621
622 **COAP Management**      
623
624 AT+URI            : Resource parameters
625
626 **UDP Management**
627
628 AT+CFM          : Upload confirmation mode (only valid for UDP)
629
630 **MQTT Management**
631
632 AT+CLIENT               : Get or Set MQTT client
633
634 AT+UNAME  : Get or Set MQTT Username
635
636 AT+PWD                  : Get or Set MQTT password
637
638 AT+PUBTOPIC  : Get or Set MQTT publish topic
639
640 AT+SUBTOPIC  : Get or Set MQTT subscription topic
641
642 **Information**          
643
644 AT+FDR  : Factory Data Reset
645
646 AT+PWORD  : Serial Access Password
647
David Huang 31.1 648 = **​5.  FAQ** =
David Huang 2.1 649
David Huang 31.1 650 == **5.1 ​ How to Upgrade Firmware** ==
David Huang 2.1 651
652 User can upgrade the firmware for 1) bug fix, 2) new feature release.
653
654 Please see this link for how to upgrade:  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H2.HardwareUpgradeMethodSupportList]]
655
656 **Notice, **CPN01 **and **CPN01 **share the same mother board. They use the same connection and method to update.**
657
David Huang 31.1 658 == **5.2  Can I calibrate CPN01 to different soil types?** ==
David Huang 2.1 659
660 CPN01 is calibrated for saline-alkali soil and loamy soil. If users want to use it for other soil, they can calibrate the value in the IoT platform base on the value measured by saline-alkali soil and loamy soil. The formula can be found at [[this link>>url:https://www.dragino.com/downloads/downloads/LoRa_End_Node/LSE01/Calibrate_to_other_Soil_20220605.pdf]].
661
David Huang 31.1 662 = **6.  Trouble Shooting** =
David Huang 2.1 663
David Huang 31.1 664 == **6.1  ​Connection problem when uploading firmware** ==
David Huang 2.1 665
666 **Please see: **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20Upgrade%20Instruction%20for%20STM32%20base%20products/#H3.3Troubleshooting]]
667
David Huang 31.1 668 == **6.2  AT Command input doesn't work** ==
David Huang 2.1 669
670 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 **ENTER** while sending out the command. Some serial tool doesn't send **ENTER** while press the send key, user need to add ENTER in their string.
671
David Huang 31.1 672 = **7. ​ Order Info** =
David Huang 2.1 673
674 Part Number**:** CPN01
675
David Huang 31.1 676 = **8.  Packing Info** =
David Huang 2.1 677
678 **Package Includes**:
679
680 * CPN01 NB-IoT Soil Moisture & EC Sensor x 1
681 * External antenna x 1
682
683 **Dimension and weight**:
684
685 * Size: 195 x 125 x 55 mm
686 * Weight:   420g
687
David Huang 31.1 688 = **9.  Support** =
David Huang 2.1 689
690 * 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.
691 * 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.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
Xiaoling 1.5 724