Show last authors
1 (% style="text-align:center" %)
2 [[image:1652856952171-363.png]]
3
4
5
6
7
8 **Table of Contents:**
9
10 {{toc/}}
11
12
13
14 = 1. Introduction =
15
16
17 == 1.1 What is CPL01 LoRaWAN Pulse/Contact Sensor ==
18
19 (((
20
21
22 The Dragino CPL01 is a (% style="color:blue" %)**LoRaWAN Contact Sensor**(%%). It detects open/close status and uplink to IoT server via LoRaWAN network. user can see the dry contact status, open time, open counts in the IoT Server.
23 )))
24
25 (((
26 CPL01 is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long term use up to 10 years. (Actually Battery life depends on the use environment, update period.)
27 )))
28
29 (((
30 The CPL01 will send periodically data every day as well as for each dry contact action. It also counts the contact open times and calculate last open duration. User can also disable the uplink for each open/close event, instead, device can count each open event and uplink periodically.
31 )))
32
33 (((
34 CPL01 has the open alarm feature, user can set this feature so device will send Alarm if the contact has been open for a certain time.
35 )))
36
37 (((
38 CPL01 is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures.
39 )))
40
41 (((
42 Each CPL01 is pre-load with a set of unique keys for LoRaWAN registration, register these keys to LoRaWAN server and it will auto connect after power on.
43 )))
44
45 (((
46 *Battery life depends on how often to send data, please see [[battery analyzer>>||anchor="H4.Battery26howtoreplace"]].
47 )))
48
49
50
51 == 1.2 Features ==
52
53
54 * LoRaWAN v1.0.3 Class A protocol.
55 * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865/RU864
56 * Open/Close detect
57 * Open/Close statistics
58 * 8500mAh industrial battery(none-rechargeable)
59 * AT Commands to change parameters
60 * Uplink on periodically and open/close event
61 * Datalog feature
62 * Remote configure parameters via LoRa Downlink
63 * Firmware upgradable via program port
64 * Wall Mountable
65 * Outdoor Use
66
67
68
69 == 1.3 Installation ==
70
71
72 Connect CPL01 to an Open Close sensor like below. So it can detect the open/close event.
73
74
75 [[image:1652857419839-473.png||height="435" width="482"]]
76
77
78 [[image:1652857455276-422.png||height="229" width="728"]]
79
80
81
82 == 1.4 Storage & Operation Temperature ==
83
84
85 -40°C to +85°C
86
87
88
89 == 1.5 Applications ==
90
91
92 (% class="wikigeneratedid" %)
93 (% style="display:none" %)
94
95 * Open/Close Detection
96 * Pulse meter application
97 * Dry Contact Detection
98
99
100
101 == 1.6 Mechanical ==
102
103
104 [[image:1652857762997-798.png]]
105
106
107 [[image:1652857791347-991.png]]
108
109
110
111 == 1.7 Pin Definitions and Switch ==
112
113
114 [[image:1652857867227-591.png||height="374" width="727"]]
115
116
117
118 === 1.7.1 Pin Definition ===
119
120
121 CPL01 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 user manual of LSN50v2 at: [[https:~~/~~/www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0>>https://www.dropbox.com/sh/djkxs7mr17y94mi/AABVlWbM9uzK9OA3mXyAT10Za?dl=0]]
122
123
124
125 === 1.7.2 Jumper JP2(Power ON/OFF) ===
126
127
128 Power on Device when putting this jumper.
129
130
131
132 === 1.7.3 BOOT MODE / SW1 ===
133
134
135 (((
136 1) ISP: upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. Firmware won't run.
137 )))
138
139 (((
140 2) Flash: work mode, the device starts to work and send out console output for further debug
141 )))
142
143
144
145 === 1.7.4 Reset Button ===
146
147
148 Press to reboot the device.
149
150
151
152 === 1.7.5 LED ===
153
154
155 It will flash:
156
157 1. Boot the device in flash mode
158 1. Send an uplink packet
159
160
161
162 = 2. Operation Mode =
163
164
165 == 2.1 How it works? ==
166
167
168 (((
169 Each CPL01 is shipped with a worldwide unique set of OTAA keys. To use CPL01 in a LoRaWAN network, user needs to input the OTAA keys in the LoRaWAN network server. So CPL01 can join the LoRaWAN network and start to transmit sensor data.
170 )))
171
172
173
174 == 2.2 Example to use for LoRaWAN network ==
175
176
177 This section shows an example of how to join the TTN V3 LoRaWAN IoT server. Usages with other LoRaWAN IoT servers are similar.
178
179
180 [[image:1652858412212-334.png||height="327" width="723"]]
181
182
183 * (((
184 In this use case, the CPL01 is connect to a dry contact sensor to detect the open/close event and send the status to the LoRaWAN server. The CPL01 will uplink different types of messages to the LoRaWAN server. See [[Uplink payload>>||anchor="H2.3UplinkPayload"]] for detail.
185 )))
186
187 (((
188 Assume the DLOS8 is already set to connect to the [[TTN V3 network >>url:https://eu1.cloud.thethings.network]]. We need to add the CPL01 device in TTN V3:
189
190
191 )))
192
193 (((
194 (% style="color:blue" %)**Step 1**(%%): Create a device in TTN V3 with the OTAA keys from CPL01.
195 )))
196
197 (((
198 Each CPL01 is shipped with a sticker with the default device EUI as below:
199 )))
200
201 [[image:1652858451221-297.png]]
202
203
204 Users can enter these keys in the LoRaWAN Server portal. Below is the TTN V3 screenshot:
205
206 Add APP EUI in the application.
207
208 [[image:1652858478050-325.png]]
209
210
211 [[image:1652858498638-881.png||height="327" width="727"]]
212
213
214 [[image:1652858507748-628.png]]
215
216 [[image:1652858520534-791.png]]
217
218
219 Add APP KEY and DEV EUI
220
221
222
223 (% style="color:blue" %)**Step 2**(%%): Power on CPL01
224
225
226 [[image:1652858584749-726.png]]
227
228
229
230 (((
231 Put the jumper to power on CPL01 and it will auto-join to the TTN V3 network. After join success, it will start to upload sensor data to TTN V3 and the user can see it in the panel.
232 )))
233
234 [[image:1652858597931-989.png||height="322" width="721"]]
235
236
237
238 == 2.3 Uplink Payload ==
239
240
241 (((
242 Uplink payloads have two types:
243 )))
244
245 * (((
246 Open/Close Status: Use FPORT=2
247 )))
248 * (((
249 Other control commands: Use other FPORT fields.
250 )))
251
252 (((
253 The application server should parse the correct value based on FPORT settings.
254 )))
255
256
257
258 === 2.3.1 Device Status, FPORT~=5 ===
259
260
261 (((
262 Include device configure status. Once CPL01 Joined the network, it will uplink this message to the server. After that, CPL01 will uplink Device Status every 12 hours.
263 )))
264
265 (((
266 Users can also use the downlink command(0x26 01) to ask CPL01 to resend this uplink. This uplink payload also includes the DeviceTimeReq to get time.
267
268 [[image:image-20220609150022-3.png]]
269 )))
270
271
272 Example parse in TTNv3
273
274 [[image:1652859749264-179.png||height="275" width="723"]]
275
276
277 * (((
278 (% style="color:#037691" %)** Sensor Model**(%%): For CPL01, this value is 0x0E
279 )))
280
281 * (((
282 (% style="color:#037691" %)** Firmware Version**(%%): 0x0100, Means: v1.0.0 version
283 )))
284
285 * (((
286 (% style="color:#037691" %)** Frequency Band**:
287 )))
288
289 (% class="box" %)
290 (((
291 *0x01: EU868
292 *0x02: US915
293 *0x03: IN865
294 *0x04: AU915
295 *0x05: KZ865
296 *0x06: RU864
297 *0x07: AS923
298 *0x08: AS923-1
299 *0x09: AS923-2
300 *0x0a: AS923-3
301 *0x0b: CN470
302 *0x0c: EU433
303 *0x0d: KR920
304 *0x0e: MA869
305 )))
306
307 * (((
308 (((
309 (% style="color:#037691" %)** Sub-Band**:
310 )))
311
312 * (((
313 AU915 and US915:value 0x00 ~~ 0x08
314 )))
315 * (((
316 CN470: value 0x0B ~~ 0x0C
317 )))
318 * (((
319 Other Bands: Always 0x00
320 )))
321 )))
322
323 * (((
324 (% style="color:#037691" %)** Battery Info:**
325 )))
326
327 (((
328 Check the battery voltage.
329 )))
330
331 (((
332 (% style="color:blue" %)** Ex1**(%%): 0x0B45 = 2885mV
333 )))
334
335 (((
336 (% style="color:blue" %)** Ex2**(%%): 0x0B49 = 2889mV
337 )))
338
339
340
341 === 2.3.2 Sensor Configuration, FPORT~=4 ===
342
343
344 CPL01 will only send this command after getting the downlink command (0x26 02) from the server.
345
346 [[image:image-20220609150109-4.png]]
347
348
349 * (((
350 (% style="color:#037691" %)** TDC: (default: 0x001C20)**
351 )))
352
353 (((
354 Uplink interval for the total pulse count, default value is 0x001C20 which is 7200 seconds = 2 hours.
355
356
357 )))
358
359 * (((
360 (% style="color:#037691" %)** Disalarm: (default: 0)**
361 )))
362
363 (((
364 (% style="color:blue" %)** If Disalarm = 1**(%%), CPL01 will only send uplink at every TDC periodically. This is normally use for pulse meter application, in this application, there are many disconnect/connect event, and platform only care about the total number of pulse.
365 )))
366
367 (((
368 (% style="color:blue" %)** If Disalarm = 0**(%%), CPL01 will send uplink at every TDC periodically.
369
370
371 )))
372
373 * (((
374 (% style="color:#037691" %)** Keep Status & Keep Time**
375 )))
376
377 (((
378 Shows the configure value of [[Alarm Base on Timeout Feature>>||anchor="H3.5AlarmBaseonTimeout"]]
379
380
381 )))
382
383 * (((
384 (% style="color:#037691" %)** Trigger mode (default: 0)**
385 )))
386
387 (((
388 (% style="color:blue" %)** If Trigger mode = 0**(%%), count close to open event.
389 )))
390
391 (((
392 (% style="color:blue" %)** If Trigger mode = 1**(%%), count open to close event.
393 )))
394
395 [[image:1652860064987-743.png||height="152" width="730"]]
396
397
398 [[image:1652860079526-831.png||height="209" width="729"]]
399
400
401
402 === 2.3.3 Real-Time Open/Close Status, Uplink FPORT~=2 ===
403
404
405 (((
406 (((
407 CPL01 will send this uplink **after** Device Status once join the LoRaWAN network successfully. And CPL01 will:
408 )))
409 )))
410
411 (((
412 (((
413 periodically send this uplink every 2 hours, this interval [[can be changed>>||anchor="H3.1SetTransmitIntervalTime"]].
414 )))
415 )))
416
417 (((
418 (((
419 Uplink Payload totals 11 bytes.
420 )))
421 )))
422
423 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
424 |=(% colspan="5" style="width: 723px;" %)**Real-Time Open/Close Status, FPORT=2**
425 |(% style="width:101px" %)**Size (bytes)**|(% style="width:133px" %)**1**|(% style="width:92px" %)**3**|(% style="width:247px" %)**3**|(% style="width:149px" %)**4**
426 |(% style="width:101px" %)**Value**|(% style="width:133px" %)Status & [[Alarm>>||anchor="H3.5AlarmBaseonTimeout"]]|(% style="width:92px" %)Total pulse|(% style="width:247px" %)The last open duration (unit: min)|(% style="width:149px" %)[[Unix TimeStamp>>||anchor="H2.4.1UnixTimeStamp"]]
427
428 [[image:image-20220609150155-5.png]]
429
430
431 * (((
432 (% style="color:#037691" %)** Calculate Flag**
433 )))
434
435 (((
436 The calculate flag is a user define field, IoT server can use this filed to handle different meter with different pulse factor. For example, if there are 100 water meters, meter 1 ~~50 are 1 liter/pulse and meter 51 ~~ 100 has 1.5 liter/pulse.
437 )))
438
439 (((
440 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.
441 )))
442
443 (((
444 Default value: 0. 
445 )))
446
447 (((
448 Range (6 bits): (b)000000 ~~ (b) 111111
449 )))
450
451 (((
452 Refer: [[Set Calculate Flag>>||anchor="H3.9Setthecalculateflag"]]
453
454
455 )))
456
457 * (((
458 (% style="color:#037691" %)** Alarm**
459 )))
460
461 (((
462 See [[Alarm Base on Timeout>>||anchor="H3.5AlarmBaseonTimeout"]]
463
464
465 )))
466
467 * (((
468 (% style="color:#037691" %)** Contact Status**
469 )))
470
471 (((
472 0: Open
473 )))
474
475 (((
476 1: Close
477
478
479 )))
480
481 * (((
482 (% style="color:#037691" %)** Total pulse**
483 )))
484
485 (((
486 Total pulse/counting base on dry [[contact trigger event>>||anchor="H2.3.2SensorConfiguration2CFPORT3D4"]]
487 )))
488
489 (((
490 Range (3 Bytes) : 0x000000 ~~ 0xFFFFFF . Max: 16777215
491
492
493 )))
494
495 * (((
496 (% style="color:#037691" %)** The last open duration**
497 )))
498
499 (((
500 Dry Contact last open duration.
501 )))
502
503 (((
504 Unit: min.
505 )))
506
507 [[image:1652860403792-491.png||height="153" width="735"]]
508
509
510 === 2.3.4 Real-Time Open/Close Status, 3 pulse mode, Uplink FPORT~=6 ( Firmware not release) ===
511
512
513 (% style="color:red" %)**Note:**
514
515 * Firmware support for this mode is not released. If users want to test, please contact Dragino support.
516 * Users need to run (% style="color:blue" %)**AT+MOD=3**(%%) to support this model after updating the firmware.
517 * This mode doesn't support Historical Events and Datalog features.
518
519
520
521 (% style="color:blue" %)**CPL03 3 Pulse Wiring:**
522
523 [[image:image-20221013153352-1.png||height="628" width="720"]]
524
525
526 (% style="color:blue" %)**Payload:**
527
528 [[image:image-20221013153352-2.png||height="167" width="1215"]]
529
530
531 (% border="1.5" cellspacing="3" style="background-color:#ffffcc; color:green; width:447px" %)
532 |(% style="width:93px" %)**Size(bytes)**|(% style="width:59px" %)**1**|(% style="width:98px" %)**3**|(% style="width:96px" %)**3**|(% style="width:94px" %)**3**
533 |(% style="width:93px" %)**Value**|(% style="width:59px" %)Status|(% style="width:98px" %)(((
534 Port1 Total Pulse(PB14)
535 )))|(% style="width:96px" %)(((
536 Port2 Total Pulse(PB15)
537 )))|(% style="width:94px" %)(((
538 Port3 Total Pulse(PA4)
539 )))
540
541 (% style="color:blue" %)**Status:**
542
543 (% border="1.5" cellspacing="3" style="background-color:#ffffcc; color:green; width:257px" %)
544 |(% style="width:75px" %)**Size(bit)**|(% style="width:111px" %)**6**|(% style="width:68px" %)**2**
545 |(% style="width:75px" %)**Value**|(% style="width:111px" %)Calculate Flag|(% style="width:68px" %)Reserve
546
547 (% style="color:red" %)**Max COUNT for each port is 16777215. Exceed this number will reset to 1.**
548
549
550 (% style="color:blue" %)**Related AT Command:**
551
552 (% style="color:#037691" %)**AT+TTRMOD1:  Port1 count mode;  0: Signal falling edge(Default), 1: Signal raising edge**
553
554 AT+TTRMOD1=0  Downlink Command: 0xA4 01 00
555
556 AT+TTRMOD1=1  Downlink Command: 0xA4 01 01
557
558
559 (% style="color:#037691" %)**AT+TTRMOD2:  Port2 count mode;  0: Signal falling edge(Default), 1: Signal raising edge**
560
561 AT+TTRMOD1=0  Downlink Command: 0xA4 02 00
562
563 AT+TTRMOD1=1  Downlink Command: 0xA4 02 01
564
565
566 (% style="color:#037691" %)**AT+TTRMOD3:  Port3 count mode;  0: Signal falling edge(Default), 1: Signal raising edge**
567
568 AT+TTRMOD1=0  Downlink Command: 0xA4 03 00
569
570 AT+TTRMOD1=1  Downlink Command: 0xA4 03 01
571
572
573 (% style="color:#037691" %)**AT+CALCFLAG:  Calculate Flag ( Default : 0 )**
574
575 AT+CALCFLAG=aa
576
577
578 (% style="color:blue" %)**Downlink Command: 0xA5 aa**
579
580 (% style="color:#037691" %)**AT+COUNTMOD:  Accumulative Mode;  0: Accumulative (Default),1: Reset after uplink.**
581
582 AT+COUNTMOD=0 Downlink Command: 0x0B 00
583
584 AT+COUNTMOD=1 Downlink Command: 0x0B 01
585
586
587 (% style="color:#037691" %)**AT+SETCNT:  Set count value**
588
589 AT+SETCNT=1,aa  Downlink Command: 0xA6 01 aa aa aa
590
591 AT+SETCNT=2,aa  Downlink Command: 0xA6 02 aa aa aa
592
593 AT+SETCNT=3,aa  Downlink Command: 0xA6 03 aa aa aa
594
595
596 (% style="color:blue" %)**Decode:**
597
598 function Decoder(bytes, port) {
599
600 if(port==0x05)
601
602 {
603
604 var sub_band;
605
606 var freq_band;
607
608 var sensor;
609
610
611 if(bytes[0]==0x0F)
612
613 sensor= "CPL03";
614
615
616 if(bytes[4]==0xff)
617
618 sub_band="NULL";
619
620 else
621
622 sub_band=bytes[4];
623
624
625 if(bytes[3]==0x01)
626
627 freq_band="EU868";
628
629 else if(bytes[3]==0x02)
630
631 freq_band="US915";
632
633 else if(bytes[3]==0x03)
634
635 freq_band="IN865";
636
637 else if(bytes[3]==0x04)
638
639 freq_band="AU915";
640
641 else if(bytes[3]==0x05)
642
643 freq_band="KZ865";
644
645 else if(bytes[3]==0x06)
646
647 freq_band="RU864";
648
649 else if(bytes[3]==0x07)
650
651 freq_band="AS923";
652
653 else if(bytes[3]==0x08)
654
655 freq_band="AS923_1";
656
657 else if(bytes[3]==0x09)
658
659 freq_band="AS923_2";
660
661 else if(bytes[3]==0x0A)
662
663 freq_band="AS923_3";
664
665 else if(bytes[3]==0x0B)
666
667 freq_band="CN470";
668
669 else if(bytes[3]==0x0C)
670
671 freq_band="EU433";
672
673 else if(bytes[3]==0x0D)
674
675 freq_band="KR920";
676
677 else if(bytes[3]==0x0E)
678
679 freq_band="MA869";
680
681
682 var firm_ver= (bytes[1]&0x0f)+'.'+(bytes[2]>>4&0x0f)+'.'+(bytes[2]&0x0f);
683
684 var bat= (bytes[5]<<8 | bytes[6])/1000;
685
686
687 return {
688
689 SENSOR_MODEL:sensor,
690
691 FIRMWARE_VERSION:firm_ver,
692
693 FREQUENCY_BAND:freq_band,
694
695 SUB_BAND:sub_band,
696
697 BAT:bat,
698
699 };
700
701 }
702
703 else
704
705 {
706
707 var calculate_flag=(bytes[0]&0xFC)>>2;
708
709 var total_pulse1=bytes[1]<<16 | bytes[2]<<8 | bytes[3];
710
711 var total_pulse2=bytes[4]<<16 | bytes[5]<<8 | bytes[6];
712
713 var total_pulse3=bytes[7]<<16 | bytes[8]<<8 | bytes[9];
714
715
716 if(bytes.length==10)
717
718 {
719
720 return {
721
722 CALCULATE_FLAG:calculate_flag,
723
724 PORT1_TOTAL_PULSE:total_pulse1,
725
726 PORT2_TOTAL_PULSE:total_pulse2,
727
728 PORT3_TOTAL_PULSE:total_pulse3,    
729
730 };
731
732 }
733
734 }
735
736 }
737
738
739
740 === 2.3.5 Historical Door Open/Close Event, FPORT~=3 ===
741
742
743 (((
744 CPL01 stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.4DatalogFeature"]].
745 )))
746
747 (((
748 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time open/close status.
749 )))
750
751 * (((
752 Each data entry is 11 bytes and has the same structure as [[Real-Time open/close status>>||anchor="H2.3.3Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]], to save airtime and battery, CPL01 will send max bytes according to the current DR and Frequency bands.
753 )))
754
755 (((
756 For example, in the US915 band, the max payload for different DR is:
757 )))
758
759 (((
760 a) (% style="color:blue" %)**DR0**(%%): max is 11 bytes so one entry of data
761 )))
762
763 (((
764 b) (% style="color:blue" %)**DR1**(%%): max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
765 )))
766
767 (((
768 c) (% style="color:blue" %)**DR2**(%%): total payload includes 11 entries of data
769 )))
770
771 (((
772 d) (% style="color:blue" %)**DR3**(%%): total payload includes 22 entries of data.
773 )))
774
775 (((
776 If CPL01 doesn't have any data in the polling time. It will uplink 11 bytes of 0
777
778
779 )))
780
781 (% style="color:blue" %)** Downlink:**
782
783 (% class="box" %)
784 (((
785 **0x31 61 E9 3A D4 61 E9 3D E0 05**
786 )))
787
788 [[image:1652861353248-624.png||height="189" width="720"]]
789
790
791 (% style="color:blue" %)** Uplink:**
792
793 (% class="box" %)
794 (((
795 **0E 00 23 E6 00 00 00 61 E9 3B 04 0E 00 23 E6 00 00 00 61 E9 3B 25 0D 00 00 00 00 00 00 61 E9 3B C8 0E 00 00 02 00 00 00 61 E9 3B D4 0E 00 00 06 00 00 00 61 E9 3B DB 01 00 00 00 00 00 00 61 E9 3C 91 01 00 00 00 00 00 00 61 E9 3C A1 0D 00 00 00 00 00 00 61 E9 3C BC 0E 00 00 07 00 00 00 61 E9 3C D6 00 00 00 00 00 00 00 61 E9 3D A6**
796 )))
797
798 (% style="color:#037691" %)** **
799
800 (% style="color:#037691" %)**Parsed Value:**
801
802 (((
803 [ALARM, PIN_STATUS, TOTAL_PULSE, CALCULATE_FLAG, LAST_OPEN_DURATION, TIME]
804 )))
805
806 (((
807
808 )))
809
810 (((
811 [TRUE, CLOSE, 9190, 3, 0, 2022-01-20 10:35:48],
812 )))
813
814 (((
815 [TRUE, CLOSE, 9190, 3, 0, 2022-01-20 10:36:21],
816 )))
817
818 (((
819 [FALSE, OPEN, 0, 3, 0, 2022-01-20 10:39:04],
820 )))
821
822 (((
823 [TRUE, CLOSE, 2, 3, 0, 2022-01-20 10:39:16],
824 )))
825
826 (((
827 [TRUE, CLOSE, 6, 3, 0, 2022-01-20 10:39:23],
828 )))
829
830 (((
831 [FALSE, OPEN, 0, 0, 0, 2022-01-20 10:42:25],
832 )))
833
834 (((
835 [FALSE, OPEN, 0, 0, 0, 2022-01-20 10:42:41],
836 )))
837
838 (((
839 [FALSE, OPEN, 0, 3, 0, 2022-01-20 10:43:08],
840 )))
841
842 (((
843 [TRUE, CLOSE, 7, 3, 0, 2022-01-20 10:43:34],
844 )))
845
846 (((
847 [FALSE, CLOSE, 0, 0, 0, 2022-01-20 10:47:02],
848
849
850 )))
851
852 [[image:1652861480446-216.png]]
853
854
855
856 == 2.4 Datalog Feature ==
857
858
859 When a user wants to retrieve sensor value, he can send a poll command from the IoT platform to ask the sensor to send value in the required time slot.
860
861
862
863 === 2.4.1 Unix TimeStamp ===
864
865
866 CPL01 uses Unix TimeStamp format based on
867
868 [[image:1652861618065-927.png||height="109" width="705"]]
869
870 Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
871
872 Below is the converter example
873
874 [[image:1652861637105-371.png||height="428" width="732"]]
875
876
877
878 === 2.4.2 Set Device Time ===
879
880
881 (((
882 (((
883 There are two ways to set the device's time:
884
885
886 )))
887 )))
888
889 (((
890 (((
891 (% style="color:blue" %)**1. Through LoRaWAN MAC Command (Default settings)**
892 )))
893 )))
894
895 (((
896 (((
897 Users need to set SYNCMOD=1 to enable sync time via the MAC command.
898 )))
899 )))
900
901 (((
902 (((
903 Once CPL01 Joined the LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to CPL01. If CPL01 fails to get the time from the server, CPL01 will use the internal time and wait for the next time request ~[[[via Device Status (FPORT=5)>>||anchor="H2.3.1DeviceStatus2CFPORT3D5"]]].
904
905
906 )))
907 )))
908
909 (((
910 (((
911 (% style="color:red" %)**Note: LoRaWAN Server needs to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature.**
912 )))
913
914 (((
915
916 )))
917
918 (((
919 (% style="color:blue" %)**2. Manually Set Time**
920 )))
921
922 (((
923 Users need to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server.
924 )))
925 )))
926
927
928
929 === 2.4.3 Poll sensor value ===
930
931
932 Users can poll sensor values based on timestamps. Below is the downlink command.
933
934 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:453.989px" %)
935 |=(% colspan="4" style="width: 451px;" %)**Downlink Command to poll Open/Close status (0x31)**
936 |(% style="width:59px" %)**1byte**|(% style="width:126px" %)**4bytes**|(% style="width:138px" %)**4bytes**|(% style="width:128px" %)**1byte**
937 |(% style="width:59px" %)31|(% style="width:126px" %)Timestamp start|(% style="width:138px" %)Timestamp end|(% style="width:128px" %)Uplink Interval
938
939 (((
940 Timestamp start and Timestamp end-use Unix TimeStamp format as mentioned above. Devices will reply with all data logs during this period, using the uplink interval.
941 )))
942
943 (((
944 For example, downlink command[[image:image-20220518162852-1.png]]
945 )))
946
947 (((
948 Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
949 )))
950
951 (((
952 Uplink Internal =5s,means CPL01 will send one packet every 5s. range 5~~255s.
953 )))
954
955
956
957 === 2.4.4 Decoder in TTN V3 ===
958
959
960 [[image:1652862574387-195.png||height="359" width="722"]]
961
962 (((
963 Please check the decoder from this link: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
964 )))
965
966 (((
967
968 )))
969
970
971 = 2.5 Show data on Datacake =
972
973
974 (((
975 Datacake IoT platform provides a human-friendly interface to show the sensor data, once we have sensor data in TTN V3, we can use Datacake to connect to TTN V3 and see the data in Datacake. Below are the steps:
976 )))
977
978 (((
979 (% style="color:blue" %)**Step 1**(%%): Link TTNv3 to Datacake [[https:~~/~~/docs.datacake.de/lorawan/lns/thethingsindustries#create-integration-on-tti>>url:https://docs.datacake.de/lorawan/lns/thethingsindustries#create-integration-on-tti]]
980 )))
981
982 (((
983 (% style="color:blue" %)**Step 2**(%%): Configure CPL01 in Datacake
984 )))
985
986 [[image:1652862663124-805.png]]
987
988 [[image:1652862686700-576.png]]
989
990
991
992
993 [[image:1652862716106-261.png]]
994
995 [[image:1652862734313-990.png||height="229" width="707"]]
996
997
998 [[image:1652862744310-982.png||height="380" width="715"]]
999
1000
1001 [[image:1652862755419-628.png||height="258" width="718"]]
1002
1003
1004 [[image:1652862763975-153.png||height="214" width="720"]]
1005
1006
1007 [[image:1652862773781-198.png||height="321" width="499"]]
1008
1009
1010 [[image:1652862794151-835.png||height="327" width="487"]]
1011
1012
1013 [[image:1652862807472-427.png||height="378" width="670"]]
1014
1015
1016
1017 = 3. Configure CPL01 via AT Command or LoRaWAN Downlink =
1018
1019
1020 (((
1021 Use can configure CPL01 via AT Command or LoRaWAN Downlink.
1022 )))
1023
1024 * (((
1025 AT Command Connection: See [[FAQ>>||anchor="H5.FAQ"]].
1026 )))
1027 * (((
1028 LoRaWAN Downlink instruction for different platforms:  [[IoT LoRaWAN Server>>doc:Main.WebHome]]
1029 )))
1030
1031 (((
1032 There are two kinds of commands to configure CPL01, they are:
1033 )))
1034
1035 * (((
1036 (% style="color:#4f81bd" %)**General Commands**.
1037 )))
1038
1039 (((
1040 These commands are to configure:
1041 )))
1042
1043 * (((
1044 General system settings like uplink interval.
1045 )))
1046 * (((
1047 LoRaWAN protocol & radio related command.
1048 )))
1049
1050 (((
1051 They are the same for all Dragino Devices which support DLWS-005 LoRaWAN Stack(Note~*~*). These commands can be found on the wiki: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
1052 )))
1053
1054 (((
1055
1056 )))
1057
1058 * (((
1059 (% style="color:#4f81bd" %)**Commands special design for CPL01**
1060 )))
1061
1062 (((
1063 These commands are only valid for CPL01, as below:
1064 )))
1065
1066
1067
1068 == 3.1 Set Transmit Interval Time ==
1069
1070
1071 (((
1072 Feature: Change LoRaWAN End Node Transmit Interval.
1073
1074
1075 )))
1076
1077 (((
1078 (% style="color:#4f81bd" %)**AT Command: AT+TDC**
1079 )))
1080
1081 (((
1082 [[image:image-20220609134826-1.png]]
1083 )))
1084
1085 (((
1086
1087 )))
1088
1089 (((
1090 (% style="color:#4f81bd" %)**Downlink Command: 0x01**
1091 )))
1092
1093 (((
1094 Format: Command Code (0x01) followed by 3 bytes time value.
1095 )))
1096
1097 (((
1098 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
1099 )))
1100
1101 * (((
1102 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
1103 )))
1104 * (((
1105 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
1106
1107
1108
1109
1110 )))
1111
1112 == 3.2 Set Password ==
1113
1114
1115 Feature: Set device password, max 9 digits
1116
1117
1118 (% style="color:#4f81bd" %)**AT Command: AT+PWORD**
1119
1120
1121 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:404.989px" %)
1122 |=(% style="width: 170px;" %)**Command Example**|=(% style="width: 123px;" %)**Function**|=(% style="width: 109px;" %)**Response**
1123 |(% style="width:170px" %)(((
1124 AT+PWORD=?
1125 )))|(% style="width:123px" %)(((
1126 Show password
1127 )))|(% style="width:109px" %)(((
1128 (((
1129 123456
1130 )))
1131
1132 (((
1133 OK
1134 )))
1135 )))
1136 |(% style="width:170px" %)(((
1137 AT+PWORD=999999
1138 )))|(% style="width:123px" %)(((
1139 Set password
1140 )))|(% style="width:109px" %)(((
1141 OK
1142 )))
1143
1144 (% style="color:#4f81bd" %)**Downlink Command:**
1145
1146 No downlink command for this feature.
1147
1148
1149
1150 == 3.3 Quit AT Command ==
1151
1152
1153 Feature: Quit AT Command mode, so user needs to input the password again before using AT Commands.
1154
1155
1156 (% style="color:#4f81bd" %)**AT Command: AT+DISAT**
1157
1158
1159 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:451.989px" %)
1160 |=(% style="width: 155px;" %)**Command Example**|=(% style="width: 198px;" %)**Function**|=(% style="width: 96px;" %)**Response**
1161 |(% style="width:155px" %)AT+DISAT|(% style="width:198px" %)Quit AT Commands mode|(% style="width:96px" %)OK
1162
1163 (% style="color:#4f81bd" %)**Downlink Command:**
1164
1165 No downlink command for this feature.
1166
1167
1168
1169 == 3.4 Enable / Disable Alarm ==
1170
1171
1172 Feature: Enable/Disable Alarm for open/close event. Default value 0.
1173
1174
1175 (% style="color:#4f81bd" %)**AT Command:**
1176
1177 (% id="cke_bm_3822S" style="display:none" %) [[image:image-20220609151041-6.png]]
1178
1179 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/WebHome/image-20220609140712-1.png?rev=1.1||alt="image-20220609140712-1.png"]]
1180
1181
1182 (% style="color:#4f81bd" %)**Downlink Command:**
1183
1184 **0xA7 01**  ~/~/  Same As AT+DISALARM=1
1185
1186 **0xA7 00    ** ~/~/  Same As AT+DISALARM=0
1187
1188
1189 (% style="color:red" %)**Notice, This command requires setting CPL01 to LDS03A Mode first. See **(%%)**"(% style="color:blue" %)3.7 Set the sensor mode"(%%)**
1190
1191
1192
1193 == 3.5 Alarm Base on Timeout ==
1194
1195
1196 (((
1197 (((
1198 CPL01 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:
1199
1200
1201 )))
1202 )))
1203
1204 (((
1205 (((
1206 (% style="color:#4f81bd" %)**1. Keep Status: Status to be monitor**
1207 )))
1208 )))
1209
1210 (((
1211 (((
1212 Keep Status = 1: Monitor Close to Open event
1213 )))
1214 )))
1215
1216 (((
1217 (((
1218 Keep Status = 0: Monitor Open to Close event
1219
1220
1221 )))
1222 )))
1223
1224 (((
1225 (((
1226 (% style="color:#4f81bd" %)**2. Keep Time: Timeout to send an Alarm**
1227 )))
1228 )))
1229
1230 (((
1231 (((
1232 Range 0 ~~ 65535(0xFFFF) seconds.
1233 )))
1234 )))
1235
1236 (((
1237 (((
1238 If keep time = 0, Disable Alarm Base on Timeout feature.
1239 )))
1240 )))
1241
1242 (((
1243 (((
1244 If keep time > 0, device will monitor the keep status event and send an alarm when status doesn’t change after timeout.
1245 )))
1246
1247 (((
1248
1249 )))
1250 )))
1251
1252 (((
1253 (((
1254 (% style="color:#4f81bd" %)**AT Command**(%%) to configure:
1255 )))
1256
1257 (((
1258 (% style="color:blue" %)**AT+TTRIG=1,30**(%%)  ~-~-> When the **Keep Status** change from connect to disconnect, and device remains in disconnect status for more than 30 seconds. CPL01 will send an uplink packet, the [[Alarm bit>>||anchor="H2.3.3Real-TimeOpen2FCloseStatus2CUplinkFPORT3D2"]] (the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1.
1259 )))
1260
1261 (((
1262 (% style="color:blue" %)**AT+TTIG=0,0 **(%%) ~-~-> Default Value, disable timeout Alarm.
1263 )))
1264 )))
1265
1266 (((
1267
1268 )))
1269
1270 (((
1271 (((
1272 (% style="color:#4f81bd" %)**Downlink Command**(%%) to configure:
1273 )))
1274
1275 (((
1276 **Command: 0xA9 aa bb cc**
1277 )))
1278 )))
1279
1280 (((
1281 (((
1282 A9: Command Type Code
1283 )))
1284 )))
1285
1286 (((
1287 (((
1288 aa: status to be monitored
1289 )))
1290 )))
1291
1292 (((
1293 (((
1294 bb cc: timeout.
1295 )))
1296 )))
1297
1298 (((
1299
1300 )))
1301
1302 (((
1303 (((
1304 If user send 0xA9 01 00 1E: equal to AT+TTRIG=1,30
1305 )))
1306 )))
1307
1308 (((
1309 (((
1310 Or
1311 )))
1312 )))
1313
1314 (((
1315 (((
1316 0xA9 00 00 00: Equal to AT+TTRIG=0,0. Disable timeout Alarm.
1317 )))
1318 )))
1319
1320
1321
1322 == 3.6 Clear Flash Record ==
1323
1324
1325 Feature: Clear flash storage for data log feature.
1326
1327
1328 (% style="color:#4f81bd" %)**AT Command: AT+CLRDTA**
1329
1330 [[image:image-20220609151132-7.png]]
1331
1332
1333 (((
1334 (((
1335 (% style="color:#4f81bd" %)**Downlink Command:**
1336 )))
1337
1338 (((
1339 * **Example**: 0xA301  ~/~/  Same as AT+CLRDTA
1340 )))
1341 )))
1342
1343
1344
1345
1346 == 3.7 Set the sensor mode ==
1347
1348
1349 Feature: LDS03A and CPL01 use the same firmware. User is possible to switch between this two models.
1350
1351
1352 (% style="color:#4f81bd" %)**AT Command: AT+MOD**
1353
1354 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:443.222px" %)
1355 |=(% style="width: 156px;" %)**Command Example**|=(% style="width: 195px;" %)**Function**|=(% style="width: 88px;" %)**Response**
1356 |(% style="width:156px" %)AT+MOD =1|(% style="width:195px" %)Set the sensor to LDS03A.|(% style="width:88px" %)OK
1357 |(% style="width:156px" %)AT+MOD=2|(% style="width:195px" %)Set the sensor to CPL01.|(% style="width:88px" %)OK
1358
1359 (% style="color:#4f81bd" %)**Downlink Command:**
1360
1361 * **Example**: 0x0A02  ~/~/  Same as AT+MOD=2
1362
1363
1364
1365 == 3.8 Set trigger mode ==
1366
1367
1368 Feature: Set the trigger interrupt mode.
1369
1370
1371 (% style="color:#4f81bd" %)**AT Command: AT+TTRMOD**
1372
1373 [[image:image-20220609151344-9.png]]
1374
1375
1376 (% style="color:#4f81bd" %)**Downlink Command:**
1377
1378 * **Example**: 0xA401  ~/~/  Same as AT+ TTRMOD =1
1379
1380
1381
1382 == 3.9 Set the calculate flag ==
1383
1384
1385 Feature: Set the calculate flag
1386
1387
1388 (% style="color:#4f81bd" %)**AT Command: AT+CALCFLAG**
1389
1390 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:461.222px" %)
1391 |=(% style="width: 158px;" %)**Command Example**|=(% style="width: 192px;" %)**Function**|=(% style="width: 109px;" %)**Response**
1392 |(% style="width:158px" %)AT+CALCFLAG =1|(% style="width:192px" %)Set the calculate flag to 1.|(% style="width:109px" %)OK
1393 |(% style="width:158px" %)AT+CALCFLAG =2|(% style="width:192px" %)Set the calculate flag to 2.|(% style="width:109px" %)OK
1394
1395 (% style="color:#4f81bd" %)**Downlink Command:**
1396
1397 * **Example**: 0XA501  ~/~/  Same as AT+CALCFLAG =1
1398
1399
1400
1401 == 3.10 Set count number ==
1402
1403
1404 Feature: Manually set the count number
1405
1406
1407 (% style="color:#4f81bd" %)**AT Command: AT+SETCNT**
1408
1409 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:479.989px" %)
1410 |=(% style="width: 160px;" %)**Command Example**|=(% style="width: 221px;" %)**Function**|=(% style="width: 95px;" %)**Response**
1411 |(% style="width:160px" %)AT+ SETCNT =0|(% style="width:221px" %)Set the count number to 0.|(% style="width:95px" %)OK
1412 |(% style="width:160px" %)AT+ SETCNT =100|(% style="width:221px" %)Set the count number to 100.|(% style="width:95px" %)OK
1413
1414 (% style="color:#4f81bd" %)**Downlink Command:**
1415
1416 1. **Example**: 0xA6000001  ~/~/  Same as AT+ SETCNT =1
1417 1. **Example**: 0xA6000064  ~/~/  Same as AT+ SETCNT =100
1418
1419
1420
1421 = 4. Battery & how to replace =
1422
1423
1424 == 4.1 Battery Info ==
1425
1426
1427 CPL01 is equipped with a [[8500mAH ER18505 Li-SOCI2 battery>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]. The battery is an un-rechargeable battery with a low discharge rate targeting 8~~10 years of use. This type of battery is commonly used in IoT targets for long-term running, such as water meters.
1428
1429 (((
1430 The battery-related documents are as below:
1431 )))
1432
1433 * (((
1434 [[Battery Dimension>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]],
1435 )))
1436 * (((
1437 [[Lithium-Thionyl Chloride Battery  datasheet>>https://www.dragino.com/downloads/downloads/datasheet/Battery/ER26500/ER26500_Datasheet-EN.pdf]],
1438 )))
1439 * (((
1440 [[Lithium-ion Battery-Capacitor datasheet>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]], [[Tech Spec>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]]
1441 )))
1442
1443 (((
1444 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1445
1446
1447 [[image:1652864571107-510.png]]
1448
1449
1450 )))
1451
1452 (((
1453 Minimum Working Voltage for the CPL01:
1454 )))
1455
1456 (((
1457 CPL01:  2.45v ~~ 3.6v
1458 )))
1459
1460
1461
1462 === 4.1.1 ​Battery Note ===
1463
1464
1465 (((
1466 The Li-SICO battery is designed for small current / long period applications. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period to transmit LoRa, then the battery life may be decreased.
1467 )))
1468
1469
1470
1471 == 4.2 Replace Battery ==
1472
1473
1474 (((
1475 (((
1476 Any battery with a range of 2.45 ~~ 3.6v can be a replacement. We recommend using Li-SOCl2 Battery.
1477 )))
1478 )))
1479
1480 (((
1481 (((
1482 And make sure the positive and negative pins match.
1483 )))
1484 )))
1485
1486 [[image:image-20220518170657-2.png]]
1487
1488
1489
1490 == 4.3 Battery Life Analyze ==
1491
1492
1493 (((
1494 (((
1495 Dragino battery powered products are all run in Low Power mode. User can check the guideline from this link to calculate the estimate battery life:
1496 )))
1497 )))
1498
1499 (((
1500 (((
1501 [[https:~~/~~/www.dragino.com/downloads/downloads/LoRa_End_Node/Battery_Analyze/DRAGINO_Battery_Life_Guide.pdf>>url:https://www.dragino.com/downloads/downloads/LoRa_End_Node/Battery_Analyze/DRAGINO_Battery_Life_Guide.pdf]]
1502 )))
1503 )))
1504
1505
1506
1507 = 5. FAQ =
1508
1509
1510 == 5.1 How to use AT Command to configure CPL01 ==
1511
1512
1513 CPL01 UART connection photo
1514
1515 [[image:1652864909750-855.png||height="356" width="728"]]
1516
1517
1518 (((
1519 In the PC, you need to set the serial baud rate to (% style="color:green" %)**9600**(%%) to access the serial console for LSN50. LSN50 will output system info once power on as below:
1520 )))
1521
1522 [[image:1652864915792-686.png||height="508" width="726"]]
1523
1524
1525
1526 == 5.2 How to upgrade the firmware? ==
1527
1528
1529 (((
1530 (((
1531 A new firmware might be available for:
1532 )))
1533 )))
1534
1535 * (((
1536 (((
1537 Support new features
1538 )))
1539 )))
1540 * (((
1541 (((
1542 For bug fix
1543 )))
1544 )))
1545 * (((
1546 (((
1547 Change LoRaWAN bands.
1548 )))
1549 )))
1550
1551 (((
1552 (((
1553 Instruction for how to upgrade: [[Firmware Upgrade Instruction>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome||anchor="H2.HardwareUpgradeMethodSupportList"]]
1554 )))
1555 )))
1556
1557 (((
1558 (((
1559 Firmware location: (**​​(% style="color:red" %)same firmware as LDS03A(%%)**)[[https:~~/~~/www.dropbox.com/sh/x9rpz9ftyljg135/AAAhC5hqtQOAw9_AoEEZbl9Ca?dl=0>>https://www.dropbox.com/sh/x9rpz9ftyljg135/AAAhC5hqtQOAw9_AoEEZbl9Ca?dl=0]]
1560 )))
1561 )))
1562
1563
1564
1565 == 5.3 How to change the LoRa Frequency Bands/Region? ==
1566
1567
1568 Users can follow the introduction for how to upgrade image. When downloading the images, choose the required image file for download.
1569
1570
1571
1572 = 6. Trouble Shooting =
1573
1574
1575 == 6.1  AT Commands input doesn't work ==
1576
1577
1578 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.
1579
1580
1581
1582 = 7. Order Info =
1583
1584
1585 (((
1586 (((
1587 Part Number: (% style="color:#4f81bd" %)**CPL01-XX**
1588 )))
1589 )))
1590
1591 (((
1592 (((
1593 (% style="color:#4f81bd" %)**XX**(%%): The default frequency band
1594 )))
1595 )))
1596
1597 * (((
1598 (% style="color:red" %)**AS923 **(%%)**:** LoRaWAN AS923 band
1599 )))
1600 * (((
1601 (% style="color:red" %)**AU915 **(%%)**: **LoRaWAN AU915 band
1602 )))
1603 * (((
1604 (% style="color:red" %)**EU433 **(%%)**:** LoRaWAN EU433 band
1605 )))
1606 * (((
1607 (% style="color:red" %)**EU868 **(%%)**:** LoRaWAN EU868 band
1608 )))
1609 * (((
1610 (% style="color:red" %)**KR920 **(%%)**:** LoRaWAN KR920 band
1611 )))
1612 * (((
1613 (% style="color:red" %)**US915 **(%%)**: **LoRaWAN US915 band
1614 )))
1615 * (((
1616 (% style="color:red" %)**IN865 **(%%)**:  **LoRaWAN IN865 band
1617 )))
1618 * (((
1619 (% style="color:red" %)**CN470 **(%%)**: **LoRaWAN CN470 band
1620
1621
1622
1623
1624 )))
1625
1626 = 8. Packing Info =
1627
1628
1629 (((
1630 **Package Includes**:
1631 )))
1632
1633 * (((
1634 CPL01 Open/Close Sensor x 1
1635
1636
1637
1638
1639 )))
1640
1641 = 9. Support =
1642
1643
1644 * (((
1645 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.
1646 )))
1647 * (((
1648 Provide as much information as possible regarding your inquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:file:///D:/市场资料/说明书/LoRa/LT系列/support@dragino.com]].
1649
1650
1651
1652 )))
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0