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