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