Version 36.1 by Edwin Chen on 2022/10/22 23:45

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 35.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 34.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 35.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
David Huang 2.1 60 Connect CPL01 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
David Huang 31.1 64 [[image:image-20221021110340-2.png]]
Xiaoling 1.5 65
David Huang 31.1 66 == **1.5 ​Applications** ==
67
David Huang 2.1 68 * Open/Close Detection
69 * Pulse meter application
70 * Dry Contact Detection
Xiaoling 1.5 71
David Huang 31.1 72 == **1.6 Mechanical** ==
Xiaoling 1.5 73
David Huang 31.1 74 ​[[image:image-20221021110415-3.png]]
Xiaoling 1.5 75
David Huang 31.1 76 == ** 1.7 Pin Definitions and Switch** ==
Xiaoling 1.5 77
David Huang 31.1 78 [[image:image-20221021110429-4.png]]
Xiaoling 1.5 79
David Huang 31.1 80 === **1.7.1 Pin Definition** ===
Xiaoling 1.5 81
David Huang 2.1 82 CPL01 is pre-configured to connect to two external wires. The other pins are not used. If user wants to know more about other pins, please refer to the user manual of LSN50v2 at: [[https:~~/~~/www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0>>url:https://www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0]]
Xiaoling 1.5 83
David Huang 31.1 84 === **1.7.2 Jumper JP2(Power ON/OFF)** ===
Xiaoling 1.5 85
86
David Huang 2.1 87 Power on Device when putting this jumper.
88
89
90
David Huang 31.1 91 === **1.7.3 BOOT MODE / SW1** ===
David Huang 2.1 92
93
94 1) ISP: upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. Firmware won't run.
95
96 2) Flash: work mode, the device starts to work and send out console output for further debug
97
98
99
David Huang 31.1 100 === **1.7.4 Reset Button** ===
David Huang 2.1 101
102
103 Press to reboot the device.
104
David Huang 31.1 105 == ==
David Huang 2.1 106
David Huang 31.1 107 === **1.7.5 LED** ===
David Huang 2.1 108
109
110 It will flash:
111
112 1. Boot the device in flash mode
113 1. Send an uplink packet
114
David Huang 31.1 115 = **2.  Use CPN01 to communicate with IoT Server** =
David Huang 2.1 116
David Huang 31.1 117 == **2.1  How it works** ==
David Huang 2.1 118
119 The CPN01 is equipped with a NB-IoT module, the pre-loaded firmware in CPN01 will get environment data from sensors and send the value to local NB-IoT network via the NB-IoT module.  The NB-IoT network will forward this value to IoT server via the protocol defined by CPN01.
120
121 The diagram below shows the working flow in default firmware of CPN01:
122
David Huang 31.1 123 [[image:image-20221021110615-5.png]]
David Huang 2.1 124
David Huang 31.1 125 == **2.2 ​ Configure the CPN01** ==
David Huang 2.1 126
David Huang 31.1 127 === **2.2.1 Test Requirement** ===
David Huang 2.1 128
129 To use CPN01 in your city, make sure meet below requirements:
130
131 * Your local operator has already distributed a NB-IoT Network there.
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
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
136
137
138
David Huang 31.1 139 === **2.2.2 Insert SIM card** ===
David Huang 2.1 140
141 Insert the NB-IoT Card get from your provider.
142
143 User need to take out the NB-IoT module and insert the SIM card like below:
144
David Huang 31.1 145 [[image:image-20221021110745-6.png]] ​
David Huang 2.1 146
David Huang 31.1 147 === **2.2.3 Connect USB – TTL to CPN01 to configure it** ===
David Huang 2.1 148
149 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.
150
151 **Connection:**
152
153 USB TTL GND <~-~-~-~-> GND
154
155 USB TTL TXD <~-~-~-~-> UART_RXD
156
157 USB TTL RXD <~-~-~-~-> UART_TXD
158
159 In the PC, use below serial tool settings:
160
161 * Baud:  **9600**
162 * Data bits:** 8**
163 * Stop bits: **1**
164 * Parity:  **None**
165 * Flow Control: **None**
166
167 Make sure the switch is in FLASH position, then power on device by connecting the jumper on CPN01. CPN01 will output system info once power on as below, we can enter the **password: 12345678** to access AT Command input.
168
David Huang 31.1 169 ​[[image:image-20221021110817-7.png]]
David Huang 2.1 170
171 **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]]
172
David Huang 31.1 173 === **2.2.4 Use CoAP protocol to uplink data** ===
David Huang 2.1 174
175 **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/]]
176
177 **Use below commands:**
178
179 * **AT+PRO=1**   ~/~/ Set to use CoAP protocol to uplink
180 * **AT+SERVADDR=120.24.4.116,5683   ** ~/~/ to set CoAP server address and port
181 * **AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** ~/~/Set COAP resource path
182
183 For parameter description, please refer to AT command set
184
David Huang 31.1 185 [[image:image-20221021110948-8.png]]
David Huang 2.1 186
187 After configure the server address and **reset the device** (via AT+ATZ ), CPN01 will start to uplink sensor values to CoAP server.
188
David Huang 31.1 189 [[image:image-20221021110956-9.png]] ​
David Huang 2.1 190
David Huang 31.1 191 === **2.2.5 Use UDP protocol to uplink data(Default protocol)** ===
David Huang 2.1 192
193 This feature is supported since firmware version v1.0.1
194
195 * **AT+PRO=2   ** ~/~/ Set to use UDP protocol to uplink
196 * **AT+SERVADDR=120.24.4.116,5601   ** ~/~/ to set UDP server address and port
197 * **AT+CFM=1       ** ~/~/If the server does not respond, this command is unnecessary
198
David Huang 32.1 199 ​ [[image:image-20221021111025-10.png]]
David Huang 2.1 200
David Huang 31.1 201 [[image:image-20221021111033-11.png||height="241" width="576"]]
David Huang 2.1 202
203
204
David Huang 31.1 205 === **2.2.6 Use MQTT protocol to uplink data** ===
David Huang 2.1 206
207 This feature is supported since firmware version v110
208
209 * **AT+PRO=3   ** ~/~/Set to use MQTT protocol to uplink
210 * **AT+SERVADDR=120.24.4.116,1883   ** ~/~/Set MQTT server address and port
211 * **AT+CLIENT=CLIENT       ** ~/~/Set up the CLIENT of MQTT
212 * **AT+UNAME=UNAME                               **~/~/Set the username of MQTT
213 * **AT+PWD=PWD                                        **~/~/Set the password of MQTT
214 * **AT+PUBTOPIC=NSE01_PUB                    **~/~/Set the sending topic of MQTT
215 * **AT+SUBTOPIC=NSE01_SUB          ** ~/~/Set the subscription topic of MQTT
216
David Huang 32.1 217 ​ [[image:image-20221021111058-12.png]]
David Huang 2.1 218
David Huang 31.1 219 [[image:image-20221021111108-13.png]]
David Huang 2.1 220
221
222
223 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.
224
David Huang 31.1 225 === **2.2.7 Use TCP protocol to uplink data** ===
David Huang 2.1 226
227 This feature is supported since firmware version v110
228
229 * **AT+PRO=4   ** ~/~/ Set to use TCP protocol to uplink
230 * **AT+SERVADDR=120.24.4.116,5600   ** ~/~/ to set TCP server address and port
231
David Huang 32.1 232 ​ [[image:image-20221021111125-14.png]]
David Huang 2.1 233
David Huang 31.1 234 [[image:image-20221021111131-15.png]]
David Huang 2.1 235
236
237
David Huang 31.1 238 === **2.2.8 Change Update Interval** ===
David Huang 2.1 239
240 User can use below command to change the **uplink interval**.
241
242 * **AT+TDC=600      ** ~/~/ Set Update Interval to 600s
243
244 **NOTE:**
245
246 **~1. By default, the device will send an uplink message every 1 hour.**
247
David Huang 31.1 248 == **2.3  Uplink Payload** ==
David Huang 2.1 249
250 In this mode, uplink payload includes 87 bytes in total by default.
251
252 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.
253
254 |**Size(bytes)**|**8**|**2**|**2**|**1**|**1**|**1**|**2**|**2**|4
255 |**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
256
257 |2|2|4|8 group
258 |[[Soil Temperature>>path:#H2.4.6A0SoilTemperature]]|[[Soil P>>path:#H2.4.7A0SoilConductivity28EC29]]H|Time stamp|...
259
260 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the CPN01 uplink data.
261
David Huang 31.1 262 [[image:image-20221021111201-16.png||height="572" width="792"]]
David Huang 2.1 263
264 The payload is ASCII string, representative same HEX:
265
Edwin Chen 34.1 266 **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 267
David Huang 33.1 268 where:
Edwin Chen 34.1 269 *(% style="color:#037691" %) **Device ID:**(%%) 0x f867787050213317 = f867787050213317
David Huang 2.1 270
Edwin Chen 34.1 271 *(% style="color:#037691" %) **Version:**(%%) 0x0064=100=1.0.0
David Huang 2.1 272
Edwin Chen 34.1 273 *(% style="color:#037691" %) **BAT:**(%%) 0x0c78 = 3192 mV = 3.192V
David Huang 33.1 274
Edwin Chen 34.1 275 *(% style="color:#037691" %) **Singal: **(%%)0x17 = 23
David Huang 33.1 276
Edwin Chen 34.1 277 *(% style="color:#037691" %) **Mod:**(%%) 0x01 = 1
David Huang 33.1 278
Edwin Chen 34.1 279 *(% style="color:#037691" %) **Calculate Flag:**(%%) 0x00= 0
David Huang 33.1 280
Edwin Chen 34.1 281 *(% style="color:#037691" %) **Contact Status:**(%%) 0x00= 0
David Huang 33.1 282
Edwin Chen 34.1 283 *(% style="color:#037691" %) **Alarm:**(%%)0x00 =0
David Huang 33.1 284
285 *(% style="color:#037691" %) **Total pulse:0x09 =0**
286
Edwin Chen 34.1 287 *(% style="color:#037691" %) **The last open duration:**(%%)0x02 =2
David Huang 33.1 288
Edwin Chen 34.1 289 *(% style="color:#037691" %)**Time stamp :**(%%) 0x6315537b =1662342011
David Huang 33.1 290
Edwin Chen 34.1 291 *(% style="color:#037691" %) **Contact Status, Total pulse, Calculate Flag, The last open duration ,Time stamp :**(%%) 0100000b0200002663510fed
David Huang 33.1 292
Edwin Chen 34.1 293 *(% 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 294
David Huang 31.1 295 == **2.4  Payload Explanation and Sensor Interface** ==
David Huang 2.1 296
David Huang 31.1 297 === **2.4.1  Device ID** ===
David Huang 2.1 298
299 By default, the Device ID equal to the last 15 bits of IMEI.
300
301 User can use **AT+DEUI** to set Device ID
302
303 **Example:**
304
305 AT+DEUI=868411056754138
306
307 The Device ID is stored in a none-erase area, Upgrade the firmware or run AT+FDR won't erase Device ID.
308
David Huang 31.1 309 === **2.4.2  Version Info** ===
David Huang 2.1 310
311 Specify the software version: 0x64=100, means firmware version 1.00.
312
313 For example: 0x00 64 : this device is CPN01 with firmware version 1.0.0.
314
David Huang 31.1 315 === **2.4.3  Battery Info** ===
David Huang 2.1 316
317 Check the battery voltage for CPN01.
318
319 Ex1: 0x0B45 = 2885mV
320
321 Ex2: 0x0B49 = 2889mV
322
David Huang 31.1 323 === **2.4.4  Signal Strength** ===
David Huang 2.1 324
325 NB-IoT Network signal Strength.
326
327 **Ex1: 0x1d = 29**
328
329 **0**  -113dBm or less
330
331 **1**  -111dBm
332
333 **2...30** -109dBm... -53dBm
334
335 **31**   -51dBm or greater
336
337 **99**    Not known or not detectable
338
David Huang 31.1 339 === **2.4.5 Calculate Flag** ===
David Huang 2.1 340
341 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.
342
343 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.
344
345 Default value: 0. 
346
347 Range (6 bits): (b)000000 ~~ (b) 111111
348
David Huang 31.1 349 === **2.4.6  Alarm** ===
David Huang 2.1 350
351 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]]
352
David Huang 31.1 353 === **2.4.7 Contact Status** ===
David Huang 2.1 354
355 0: Open
356
357 1: Close
358
David Huang 31.1 359 === **2.4.8 Total pulse** ===
David Huang 2.1 360
361 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]]
362
363 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
364
David Huang 31.1 365 === **2.4.9 The last open duration** ===
David Huang 2.1 366
367 Dry Contact last open duration.
368
369 Unit: min.
370
David Huang 31.1 371 [[image:image-20221021111346-17.png||height="146" width="770"]]
David Huang 2.1 372
373
David Huang 31.1 374 === **2.4.10  Timestamp** ===
David Huang 2.1 375
376 Time stamp : 0x6315537b =1662342011
377
378 Convert Unix timestamp to time 2022-9-5 9:40:11.
379
380 **~ **
381
David Huang 31.1 382 == **2.5  Downlink Payload** ==
David Huang 2.1 383
384 By default, CPN01 prints the downlink payload to console port.
385
David Huang 31.1 386 [[image:image-20221021111414-18.png]] ​
David Huang 2.1 387
388 **Examples:**
389
390 * **Set TDC**
391
392 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
393
394 Payload:    01 00 00 1E    TDC=30S
395
396 Payload:    01 00 00 3C    TDC=60S
397
398 * **Reset**
399
400 If payload = 0x04FF, it will reset the NSE01
401
402 * **INTMOD**
403
404 Downlink Payload: 06000003, Set AT+INTMOD=3
405
David Huang 31.1 406 == **2.6  ​LED Indicator** ==
David Huang 2.1 407
408 The CPN01 has an internal LED which is to show the status of different state.
409
410 * 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)
411 * Then the LED will be on for 1 second means device is boot normally.
412 * After CPN01 join NB-IoT network. The LED will be ON for 3 seconds.
413 * For each uplink probe, LED will be on for 500ms.
414
David Huang 31.1 415 == **2.7  Alarm Base on Timeout** ==
David Huang 2.1 416
417 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:
418
419
420 **~1. Keep Status: Status to be monitor**
421
422 Keep Status = 1: Monitor Close to Open event
423
424 Keep Status = 0: Monitor Open to Close event
425
426
427 **2. Keep Time: Timeout to send an Alarm**
428
429 Range 0 ~~ 65535(0xFFFF) seconds.
430
431 If keep time = 0, Disable Alarm Base on Timeout feature.
432
433 If keep time > 0, device will monitor the keep status event and send an alarm when status doesn’t change after timeout.
434
435
436 **AT Command** to configure:
437
438 **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.
439
440 **AT+TTIG=0,0 ** ~-~-> Default Value, disable timeout Alarm.
441
David Huang 31.1 442 == **2.8 Set debug mode** ==
David Huang 2.1 443
444 Feature: Enable or Disable debug mode
445
446
447 **AT Command: AT+DEBUG**
448
David Huang 31.1 449 [[image:image-20221021111629-21.png]]
David Huang 2.1 450
David Huang 31.1 451 == **2.9 Clear Flash Record** ==
David Huang 2.1 452
453 Feature: Clear flash storage for data log feature.
454
455 **AT Command: AT+CLRDTA**
456
David Huang 31.1 457 [[image:image-20221021111527-19.png]]
David Huang 2.1 458
David Huang 31.1 459 == ** 2.10 Set trigger mode** ==
David Huang 2.1 460
461 ➢ AT Command: **AT+TTRMOD**
462
463 Feature: Set the trigger interrupt mode.
464
David Huang 31.1 465 [[image:image-20221021111552-20.png]]
David Huang 2.1 466
David Huang 31.1 467 == **2.11 Set the calculate flag** ==
David Huang 2.1 468
469 Feature: Set the calculate flag
470
471 **AT Command: AT+CALCFLAG**
472
David Huang 31.1 473 [[image:image-20221021111711-22.png]]
David Huang 2.1 474
David Huang 31.1 475 == **2.12 Set count number** ==
David Huang 2.1 476
477 Feature: Manually set the count number
478
479 **AT Command: AT+SETCNT**
480
David Huang 31.1 481 [[image:image-20221021111748-24.png]]
David Huang 2.1 482
David Huang 31.1 483 == **2.13 Set the number of data to be uploaded and the recording time** ==
David Huang 2.1 484
485 ➢ AT Command:
486
487 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)
488
489
490 AT+NOUD=8  ~/~/The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
491
David Huang 31.1 492 == **2.14 Read or Clear cached data** ==
David Huang 2.1 493
494 ➢ AT Command:
495
496 AT+CDP    ~/~/ Read cached data
497
David Huang 31.1 498 [[image:image-20221021111810-25.png||height="364" width="797"]]
David Huang 2.1 499
500
501 AT+CDP=0    ~/~/ Clear cached data ​
502
David Huang 31.1 503 == **2.15  ​Firmware Change Log** ==
David Huang 2.1 504
505 Download URL & Firmware Change log: [[https:~~/~~/www.dropbox.com/sh/1zmcakvbkf24f8x/AACmq2dZ3iRB9F1nVWeEB9Moa?dl=0>>url:https://www.dropbox.com/sh/1zmcakvbkf24f8x/AACmq2dZ3iRB9F1nVWeEB9Moa?dl=0]]
506
507 Upgrade Instruction: [[Upgrade Firmware>>path:#H5.1200BHowtoUpgradeFirmware]]
508
David Huang 31.1 509 == **2.16  ​Battery Analysis** ==
David Huang 2.1 510
David Huang 31.1 511 === **2.16.1  ​Battery Type** ===
David Huang 2.1 512
513 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.
514
515 The battery is designed to last for several years depends on the actually use environment and update interval. 
516
517 The battery related documents as below:
518
519 * [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
520 * [[Lithium-Thionyl Chloride Battery datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
521 * [[Lithium-ion Battery-Capacitor datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
522
David Huang 31.1 523 [[image:image-20221021111911-26.png]] ​
David Huang 2.1 524
David Huang 31.1 525 === **2.16.2  Power consumption Analyze** ===
David Huang 2.1 526
527 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.
528
529 Instruction to use as below:
530
531 **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/]]
532
533 **Step 2: ** Open it and choose
534
535 * Product Model
536 * Uplink Interval
537 * Working Mode
538
539 And the Life expectation in difference case will be shown on the right.
540
David Huang 31.1 541 [[image:image-20221021111923-27.png||height="253" width="783"]] ​
David Huang 2.1 542
David Huang 31.1 543 === **2.16.3  ​Battery Note** ===
David Huang 2.1 544
545 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.
546
David Huang 31.1 547 === **2.16.4  Replace the battery** ===
David Huang 2.1 548
549 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).
550
David Huang 31.1 551 = **3. ​ Access NB-IoT Module** =
David Huang 2.1 552
553 Users can directly access the AT command set of the NB-IoT module.
554
555 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/]] 
556
David Huang 31.1 557 [[image:image-20221021112006-28.png]] ​
David Huang 2.1 558
David Huang 31.1 559 = **4.  Using the AT Commands** =
David Huang 2.1 560
David Huang 31.1 561 == **4.1  Access AT Commands** ==
David Huang 2.1 562
563 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]]
564
565 AT+<CMD>?  : Help on <CMD>
566
567 AT+<CMD>         : Run <CMD>
568
569 AT+<CMD>=<value> : Set the value
570
571 AT+<CMD>=?  : Get the value
572
573 **General Commands**      
574
575 AT  : Attention       
576
577 AT?  : Short Help     
578
579 ATZ  : MCU Reset    
580
581 AT+TDC  : Application Data Transmission Interval
582
583 AT+CFG  : Print all configurations
584
585 AT+CFGMOD           : Working mode selection
586
587 AT+INTMOD            : Set the trigger interrupt mode
588
589 AT+5VT  : Set extend the time of 5V power  
590
591 AT+PRO  : Choose agreement
592
593 AT+RXDL  : Extend the sending and receiving time
594
595 AT+SERVADDR  : Server Address
596
597 AT+TR      : Get or Set record time"
598
599
600 AT+NOUD      : Get or Set the number of data to be uploaded
601
602
603 AT+CDP     : Read or Clear cached data
604
605
606 AT+ DEBUG   : Enable or Disable debug mode
607
608 AT+ TTRIG   : Get or Set Alarm Base on Timeout
609
610 AT+ TTRMOD   : Get or Set the trigger interrupt mode(0:falling,1:rising)
611
612 AT+ CALCFLAG   : Get or Set the calculate flag
613
614 AT+ CLRC   : Clear current door open count
615
616 **COAP Management**      
617
618 AT+URI            : Resource parameters
619
620 **UDP Management**
621
622 AT+CFM          : Upload confirmation mode (only valid for UDP)
623
624 **MQTT Management**
625
626 AT+CLIENT               : Get or Set MQTT client
627
628 AT+UNAME  : Get or Set MQTT Username
629
630 AT+PWD                  : Get or Set MQTT password
631
632 AT+PUBTOPIC  : Get or Set MQTT publish topic
633
634 AT+SUBTOPIC  : Get or Set MQTT subscription topic
635
636 **Information**          
637
638 AT+FDR  : Factory Data Reset
639
640 AT+PWORD  : Serial Access Password
641
David Huang 31.1 642 = **​5.  FAQ** =
David Huang 2.1 643
David Huang 31.1 644 == **5.1 ​ How to Upgrade Firmware** ==
David Huang 2.1 645
646 User can upgrade the firmware for 1) bug fix, 2) new feature release.
647
648 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]]
649
650 **Notice, **CPN01 **and **CPN01 **share the same mother board. They use the same connection and method to update.**
651
David Huang 31.1 652 == **5.2  Can I calibrate CPN01 to different soil types?** ==
David Huang 2.1 653
654 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]].
655
David Huang 31.1 656 = **6.  Trouble Shooting** =
David Huang 2.1 657
David Huang 31.1 658 == **6.1  ​Connection problem when uploading firmware** ==
David Huang 2.1 659
660 **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]]
661
David Huang 31.1 662 == **6.2  AT Command input doesn't work** ==
David Huang 2.1 663
664 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.
665
David Huang 31.1 666 = **7. ​ Order Info** =
David Huang 2.1 667
668 Part Number**:** CPN01
669
David Huang 31.1 670 = **8.  Packing Info** =
David Huang 2.1 671
672 **Package Includes**:
673
674 * CPN01 NB-IoT Soil Moisture & EC Sensor x 1
675 * External antenna x 1
676
677 **Dimension and weight**:
678
679 * Size: 195 x 125 x 55 mm
680 * Weight:   420g
681
David Huang 31.1 682 = **9.  Support** =
David Huang 2.1 683
684 * 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.
685 * 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]]
686
687
688
689
690
691
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
Xiaoling 1.5 718