Version 48.9 by Xiaoling on 2022/10/24 16:14

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