Version 52.3 by Xiaoling on 2022/10/25 15:49

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 48.3 353 |=(% 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 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.2 357 |(% style="width:176px" %)**3**|(% style="width:98px" %)**4**|(% style="width:115px" %)**1**|(% style="width:92px" %)**3**|(% style="width:169px" %)**3**|(% style="width:97px" %)4|(% style="width:74px" %)**8 group**
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
398
Xiaoling 48.2 399 == 2.4  Payload Explanation and Sensor Interface ==
400
401
402 === 2.4.1  Device ID ===
403
404
Edwin Chen 42.1 405 By default, the Device ID is equal to the last 15 bits of IMEI.
David Huang 2.1 406
Xiaoling 48.2 407 User can use (% style="color:blue" %)**AT+DEUI** (%%)to set Device ID
David Huang 2.1 408
409 **Example:**
410
411 AT+DEUI=868411056754138
412
Edwin Chen 42.1 413 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 414
Edwin Chen 42.1 415
David Huang 2.1 416
Xiaoling 48.2 417 === 2.4.2  Version Info ===
418
419
Edwin Chen 42.1 420 Specify the software version: 0x64=100, which means firmware version 1.00.
David Huang 2.1 421
Edwin Chen 42.1 422 For example 0x00 64 : This device is CPN01 with firmware version 1.0.0.
David Huang 2.1 423
Edwin Chen 42.1 424
David Huang 2.1 425
Xiaoling 48.2 426 === 2.4.3  Battery Info ===
427
428
David Huang 2.1 429 Check the battery voltage for CPN01.
430
431 Ex1: 0x0B45 = 2885mV
432
433 Ex2: 0x0B49 = 2889mV
434
Edwin Chen 42.1 435
David Huang 2.1 436
Xiaoling 48.2 437 === 2.4.4  Signal Strength ===
438
439
David Huang 2.1 440 NB-IoT Network signal Strength.
441
442 **Ex1: 0x1d = 29**
443
444 **0**  -113dBm or less
445
446 **1**  -111dBm
447
448 **2...30** -109dBm... -53dBm
449
450 **31**   -51dBm or greater
451
452 **99**    Not known or not detectable
453
Edwin Chen 42.1 454
David Huang 2.1 455
Xiaoling 48.2 456 === 2.4.5  Calculate Flag ===
457
458
Edwin Chen 42.1 459 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 460
461 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.
462
463 Default value: 0. 
464
465 Range (6 bits): (b)000000 ~~ (b) 111111
466
Edwin Chen 42.1 467
David Huang 2.1 468
Xiaoling 48.2 469 === 2.4.6  Alarm ===
470
471
Xiaoling 48.10 472 See [[Alarm Base on Timeout>>||anchor="H2.7A0AlarmBaseonTimeout"]]
David Huang 2.1 473
Edwin Chen 42.1 474
David Huang 2.1 475
Xiaoling 48.2 476 === 2.4.7  Contact Status ===
477
478
David Huang 2.1 479 0: Open
480
481 1: Close
482
Edwin Chen 42.1 483
David Huang 2.1 484
Xiaoling 48.2 485 === 2.4.8  Total pulse ===
486
487
Xiaoling 48.11 488 Total pulse/counting based on dry [[contact trigger event>>||anchor="H2.12Setcountnumber"]]
David Huang 2.1 489
490 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
491
Edwin Chen 42.1 492
David Huang 2.1 493
Xiaoling 48.2 494 === 2.4.9  The last open duration ===
495
496
David Huang 2.1 497 Dry Contact last open duration.
498
499 Unit: min.
500
David Huang 31.1 501 [[image:image-20221021111346-17.png||height="146" width="770"]]
David Huang 2.1 502
503
504
Xiaoling 48.2 505 === 2.4.10  Timestamp ===
506
507
Edwin Chen 42.1 508 Timestamp : 0x6315537b =1662342011
David Huang 2.1 509
510 Convert Unix timestamp to time 2022-9-5 9:40:11.
511
512 **~ **
513
514
Xiaoling 48.2 515 == 2.5  Downlink Payload ==
516
517
David Huang 2.1 518 By default, CPN01 prints the downlink payload to console port.
519
David Huang 31.1 520 [[image:image-20221021111414-18.png]] ​
David Huang 2.1 521
Xiaoling 48.2 522
David Huang 2.1 523 **Examples:**
524
Xiaoling 48.2 525 * (% style="color:#037691" %)**Set TDC**
David Huang 2.1 526
527 If the payload=0100003C, it means set the END Node's TDC to 0x00003C=60(S), while type code is 01.
528
529 Payload:    01 00 00 1E    TDC=30S
530
531 Payload:    01 00 00 3C    TDC=60S
532
Xiaoling 48.2 533 * (% style="color:#037691" %)**Reset**
David Huang 2.1 534
535 If payload = 0x04FF, it will reset the NSE01
536
Xiaoling 48.2 537 * (% style="color:#037691" %)**INTMOD**
David Huang 2.1 538
539 Downlink Payload: 06000003, Set AT+INTMOD=3
540
541
Xiaoling 48.2 542
543 == 2.6  ​LED Indicator ==
544
545
Edwin Chen 42.1 546 The CPN01 has an internal LED which is to show the status of different states.
David Huang 2.1 547
David Huang 45.1 548 * When the device starts normally, the LED will light up for 1 second.
David Huang 2.1 549 * After CPN01 join NB-IoT network. The LED will be ON for 3 seconds.
550 * For each uplink probe, LED will be on for 500ms.
551
Xiaoling 52.2 552
553
Xiaoling 48.2 554 == 2.7  Alarm Base on Timeout ==
David Huang 2.1 555
Xiaoling 48.2 556
Edwin Chen 42.1 557 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 558
559
Xiaoling 48.2 560 (% style="color:blue" %)**1. Keep Status: Status to be monitor**
David Huang 2.1 561
562 Keep Status = 1: Monitor Close to Open event
563
564 Keep Status = 0: Monitor Open to Close event
565
566
Xiaoling 48.2 567 (% style="color:blue" %)**2. Keep Time: Timeout to send an Alarm**
David Huang 2.1 568
569 Range 0 ~~ 65535(0xFFFF) seconds.
570
571 If keep time = 0, Disable Alarm Base on Timeout feature.
572
573 If keep time > 0, device will monitor the keep status event and send an alarm when status doesn’t change after timeout.
574
575
Xiaoling 48.2 576 (% style="color:blue" %)**AT Command to configure:**
David Huang 2.1 577
Xiaoling 48.2 578 (% 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 579
Xiaoling 48.2 580 (% style="color:#037691" %)**AT+TTRIG=0,0 ** (%%) **~-~->** Default Value, disable timeout Alarm.
David Huang 2.1 581
Edwin Chen 42.1 582
David Huang 2.1 583
Xiaoling 48.2 584 == 2.8  Set debug mode ==
585
586
David Huang 2.1 587 Feature: Enable or Disable debug mode
588
Xiaoling 48.2 589 (% style="color:blue" %)**AT Command: AT+DEBUG**
David Huang 2.1 590
David Huang 31.1 591 [[image:image-20221021111629-21.png]]
David Huang 2.1 592
593
Xiaoling 48.2 594
595 == 2.9  Clear Flash Record ==
596
597
David Huang 2.1 598 Feature: Clear flash storage for data log feature.
599
Xiaoling 48.2 600 (% style="color:blue" %)**AT Command: AT+CLRDTA**
David Huang 2.1 601
David Huang 31.1 602 [[image:image-20221021111527-19.png]]
David Huang 2.1 603
604
605
Xiaoling 48.2 606 == 2.10  Set trigger mode ==
607
608
609 (% style="color:blue" %)**AT Command: AT+TTRMOD**
610
David Huang 2.1 611 Feature: Set the trigger interrupt mode.
612
David Huang 31.1 613 [[image:image-20221021111552-20.png]]
David Huang 2.1 614
615
Xiaoling 48.2 616
617 == 2.11  Set the calculate flag ==
618
619
David Huang 2.1 620 Feature: Set the calculate flag
621
Xiaoling 48.2 622 (% style="color:blue" %)**AT Command: AT+CALCFLAG**
David Huang 2.1 623
David Huang 31.1 624 [[image:image-20221021111711-22.png]]
David Huang 2.1 625
626
Xiaoling 48.2 627
628 == 2.12 Set count number ==
629
630
David Huang 2.1 631 Feature: Manually set the count number
632
Xiaoling 48.2 633 (% style="color:blue" %)**AT Command: AT+SETCNT**
David Huang 2.1 634
David Huang 31.1 635 [[image:image-20221021111748-24.png]]
David Huang 2.1 636
637
638
Xiaoling 48.2 639 == 2.13  Set the number of data to be uploaded and the recording time ==
David Huang 2.1 640
641
Xiaoling 48.2 642 (% style="color:blue" %)**AT Command:**
David Huang 2.1 643
Xiaoling 48.2 644 (% 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 645
Xiaoling 48.2 646 (% 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 647
648
Xiaoling 48.2 649
650 == 2.14  Read or Clear cached data ==
651
652
653 (% style="color:blue" %)**AT Command:**
654
655 (% style="color:#037691" %)**AT+CDP**  (%%) ~/~/ Read cached data
656
657 (% style="color:#037691" %)**AT+CDP=0**  (%%) ~/~/ Clear cached data ​
658
David Huang 31.1 659 [[image:image-20221021111810-25.png||height="364" width="797"]]
David Huang 2.1 660
661
662
Xiaoling 48.2 663 == 2.15  ​Firmware Change Log ==
David Huang 2.1 664
Xiaoling 48.2 665
Xiaoling 48.14 666 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 667
Xiaoling 48.12 668 Upgrade Instruction: [[Upgrade Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]]
David Huang 2.1 669
670
671
Xiaoling 48.2 672 == 2.16  ​Battery Analysis ==
673
674
675 === 2.16.1  ​Battery Type ===
676
677
Edwin Chen 42.1 678 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 679
Edwin Chen 42.1 680 The battery is designed to last for several years depends on the actual use environment and update interval. 
David Huang 2.1 681
Edwin Chen 42.1 682 The battery-related documents as below:
David Huang 2.1 683
684 * [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
Xiaoling 48.2 685
David Huang 2.1 686 * [[Lithium-Thionyl Chloride Battery datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
Xiaoling 48.2 687
David Huang 2.1 688 * [[Lithium-ion Battery-Capacitor datasheet>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]
689
David Huang 31.1 690 [[image:image-20221021111911-26.png]] ​
David Huang 2.1 691
692
Xiaoling 48.2 693
694 === 2.16.2  Power consumption Analyze ===
695
696
David Huang 2.1 697 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.
698
699 Instruction to use as below:
700
Xiaoling 48.2 701 (% 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 702
Xiaoling 48.2 703 (% style="color:blue" %)**Step 2: **(%%) Open it and choose
David Huang 2.1 704
705 * Product Model
Xiaoling 48.2 706
David Huang 2.1 707 * Uplink Interval
Xiaoling 48.2 708
David Huang 2.1 709 * Working Mode
710
711 And the Life expectation in difference case will be shown on the right.
712
Xiaoling 48.2 713 [[image:1666596205057-567.png]] ​
David Huang 2.1 714
715
Xiaoling 48.2 716
717 === 2.16.3  ​Battery Note ===
718
719
David Huang 2.1 720 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.
721
722
Xiaoling 48.2 723
724 === 2.16.4  Replace the battery ===
725
726
David Huang 2.1 727 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).
728
Edwin Chen 42.1 729
David Huang 2.1 730
Xiaoling 48.2 731 = 3. ​ Access NB-IoT Module =
732
733
David Huang 2.1 734 Users can directly access the AT command set of the NB-IoT module.
735
736 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/]] 
737
David Huang 31.1 738 [[image:image-20221021112006-28.png]] ​
David Huang 2.1 739
740
741
Xiaoling 48.2 742 = 4.  Using the AT Commands =
743
744
745 == 4.1  Access AT Commands ==
746
747
David Huang 2.1 748 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]]
749
750 AT+<CMD>?  : Help on <CMD>
751
752 AT+<CMD>         : Run <CMD>
753
754 AT+<CMD>=<value> : Set the value
755
756 AT+<CMD>=?  : Get the value
757
758
Xiaoling 48.2 759 (% style="color:blue" %)**General Commands**      
760
David Huang 2.1 761 AT  : Attention       
762
763 AT?  : Short Help     
764
765 ATZ  : MCU Reset    
766
767 AT+TDC  : Application Data Transmission Interval
768
769 AT+CFG  : Print all configurations
770
771 AT+CFGMOD           : Working mode selection
772
773 AT+INTMOD            : Set the trigger interrupt mode
774
775 AT+5VT  : Set extend the time of 5V power  
776
777 AT+PRO  : Choose agreement
778
779 AT+RXDL  : Extend the sending and receiving time
780
781 AT+SERVADDR  : Server Address
782
Xiaoling 48.2 783 AT+TR      :  Get or Set record time
David Huang 2.1 784
785 AT+NOUD      : Get or Set the number of data to be uploaded
786
Xiaoling 48.2 787 AT+CDP     :  Read or Clear cached data
David Huang 2.1 788
789 AT+ DEBUG   : Enable or Disable debug mode
790
791 AT+ TTRIG   : Get or Set Alarm Base on Timeout
792
793 AT+ TTRMOD   : Get or Set the trigger interrupt mode(0:falling,1:rising)
794
795 AT+ CALCFLAG   : Get or Set the calculate flag
796
797 AT+ CLRC   : Clear current door open count
798
799
Xiaoling 48.2 800 (% style="color:blue" %)**COAP Management**      
801
David Huang 2.1 802 AT+URI            : Resource parameters
803
804
Xiaoling 48.2 805 (% style="color:blue" %)**UDP Management**
806
David Huang 2.1 807 AT+CFM          : Upload confirmation mode (only valid for UDP)
808
809
Xiaoling 48.2 810 (% style="color:blue" %)**MQTT Management**
811
David Huang 2.1 812 AT+CLIENT               : Get or Set MQTT client
813
814 AT+UNAME  : Get or Set MQTT Username
815
816 AT+PWD                  : Get or Set MQTT password
817
818 AT+PUBTOPIC  : Get or Set MQTT publish topic
819
820 AT+SUBTOPIC  : Get or Set MQTT subscription topic
821
822
Xiaoling 48.2 823 (% style="color:blue" %)**Information**          
824
David Huang 2.1 825 AT+FDR  : Factory Data Reset
826
827 AT+PWORD  : Serial Access Password
828
829
830
Xiaoling 48.2 831 = ​5.  FAQ =
David Huang 2.1 832
833
Xiaoling 48.2 834 == 5.1 ​ How to Upgrade Firmware ==
David Huang 2.1 835
836
Xiaoling 48.2 837 User can upgrade the firmware for 1) bug fix, 2) new feature release.
David Huang 2.1 838
Xiaoling 48.2 839 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 840
Xiaoling 48.2 841 (% 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 842
Edwin Chen 42.1 843
David Huang 2.1 844
Xiaoling 48.2 845 = 6.  Trouble Shooting =
David Huang 2.1 846
Edwin Chen 42.1 847
Xiaoling 48.2 848 == 6.1  ​Connection problem when uploading firmware ==
David Huang 2.1 849
850
Xiaoling 48.2 851 (% 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 852
David Huang 2.1 853
854
Xiaoling 48.2 855 == 6.2  AT Command input doesn't work ==
David Huang 2.1 856
857
Xiaoling 48.2 858 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 859
860
861
Xiaoling 48.2 862 = 7. ​ Order Info =
David Huang 2.1 863
864
Xiaoling 48.2 865 Part Number**:** CPN01
David Huang 2.1 866
867
868
Xiaoling 48.2 869 = 8.  Packing Info =
David Huang 2.1 870
871
Xiaoling 48.2 872 (% style="color:blue" %)**Package Includes**:
David Huang 2.1 873
Xiaoling 48.2 874 * CPN01 Open/Close Sensor x 1
875 * External antenna x 1
David Huang 2.1 876
Xiaoling 48.2 877 (% style="color:blue" %)**Dimension and weight**:
David Huang 2.1 878
Xiaoling 48.2 879 * Size: 195 x 125 x 55 mm
880 * Weight:   420g
David Huang 2.1 881
Xiaoling 52.2 882
883
Xiaoling 48.2 884 = 9.  Support =
David Huang 2.1 885
886
Xiaoling 48.2 887 * 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 888
Xiaoling 48.2 889 * 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 890
Xiaoling 48.2 891