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