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