Version 58.4 by Xiaoling on 2022/11/17 14:02

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