Version 61.2 by Xiaoling on 2022/11/17 15:08

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