<
From version < 58.3 >
edited by Xiaoling
on 2022/11/17 13:52
To version < 61.5 >
edited by Xiaoling
on 2022/11/17 16:45
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -15,7 +15,6 @@
15 15  
16 16  = 1.  Introduction =
17 17  
18 -
19 19  == 1.1 ​ What is NDS03A NB-IoT Open/Close Door Sensor ==
20 20  
21 21  
... ... @@ -71,9 +71,6 @@
71 71  * Micro SIM card slot for NB-IoT SIM
72 72  * 8500mAh Battery for long-term use
73 73  
74 -
75 -
76 -
77 77  == 1.3  Storage & Operation ==
78 78  
79 79  
... ... @@ -93,9 +93,6 @@
93 93  
94 94  
95 95  
96 -
97 -
98 -
99 99  == 1.5 ​ Applications ==
100 100  
101 101  
... ... @@ -120,8 +120,6 @@
120 120  * - B20 @H-FDD: 800MHz
121 121  * - B28 @H-FDD: 700MHz
122 122  
123 -
124 -
125 125  == 1.7  Pin Definitions and Switch ==
126 126  
127 127  
... ... @@ -131,7 +131,7 @@
131 131  === 1.7.1  Pin Definition ===
132 132  
133 133  
134 -CPN01 is pre-configured to connect to two external wires. The other pins are not used. If user wants to know more about other pins, please refer to the **[[LSN50v2 User Manual>>doc:Main.User Manual for LoRaWAN End Nodes.LSN50 & LSN50-V2 - LoRaWAN Sensor Node User Manual.WebHome]]**.
125 +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]]
135 135  
136 136  
137 137  
... ... @@ -172,41 +172,39 @@
172 172  == 1.8  Magnet Distance ==
173 173  
174 174  
175 -**Wood Door:** 10 ~~ 30mm
166 +(% style="color:blue" %)**Wood Door:**(%%) 10 ~~ 30mm
176 176  
177 -**Iron Door:  **30 ~~ 45mm
168 +(% style="color:blue" %)**Iron Door:**(%%)**    **30 ~~ 45mm
178 178  
179 179  
180 180  
181 181  = 2.  Use CPN01 to communicate with IoT Server =
182 182  
183 -
184 184  == 2.1  How it works ==
185 185  
186 186  
187 -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.
177 +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.
188 188  
189 -The diagram below shows the working flow in the default firmware of CPN01:
179 +The diagram below shows the working flow in the default firmware of NDS03A:
190 190  
191 191  [[image:image-20221021110615-5.png]]
192 192  
193 193  
194 194  
195 -== 2.2 ​ Configure CPN01 ==
185 +== 2.2 ​ Configure NDS03A ==
196 196  
197 -
198 198  === 2.2.1 Test Requirement ===
199 199  
200 200  
201 -To use CPN01 in your city, make sure to meet below requirements:
190 +To use NDS03A in your city, make sure to meet below requirements:
202 202  
203 203  * Your local operator has already distributed an NB-IoT Network.
204 -* The local NB-IoT network used the band that CPN01 supports.
193 +* The local NB-IoT network used the band that NDS03A supports.
205 205  * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
206 206  
207 -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.
196 +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.
208 208  
209 -[[image:image-20221023000439-3.png]]
198 +[[image:image-20221117142300-1.png]]
210 210  
211 211   ​
212 212  
... ... @@ -222,10 +222,10 @@
222 222  
223 223  
224 224  
225 -=== 2.2.3 Connect USB – TTL to CPN01 and configure it ===
214 +=== 2.2.3 Connect USB – TTL to NDS03A and configure it ===
226 226  
227 227  
228 -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.
217 +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.
229 229  
230 230  (% style="color:blue" %)**Connection:**
231 231  
... ... @@ -248,11 +248,11 @@
248 248  
249 249  * Flow Control: (% style="color:red" %)**None**
250 250  
251 -Make sure the switch is in FLASH position, then power on CPN01 by connecting the (% style="color:orange" %)**Yellow Jumper**(%%).
240 +Make sure the switch is in FLASH position, then power on NDS03A by connecting the (% style="color:orange" %)**Yellow Jumper**(%%).
252 252  
253 253  ​[[image:image-20221021110817-7.png]]
254 254  
255 -CPN01 will output system info once powered on as below, we can enter the **password: 12345678** to access AT Command input.
244 +NDS03A will output system info once powered on as below, we can enter the **password: 12345678** to access AT Command input.
256 256  
257 257  
258 258  (% 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]]
... ... @@ -278,7 +278,7 @@
278 278  [[image:image-20221021110948-8.png]]
279 279  
280 280  
281 -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.
270 +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.
282 282  
283 283  [[image:image-20221021110956-9.png]] ​
284 284  
... ... @@ -354,11 +354,11 @@
354 354  
355 355  User can use below command to change the (% style="color:blue" %)**uplink interval**.
356 356  
357 -* (% style="color:#037691" %)**AT+TDC=7200      ** (%%) ~/~/ Set Update Interval to 7200s (2 hours)
346 +* (% style="color:#037691" %)**AT+TDC=14400      ** (%%) ~/~/ Set Update Interval to 14400s (4 hours)
358 358  
359 359  (% style="color:red" %)**NOTE:**
360 360  
361 -1.  By default, the device will send an uplink message every 1 hour.
350 +1.  By default, the device will send an uplink message every 4 hour.
362 362  
363 363  
364 364  
... ... @@ -365,27 +365,47 @@
365 365  == 2.3  Uplink Payload ==
366 366  
367 367  
368 -The uplink payload includes 123 bytes in total by default.
357 +The uplink payload includes 26 bytes in total by default.
369 369  
370 -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.
359 +Each time the device uploads a data package. The user can use the AT+NOUD command to upload the recorded data.Up to 32 sets of recorded data can be uploaded.
371 371  
361 +(% style="color:blue" %)**When AT+TTRCHANNEL=1:**
372 372  
373 -(% border="1.5" style="background-color:#ffffcc; color:green; width:510px" %)
374 -|=(% 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**
375 -|=(% 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"]]
363 +(% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:693px" %)
364 +|=(% scope="row" style="width: 93px;" %)**Size(bytes)**|(% style="width:67px" %)**8**|(% style="width:40px" %)**2**|(% style="width:45px" %)**2**|(% style="width:75px" %)**1**|(% style="width:54px" %)**1**|(% style="width:62px" %)**1**|(% style="width:60px" %)**1**|(% style="width:94px" %)**3**|(% style="width:93px" %)**3**
365 +|=(% style="width: 93px;" %)**Value**|(% style="width:67px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:40px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:45px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:75px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:54px" %)MOD|(% style="width:62px" %)Door Status|(% style="width:60px" %)[[Alarm Status>>||anchor="H2.4.6A0Alarm"]]|(% style="width:94px" %)door open num(pb14) |(% style="width:93px" %)last open time(pb14)
376 376  
377 377  (% border="1.5" style="background-color:#ffffcc; color:green; width:490px" %)
378 -|(% 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**
379 -|(% 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" %)...
368 +|(% style="width:50px" %)**4**|(% style="width:70px" %)**1**|(% style="width:50px" %)**3**|(% style="width:99px" %)**3**|(% style="width:67px" %)4|(% style="width:50px" %)(((
369 +**1-32 group**
370 +)))
371 +|(% style="width:98px" %)[[Time stamp>>||anchor="H2.4.10A0Timestamp"]]|(% style="width:115px" %)Door Status(pb14)|(% style="width:92px" %)door open num(pb14)|(% style="width:99px" %)last open time(pb14)|(% style="width:67px" %)Time stamp|(% style="width:74px" %)...
380 380  
381 -If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the CPN01 uplink data.
373 +(% style="color:blue" %)**When AT+TTRCHANNEL=2:**
382 382  
383 -[[image:image-20221021111201-16.png||height="572" width="792"]]
384 384  
376 +(% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:520px" %)
377 +|=(% scope="row" style="width: 96px;" %)**Size(bytes)**|(% style="width:66px" %)**8**|(% style="width:40px" %)**2**|(% style="width:46px" %)**2**|(% style="width:70px" %)**1**|(% style="width:54px" %)**1**|(% style="width:55px" %)**1**|(% style="width:57px" %)**1**|(% style="width:86px" %)**3**|(% style="width:82px" %)**3**
378 +|=(% style="width: 96px;" %)**Value**|(% style="width:66px" %)[[Device ID>>||anchor="H2.4.1A0A0DeviceID"]]|(% style="width:40px" %)[[Ver>>||anchor="H2.4.2A0VersionInfo"]]|(% style="width:46px" %)[[BAT>>||anchor="H2.4.3A0BatteryInfo"]]|(% style="width:70px" %)[[Signal Strength>>||anchor="H2.4.4A0SignalStrength"]]|(% style="width:54px" %)MOD|(% style="width:55px" %)Door Status|(% style="width:57px" %)[[Alarm Status>>||anchor="H2.4.6A0Alarm"]]|(% style="width:86px" %)door open num(pb14) |(% style="width:82px" %)last open time(pb14)
385 385  
380 +(% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:520px" %)
381 +|(% style="width:59px" %)**1**|(% style="width:67px" %)**1**|(% style="width:88px" %)**3**|(% style="width:81px" %)**3**|(% style="width:50px" %)**4**|(% style="width:66px" %)**1**|(% style="width:92px" %)**3**
382 +|(% style="width:59px" %)Door Status(pb15)|(% style="width:67px" %)[[Alarm Status>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPN01-%20NB-IoT%20Outdoor%20OpenClose%20Dry%20Contact%20Sensor%C2%A0User%20Manual/#H2.4.7A0ContactStatus]](pb15)|(% style="width:88px" %)door open num(pb15)|(% style="width:81px" %)last open time(pb15)|(% style="width:50px" %)Time stamp|(% style="width:66px" %)Door Status(pb14)|(% style="width:92px" %)door open num(pb14)
383 +
384 +(% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
385 +|(% style="width:102px" %)**3**|(% style="width:93px" %)**1**|(% style="width:91px" %)**3**|(% style="width:88px" %)**3**|(% style="width:63px" %)**4**|(% style="width:87px" %)(((
386 +**1-32 group**
387 +)))
388 +|(% style="width:102px" %)last open time (pb14)|(% style="width:93px" %)Door Status(pb15)|(% style="width:91px" %)door open num(pb15)|(% style="width:88px" %)last open time(pb15)|(% style="width:63px" %)Time stamp|(% style="width:87px" %)...
389 +
390 +If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NDS03A uplink data.
391 +
392 +[[image:image-20221117145932-2.png]]
393 +
394 +
386 386  The payload is ASCII string, representative same HEX:
387 387  
388 -**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 __**
397 +**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__(%%)**
389 389  
390 390  **where:**
391 391  
... ... @@ -393,28 +393,22 @@
393 393  
394 394  * (% style="color:#037691" %)**Version:**(%%) 0x0064=100=1.0.0
395 395  
396 -* (% style="color:#037691" %)**BAT :**(%%) 0x0c78 = 3192 mV = 3.192V
405 +* (% style="color:#037691" %)**BAT :**(%%)  0x0ccf = 3279 mV = 3.279V
397 397  
398 -* (% style="color:#037691" %)**Singal: **(%%)0x17 = 23
407 +* (% style="color:#037691" %)**Singal: **(%%)0x19 = 25
399 399  
400 400  * (% style="color:#037691" %)**Mod:**(%%) 0x01 = 1
401 401  
402 -* (% style="color:#037691" %)**Calculate Flag:**(%%) 0x00=0
411 +* (% style="color:#037691" %)**Door Status:**(%%) 0x00=0
403 403  
404 -* (% style="color:#037691" %)**Contact Status:**(%%) 0x00=0
413 +* (% style="color:#037691" %)**Alarm Status: **(%%)0x00 =0
405 405  
406 -* (% style="color:#037691" %)**Alarm: **(%%)0x00 =0
415 +* (% style="color:#037691" %)**door open num: **(%%)0x000016 =22
407 407  
408 -* (% style="color:#037691" %)**Total pulse: **(%%)0x000009 =9
417 +* (% style="color:#037691" %)**last open time: **(%%)0x000017 =23
409 409  
410 -* (% style="color:#037691" %)**The last open duration: **(%%)0x000002 =2
419 +* (% style="color:#037691" %)**Timestamp:**(%%) 0x637590df =1668649183 (Unix Time)
411 411  
412 -* (% style="color:#037691" %)**Timestamp:**(%%) 0x6315537b =1662342011 (Unix Time)
413 -
414 -* (% style="color:#037691" %)**Contact Status, Total pulse,The last open duration ,Time stamp :**(%%) 01  00000b  000026  63510fed
415 -
416 -* (% style="color:#037691" %)**8 sets of recorded data: Contact Status, Total pulse, The last open duration ,Time stamp :**(%%) 0100000e00002663510f39,.......
417 -
418 418  == 2.4  Payload Explanation and Sensor Interface ==
419 419  
420 420  
... ... @@ -438,7 +438,7 @@
438 438  
439 439  Specify the software version: 0x64=100, which means firmware version 1.00.
440 440  
441 -For example 0x00 64 : This device is CPN01 with firmware version 1.0.0.
444 +For example 0x00 64 : This device is NDS03A 1 with firmware version 1.0.0.
442 442  
443 443  
444 444  
... ... @@ -445,7 +445,7 @@
445 445  === 2.4.3  Battery Info ===
446 446  
447 447  
448 -Check the battery voltage for CPN01.
451 +Check the battery voltage for NDS03A.
449 449  
450 450  Ex1: 0x0B45 = 2885mV
451 451  
... ... @@ -472,19 +472,17 @@
472 472  
473 473  
474 474  
475 -=== 2.4.5  Calculate Flag ===
478 +=== 2.4.5  Disalarm: (default: 0) ===
476 476  
477 477  
478 -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.
481 +(% style="color:blue" %)**If Disalarm = 1**(%%), NDS03A will only send uplink at every TDC periodically. This is normally use for pulse meter application, in this application, there are many open/close event, and platform only care about the total number of pulse.
479 479  
480 -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.
483 +(% style="color:blue" %)**If Disalarm = 0**(%%), NDS03A will send uplink at every TDC periodically and send data on each open/close event. This is useful for the application user need to monitor the open/close event in real-time.
481 481  
482 -Default value: 0. 
485 + (% style="color:red" %)**Note:**(%%) When Disalarm=0, a high frequently open/close event will cause lots of uplink and drain battery very fast.
483 483  
484 -Range (6 bits): (b)000000 ~~ (b) 111111
485 485  
486 486  
487 -
488 488  === 2.4.6  Alarm ===
489 489  
490 490  
image-20221117142300-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +147.8 KB
Content
image-20221117145932-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +51.9 KB
Content
image-20221117150312-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +8.7 KB
Content
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0