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
Xiaoling 48.2 4
5
6 **Table of Contents:**
7
David Huang 32.1 8 {{toc/}}
Xiaoling 1.5 9
10
11
Xiaoling 48.2 12
13
14 = 1.  Introduction =
15
16
17 == 1.1 ​ What is CPN01 NB-IoT Pulse/Contact Sensor ==
18
19
Edwin Chen 38.1 20 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 21
Edwin Chen 38.1 22 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 23
Edwin Chen 38.1 24 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 25
Edwin Chen 34.1 26 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 27
Edwin Chen 34.1 28 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.
29 \\CPN01 supports different uplink methods including (% style="color:blue" %)**TCP, MQTT, UDP, and CoAP**(%%) for different application requirements.
30 \\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)
31 \\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 32
David Huang 2.1 33
Edwin Chen 35.1 34
Xiaoling 1.5 35
Xiaoling 48.2 36 == ​1.2  Features ==
37
38
David Huang 2.1 39 * NB-IoT Bands: B1/B3/B8/B5/B20/B28 @H-FDD
40 * Open/Close detect
41 * Open/Close statistics
42 * Monitor Battery Level
43 * Uplink on periodically and open/close event
44 * Datalog feature
Edwin Chen 34.1 45 * Uplink periodically
David Huang 2.1 46 * Downlink to change configure
47 * Wall Mountable
48 * Outdoor Use
49 * Ultra-Low Power consumption
50 * AT Commands to change parameters
51 * Micro SIM card slot for NB-IoT SIM
Edwin Chen 34.1 52 * 8500mAh Battery for long-term use
Xiaoling 1.5 53
Xiaoling 48.3 54
Xiaoling 48.13 55
Xiaoling 48.2 56 == 1.3  Specification ==
Xiaoling 1.5 57
58
Xiaoling 48.2 59 (% style="color:blue" %)**Common DC Characteristics:**
60
David Huang 2.1 61 * Supply Voltage: 2.1v ~~ 3.6v
62 * Operating Temperature: -40 ~~ 85°C
Xiaoling 1.5 63
Xiaoling 48.2 64 (% style="color:blue" %)**NB-IoT Spec:**
Xiaoling 1.5 65
David Huang 2.1 66 * - B1 @H-FDD: 2100MHz
67 * - B3 @H-FDD: 1800MHz
68 * - B8 @H-FDD: 900MHz
69 * - B5 @H-FDD: 850MHz
70 * - B20 @H-FDD: 800MHz
71 * - B28 @H-FDD: 700MHz
Xiaoling 1.5 72
Xiaoling 48.3 73
Xiaoling 48.13 74
Xiaoling 48.2 75 == 1.4  Installation ==
Xiaoling 1.5 76
Xiaoling 48.2 77
Edwin Chen 38.1 78 Connect CPN01 to an Open Close sensor like below. So it can detect the Open/Close event.
Xiaoling 1.5 79
David Huang 31.1 80 [[image:image-20221021110329-1.png]]
Xiaoling 1.5 81
Edwin Chen 38.1 82 [[image:image-20221022234602-2.png||height="288" width="922"]]
Xiaoling 1.5 83
Edwin Chen 38.1 84
David Huang 31.1 85
Xiaoling 48.2 86 == 1.5 ​ Applications ==
87
88
David Huang 2.1 89 * Open/Close Detection
90 * Pulse meter application
91 * Dry Contact Detection
Xiaoling 1.5 92
Xiaoling 48.3 93
Xiaoling 48.13 94
Xiaoling 48.2 95 == 1.6  Mechanical ==
Xiaoling 1.5 96
Xiaoling 48.2 97
David Huang 31.1 98 ​[[image:image-20221021110415-3.png]]
Xiaoling 1.5 99
100
Xiaoling 48.2 101
102 == 1.7  Pin Definitions and Switch ==
103
David Huang 31.1 104 [[image:image-20221021110429-4.png]]
Xiaoling 1.5 105
106
Xiaoling 48.2 107 === 1.7.1  Pin Definition ===
108
109
Edwin Chen 38.1 110 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 111
Edwin Chen 38.1 112
Xiaoling 1.5 113
Xiaoling 48.2 114 === 1.7.2  Jumper JP2(Power ON/OFF) ===
115
116
David Huang 2.1 117 Power on Device when putting this jumper.
118
119
120
Xiaoling 48.2 121 === 1.7.3  BOOT MODE / SW1 ===
David Huang 2.1 122
123
Xiaoling 48.3 124 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 125
Xiaoling 48.3 126 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 127
128
129
Xiaoling 48.2 130 === 1.7.4  Reset Button ===
131
132
David Huang 2.1 133 Press to reboot the device.
134
135
136
Xiaoling 48.2 137 === 1.7.5  LED ===
David Huang 2.1 138
Xiaoling 48.2 139
Edwin Chen 38.1 140 The LED will blink when :
David Huang 2.1 141
Xiaoling 48.2 142 1.  Boot the device in flash mode
David Huang 2.1 143
Xiaoling 48.2 144 2.  Send an uplink packet
David Huang 2.1 145
146
147
Xiaoling 48.2 148 = 2.  Use CPN01 to communicate with IoT Server =
149
150
151 == 2.1  How it works ==
152
153
154 The CPN01 is equipped with an NB-IoT module, the pre-loaded firmware in CPN01 will get (% style="color:blue" %)**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.
155
Edwin Chen 40.1 156 The diagram below shows the working flow in the default firmware of CPN01:
David Huang 2.1 157
David Huang 31.1 158 [[image:image-20221021110615-5.png]]
David Huang 2.1 159
160
Edwin Chen 40.1 161
Xiaoling 48.2 162 == 2.2 ​ Configure CPN01 ==
David Huang 2.1 163
Xiaoling 48.2 164
165 === 2.2.1 Test Requirement ===
166
167
Edwin Chen 40.1 168 To use CPN01 in your city, make sure to meet below requirements:
David Huang 2.1 169
Edwin Chen 40.1 170 * Your local operator has already distributed an NB-IoT Network.
David Huang 2.1 171 * The local NB-IoT network used the band that CPN01 supports.
172 * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
173
Xiaoling 48.2 174 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** (% style="color:red" %)CoAP(120.24.4.116:5683)(%%)** or raw (% style="color:red" %)**UDP(120.24.4.116:5601) **(%%)or (% style="color:red" %)**MQTT(120.24.4.116:1883) **(%%)or (% style="color:red" %)**TCP(120.24.4.116:5600)protocol**(%%) to send data to the test server.
David Huang 2.1 175
Edwin Chen 40.1 176 [[image:image-20221023000439-3.png]]
177
David Huang 2.1 178
179
180
Xiaoling 48.2 181 === 2.2.2 Insert NB-IoT SIM card ===
182
183
David Huang 2.1 184 Insert the NB-IoT Card get from your provider.
185
Edwin Chen 40.1 186 User needs to take out the NB-IoT module and insert the SIM card like below:
David Huang 2.1 187
David Huang 31.1 188 [[image:image-20221021110745-6.png]] ​
David Huang 2.1 189
Edwin Chen 40.1 190
David Huang 2.1 191
Xiaoling 48.2 192 === 2.2.3 Connect USB – TTL to CPN01 and configure it ===
David Huang 2.1 193
194
Xiaoling 48.2 195 User need to configure CPN01 via serial port to set the (% style="color:red" %)**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.
David Huang 2.1 196
Xiaoling 48.2 197 (% style="color:blue" %)**Connection:**
David Huang 2.1 198
Xiaoling 48.2 199 (% style="background-color:yellow" %)** USB TTL GND <~-~-~-~-> GND**
David Huang 2.1 200
Xiaoling 48.2 201 (% style="background-color:yellow" %)** USB TTL TXD <~-~-~-~-> UART_RXD**
202
203 (% style="background-color:yellow" %)** USB TTL RXD <~-~-~-~-> UART_TXD**
204
205
David Huang 2.1 206 In the PC, use below serial tool settings:
207
Xiaoling 48.2 208 * Baud:  (% style="color:red" %)**9600**
David Huang 2.1 209
Xiaoling 48.2 210 * Data bits:** (% style="color:red" %)8(%%)**
211
212 * Stop bits: (% style="color:red" %)**1**
213
214 * Parity:  (% style="color:red" %)**None**
215
216 * Flow Control: (% style="color:red" %)**None**
217
Edwin Chen 41.1 218 Make sure the switch is in FLASH position, then power on CPN01 by connecting the (% style="color:orange" %)**Yellow Jumper**(%%).
David Huang 2.1 219
David Huang 31.1 220 ​[[image:image-20221021110817-7.png]]
David Huang 2.1 221
Edwin Chen 40.1 222 CPN01 will output system info once powered on as below, we can enter the **password: 12345678** to access AT Command input.
223
224
Xiaoling 48.2 225 (% style="color:red" %)**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]]
David Huang 2.1 226
Edwin Chen 42.1 227
David Huang 2.1 228
Xiaoling 48.2 229 === 2.2.4 Use CoAP protocol to uplink data ===
David Huang 2.1 230
231
Xiaoling 48.2 232 (% style="color:red" %)**Note: if you don't have a CoAP server, you can refer this link to set up a CoAP server: **(%%)[[**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/]]
Edwin Chen 42.1 233
David Huang 2.1 234
Xiaoling 48.2 235 (% style="color:blue" %)**Use below commands in CPN01:**
236
Xiaoling 48.3 237 * (% style="color:#037691" %)**AT+PRO=1**                (%%) ~/~/ Set to use CoAP protocol to uplink
Xiaoling 48.2 238
Xiaoling 48.3 239 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5683   ** (%%) ~/~/ Set CoAP server address and port
Xiaoling 48.2 240
Xiaoling 48.3 241 * (% style="color:#037691" %)**AT+URI=0,0,11,2,"mqtt" ** (%%) ~/~/  Set CoAP resource path
Xiaoling 48.2 242
David Huang 2.1 243 For parameter description, please refer to AT command set
244
David Huang 31.1 245 [[image:image-20221021110948-8.png]]
David Huang 2.1 246
247
Xiaoling 48.2 248 After configuring the server address and (% style="color:green" %)**reset CPN01**(%%) (via AT+ATZ ), CPN01 will start to uplink sensor values to the CoAP server.
Edwin Chen 42.1 249
David Huang 31.1 250 [[image:image-20221021110956-9.png]] ​
David Huang 2.1 251
Edwin Chen 42.1 252
David Huang 2.1 253
Xiaoling 48.2 254 === 2.2.5 Use UDP protocol to uplink data(Default protocol) ===
David Huang 2.1 255
Edwin Chen 42.1 256
Xiaoling 48.2 257 (% style="color:blue" %)**AT Commands:**
David Huang 2.1 258
Xiaoling 48.3 259 * (% style="color:#037691" %)**AT+PRO=2   ** (%%) ~/~/  Set to use UDP protocol to uplink
Xiaoling 48.2 260
Xiaoling 48.3 261 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/  Set UDP server address and port
Xiaoling 48.2 262
Xiaoling 48.3 263 * (% style="color:#037691" %)**AT+CFM=1       ** (%%) ~/~/  If the server does not respond, this command is unnecessary
Xiaoling 48.2 264
David Huang 32.1 265 ​ [[image:image-20221021111025-10.png]]
David Huang 2.1 266
Xiaoling 48.3 267
David Huang 31.1 268 [[image:image-20221021111033-11.png||height="241" width="576"]]
David Huang 2.1 269
270
271
272
Xiaoling 48.2 273 === 2.2.6 Use MQTT protocol to uplink data ===
David Huang 2.1 274
Edwin Chen 42.1 275
Xiaoling 48.2 276 (% style="color:blue" %)**AT Commands:**
David Huang 2.1 277
Xiaoling 48.3 278 * (% style="color:#037691" %)**AT+PRO=3   ** (%%) ~/~/  Set to use MQTT protocol to uplink
Xiaoling 48.2 279
Xiaoling 48.3 280 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/  Set MQTT server address and port
Xiaoling 48.2 281
Xiaoling 48.3 282 * (% style="color:#037691" %)**AT+CLIENT=CLIENT       ** (%%) ~/~/  Set up the CLIENT of MQTT
Xiaoling 48.2 283
Xiaoling 48.3 284 * (% style="color:#037691" %)**AT+UNAME=UNAME                     **(%%)** **~/~/  Set the username of MQTT
Xiaoling 48.2 285
Xiaoling 48.3 286 * (% style="color:#037691" %)**AT+PWD=PWD                         **(%%)** **~/~/  Set the password of MQTT
Xiaoling 48.2 287
Xiaoling 48.3 288 * (% style="color:#037691" %)**AT+PUBTOPIC=NSE01_PUB              **(%%)** **~/~/  Set the sending topic of MQTT
Xiaoling 48.2 289
Xiaoling 48.3 290 * (% style="color:#037691" %)**AT+SUBTOPIC=NSE01_SUB          ** (%%) ~/~/  Set the subscription topic of MQTT
Xiaoling 48.2 291
David Huang 32.1 292 ​ [[image:image-20221021111058-12.png]]
David Huang 2.1 293
Xiaoling 48.3 294
David Huang 47.1 295 [[image:image-20221021111201-16.png||height="472" width="653"]]
David Huang 2.1 296
297
298
Edwin Chen 42.1 299 MQTT protocol has a much higher power consumption compare with UDP / CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval.
David Huang 2.1 300
Edwin Chen 42.1 301
Xiaoling 48.3 302
Xiaoling 48.2 303 === 2.2.7 Use TCP protocol to uplink data ===
David Huang 2.1 304
305
Xiaoling 48.3 306 (% style="color:blue" %)**AT Commands:**
David Huang 2.1 307
Xiaoling 48.3 308 * (% style="color:#037691" %)**AT+PRO=4   ** (%%) ~/~/  Set to use TCP protocol to uplink
Xiaoling 48.2 309
Xiaoling 48.3 310 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5600   ** (%%) ~/~/  Set TCP server address and port
Xiaoling 48.2 311
David Huang 32.1 312 ​ [[image:image-20221021111125-14.png]]
David Huang 2.1 313
David Huang 31.1 314 [[image:image-20221021111131-15.png]]
David Huang 2.1 315
316
317
Xiaoling 48.3 318
Xiaoling 48.2 319 === 2.2.8 Change Update Interval ===
David Huang 2.1 320
321
Xiaoling 48.2 322 User can use below command to change the (% style="color:blue" %)**uplink interval**.
David Huang 2.1 323
Xiaoling 48.2 324 * (% style="color:#037691" %)**AT+TDC=7200      ** (%%) ~/~/ Set Update Interval to 7200s (2 hours)
David Huang 2.1 325
Xiaoling 48.2 326 (% style="color:red" %)**NOTE:**
David Huang 2.1 327
Xiaoling 48.3 328 1.  By default, the device will send an uplink message every 1 hour.
Edwin Chen 42.1 329
Xiaoling 48.3 330
331
Xiaoling 48.2 332 == 2.3  Uplink Payload ==
David Huang 2.1 333
Xiaoling 48.2 334
David Huang 43.1 335 The uplink payload includes 123 bytes in total by default.
David Huang 2.1 336
337 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.
338
339
Xiaoling 48.3 340 (% border="1.5" cellspacing="3" style="background-color:#ffffcc; color:green; width:510px" %)
341 |=(% scope="row" style="width: 96px;" %)**Size(bytes)**|(% style="width:84px" %)**8**|(% style="width:40px" %)**2**|(% style="width:44px" %)**2**|(% style="width:121px" %)**1**|(% style="width:52px" %)**1**|(% style="width:84px" %)**1**|(% style="width:116px" %)**1**|(% style="width:57px" %)**1**|(% style="width:91px" %)**3**
Xiaoling 48.8 342 |=(% style="width: 96px;" %)**Value**|(% style="width:84px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:40px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:44px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:121px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:52px" %)MOD|(% style="width:84px" %)[[ Calculate Flag>>||anchor="H2.4.5A0CalculateFlag"]]|(% style="width:116px" %)[[Contact Status>>||anchor="H2.4.7A0ContactStatus"]]|(% style="width:57px" %)[[Alarm>>||anchor="H2.4.6A0Alarm"]]|(% style="width:91px" %)[[Total pulse>>||anchor="H2.4.8A0Totalpulse"]]
David Huang 2.1 343
Xiaoling 48.3 344 (% border="1.5" cellspacing="3" style="background-color:#ffffcc; color:green; width:510px" %)
345 |(% style="width:176px" %)**3**|(% style="width:98px" %)**4**|(% style="width:115px" %)**1**|(% style="width:92px" %)**3**|(% style="width:110px" %)**1**|(% style="width:169px" %)**3**|(% style="width:97px" %)4|(% style="width:74px" %)**8 group**
Xiaoling 48.8 346 |(% style="width:176px" %)[[The last open duration>>||anchor="H2.4.9A0Thelastopenduration"]]|(% style="width:98px" %)[[Time stamp>>||anchor="H2.4.10A0Timestamp"]]|(% style="width:115px" %)Contact Status|(% style="width:92px" %)Total pulse|(% style="width:110px" %)Calculate Flag|(% style="width:169px" %)The last open duration|(% style="width:97px" %)Time stamp|(% style="width:74px" %)...
Xiaoling 48.3 347
David Huang 2.1 348 If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the CPN01 uplink data.
349
David Huang 31.1 350 [[image:image-20221021111201-16.png||height="572" width="792"]]
David Huang 2.1 351
Xiaoling 48.3 352
David Huang 2.1 353 The payload is ASCII string, representative same HEX:
354
Xiaoling 48.15 355 **0x (% style="color:red" %)__f867787050213317__  (% style="color:blue" %)__0064__ (% style="color:green" %) __0c78__(% style="color:#00b0f0" %) __17__(% style="color:#7030a0" %) __01__(% style="color:#0020b0" %) __00__ (% style="color:#420042" %)__00__ (% style="color:#660066" %)__00__ (% style="color:#aaaa40" %)__09__(% style="color:#663300" %) __02__ (% style="color:#d60093" %)__6315537b__ (% style="color:#660066" %)__01 00000b 02 0000026 63510fed__ (%%)__0100000e0200000263510f39__ __010000000000000063510e85__ __010000000000000063510d2e__ __010000000000000063510c7a__ __010000000000000063510bc6__ __010000000000000063510954__ __010000000000000063510882 __**
David Huang 2.1 356
Xiaoling 48.2 357 **where:**
David Huang 2.1 358
Xiaoling 48.13 359 * (% style="color:#037691" %)**Device ID:**(%%) 0x f867787050213317 = f867787050213317
David Huang 2.1 360
Xiaoling 48.13 361 * (% style="color:#037691" %)**Version:**(%%) 0x0064=100=1.0.0
David Huang 33.1 362
Xiaoling 48.13 363 * (% style="color:#037691" %)**BAT:**(%%) 0x0c78 = 3192 mV = 3.192V
David Huang 33.1 364
Xiaoling 48.13 365 * (% style="color:#037691" %)**Singal: **(%%)0x17 = 23
David Huang 33.1 366
Xiaoling 48.13 367 * (% style="color:#037691" %)**Mod:**(%%) 0x01 = 1
David Huang 33.1 368
Xiaoling 48.13 369 * (% style="color:#037691" %)**Calculate Flag:**(%%) 0x00=0
David Huang 33.1 370
Xiaoling 48.13 371 * (% style="color:#037691" %)**Contact Status:**(%%) 0x00=0
David Huang 33.1 372
Xiaoling 48.13 373 * (% style="color:#037691" %)**Alarm: **(%%)0x00 =0
David Huang 33.1 374
Xiaoling 48.13 375 * (% style="color:#037691" %)**Total pulse: **(%%)0x09 =0
David Huang 33.1 376
Xiaoling 48.13 377 * (% style="color:#037691" %)**The last open duration: **(%%)0x02 =2
David Huang 33.1 378
Xiaoling 48.9 379 * (% style="color:#037691" %)** Time stamp :**(%%) 0x6315537b =1662342011 (Unix Time)
David Huang 33.1 380
Xiaoling 48.13 381 * (% style="color:#037691" %)**Contact Status, Total pulse, Calculate Flag, The last open duration ,Time stamp :**(%%) 01  00000b  02  000026  63510fed
David Huang 33.1 382
Xiaoling 48.9 383 * (% style="color:#037691" %)**8 sets of recorded data: Contact Status, Total pulse, Calculate Flag, The last open duration ,Time stamp :**(%%) 0100000e0200002663510f39,.......
Edwin Chen 42.1 384
David Huang 2.1 385
386
Xiaoling 48.2 387 == 2.4  Payload Explanation and Sensor Interface ==
388
389
390 === 2.4.1  Device ID ===
391
392
Edwin Chen 42.1 393 By default, the Device ID is equal to the last 15 bits of IMEI.
David Huang 2.1 394
Xiaoling 48.2 395 User can use (% style="color:blue" %)**AT+DEUI** (%%)to set Device ID
David Huang 2.1 396
397 **Example:**
398
399 AT+DEUI=868411056754138
400
Edwin Chen 42.1 401 The Device ID is stored in a non-erase area, Upgrade the firmware or run AT+FDR won't erase the Device ID.
David Huang 2.1 402
Edwin Chen 42.1 403
David Huang 2.1 404
Xiaoling 48.2 405 === 2.4.2  Version Info ===
406
407
Edwin Chen 42.1 408 Specify the software version: 0x64=100, which means firmware version 1.00.
David Huang 2.1 409
Edwin Chen 42.1 410 For example 0x00 64 : This device is CPN01 with firmware version 1.0.0.
David Huang 2.1 411
Edwin Chen 42.1 412
David Huang 2.1 413
Xiaoling 48.2 414 === 2.4.3  Battery Info ===
415
416
David Huang 2.1 417 Check the battery voltage for CPN01.
418
419 Ex1: 0x0B45 = 2885mV
420
421 Ex2: 0x0B49 = 2889mV
422
Edwin Chen 42.1 423
David Huang 2.1 424
Xiaoling 48.2 425 === 2.4.4  Signal Strength ===
426
427
David Huang 2.1 428 NB-IoT Network signal Strength.
429
430 **Ex1: 0x1d = 29**
431
432 **0**  -113dBm or less
433
434 **1**  -111dBm
435
436 **2...30** -109dBm... -53dBm
437
438 **31**   -51dBm or greater
439
440 **99**    Not known or not detectable
441
Edwin Chen 42.1 442
David Huang 2.1 443
Xiaoling 48.2 444 === 2.4.5  Calculate Flag ===
445
446
Edwin Chen 42.1 447 The calculate flag is a user defined field, IoT server can use this filed to handle different meters with different pulse factors. For example, if there are 100 water meters, meter 1~~50 are 1 liter/pulse and meter 51 ~~ 100 has 1.5 liter/pulse.
David Huang 2.1 448
449 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.
450
451 Default value: 0. 
452
453 Range (6 bits): (b)000000 ~~ (b) 111111
454
Edwin Chen 42.1 455
David Huang 2.1 456
Xiaoling 48.2 457 === 2.4.6  Alarm ===
458
459
Xiaoling 48.10 460 See [[Alarm Base on Timeout>>||anchor="H2.7A0AlarmBaseonTimeout"]]
David Huang 2.1 461
Edwin Chen 42.1 462
David Huang 2.1 463
Xiaoling 48.2 464 === 2.4.7  Contact Status ===
465
466
David Huang 2.1 467 0: Open
468
469 1: Close
470
Edwin Chen 42.1 471
David Huang 2.1 472
Xiaoling 48.2 473 === 2.4.8  Total pulse ===
474
475
Xiaoling 48.11 476 Total pulse/counting based on dry [[contact trigger event>>||anchor="H2.12Setcountnumber"]]
David Huang 2.1 477
478 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
479
Edwin Chen 42.1 480
David Huang 2.1 481
Xiaoling 48.2 482 === 2.4.9  The last open duration ===
483
484
David Huang 2.1 485 Dry Contact last open duration.
486
487 Unit: min.
488
David Huang 31.1 489 [[image:image-20221021111346-17.png||height="146" width="770"]]
David Huang 2.1 490
491
492
Xiaoling 48.2 493 === 2.4.10  Timestamp ===
494
495
Edwin Chen 42.1 496 Timestamp : 0x6315537b =1662342011
David Huang 2.1 497
498 Convert Unix timestamp to time 2022-9-5 9:40:11.
499
500 **~ **
501
502
Xiaoling 48.2 503 == 2.5  Downlink Payload ==
504
505
David Huang 2.1 506 By default, CPN01 prints the downlink payload to console port.
507
David Huang 31.1 508 [[image:image-20221021111414-18.png]] ​
David Huang 2.1 509
Xiaoling 48.2 510
David Huang 2.1 511 **Examples:**
512
Xiaoling 48.2 513 * (% style="color:#037691" %)**Set TDC**
David Huang 2.1 514
515 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
516
517 Payload:    01 00 00 1E    TDC=30S
518
519 Payload:    01 00 00 3C    TDC=60S
520
Xiaoling 48.2 521 * (% style="color:#037691" %)**Reset**
David Huang 2.1 522
523 If payload = 0x04FF, it will reset the NSE01
524
Xiaoling 48.2 525 * (% style="color:#037691" %)**INTMOD**
David Huang 2.1 526
527 Downlink Payload: 06000003, Set AT+INTMOD=3
528
529
Xiaoling 48.2 530
531 == 2.6  ​LED Indicator ==
532
533
Edwin Chen 42.1 534 The CPN01 has an internal LED which is to show the status of different states.
David Huang 2.1 535
David Huang 45.1 536 * When the device starts normally, the LED will light up for 1 second.
David Huang 2.1 537 * After CPN01 join NB-IoT network. The LED will be ON for 3 seconds.
538 * For each uplink probe, LED will be on for 500ms.
539
Xiaoling 48.13 540
541
Xiaoling 48.2 542 == 2.7  Alarm Base on Timeout ==
David Huang 2.1 543
Xiaoling 48.2 544
Edwin Chen 42.1 545 CPN01 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:
David Huang 2.1 546
547
Xiaoling 48.2 548 (% style="color:blue" %)**1. Keep Status: Status to be monitor**
David Huang 2.1 549
550 Keep Status = 1: Monitor Close to Open event
551
552 Keep Status = 0: Monitor Open to Close event
553
554
Xiaoling 48.2 555 (% style="color:blue" %)**2. Keep Time: Timeout to send an Alarm**
David Huang 2.1 556
557 Range 0 ~~ 65535(0xFFFF) seconds.
558
559 If keep time = 0, Disable Alarm Base on Timeout feature.
560
561 If keep time > 0, device will monitor the keep status event and send an alarm when status doesn’t change after timeout.
562
563
Xiaoling 48.2 564 (% style="color:blue" %)**AT Command to configure:**
David Huang 2.1 565
Xiaoling 48.2 566 (% style="color:#037691" %)**AT+TTRIG=1,30** (%%) **~-~->**  When the **Keep Status** change from connected to disconnect, and device remains in disconnect status for more than 30 seconds. CPN01 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.
David Huang 2.1 567
Xiaoling 48.2 568 (% style="color:#037691" %)**AT+TTRIG=0,0 ** (%%) **~-~->** Default Value, disable timeout Alarm.
David Huang 2.1 569
Edwin Chen 42.1 570
David Huang 2.1 571
Xiaoling 48.2 572 == 2.8  Set debug mode ==
573
574
David Huang 2.1 575 Feature: Enable or Disable debug mode
576
Xiaoling 48.2 577 (% style="color:blue" %)**AT Command: AT+DEBUG**
David Huang 2.1 578
David Huang 31.1 579 [[image:image-20221021111629-21.png]]
David Huang 2.1 580
581
Xiaoling 48.2 582
583 == 2.9  Clear Flash Record ==
584
585
David Huang 2.1 586 Feature: Clear flash storage for data log feature.
587
Xiaoling 48.2 588 (% style="color:blue" %)**AT Command: AT+CLRDTA**
David Huang 2.1 589
David Huang 31.1 590 [[image:image-20221021111527-19.png]]
David Huang 2.1 591
592
593
Xiaoling 48.2 594 == 2.10  Set trigger mode ==
595
596
597 (% style="color:blue" %)**AT Command: AT+TTRMOD**
598
David Huang 2.1 599 Feature: Set the trigger interrupt mode.
600
David Huang 31.1 601 [[image:image-20221021111552-20.png]]
David Huang 2.1 602
603
Xiaoling 48.2 604
605 == 2.11  Set the calculate flag ==
606
607
David Huang 2.1 608 Feature: Set the calculate flag
609
Xiaoling 48.2 610 (% style="color:blue" %)**AT Command: AT+CALCFLAG**
David Huang 2.1 611
David Huang 31.1 612 [[image:image-20221021111711-22.png]]
David Huang 2.1 613
614
Xiaoling 48.2 615
616 == 2.12 Set count number ==
617
618
David Huang 2.1 619 Feature: Manually set the count number
620
Xiaoling 48.2 621 (% style="color:blue" %)**AT Command: AT+SETCNT**
David Huang 2.1 622
David Huang 31.1 623 [[image:image-20221021111748-24.png]]
David Huang 2.1 624
625
626
Xiaoling 48.2 627 == 2.13  Set the number of data to be uploaded and the recording time ==
David Huang 2.1 628
629
Xiaoling 48.2 630 (% style="color:blue" %)**AT Command:**
David Huang 2.1 631
Xiaoling 48.2 632 (% style="color:#037691" %)**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)
David Huang 2.1 633
Xiaoling 48.2 634 (% style="color:#037691" %)**AT+NOUD=8 ** (%%)~/~/  The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
David Huang 2.1 635
636
Xiaoling 48.2 637
638 == 2.14  Read or Clear cached data ==
639
640
641 (% style="color:blue" %)**AT Command:**
642
643 (% style="color:#037691" %)**AT+CDP**  (%%) ~/~/ Read cached data
644
645 (% style="color:#037691" %)**AT+CDP=0**  (%%) ~/~/ Clear cached data ​
646
David Huang 31.1 647 [[image:image-20221021111810-25.png||height="364" width="797"]]
David Huang 2.1 648
649
650
Xiaoling 48.2 651 == 2.15  ​Firmware Change Log ==
David Huang 2.1 652
Xiaoling 48.2 653
Xiaoling 48.14 654 Download URL & Firmware Change log:  [[https:~~/~~/www.dropbox.com/sh/8p5nuvo6gh7je4n/AAAMP7MMusgbXMz9Ik7Ls03Ga?dl=0>>https://www.dropbox.com/sh/8p5nuvo6gh7je4n/AAAMP7MMusgbXMz9Ik7Ls03Ga?dl=0]]
David Huang 2.1 655
Xiaoling 48.12 656 Upgrade Instruction: [[Upgrade Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]]
David Huang 2.1 657
658
659
Xiaoling 48.2 660 == 2.16  ​Battery Analysis ==
661
662
663 === 2.16.1  ​Battery Type ===
664
665
Edwin Chen 42.1 666 The CPN01 battery is a combination of an 8500mAh Li/SOCI2 Battery and a Super Capacitor. The battery is non-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.
David Huang 2.1 667
Edwin Chen 42.1 668 The battery is designed to last for several years depends on the actual use environment and update interval. 
David Huang 2.1 669
Edwin Chen 42.1 670 The battery-related documents as below:
David Huang 2.1 671
672 * [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
Xiaoling 48.2 673
David Huang 2.1 674 * [[Lithium-Thionyl Chloride Battery datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
Xiaoling 48.2 675
David Huang 2.1 676 * [[Lithium-ion Battery-Capacitor datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
677
David Huang 31.1 678 [[image:image-20221021111911-26.png]] ​
David Huang 2.1 679
680
Xiaoling 48.2 681
682 === 2.16.2  Power consumption Analyze ===
683
684
David Huang 2.1 685 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.
686
687 Instruction to use as below:
688
Xiaoling 48.2 689 (% style="color:blue" %)**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/]]
David Huang 2.1 690
Xiaoling 48.2 691 (% style="color:blue" %)**Step 2: **(%%) Open it and choose
David Huang 2.1 692
693 * Product Model
Xiaoling 48.2 694
David Huang 2.1 695 * Uplink Interval
Xiaoling 48.2 696
David Huang 2.1 697 * Working Mode
698
699 And the Life expectation in difference case will be shown on the right.
700
Xiaoling 48.2 701 [[image:1666596205057-567.png]] ​
David Huang 2.1 702
703
Xiaoling 48.2 704
705 === 2.16.3  ​Battery Note ===
706
707
David Huang 2.1 708 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.
709
710
Xiaoling 48.2 711
712 === 2.16.4  Replace the battery ===
713
714
David Huang 2.1 715 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).
716
Edwin Chen 42.1 717
David Huang 2.1 718
Xiaoling 48.2 719 = 3. ​ Access NB-IoT Module =
720
721
David Huang 2.1 722 Users can directly access the AT command set of the NB-IoT module.
723
724 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/]] 
725
David Huang 31.1 726 [[image:image-20221021112006-28.png]] ​
David Huang 2.1 727
728
729
Xiaoling 48.2 730 = 4.  Using the AT Commands =
731
732
733 == 4.1  Access AT Commands ==
734
735
David Huang 2.1 736 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]]
737
738 AT+<CMD>?  : Help on <CMD>
739
740 AT+<CMD>         : Run <CMD>
741
742 AT+<CMD>=<value> : Set the value
743
744 AT+<CMD>=?  : Get the value
745
746
Xiaoling 48.2 747 (% style="color:blue" %)**General Commands**      
748
David Huang 2.1 749 AT  : Attention       
750
751 AT?  : Short Help     
752
753 ATZ  : MCU Reset    
754
755 AT+TDC  : Application Data Transmission Interval
756
757 AT+CFG  : Print all configurations
758
759 AT+CFGMOD           : Working mode selection
760
761 AT+INTMOD            : Set the trigger interrupt mode
762
763 AT+5VT  : Set extend the time of 5V power  
764
765 AT+PRO  : Choose agreement
766
767 AT+RXDL  : Extend the sending and receiving time
768
769 AT+SERVADDR  : Server Address
770
Xiaoling 48.2 771 AT+TR      :  Get or Set record time
David Huang 2.1 772
773 AT+NOUD      : Get or Set the number of data to be uploaded
774
Xiaoling 48.2 775 AT+CDP     :  Read or Clear cached data
David Huang 2.1 776
777 AT+ DEBUG   : Enable or Disable debug mode
778
779 AT+ TTRIG   : Get or Set Alarm Base on Timeout
780
781 AT+ TTRMOD   : Get or Set the trigger interrupt mode(0:falling,1:rising)
782
783 AT+ CALCFLAG   : Get or Set the calculate flag
784
785 AT+ CLRC   : Clear current door open count
786
787
Xiaoling 48.2 788 (% style="color:blue" %)**COAP Management**      
789
David Huang 2.1 790 AT+URI            : Resource parameters
791
792
Xiaoling 48.2 793 (% style="color:blue" %)**UDP Management**
794
David Huang 2.1 795 AT+CFM          : Upload confirmation mode (only valid for UDP)
796
797
Xiaoling 48.2 798 (% style="color:blue" %)**MQTT Management**
799
David Huang 2.1 800 AT+CLIENT               : Get or Set MQTT client
801
802 AT+UNAME  : Get or Set MQTT Username
803
804 AT+PWD                  : Get or Set MQTT password
805
806 AT+PUBTOPIC  : Get or Set MQTT publish topic
807
808 AT+SUBTOPIC  : Get or Set MQTT subscription topic
809
810
Xiaoling 48.2 811 (% style="color:blue" %)**Information**          
812
David Huang 2.1 813 AT+FDR  : Factory Data Reset
814
815 AT+PWORD  : Serial Access Password
816
817
818
Xiaoling 48.2 819 = ​5.  FAQ =
David Huang 2.1 820
821
Xiaoling 48.2 822 == 5.1 ​ How to Upgrade Firmware ==
David Huang 2.1 823
824
Xiaoling 48.2 825 User can upgrade the firmware for 1) bug fix, 2) new feature release.
David Huang 2.1 826
Xiaoling 48.2 827 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]]
David Huang 2.1 828
Xiaoling 48.2 829 (% style="color:red" %)**Notice: **(% style="color:blue" %)**CPN01** (%%)**and (% style="color:blue" %)CPL01(%%)**(% style="color:blue" %) (%%)**share the same mother board. They use the same connection and method to update.**
David Huang 2.1 830
Edwin Chen 42.1 831
David Huang 2.1 832
Xiaoling 48.2 833 = 6.  Trouble Shooting =
David Huang 2.1 834
Edwin Chen 42.1 835
Xiaoling 48.2 836 == 6.1  ​Connection problem when uploading firmware ==
David Huang 2.1 837
838
Xiaoling 48.2 839 (% style="color:blue" %)**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]]
Edwin Chen 42.1 840
David Huang 2.1 841
842
Xiaoling 48.2 843 == 6.2  AT Command input doesn't work ==
David Huang 2.1 844
845
Xiaoling 48.2 846 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.
David Huang 2.1 847
848
849
Xiaoling 48.2 850 = 7. ​ Order Info =
David Huang 2.1 851
852
Xiaoling 48.2 853 Part Number**:** CPN01
David Huang 2.1 854
855
856
Xiaoling 48.2 857 = 8.  Packing Info =
David Huang 2.1 858
859
Xiaoling 48.2 860 (% style="color:blue" %)**Package Includes**:
David Huang 2.1 861
Xiaoling 48.2 862 * CPN01 Open/Close Sensor x 1
863 * External antenna x 1
David Huang 2.1 864
Xiaoling 48.2 865 (% style="color:blue" %)**Dimension and weight**:
David Huang 2.1 866
Xiaoling 48.2 867 * Size: 195 x 125 x 55 mm
868 * Weight:   420g
David Huang 2.1 869
Xiaoling 48.13 870
871
Xiaoling 48.2 872 = 9.  Support =
David Huang 2.1 873
874
Xiaoling 48.2 875 * 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.
David Huang 2.1 876
Xiaoling 48.2 877 * 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]]
David Huang 2.1 878
Xiaoling 48.2 879
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0