Version 57.1 by Xiaoling on 2022/11/17 11:49

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