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