<
From version < 70.7 >
edited by Xiaoling
on 2022/11/18 10:52
To version < 53.3 >
edited by Xiaoling
on 2022/11/17 11:43
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -9,14 +9,13 @@
9 9  
10 10  **Table of Contents:**
11 11  
12 -{{toc/}}
13 13  
14 14  
15 15  
16 16  
17 -
18 18  = 1.  Introduction =
19 19  
18 +
20 20  == 1.1 ​ What is NDS03A NB-IoT Open/Close Door Sensor ==
21 21  
22 22  
... ... @@ -53,7 +53,9 @@
53 53  )))
54 54  
55 55  
55 +​
56 56  
57 +
57 57  == ​1.2  Features ==
58 58  
59 59  
... ... @@ -61,7 +61,7 @@
61 61  * Open/Close detect
62 62  * Open/Close statistics
63 63  * Monitor Battery Level
64 -* connect two door sensors
65 +* Uplink on periodically and open/close event
65 65  * Datalog feature
66 66  * Uplink periodically
67 67  * Downlink to change configure
... ... @@ -72,53 +72,49 @@
72 72  * Micro SIM card slot for NB-IoT SIM
73 73  * 8500mAh Battery for long-term use
74 74  
76 +== 1.3  Specification ==
75 75  
76 76  
77 -== 1.3  Storage & Operation ==
79 +(% style="color:blue" %)**Common DC Characteristics:**
78 78  
81 +* Supply Voltage: 2.1v ~~ 3.6v
82 +* Operating Temperature: -40 ~~ 85°C
79 79  
80 -Temperature -40°C to +85°C
84 +(% style="color:blue" %)**NB-IoT Spec:**
81 81  
86 +* - B1 @H-FDD: 2100MHz
87 +* - B3 @H-FDD: 1800MHz
88 +* - B8 @H-FDD: 900MHz
89 +* - B5 @H-FDD: 850MHz
90 +* - B20 @H-FDD: 800MHz
91 +* - B28 @H-FDD: 700MHz
82 82  
83 -== 1.4  Mechanical ==
93 +== 1.4  Installation ==
84 84  
85 85  
86 -[[image:image-20221117114937-4.png]]
96 +Connect CPN01 to an Open Close sensor like below. So it can detect the Open/Close event.
87 87  
98 +[[image:image-20221021110329-1.png]]
88 88  
89 -[[image:image-20221117114949-5.png]]
90 90  
101 +[[image:image-20221022234602-2.png||height="288" width="922"]]
91 91  
92 -[[image:image-20221117115010-6.png]]
93 93  
94 94  
95 -
96 96  == 1.5 ​ Applications ==
97 97  
98 98  
99 -[[image:image-20221117114842-3.png]]
108 +* Open/Close Detection
109 +* Pulse meter application
110 +* Dry Contact Detection
100 100  
112 +== 1.6  Mechanical ==
101 101  
102 102  
103 -== 1.6  Specification ==
115 +​[[image:image-20221021110415-3.png]]
104 104  
105 105  
106 -(% style="color:blue" %)**Common DC Characteristics:**
107 107  
108 -* Supply Voltage: 2.1v ~~ 3.6v
109 -* Operating Temperature: -40 ~~ 85°C
110 -
111 -(% style="color:blue" %)**NB-IoT Spec:**
112 -
113 -* - B1 @H-FDD: 2100MHz
114 -* - B3 @H-FDD: 1800MHz
115 -* - B8 @H-FDD: 900MHz
116 -* - B5 @H-FDD: 850MHz
117 -* - B20 @H-FDD: 800MHz
118 -* - B28 @H-FDD: 700MHz
119 -
120 -
121 -
122 122  == 1.7  Pin Definitions and Switch ==
123 123  
124 124  
... ... @@ -128,9 +128,10 @@
128 128  === 1.7.1  Pin Definition ===
129 129  
130 130  
131 -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]]
128 +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]]**.
132 132  
133 133  
131 +
134 134  === 1.7.2  Jumper JP2(Power ON/OFF) ===
135 135  
136 136  
... ... @@ -137,6 +137,7 @@
137 137  Power on Device when putting this jumper.
138 138  
139 139  
138 +
140 140  === 1.7.3  BOOT MODE / SW1 ===
141 141  
142 142  
... ... @@ -145,6 +145,7 @@
145 145  2)  Flash:  working mode, the device starts to work for NB-IoT connection and sends out console output for further debugging.
146 146  
147 147  
147 +
148 148  === 1.7.4  Reset Button ===
149 149  
150 150  
... ... @@ -151,6 +151,7 @@
151 151  Press to reboot the device.
152 152  
153 153  
154 +
154 154  === 1.7.5  LED ===
155 155  
156 156  
... ... @@ -161,42 +161,40 @@
161 161  2.  Send an uplink packet
162 162  
163 163  
164 -== 1.8  Magnet Distance ==
165 165  
166 += 2.  Use CPN01 to communicate with IoT Server =
166 166  
167 -(% style="color:blue" %)**Wood Door:**(%%) 10 ~~ 30mm
168 168  
169 -(% style="color:blue" %)**Iron Door:**(%%)**    **30 ~~ 45mm
170 -
171 -
172 -= 2.  Use NDS03A to communicate with IoT Server =
173 -
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.
172 +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:
174 +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 -== 2.2 ​ Configure NDS03A ==
185 185  
180 +== 2.2 ​ Configure CPN01 ==
181 +
182 +
186 186  === 2.2.1 Test Requirement ===
187 187  
188 188  
189 -To use NDS03A in your city, make sure to meet below requirements:
186 +To use CPN01 in your city, make sure to meet below requirements:
190 190  
191 191  * Your local operator has already distributed an NB-IoT Network.
192 -* The local NB-IoT network used the band that NDS03A supports.
189 +* The local NB-IoT network used the band that CPN01 supports.
193 193  * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
194 194  
195 -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.
192 +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 196  
197 -[[image:image-20221117142300-1.png]]
194 +[[image:image-20221023000439-3.png]]
198 198  
196 + ​
199 199  
198 +
200 200  === 2.2.2 Insert NB-IoT SIM card ===
201 201  
202 202  
... ... @@ -207,11 +207,12 @@
207 207  [[image:image-20221021110745-6.png]] ​
208 208  
209 209  
210 -=== 2.2.3 Connect USB – TTL to NDS03A and configure it ===
211 211  
210 +=== 2.2.3 Connect USB – TTL to CPN01 and configure it ===
212 212  
213 -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.
214 214  
213 +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.
214 +
215 215  (% style="color:blue" %)**Connection:**
216 216  
217 217  (% style="background-color:yellow" %)** USB TTL GND <~-~-~-~-> GND**
... ... @@ -233,11 +233,11 @@
233 233  
234 234  * Flow Control: (% style="color:red" %)**None**
235 235  
236 -Make sure the switch is in FLASH position, then power on NDS03A by connecting the (% style="color:orange" %)**Yellow Jumper**(%%).
236 +Make sure the switch is in FLASH position, then power on CPN01 by connecting the (% style="color:orange" %)**Yellow Jumper**(%%).
237 237  
238 238  ​[[image:image-20221021110817-7.png]]
239 239  
240 -NDS03A will output system info once powered on as below, we can enter the **password: 12345678** to access AT Command input.
240 +CPN01 will output system info once powered on as below, we can enter the **password: 12345678** to access AT Command input.
241 241  
242 242  
243 243  (% 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]]
... ... @@ -250,7 +250,7 @@
250 250  (% 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/]]
251 251  
252 252  
253 -(% style="color:blue" %)**Use below commands in NDS03A:**
253 +(% style="color:blue" %)**Use below commands in CPN01:**
254 254  
255 255  * (% style="color:#037691" %)**AT+PRO=1**                (%%) ~/~/ Set to use CoAP protocol to uplink
256 256  
... ... @@ -263,11 +263,12 @@
263 263  [[image:image-20221021110948-8.png]]
264 264  
265 265  
266 -After configuring the server address and (% style="color:green" %)**reset NDS03A**(%%) (via AT+ATZ ), NDS03A will start to uplink sensor values to the CoAP server.
266 +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.
267 267  
268 -[[image:image-20221118103547-9.png||height="605" width="837"]] ​
268 +[[image:image-20221021110956-9.png]] ​
269 269  
270 270  
271 +
271 271  === 2.2.5 Use UDP protocol to uplink data(Default protocol) ===
272 272  
273 273  
... ... @@ -286,6 +286,7 @@
286 286  
287 287  ​
288 288  
290 +
289 289  === 2.2.6 Use MQTT protocol to uplink data ===
290 290  
291 291  
... ... @@ -305,10 +305,10 @@
305 305  
306 306  * (% style="color:#037691" %)**AT+SUBTOPIC=NSE01_SUB          ** (%%) ~/~/  Set the subscription topic of MQTT
307 307  
308 -​ [[image:image-20221118103445-7.png]]
310 +​ [[image:image-20221021111058-12.png]]
309 309  
310 310  
311 -[[image:image-20221118103453-8.png||height="608" width="841"]]
313 +[[image:image-20221021111201-16.png||height="472" width="653"]]
312 312  
313 313  ​
314 314  
... ... @@ -315,6 +315,7 @@
315 315  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.
316 316  
317 317  
320 +
318 318  === 2.2.7 Use TCP protocol to uplink data ===
319 319  
320 320  
... ... @@ -330,91 +330,76 @@
330 330  
331 331  ​
332 332  
336 +
333 333  === 2.2.8 Change Update Interval ===
334 334  
335 335  
336 336  User can use below command to change the (% style="color:blue" %)**uplink interval**.
337 337  
338 -* (% style="color:#037691" %)**AT+TDC=14400      ** (%%) ~/~/ Set Update Interval to 14400s (4 hours)
342 +* (% style="color:#037691" %)**AT+TDC=7200      ** (%%) ~/~/ Set Update Interval to 7200s (2 hours)
339 339  
340 340  (% style="color:red" %)**NOTE:**
341 341  
342 -1.  By default, the device will send an uplink message every 4 hour.
346 +1.  By default, the device will send an uplink message every 1 hour.
343 343  
344 344  
349 +
345 345  == 2.3  Uplink Payload ==
346 346  
347 347  
348 -The uplink payload includes 26 bytes in total by default.
353 +The uplink payload includes 123 bytes in total by default.
349 349  
350 -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.
355 +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.
351 351  
352 -(% style="color:blue" %)**When AT+TTRCHANNEL=1:**
353 353  
354 -(% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
355 -|=(% scope="row" style="width: 50px;" %)**Size(bytes)**|(% style="width:50px" %)**8**|(% style="width:20px" %)**2**|(% style="width:20px" %)**2**|(% style="width:60px" %)**1**|(% style="width:25px" %)**1**|(% style="width:50px" %)**1**|(% style="width:60px" %)**1**|(% style="width:90px" %)**3**|(% style="width:100px" %)**3**
356 -|=(% 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.7A0AlarmBaseonTimeout"]]|(% style="width:94px" %)door open num(pb14) |(% style="width:93px" %)last open time(pb14)
358 +(% border="1.5" style="background-color:#ffffcc; color:green; width:510px" %)
359 +|=(% 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**
360 +|=(% 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"]]
357 357  
358 358  (% border="1.5" style="background-color:#ffffcc; color:green; width:490px" %)
359 -|(% style="width:50px" %)**4**|(% style="width:70px" %)**1**|(% style="width:50px" %)**3**|(% style="width:99px" %)**3**|(% style="width:67px" %)4|(% style="width:50px" %)(((
360 -**1-32 group**
361 -)))
362 -|(% style="width:98px" %)[[Time stamp>>||anchor="H2.4.7A0Timestamp"]]|(% 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" %)...
363 +|(% 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**
364 +|(% 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" %)...
363 363  
366 +If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the CPN01 uplink data.
364 364  
368 +[[image:image-20221021111201-16.png||height="572" width="792"]]
365 365  
366 -(% style="color:blue" %)**When AT+TTRCHANNEL=2:**
367 367  
368 -
369 -(% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:520px" %)
370 -|=(% 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**
371 -|=(% 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(pb14)|(% style="width:57px" %)[[Alarm Status>>||anchor="H2.7A0AlarmBaseonTimeout"]](pb14)|(% style="width:86px" %)door open num(pb14) |(% style="width:82px" %)last open time(pb14)
372 -
373 -(% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:520px" %)
374 -|(% 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**
375 -|(% style="width:59px" %)Door Status(pb15)|(% style="width:67px" %)[[Alarm Status>>||anchor="H2.7A0AlarmBaseonTimeout"]](pb15)|(% style="width:88px" %)door open num(pb15)|(% style="width:81px" %)last open time(pb15)|(% style="width:50px" %)[[Time stamp>>||anchor="H2.4.7A0Timestamp"]]|(% style="width:66px" %)Door Status(pb14)|(% style="width:92px" %)door open num(pb14)
376 -
377 -(% border="1" cellspacing="5" style="background-color:#ffffcc; color:green; width:500px" %)
378 -|(% style="width:102px" %)**3**|(% style="width:93px" %)**1**|(% style="width:91px" %)**3**|(% style="width:88px" %)**3**|(% style="width:63px" %)**4**|(% style="width:87px" %)(((
379 -**1-32 group**
380 -)))
381 -|(% 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>>||anchor="H2.4.7A0Timestamp"]]|(% style="width:87px" %)......
382 -
383 -If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NDS03A uplink data.
384 -
385 -[[image:image-20221117145932-2.png]]
386 -
387 -
388 388  The payload is ASCII string, representative same HEX:
389 389  
390 -**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__(%%)**
373 +**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 __**
391 391  
392 392  **where:**
393 393  
394 394  * (% style="color:#037691" %)**Device ID:**(%%) 0x f867787050213317 = f867787050213317
395 395  
396 -* (% style="color:#037691" %)**Version:**(%%)  0x0064=100=1.0.0
379 +* (% style="color:#037691" %)**Version:**(%%) 0x0064=100=1.0.0
397 397  
398 -* (% style="color:#037691" %)**BAT :**(%%)  0x0ccf = 3279 mV = 3.279V
381 +* (% style="color:#037691" %)**BAT :**(%%) 0x0c78 = 3192 mV = 3.192V
399 399  
400 -* (% style="color:#037691" %)**Singal: **(%%)0x19 = 25
383 +* (% style="color:#037691" %)**Singal: **(%%)0x17 = 23
401 401  
402 -* (% style="color:#037691" %)**Mod:**(%%)  0x01 = 1
385 +* (% style="color:#037691" %)**Mod:**(%%) 0x01 = 1
403 403  
404 -* (% style="color:#037691" %)**Door Status:**(%%)  0x00=0
387 +* (% style="color:#037691" %)**Calculate Flag:**(%%) 0x00=0
405 405  
406 -* (% style="color:#037691" %)**Alarm Status: **(%%)0x00 =0
389 +* (% style="color:#037691" %)**Contact Status:**(%%) 0x00=0
407 407  
408 -* (% style="color:#037691" %)**door open num: **(%%)0x000016 =22
391 +* (% style="color:#037691" %)**Alarm: **(%%)0x00 =0
409 409  
410 -* (% style="color:#037691" %)**last open time:  **(%%)0x000017 =23
393 +* (% style="color:#037691" %)**Total pulse: **(%%)0x000009 =9
411 411  
412 -* (% style="color:#037691" %)**Timestamp:**(%%) 0x637590df =1668649183 (Unix Time)
395 +* (% style="color:#037691" %)**The last open duration: **(%%)0x000002 =2
413 413  
397 +* (% style="color:#037691" %)**Timestamp:**(%%) 0x6315537b =1662342011 (Unix Time)
414 414  
399 +* (% style="color:#037691" %)**Contact Status, Total pulse,The last open duration ,Time stamp :**(%%) 01  00000b  000026  63510fed
415 415  
401 +* (% style="color:#037691" %)**8 sets of recorded data: Contact Status, Total pulse, The last open duration ,Time stamp :**(%%) 0100000e00002663510f39,.......
402 +
416 416  == 2.4  Payload Explanation and Sensor Interface ==
417 417  
405 +
418 418  === 2.4.1  Device ID ===
419 419  
420 420  
... ... @@ -429,18 +429,20 @@
429 429  The Device ID is stored in a non-erase area, Upgrade the firmware or run AT+FDR won't erase the Device ID.
430 430  
431 431  
420 +
432 432  === 2.4.2  Version Info ===
433 433  
434 434  
435 435  Specify the software version: 0x64=100, which means firmware version 1.00.
436 436  
437 -For example 0x00 64 : This device is NDS03A 1 with firmware version 1.0.0.
426 +For example 0x00 64 : This device is CPN01 with firmware version 1.0.0.
438 438  
439 439  
429 +
440 440  === 2.4.3  Battery Info ===
441 441  
442 442  
443 -Check the battery voltage for NDS03A.
433 +Check the battery voltage for CPN01.
444 444  
445 445  Ex1: 0x0B45 = 2885mV
446 446  
... ... @@ -447,6 +447,7 @@
447 447  Ex2: 0x0B49 = 2889mV
448 448  
449 449  
440 +
450 450  === 2.4.4  Signal Strength ===
451 451  
452 452  
... ... @@ -465,38 +465,70 @@
465 465  **99**    Not known or not detectable
466 466  
467 467  
468 -=== 2.4.5  Disalarm: (default: 0) ===
469 469  
460 +=== 2.4.5  Calculate Flag ===
470 470  
471 -(% 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.
472 472  
473 -(% 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.
463 +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.
474 474  
475 - (% style="color:red" %)**Note:**(%%) When Disalarm=0, a high frequently open/close event will cause lots of uplink and drain battery very fast.
465 +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.
476 476  
467 +Default value: 0. 
477 477  
478 -=== 2.4.6  Keep Status & Keep Time ===
469 +Range (6 bits): (b)000000 ~~ (b) 111111
479 479  
480 480  
481 -Shows the configure value of Alarm Base on Timeout Feature
482 482  
473 +=== 2.4.6  Alarm ===
483 483  
484 -=== 2.4.7  Timestamp ===
485 485  
476 +See [[Alarm Base on Timeout>>||anchor="H2.7A0AlarmBaseonTimeout"]]
486 486  
487 -Timestamp : 0x6315537b =1662342011
488 488  
489 489  
490 -=== 2.4.8  Switch Dual Channel Mode ===
480 +=== 2.4.7  Contact Status ===
491 491  
492 492  
493 -NDS03A can connect two door sensors. Another door sensor can be connected to PB15 pin. Both channels support alarm function.
483 +0: Open
494 494  
485 +1: Close
495 495  
487 +
488 +
489 +=== 2.4.8  Total pulse ===
490 +
491 +
492 +Total pulse/counting based on dry [[contact trigger event>>||anchor="H2.12Setcountnumber"]]
493 +
494 +Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
495 +
496 +
497 +
498 +=== 2.4.9  The last open duration ===
499 +
500 +
501 +Dry Contact last open duration.
502 +
503 +Unit: min.
504 +
505 +[[image:image-20221021111346-17.png||height="146" width="770"]]
506 +
507 +
508 +
509 +=== 2.4.10  Timestamp ===
510 +
511 +
512 +Timestamp : 0x6315537b =1662342011
513 +
514 +Convert Unix timestamp to time 2022-9-5 9:40:11.
515 +
516 +**~ **
517 +
518 +
496 496  == 2.5  Downlink Payload ==
497 497  
498 498  
499 -By default, NDS03A prints the downlink payload to console port.
522 +By default, CPN01 prints the downlink payload to console port.
500 500  
501 501  [[image:image-20221021111414-18.png]] ​
502 502  
... ... @@ -513,7 +513,7 @@
513 513  
514 514  * (% style="color:#037691" %)**Reset**
515 515  
516 -If payload = 0x04FF, it will reset the NDS03A
539 +If payload = 0x04FF, it will reset the NSE01
517 517  
518 518  * (% style="color:#037691" %)**INTMOD**
519 519  
... ... @@ -520,21 +520,20 @@
520 520  Downlink Payload: 06000003, Set AT+INTMOD=3
521 521  
522 522  
546 +
523 523  == 2.6  ​LED Indicator ==
524 524  
525 525  
526 -The NDS03A has an internal LED which is to show the status of different states.
550 +The CPN01 has an internal LED which is to show the status of different states.
527 527  
528 528  * When the device starts normally, the LED will light up for 1 second.
529 -* After NDS03A join NB-IoT network. The LED will be ON for 3 seconds.
553 +* After CPN01 join NB-IoT network. The LED will be ON for 3 seconds.
530 530  * For each uplink probe, LED will be on for 500ms.
531 531  
532 -
533 -
534 534  == 2.7  Alarm Base on Timeout ==
535 535  
536 536  
537 -NDS03A 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:
559 +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:
538 538  
539 539  
540 540  (% style="color:blue" %)**1. Keep Status: Status to be monitor**
... ... @@ -550,25 +550,17 @@
550 550  
551 551  If keep time = 0, Disable Alarm Base on Timeout feature.
552 552  
553 -If keep time > 0, device will monitor the keep status event and send an alarm when status doesn't change after timeout.
575 +If keep time > 0, device will monitor the keep status event and send an alarm when status doesnt change after timeout.
554 554  
555 555  
556 556  (% style="color:blue" %)**AT Command to configure:**
557 557  
558 -(% style="color:blue" %)**PB14 PIN:**
580 +(% 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.
559 559  
560 -(% 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. NDS03A 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.
561 -
562 562  (% style="color:#037691" %)**AT+TTRIG=0,0 ** (%%) **~-~->** Default Value, disable timeout Alarm.
563 563  
564 564  
565 -(% style="color:blue" %)**PB15 PIN:**
566 566  
567 -(% style="color:#037691" %)**AT+TTRIG2=1,30**
568 -
569 -(% style="color:#037691" %)**AT+TTRIG2=0,0 **
570 -
571 -
572 572  == 2.8  Set debug mode ==
573 573  
574 574  
... ... @@ -590,57 +590,54 @@
590 590  [[image:image-20221021111527-19.png]]
591 591  
592 592  
593 -== 2.10  Count Mod ==
594 594  
608 +== 2.10  Set trigger mode ==
595 595  
596 -(% style="color:blue" %)**AT Command: AT+COUNTMOD**
597 597  
598 -[[image:image-20221118092935-1.png]]
611 +(% style="color:blue" %)**AT Command: AT+TTRMOD**
599 599  
613 +Feature: Set the trigger interrupt mode.
600 600  
601 -== 2.11  Interrupt Pin Channel Mod ==
615 +[[image:image-20221021111552-20.png]]
602 602  
603 603  
604 -(% style="color:blue" %)**AT Command: AT+TTRCHANNEL**
605 605  
606 -[[image:image-20221118093144-2.png]]
619 +== 2.11  Set the calculate flag ==
607 607  
608 608  
609 -== 2.12 TTRIG1/2 timeout status alarm ==
622 +Feature: Set the calculate flag
610 610  
624 +(% style="color:blue" %)**AT Command: AT+CALCFLAG**
611 611  
612 -It needs to be used with AT+TTRIG1 or AT+TTRIG2. When TTRIG1 or TTRIG2 times out and causes an alarm, and the status does not change subsequently, an alarm packet will be sent at the alarm interval.
626 +[[image:image-20221021111711-22.png]]
613 613  
614 -(% style="color:blue" %)**AT Command: AT+TTRALARM**
615 615  
616 -[[image:image-20221118093512-3.png]]
617 617  
630 +== 2.12 Set count number ==
618 618  
619 -== 2.13  Select counting mode ==
620 620  
633 +Feature: Manually set the count number
621 621  
622 -(% style="color:blue" %)**AT Command: AT+TTRMODx=a,b**
635 +(% style="color:blue" %)**AT Command: AT+SETCNT**
623 623  
624 -When (% style="color:red" %)**a=0**(%%), the door is opened to count, and when (% style="color:red" %)**a=1**(%%),the closed door is counted.
637 +[[image:image-20221021111748-24.png]]
625 625  
626 -When (% style="color:red" %)**b=0**(%%), it is the last door open duration, and when (% style="color:red" %)**b=1**(%%),the last door close duration.
627 627  
628 -[[image:image-20221118093658-4.png]]
629 629  
641 +== 2.13  Set the number of data to be uploaded and the recording time ==
630 630  
631 -== 2.14  Set the number of data to be uploaded and the recording time ==
632 632  
633 -
634 634  (% style="color:blue" %)**AT Command:**
635 635  
636 -(% 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)
646 +(% 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)
637 637  
638 -(% style="color:#037691" %)**AT+NOUD=8**(%%)** ** ~/~/  The device uploads 0 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
648 +(% 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.
639 639  
640 640  
641 -== 2.15  Read or Clear cached data ==
642 642  
652 +== 2.14  Read or Clear cached data ==
643 643  
654 +
644 644  (% style="color:blue" %)**AT Command:**
645 645  
646 646  (% style="color:#037691" %)**AT+CDP**  (%%) ~/~/ Read cached data
... ... @@ -647,24 +647,27 @@
647 647  
648 648  (% style="color:#037691" %)**AT+CDP=0**  (%%) ~/~/ Clear cached data ​
649 649  
650 -[[image:image-20221118094227-5.png]]
661 +[[image:image-20221021111810-25.png||height="364" width="797"]]
651 651  
652 652  
653 -== 2.16  ​Firmware Change Log ==
654 654  
665 +== 2.15  ​Firmware Change Log ==
655 655  
656 -Download URL & Firmware Change log: [[https:~~/~~/www.dropbox.com/sh/hacq385w6qgnonr/AAC3D79GFGF1JdZUIzNegn2Ha?dl=0>>https://www.dropbox.com/sh/hacq385w6qgnonr/AAC3D79GFGF1JdZUIzNegn2Ha?dl=0]]
657 657  
668 +Download URL & Firmware Change log:  [[https:~~/~~/www.dropbox.com/sh/8p5nuvo6gh7je4n/AAAMP7MMusgbXMz9Ik7Ls03Ga?dl=0>>https://www.dropbox.com/sh/8p5nuvo6gh7je4n/AAAMP7MMusgbXMz9Ik7Ls03Ga?dl=0]]
669 +
658 658  Upgrade Instruction: [[Upgrade Firmware>>||anchor="H5.1200BHowtoUpgradeFirmware"]]
659 659  
660 660  
661 -== 2.17  ​Battery Analysis ==
662 662  
663 -=== 2.17.1  ​Battery Type ===
674 +== 2.16  ​Battery Analysis ==
664 664  
665 665  
666 -The NDS03A 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.
677 +=== 2.16.1  Battery Type ===
667 667  
679 +
680 +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.
681 +
668 668  The battery is designed to last for several years depends on the actual use environment and update interval. 
669 669  
670 670  The battery-related documents as below:
... ... @@ -678,9 +678,10 @@
678 678  [[image:image-20221021111911-26.png]] ​
679 679  
680 680  
681 -=== 2.17.2  Power consumption Analyze ===
682 682  
696 +=== 2.16.2  Power consumption Analyze ===
683 683  
698 +
684 684  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.
685 685  
686 686  Instruction to use as below:
... ... @@ -700,18 +700,21 @@
700 700  [[image:1666596205057-567.png]] ​
701 701  
702 702  
703 -=== 2.17.3  ​Battery Note ===
704 704  
719 +=== 2.16.3  ​Battery Note ===
705 705  
721 +
706 706  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.
707 707  
708 708  
709 -=== 2.17.4  Replace the battery ===
710 710  
726 +=== 2.16.4  Replace the battery ===
711 711  
712 -The default battery pack of NDS03A 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).
713 713  
729 +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).
714 714  
731 +
732 +
715 715  = 3. ​ Access NB-IoT Module =
716 716  
717 717  
... ... @@ -719,11 +719,13 @@
719 719  
720 720  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/]] 
721 721  
722 -[[image:image-20221118094449-6.png]] ​
740 +[[image:image-20221021112006-28.png]] ​
723 723  
724 724  
743 +
725 725  = 4.  Using the AT Commands =
726 726  
746 +
727 727  == 4.1  Access AT Commands ==
728 728  
729 729  
... ... @@ -770,21 +770,15 @@
770 770  
771 771  AT+ DEBUG   : Enable or Disable debug mode
772 772  
773 -AT+ TTRIG1   : Get or Set PB14 PIN Alarm Base on Timeout
793 +AT+ TTRIG   : Get or Set Alarm Base on Timeout
774 774  
775 -AT+ TTRIG2   : Get or Set PB15 PIN Alarm Base on Timeout
795 +AT+ TTRMOD   : Get or Set the trigger interrupt mode(0:falling,1:rising)
776 776  
777 -AT+COUNTMOD  :  Get or Set the count mode
797 +AT+ CALCFLAG   : Get or Set the calculate flag
778 778  
779 -AT+TTRCHANNEL  : Get or Set the number of interrupt channels
799 +AT+ CLRC   : Clear current door open count
780 780  
781 -AT+TTRALARM : Get or Set TTRIG1 of Alarm interval (unit: minute)
782 782  
783 -AT+DISALARM  : Enable/Disable Alarm for door open/close or water leak event
784 -
785 -AT+ CLRC   :  Clear current door open count
786 -
787 -
788 788  (% style="color:blue" %)**COAP Management**      
789 789  
790 790  AT+URI            : Resource parameters
... ... @@ -815,8 +815,10 @@
815 815  AT+PWORD  : Serial Access Password
816 816  
817 817  
832 +
818 818  = ​5.  FAQ =
819 819  
835 +
820 820  == 5.1 ​ How to Upgrade Firmware ==
821 821  
822 822  
... ... @@ -824,11 +824,13 @@
824 824  
825 825  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]]
826 826  
827 -(% style="color:red" %)**Notice: **(% style="color:blue" %)**NDS03A** (%%)**and (% style="color:blue" %)LDS03A(%%)**(% style="color:blue" %) (%%)**share the same mother board. They use the same connection and method to update.**
843 +(% 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.**
828 828  
829 829  
846 +
830 830  = 6.  Trouble Shooting =
831 831  
849 +
832 832  == 6.1  ​Connection problem when uploading firmware ==
833 833  
834 834  
... ... @@ -835,6 +835,7 @@
835 835  (% 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]]
836 836  
837 837  
856 +
838 838  == 6.2  AT Command input doesn't work ==
839 839  
840 840  
... ... @@ -841,20 +841,26 @@
841 841  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.
842 842  
843 843  
863 +
844 844  = 7. ​ Order Info =
845 845  
846 846  
847 -Part Number**:** NDS03A
867 +Part Number**:** CPN01
848 848  
849 849  
870 +
850 850  = 8.  Packing Info =
851 851  
852 852  
853 853  (% style="color:blue" %)**Package Includes**:
854 854  
855 -* NDS03A Open/Close Door Sensor x 1
876 +* CPN01 Open/Close Sensor x 1
877 +* External antenna x 1
856 856  
879 +(% style="color:blue" %)**Dimension and weight**:
857 857  
881 +* Size: 195 x 125 x 55 mm
882 +* Weight:   420g
858 858  
859 859  = 9.  Support =
860 860  
image-20221117114459-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -14.9 KB
Content
image-20221117114842-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -964.1 KB
Content
image-20221117114937-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -79.1 KB
Content
image-20221117114949-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -33.4 KB
Content
image-20221117115010-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -40.4 KB
Content
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
image-20221118092935-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -13.1 KB
Content
image-20221118093144-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -11.7 KB
Content
image-20221118093512-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -9.5 KB
Content
image-20221118093658-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -12.7 KB
Content
image-20221118094227-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -29.2 KB
Content
image-20221118094449-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -76.5 KB
Content
image-20221118103445-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -20.4 KB
Content
image-20221118103453-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -46.2 KB
Content
image-20221118103547-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -43.5 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0