Version 56.5 by Xiaoling on 2024/01/19 14:07

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