Version 56.4 by Xiaoling on 2024/01/19 14:05

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