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

Summary

Details

Page properties
Content
... ... @@ -15,6 +15,7 @@
15 15  
16 16  = 1.  Introduction =
17 17  
18 +
18 18  == 1.1 ​ What is NDS03A NB-IoT Open/Close Door Sensor ==
19 19  
20 20  
... ... @@ -70,6 +70,9 @@
70 70  * Micro SIM card slot for NB-IoT SIM
71 71  * 8500mAh Battery for long-term use
72 72  
74 +
75 +
76 +
73 73  == 1.3  Storage & Operation ==
74 74  
75 75  
... ... @@ -89,6 +89,9 @@
89 89  
90 90  
91 91  
96 +
97 +
98 +
92 92  == 1.5 ​ Applications ==
93 93  
94 94  
... ... @@ -113,6 +113,8 @@
113 113  * - B20 @H-FDD: 800MHz
114 114  * - B28 @H-FDD: 700MHz
115 115  
123 +
124 +
116 116  == 1.7  Pin Definitions and Switch ==
117 117  
118 118  
... ... @@ -122,7 +122,7 @@
122 122  === 1.7.1  Pin Definition ===
123 123  
124 124  
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]]
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]]**.
126 126  
127 127  
128 128  
... ... @@ -163,39 +163,41 @@
163 163  == 1.8  Magnet Distance ==
164 164  
165 165  
166 -(% style="color:blue" %)**Wood Door:**(%%) 10 ~~ 30mm
175 +**Wood Door:** 10 ~~ 30mm
167 167  
168 -(% style="color:blue" %)**Iron Door:**(%%)**    **30 ~~ 45mm
177 +**Iron Door:  **30 ~~ 45mm
169 169  
170 170  
171 171  
172 172  = 2.  Use CPN01 to communicate with IoT Server =
173 173  
183 +
174 174  == 2.1  How it works ==
175 175  
176 176  
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.
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.
178 178  
179 -The diagram below shows the working flow in the default firmware of NDS03A:
189 +The diagram below shows the working flow in the default firmware of CPN01:
180 180  
181 181  [[image:image-20221021110615-5.png]]
182 182  
183 183  
184 184  
185 -== 2.2 ​ Configure NDS03A ==
195 +== 2.2 ​ Configure CPN01 ==
186 186  
197 +
187 187  === 2.2.1 Test Requirement ===
188 188  
189 189  
190 -To use NDS03A in your city, make sure to meet below requirements:
201 +To use CPN01 in your city, make sure to meet below requirements:
191 191  
192 192  * Your local operator has already distributed an NB-IoT Network.
193 -* The local NB-IoT network used the band that NDS03A supports.
204 +* The local NB-IoT network used the band that CPN01 supports.
194 194  * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
195 195  
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.
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.
197 197  
198 -[[image:image-20221117142300-1.png]]
209 +[[image:image-20221023000439-3.png]]
199 199  
200 200   ​
201 201  
... ... @@ -211,10 +211,10 @@
211 211  
212 212  
213 213  
214 -=== 2.2.3 Connect USB – TTL to NDS03A and configure it ===
225 +=== 2.2.3 Connect USB – TTL to CPN01 and configure it ===
215 215  
216 216  
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.
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.
218 218  
219 219  (% style="color:blue" %)**Connection:**
220 220  
... ... @@ -237,11 +237,11 @@
237 237  
238 238  * Flow Control: (% style="color:red" %)**None**
239 239  
240 -Make sure the switch is in FLASH position, then power on NDS03A by connecting the (% style="color:orange" %)**Yellow Jumper**(%%).
251 +Make sure the switch is in FLASH position, then power on CPN01 by connecting the (% style="color:orange" %)**Yellow Jumper**(%%).
241 241  
242 242  ​[[image:image-20221021110817-7.png]]
243 243  
244 -NDS03A will output system info once powered on as below, we can enter the **password: 12345678** to access AT Command input.
255 +CPN01 will output system info once powered on as below, we can enter the **password: 12345678** to access AT Command input.
245 245  
246 246  
247 247  (% 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]]
... ... @@ -267,7 +267,7 @@
267 267  [[image:image-20221021110948-8.png]]
268 268  
269 269  
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.
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.
271 271  
272 272  [[image:image-20221021110956-9.png]] ​
273 273  
... ... @@ -343,11 +343,11 @@
343 343  
344 344  User can use below command to change the (% style="color:blue" %)**uplink interval**.
345 345  
346 -* (% style="color:#037691" %)**AT+TDC=14400      ** (%%) ~/~/ Set Update Interval to 14400s (4 hours)
357 +* (% style="color:#037691" %)**AT+TDC=7200      ** (%%) ~/~/ Set Update Interval to 7200s (2 hours)
347 347  
348 348  (% style="color:red" %)**NOTE:**
349 349  
350 -1.  By default, the device will send an uplink message every 4 hour.
361 +1.  By default, the device will send an uplink message every 1 hour.
351 351  
352 352  
353 353  
... ... @@ -354,47 +354,27 @@
354 354  == 2.3  Uplink Payload ==
355 355  
356 356  
357 -The uplink payload includes 26 bytes in total by default.
368 +The uplink payload includes 123 bytes in total by default.
358 358  
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.
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.
360 360  
361 -(% style="color:blue" %)**When AT+TTRCHANNEL=1:**
362 362  
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)
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"]]
366 366  
367 367  (% border="1.5" style="background-color:#ffffcc; color:green; width:490px" %)
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" %)...
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" %)...
372 372  
373 -(% style="color:blue" %)**When AT+TTRCHANNEL=2:**
381 +If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the CPN01 uplink data.
374 374  
383 +[[image:image-20221021111201-16.png||height="572" width="792"]]
375 375  
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)
379 379  
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 -
395 395  The payload is ASCII string, representative same HEX:
396 396  
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__(%%)**
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 __**
398 398  
399 399  **where:**
400 400  
... ... @@ -402,22 +402,28 @@
402 402  
403 403  * (% style="color:#037691" %)**Version:**(%%) 0x0064=100=1.0.0
404 404  
405 -* (% style="color:#037691" %)**BAT :**(%%)  0x0ccf = 3279 mV = 3.279V
396 +* (% style="color:#037691" %)**BAT :**(%%) 0x0c78 = 3192 mV = 3.192V
406 406  
407 -* (% style="color:#037691" %)**Singal: **(%%)0x19 = 25
398 +* (% style="color:#037691" %)**Singal: **(%%)0x17 = 23
408 408  
409 409  * (% style="color:#037691" %)**Mod:**(%%) 0x01 = 1
410 410  
411 -* (% style="color:#037691" %)**Door Status:**(%%) 0x00=0
402 +* (% style="color:#037691" %)**Calculate Flag:**(%%) 0x00=0
412 412  
413 -* (% style="color:#037691" %)**Alarm Status: **(%%)0x00 =0
404 +* (% style="color:#037691" %)**Contact Status:**(%%) 0x00=0
414 414  
415 -* (% style="color:#037691" %)**door open num: **(%%)0x000016 =22
406 +* (% style="color:#037691" %)**Alarm: **(%%)0x00 =0
416 416  
417 -* (% style="color:#037691" %)**last open time: **(%%)0x000017 =23
408 +* (% style="color:#037691" %)**Total pulse: **(%%)0x000009 =9
418 418  
419 -* (% style="color:#037691" %)**Timestamp:**(%%) 0x637590df =1668649183 (Unix Time)
410 +* (% style="color:#037691" %)**The last open duration: **(%%)0x000002 =2
420 420  
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 +
421 421  == 2.4  Payload Explanation and Sensor Interface ==
422 422  
423 423  
... ... @@ -441,7 +441,7 @@
441 441  
442 442  Specify the software version: 0x64=100, which means firmware version 1.00.
443 443  
444 -For example 0x00 64 : This device is NDS03A 1 with firmware version 1.0.0.
441 +For example 0x00 64 : This device is CPN01 with firmware version 1.0.0.
445 445  
446 446  
447 447  
... ... @@ -448,7 +448,7 @@
448 448  === 2.4.3  Battery Info ===
449 449  
450 450  
451 -Check the battery voltage for NDS03A.
448 +Check the battery voltage for CPN01.
452 452  
453 453  Ex1: 0x0B45 = 2885mV
454 454  
... ... @@ -475,17 +475,19 @@
475 475  
476 476  
477 477  
478 -=== 2.4.5  Disalarm: (default: 0) ===
475 +=== 2.4.5  Calculate Flag ===
479 479  
480 480  
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.
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.
482 482  
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.
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.
484 484  
485 - (% style="color:red" %)**Note:**(%%) When Disalarm=0, a high frequently open/close event will cause lots of uplink and drain battery very fast.
482 +Default value: 0. 
486 486  
484 +Range (6 bits): (b)000000 ~~ (b) 111111
487 487  
488 488  
487 +
489 489  === 2.4.6  Alarm ===
490 490  
491 491  
image-20221117142300-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -147.8 KB
Content
image-20221117145932-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -51.9 KB
Content
image-20221117150312-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -8.7 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0