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