Version 55.6 by Xiaoling on 2024/01/19 10:02

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