Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20221028115319-1.jpeg||height="574" width="574"]]
3
4
5
6
7
8
9 **Table of Contents:**
10
11 {{toc/}}
12
13
14
15 = 1.  Introduction =
16
17 == 1.1 ​ What is LoRaWAN LiDAR ToF Distance Sensor ==
18
19
20 (((
21 The Dragino LLDS40 is a (% style="color:blue" %)**LoRaWAN LiDAR ToF (Time of Flight) Distance Sensor**(%%) for Internet of Things solution. It is capable of measuring the distance to objects as close as 0m to 40m. The LiDAR probe uses laser induction technology for distance measurement.
22 )))
23
24 (((
25 The LLDS40 can be applied to scenarios such as horizontal distance measurement, parking management system, object proximity and presence detection, intelligent trash can management system, robot obstacle avoidance, automatic control, sewer, etc.
26 )))
27
28 (((
29 It detects the distance between the measured object and the sensor, and uploads the value via wireless to LoRaWAN IoT Server.
30 )))
31
32 (((
33 The LoRa wireless technology used in LLDS40 allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption.
34 )))
35
36 (((
37 LLDS40 is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
38 )))
39
40 (((
41 Each LLDS40 is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on.
42 )))
43
44
45 [[image:image-20221028172142-1.png]]
46
47
48
49 == ​1.2  Features ==
50
51
52 * LoRaWAN 1.0.3 Class A
53 * Ultra-low power consumption
54 * Laser technology for distance detection
55 * Measure Distance: 0.1m~~12m @ 90% Reflectivity
56 * Accuracy :  ±5cm@(0.1-6m), ±1%@(6m-12m)
57 * Monitor Battery Level
58 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
59 * AT Commands to change parameters
60 * Uplink on periodically
61 * Downlink to change configure
62 * 8500mAh Battery for long-term use
63
64 == 1.3  Probe Specification ==
65
66
67 * Storage temperature:-20℃~~75℃
68 * Operating temperature : -20℃~~60℃
69 * Measure Distance:
70 ** 0.1m ~~ 12m @ 90% Reflectivity
71 ** 0.1m ~~ 4m @ 10% Reflectivity
72 * Accuracy : ±5cm@(0.1-6m), ±1%@(6m-12m)
73 * Distance resolution : 5mm
74 * Ambient light immunity : 70klux
75 * Enclosure rating : IP65
76 * Light source : LED
77 * Central wavelength : 850nm
78 * FOV : 3.6°
79 * Material of enclosure : ABS+PC
80 * Wire length : 25cm
81
82 == 1.4  Probe Dimension ==
83
84
85 [[image:1666948963951-832.png]]
86
87
88
89 == 1.5 ​ Applications ==
90
91
92 * Horizontal distance measurement
93 * Parking management system
94 * Object proximity and presence detection
95 * Intelligent trash can management system
96 * Robot obstacle avoidance
97 * Automatic control
98 * Sewer
99
100 == 1.6  Pin mapping and power on ==
101
102
103 [[image:1654827332142-133.png]]
104
105
106
107 = 2.  Configure LLDS40 to connect to LoRaWAN network =
108
109
110 == 2.1  How it works ==
111
112
113 (((
114 The LLDS40 is configured as LoRaWAN OTAA Class A mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and power on the LLDS40. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
115 )))
116
117 (((
118 In case you can't set the OTAA keys in the LoRaWAN OTAA server, and you have to use the keys from the server, you can [[use AT Commands >>||anchor="H6.A0UseATCommand"]]to set the keys in the LLDS40.
119 )))
120
121
122
123 == 2.2  ​Quick guide to connect to LoRaWAN server (OTAA) ==
124
125
126 (((
127 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LG308>>url:http://www.dragino.com/products/lora/item/140-lg308.html]] as a LoRaWAN gateway in this example.
128 )))
129
130 (((
131 [[image:image-20221028172204-2.png]]
132 )))
133
134 (((
135 The LG308 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
136 )))
137
138 (((
139
140
141 (% style="color:blue" %)**Step 1**(%%): Create a device in TTN with the OTAA keys from LSPH01.
142 )))
143
144 (((
145 Each LSPH01 is shipped with a sticker with the default device EUI as below:
146 )))
147
148 [[image:image-20220607170145-1.jpeg]]
149
150
151
152 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
153
154
155 **Register the device**
156
157
158 [[image:1654592600093-601.png]]
159
160
161
162 **Add APP EUI and DEV EUI**
163
164 [[image:1654592619856-881.png]]
165
166
167
168 **Add APP EUI in the application**
169
170 [[image:1654592632656-512.png]]
171
172
173
174 **Add APP KEY**
175
176 [[image:1654592653453-934.png]]
177
178
179 (% style="color:blue" %)**Step 2**(%%): Power on LLDS40
180
181
182 Put a Jumper on JP2 to power on the device. ( The Switch must be in FLASH position).
183
184
185 [[image:image-20220607170442-2.png]]
186
187
188 (((
189 (% style="color:blue" %)**Step 3**(%%)**:** The LLDS40 will auto join to the TTN network. After join success, it will start to upload messages to TTN and you can see the messages in the panel.
190
191
192 )))
193
194 [[image:1654833501679-968.png]]
195
196
197
198 == 2.3  ​Uplink Payload ==
199
200
201 (((
202 LLDS40 will uplink payload via LoRaWAN with below payload format: 
203 )))
204
205 (((
206 Uplink payload includes in total 11 bytes.
207 )))
208
209 (((
210
211 )))
212
213 (% border="1" cellspacing="10" style="background-color:#ffffcc; width:510px" %)
214 |=(% style="width: 62.5px;" %)(((
215 **Size (bytes)**
216 )))|=(% style="width: 62.5px;" %)**2**|=(% style="width: 62.5px;" %)**2**|=**2**|=**2**|=**1**|=**1**|=**1**
217 |(% style="width:62.5px" %)**Value**|(% style="width:62.5px" %)[[BAT>>||anchor="H2.3.1A0BatteryInfo"]]|(% style="width:62.5px" %)(((
218 [[Temperature DS18B20>>||anchor="H2.3.2A0DS18B20Temperaturesensor"]]
219 )))|[[Distance>>||anchor="H2.3.3A0Distance"]]|[[Distance signal strength>>||anchor="H2.3.4A0Distancesignalstrength"]]|(((
220 [[Interrupt flag>>||anchor="H2.3.5A0InterruptPin"]]
221 )))|[[LiDAR temp>>||anchor="H2.3.6A0LiDARtemp"]]|(((
222 [[Message Type>>||anchor="H2.3.7A0MessageType"]]
223 )))
224
225 [[image:1654833689380-972.png]]
226
227
228
229 === 2.3.1  Battery Info ===
230
231
232 Check the battery voltage for LLDS40.
233
234 Ex1: 0x0B45 = 2885mV
235
236 Ex2: 0x0B49 = 2889mV
237
238
239
240 === 2.3.2  DS18B20 Temperature sensor ===
241
242
243 This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
244
245
246 **Example**:
247
248 If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
249
250 If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
251
252
253
254 === 2.3.3  Distance ===
255
256
257 Represents the distance value of the measurement output, the default unit is cm, and the value range parsed as a decimal number is 0-1200. In actual use, when the signal strength value Strength.
258
259
260 **Example**:
261
262 If the data you get from the register is 0x0B 0xEA, the distance between the sensor and the measured object is 0BEA(H) = 3050 (D)/10 = 305cm.
263
264
265
266 === 2.3.4  Distance signal strength ===
267
268
269 Refers to the signal strength, the default output value will be between 0-65535. When the distance measurement gear is fixed, the farther the distance measurement is, the lower the signal strength; the lower the target reflectivity, the lower the signal strength. When Strength is greater than 100 and not equal to 65535, the measured value of Dist is considered credible.
270
271
272 **Example**:
273
274 If payload is: 01D7(H)=471(D), distance signal strength=471, 471>100,471≠65535, the measured value of Dist is considered credible.
275
276 Customers can judge whether they need to adjust the environment based on the signal strength.
277
278
279
280 === 2.3.5  Interrupt Pin ===
281
282
283 This data field shows if this packet is generated by interrupt or not. [[Click here>>||anchor="H4.2A0SetInterruptMode"]] for the hardware and software set up.
284
285 Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>||anchor="H1.6A0Pinmappingandpoweron"]].
286
287 **Example:**
288
289 0x00: Normal uplink packet.
290
291 0x01: Interrupt Uplink Packet.
292
293
294
295 === 2.3.6  LiDAR temp ===
296
297
298 Characterize the internal temperature value of the sensor.
299
300 **Example: **
301 If payload is: 1C(H) <<24>>24=28(D),LiDAR temp=28℃.
302 If payload is: F2(H) <<24>>24=-14(D),LiDAR temp=-14℃.
303
304
305
306 === 2.3.7  Message Type ===
307
308
309 (((
310 For a normal uplink payload, the message type is always 0x01.
311 )))
312
313 (((
314 Valid Message Type:
315 )))
316
317
318 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:499px" %)
319 |=(% style="width: 160px;" %)**Message Type Code**|=(% style="width: 163px;" %)**Description**|=(% style="width: 173px;" %)**Payload**
320 |(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)[[Normal Uplink Payload>>||anchor="H2.3A0200BUplinkPayload"]]
321 |(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)[[Configure Info Payload>>||anchor="H4.3A0GetFirmwareVersionInfo"]]
322
323 === 2.3.8  Decode payload in The Things Network ===
324
325
326 While using TTN network, you can add the payload format to decode the payload.
327
328
329 [[image:1654592762713-715.png]]
330
331
332 (((
333 The payload decoder function for TTN is here:
334 )))
335
336 (((
337 LLDS40 TTN Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/LLDS40>>https://github.com/dragino/dragino-end-node-decoder/tree/main/LLDS40]]
338 )))
339
340
341
342 == 2.4  Uplink Interval ==
343
344
345 The LLDS40 by default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link: [[Change Uplink Interval>>doc:Main.End Device AT Commands and Downlink Command.WebHome||anchor="H4.1ChangeUplinkInterval"]]
346
347
348
349 == 2.5  ​Show Data in DataCake IoT Server ==
350
351
352 (((
353 [[DATACAKE>>url:https://datacake.co/]] provides a human friendly interface to show the sensor data, once we have data in TTN, we can use [[DATACAKE>>url:https://datacake.co/]] to connect to TTN and see the data in DATACAKE. Below are the steps:
354 )))
355
356 (((
357
358 )))
359
360 (((
361 (% style="color:blue" %)**Step 1**(%%)**: Be sure that your device is programmed and properly connected to the network at this time.**
362 )))
363
364 (((
365 (% style="color:blue" %)**Step 2**(%%)**: To configure the Application to forward data to DATACAKE you will need to add integration. To add the DATACAKE integration, perform the following steps:**
366 )))
367
368
369 [[image:1654592790040-760.png]]
370
371
372 [[image:1654592800389-571.png]]
373
374
375 (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
376
377 (% style="color:blue" %)**Step 4**(%%)**: Create LLDS40 product.**
378
379 [[image:1654832691989-514.png]]
380
381
382 [[image:1654592833877-762.png]]
383
384
385 [[image:1654832740634-933.png]]
386
387
388
389 (((
390 (% style="color:blue" %)**Step 5**(%%)**: add payload decode**
391 )))
392
393 (((
394
395 )))
396
397 [[image:1654833065139-942.png]]
398
399
400
401 [[image:1654833092678-390.png]]
402
403
404
405 After added, the sensor data arrive TTN, it will also arrive and show in Datacake.
406
407 [[image:1654833163048-332.png]]
408
409
410
411 == 2.6  Frequency Plans ==
412
413
414 (((
415 The LLDS40 uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
416 )))
417
418
419
420 === 2.6.1  EU863-870 (EU868) ===
421
422
423 (((
424 (% style="color:blue" %)**Uplink:**
425 )))
426
427 (((
428 868.1 - SF7BW125 to SF12BW125
429 )))
430
431 (((
432 868.3 - SF7BW125 to SF12BW125 and SF7BW250
433 )))
434
435 (((
436 868.5 - SF7BW125 to SF12BW125
437 )))
438
439 (((
440 867.1 - SF7BW125 to SF12BW125
441 )))
442
443 (((
444 867.3 - SF7BW125 to SF12BW125
445 )))
446
447 (((
448 867.5 - SF7BW125 to SF12BW125
449 )))
450
451 (((
452 867.7 - SF7BW125 to SF12BW125
453 )))
454
455 (((
456 867.9 - SF7BW125 to SF12BW125
457 )))
458
459 (((
460 868.8 - FSK
461 )))
462
463 (((
464
465 )))
466
467 (((
468 (% style="color:blue" %)**Downlink:**
469 )))
470
471 (((
472 Uplink channels 1-9 (RX1)
473 )))
474
475 (((
476 869.525 - SF9BW125 (RX2 downlink only)
477 )))
478
479
480
481 === 2.6.2  US902-928(US915) ===
482
483
484 (((
485 Used in USA, Canada and South America. Frequency band as per definition in LoRaWAN 1.0.3 Regional document.
486 )))
487
488 (((
489 To make sure the end node supports all sub band by default. In the OTAA Join process, the end node will use frequency 1 from sub-band1, then frequency 1 from sub-band2, then frequency 1 from sub-band3, etc to process the OTAA join.
490 )))
491
492 (((
493 After Join success, the end node will switch to the correct sub band by:
494 )))
495
496 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band
497 * Use the Join successful sub-band if the server doesn't include sub-band info in the OTAA Join Accept message ( TTN v2 doesn't include)
498
499 === 2.6.3  CN470-510 (CN470) ===
500
501
502 (((
503 Used in China, Default use CHE=1
504 )))
505
506 (((
507 (% style="color:blue" %)**Uplink:**
508 )))
509
510 (((
511 486.3 - SF7BW125 to SF12BW125
512 )))
513
514 (((
515 486.5 - SF7BW125 to SF12BW125
516 )))
517
518 (((
519 486.7 - SF7BW125 to SF12BW125
520 )))
521
522 (((
523 486.9 - SF7BW125 to SF12BW125
524 )))
525
526 (((
527 487.1 - SF7BW125 to SF12BW125
528 )))
529
530 (((
531 487.3 - SF7BW125 to SF12BW125
532 )))
533
534 (((
535 487.5 - SF7BW125 to SF12BW125
536 )))
537
538 (((
539 487.7 - SF7BW125 to SF12BW125
540 )))
541
542 (((
543
544 )))
545
546 (((
547 (% style="color:blue" %)**Downlink:**
548 )))
549
550 (((
551 506.7 - SF7BW125 to SF12BW125
552 )))
553
554 (((
555 506.9 - SF7BW125 to SF12BW125
556 )))
557
558 (((
559 507.1 - SF7BW125 to SF12BW125
560 )))
561
562 (((
563 507.3 - SF7BW125 to SF12BW125
564 )))
565
566 (((
567 507.5 - SF7BW125 to SF12BW125
568 )))
569
570 (((
571 507.7 - SF7BW125 to SF12BW125
572 )))
573
574 (((
575 507.9 - SF7BW125 to SF12BW125
576 )))
577
578 (((
579 508.1 - SF7BW125 to SF12BW125
580 )))
581
582 (((
583 505.3 - SF12BW125 (RX2 downlink only)
584 )))
585
586
587
588 === 2.6.4  AU915-928(AU915) ===
589
590
591 (((
592 Frequency band as per definition in LoRaWAN 1.0.3 Regional document.
593 )))
594
595 (((
596 To make sure the end node supports all sub band by default. In the OTAA Join process, the end node will use frequency 1 from sub-band1, then frequency 1 from sub-band2, then frequency 1 from sub-band3, etc to process the OTAA join.
597 )))
598
599 (((
600
601 )))
602
603 (((
604 After Join success, the end node will switch to the correct sub band by:
605 )))
606
607 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band
608 * Use the Join successful sub-band if the server doesn't include sub-band info in the OTAA Join Accept message ( TTN v2 doesn't include)
609
610 === 2.6.5  AS920-923 & AS923-925 (AS923) ===
611
612
613 (((
614 (% style="color:blue" %)**Default Uplink channel:**
615 )))
616
617 (((
618 923.2 - SF7BW125 to SF10BW125
619 )))
620
621 (((
622 923.4 - SF7BW125 to SF10BW125
623 )))
624
625 (((
626
627 )))
628
629 (((
630 (% style="color:blue" %)**Additional Uplink Channel**:
631 )))
632
633 (((
634 (OTAA mode, channel added by JoinAccept message)
635 )))
636
637 (((
638
639 )))
640
641 (((
642 (% style="color:blue" %)**AS920~~AS923 for Japan, Malaysia, Singapore**:
643 )))
644
645 (((
646 922.2 - SF7BW125 to SF10BW125
647 )))
648
649 (((
650 922.4 - SF7BW125 to SF10BW125
651 )))
652
653 (((
654 922.6 - SF7BW125 to SF10BW125
655 )))
656
657 (((
658 922.8 - SF7BW125 to SF10BW125
659 )))
660
661 (((
662 923.0 - SF7BW125 to SF10BW125
663 )))
664
665 (((
666 922.0 - SF7BW125 to SF10BW125
667 )))
668
669 (((
670
671 )))
672
673 (((
674 (% style="color:blue" %)**AS923 ~~ AS925 for Brunei, Cambodia, Hong Kong, Indonesia, Laos, Taiwan, Thailand, Vietnam**:
675 )))
676
677 (((
678 923.6 - SF7BW125 to SF10BW125
679 )))
680
681 (((
682 923.8 - SF7BW125 to SF10BW125
683 )))
684
685 (((
686 924.0 - SF7BW125 to SF10BW125
687 )))
688
689 (((
690 924.2 - SF7BW125 to SF10BW125
691 )))
692
693 (((
694 924.4 - SF7BW125 to SF10BW125
695 )))
696
697 (((
698 924.6 - SF7BW125 to SF10BW125
699 )))
700
701 (((
702
703 )))
704
705 (((
706 (% style="color:blue" %)**Downlink:**
707 )))
708
709 (((
710 Uplink channels 1-8 (RX1)
711 )))
712
713 (((
714 923.2 - SF10BW125 (RX2)
715 )))
716
717
718
719 === 2.6.6  KR920-923 (KR920) ===
720
721
722 (((
723 (% style="color:blue" %)**Default channel:**
724 )))
725
726 (((
727 922.1 - SF7BW125 to SF12BW125
728 )))
729
730 (((
731 922.3 - SF7BW125 to SF12BW125
732 )))
733
734 (((
735 922.5 - SF7BW125 to SF12BW125
736 )))
737
738 (((
739
740 )))
741
742 (((
743 (% style="color:blue" %)**Uplink: (OTAA mode, channel added by JoinAccept message)**
744 )))
745
746 (((
747 922.1 - SF7BW125 to SF12BW125
748 )))
749
750 (((
751 922.3 - SF7BW125 to SF12BW125
752 )))
753
754 (((
755 922.5 - SF7BW125 to SF12BW125
756 )))
757
758 (((
759 922.7 - SF7BW125 to SF12BW125
760 )))
761
762 (((
763 922.9 - SF7BW125 to SF12BW125
764 )))
765
766 (((
767 923.1 - SF7BW125 to SF12BW125
768 )))
769
770 (((
771 923.3 - SF7BW125 to SF12BW125
772 )))
773
774 (((
775
776 )))
777
778 (((
779 (% style="color:blue" %)**Downlink:**
780 )))
781
782 (((
783 Uplink channels 1-7(RX1)
784 )))
785
786 (((
787 921.9 - SF12BW125 (RX2 downlink only; SF12BW125 might be changed to SF9BW125)
788 )))
789
790
791
792 === 2.6.7  IN865-867 (IN865) ===
793
794
795 (((
796 (% style="color:blue" %)**Uplink:**
797 )))
798
799 (((
800 865.0625 - SF7BW125 to SF12BW125
801 )))
802
803 (((
804 865.4025 - SF7BW125 to SF12BW125
805 )))
806
807 (((
808 865.9850 - SF7BW125 to SF12BW125
809 )))
810
811 (((
812
813 )))
814
815 (((
816 (% style="color:blue" %)**Downlink:**
817 )))
818
819 (((
820 Uplink channels 1-3 (RX1)
821 )))
822
823 (((
824 866.550 - SF10BW125 (RX2)
825 )))
826
827
828
829 == 2.7  LED Indicator ==
830
831
832 The LLDS40 has an internal LED which is to show the status of different state.
833
834 * The sensor is detected when the device is turned on, and it will flash 4 times quickly when it is detected.
835 * Blink once when device transmit a packet.
836
837 == 2.8  ​Firmware Change Log ==
838
839
840 **Firmware download link:  **[[https:~~/~~/www.dropbox.com/sh/zjrobt4eb6tju89/AADPX7jC7mLN2dlvV-Miz3nFa?dl=0>>https://www.dropbox.com/sh/zjrobt4eb6tju89/AADPX7jC7mLN2dlvV-Miz3nFa?dl=0]]
841
842 **Firmware Upgrade Method: **[[Firmware Upgrade Instruction>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]]
843
844
845
846 = 3.  LiDAR ToF Measurement =
847
848
849 == 3.1 Principle of Distance Measurement ==
850
851
852 The LiDAR probe is based on TOF, namely, Time of Flight principle. To be specific, the product emits modulation wave of near infrared ray on a periodic basis, which will be reflected after contacting object. The product obtains the time of flight by measuring round-trip phase difference and then calculates relative range between the product and the detection object, as shown below.
853
854
855 [[image:1654831757579-263.png]]
856
857
858
859 == 3.2 Distance Measurement Characteristics ==
860
861
862 With optimization of light path and algorithm, The LiDAR probe has minimized influence from external environment on distance measurement performance. Despite that, the range of distance measurement may still be affected by the environment illumination intensity and the reflectivity of detection object. As shown in below:
863
864 [[image:1654831774373-275.png]]
865
866
867 (((
868 (% style="color:blue" %)**① **(%%)Represents the detection blind zone of The LiDAR probe, 0-10cm, within which the output data is unreliable.
869 )))
870
871 (((
872 (% style="color:blue" %)**② **(%%)Represents the operating range of The LiDAR probe detecting black target with 10% reflectivity, 0.1-5m.
873 )))
874
875 (((
876 (% style="color:blue" %)**③ **(%%)Represents the operating range of The LiDAR probe detecting white target with 90% reflectivity, 0.1-12m.
877 )))
878
879
880 (((
881 Vertical Coordinates: Represents the radius of light spot for The LiDAR probe at different distances. The diameter of light spot depends on the FOV of The LiDAR probe (the term of FOV generally refers to the smaller value between the receiving angle and the transmitting angle), which is calculated as follows:
882 )))
883
884
885 [[image:1654831797521-720.png]]
886
887
888 (((
889 In the formula above, d is the diameter of light spot; D is detecting range; β is the value of the receiving angle of The LiDAR probe, 3.6°. Correspondence between the diameter of light spot and detecting range is given in Table below.
890 )))
891
892 [[image:1654831810009-716.png]]
893
894
895 (((
896 If the light spot reaches two objects with different distances, as shown in Figure 3, the output distance value will be a value between the actual distance values of the two objects. For a high accuracy requirement in practice, the above situation should be noticed to avoid the measurement error.
897 )))
898
899
900
901 == 3.3 Notice of usage: ==
902
903
904 Possible invalid /wrong reading for LiDAR ToF tech:
905
906 * Measure high reflectivity object such as: Mirror, Smooth ceramic tile, static milk surface, will have possible wrong readings.
907 * While there is transparent object such as glass, water drop between the measured object and the LiDAR sensor, the reading might be wrong.
908 * The LiDAR probe is cover by dirty things; the reading might be wrong. In this case, need to clean the probe.
909 * The sensor window is made by Acrylic. Don't touch it with alcohol material. This will destroy the sensor window.
910
911 == 3.4  Reflectivity of different objects: ==
912
913
914 (% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:379px" %)
915 |=(% style="width: 53px;" %)Item|=(% style="width: 229px;" %)Material|=(% style="width: 93px;" %)Relectivity
916 |(% style="width:53px" %)1|(% style="width:229px" %)Black foam rubber|(% style="width:93px" %)2.4%
917 |(% style="width:53px" %)2|(% style="width:229px" %)Black fabric|(% style="width:93px" %)3%
918 |(% style="width:53px" %)3|(% style="width:229px" %)Black rubber|(% style="width:93px" %)4%
919 |(% style="width:53px" %)4|(% style="width:229px" %)Coal (different types of coal)|(% style="width:93px" %)4~~8%
920 |(% style="width:53px" %)5|(% style="width:229px" %)Black car paint|(% style="width:93px" %)5%
921 |(% style="width:53px" %)6|(% style="width:229px" %)Black Jam|(% style="width:93px" %)10%
922 |(% style="width:53px" %)7|(% style="width:229px" %)Opaque black plastic|(% style="width:93px" %)14%
923 |(% style="width:53px" %)8|(% style="width:229px" %)Clean rough board|(% style="width:93px" %)20%
924 |(% style="width:53px" %)9|(% style="width:229px" %)Translucent plastic bottle|(% style="width:93px" %)62%
925 |(% style="width:53px" %)10|(% style="width:229px" %)Carton cardboard|(% style="width:93px" %)68%
926 |(% style="width:53px" %)11|(% style="width:229px" %)Clean pine|(% style="width:93px" %)70%
927 |(% style="width:53px" %)12|(% style="width:229px" %)Opaque white plastic|(% style="width:93px" %)87%
928 |(% style="width:53px" %)13|(% style="width:229px" %)White Jam|(% style="width:93px" %)90%
929 |(% style="width:53px" %)14|(% style="width:229px" %)Kodak Standard Whiteboard|(% style="width:93px" %)100%
930 |(% style="width:53px" %)15|(% style="width:229px" %)(((
931 Unpolished white metal surface
932 )))|(% style="width:93px" %)130%
933 |(% style="width:53px" %)16|(% style="width:229px" %)Glossy light metal surface|(% style="width:93px" %)150%
934 |(% style="width:53px" %)17|(% style="width:229px" %)stainless steel|(% style="width:93px" %)200%
935 |(% style="width:53px" %)18|(% style="width:229px" %)Reflector plate, reflective tape|(% style="width:93px" %)>300%
936
937 = 4.  Configure LLDS40 via AT Command or LoRaWAN Downlink =
938
939
940 Use can configure LLDS40 via AT Command or LoRaWAN Downlink.
941
942 * (((
943 (((
944 AT Command Connection: See [[FAQ>>||anchor="H7.A0FAQ"]].
945 )))
946 )))
947 * (((
948 (((
949 LoRaWAN Downlink instruction for different platforms: [[IoT LoRaWAN Server>>doc:Main.WebHome]]
950 )))
951 )))
952
953 (((
954 (((
955
956 )))
957
958 (((
959 There are two kinds of commands to configure LLDS40, they are:
960 )))
961 )))
962
963 * (((
964 (((
965 (% style="color:#4f81bd" %)** General Commands**.
966 )))
967 )))
968
969 (((
970 (((
971 These commands are to configure:
972 )))
973 )))
974
975 * (((
976 (((
977 General system settings like: uplink interval.
978 )))
979 )))
980 * (((
981 (((
982 LoRaWAN protocol & radio related command.
983 )))
984 )))
985
986 (((
987 (((
988 They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. 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]]
989 )))
990 )))
991
992 (((
993 (((
994
995 )))
996 )))
997
998 * (((
999 (((
1000 (% style="color:#4f81bd" %)** Commands special design for LLDS40**
1001 )))
1002 )))
1003
1004 (((
1005 (((
1006 These commands only valid for LLDS40, as below:
1007 )))
1008 )))
1009
1010
1011
1012 == 4.1  Set Transmit Interval Time ==
1013
1014
1015 Feature: Change LoRaWAN End Node Transmit Interval.
1016
1017 (% style="color:#037691" %)**AT Command: AT+TDC**
1018
1019 [[image:image-20220607171554-8.png]]
1020
1021
1022 (((
1023 (% style="color:#037691" %)**Downlink Command: 0x01**
1024 )))
1025
1026 (((
1027 Format: Command Code (0x01) followed by 3 bytes time value.
1028 )))
1029
1030 (((
1031 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
1032 )))
1033
1034 * (((
1035 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
1036 )))
1037 * (((
1038 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
1039
1040
1041
1042
1043 )))
1044
1045 == 4.2  Set Interrupt Mode ==
1046
1047
1048 Feature, Set Interrupt mode for GPIO_EXIT.
1049
1050 (% style="color:#037691" %)**AT Command: AT+INTMOD**
1051
1052 [[image:image-20220610105806-2.png]]
1053
1054
1055 (((
1056 (% style="color:#037691" %)**Downlink Command: 0x06**
1057 )))
1058
1059 (((
1060 Format: Command Code (0x06) followed by 3 bytes.
1061 )))
1062
1063 (((
1064 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1065 )))
1066
1067 * (((
1068 Example 1: Downlink Payload: 06000000  ~/~/ Turn off interrupt mode
1069 )))
1070 * (((
1071 Example 2: Downlink Payload: 06000003  ~/~/ Set the interrupt mode to rising edge trigger
1072
1073
1074
1075
1076 )))
1077
1078 == 4.3  Get Firmware Version Info ==
1079
1080
1081 Feature: use downlink to get firmware version.
1082
1083 (% style="color:#037691" %)**Downlink Command: 0x26**
1084
1085 [[image:image-20220607171917-10.png]]
1086
1087 * Reply to the confirmation package: 26 01
1088 * Reply to non-confirmed packet: 26 00
1089
1090 Device will send an uplink after got this downlink command. With below payload:
1091
1092 Configures info payload:
1093
1094 (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
1095 |=(((
1096 **Size(bytes)**
1097 )))|=**1**|=**1**|=**1**|=**1**|=**1**|=**5**|=**1**
1098 |**Value**|Software Type|(((
1099 Frequency
1100 Band
1101 )))|Sub-band|(((
1102 Firmware
1103 Version
1104 )))|Sensor Type|Reserve|(((
1105 [[Message Type>>||anchor="H2.3.7A0MessageType"]]
1106 Always 0x02
1107 )))
1108
1109 (% style="color:#037691" %)**Software Type**(%%): Always 0x03 for LLDS40
1110
1111
1112 (% style="color:#037691" %)**Frequency Band**:
1113
1114 *0x01: EU868
1115
1116 *0x02: US915
1117
1118 *0x03: IN865
1119
1120 *0x04: AU915
1121
1122 *0x05: KZ865
1123
1124 *0x06: RU864
1125
1126 *0x07: AS923
1127
1128 *0x08: AS923-1
1129
1130 *0x09: AS923-2
1131
1132 *0xa0: AS923-3
1133
1134
1135 (% style="color:#037691" %)**Sub-Band**(%%): value 0x00 ~~ 0x08
1136
1137
1138 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
1139
1140
1141 (% style="color:#037691" %)**Sensor Type**:
1142
1143 0x01: LSE01
1144
1145 0x02: LDDS75
1146
1147 0x03: LDDS20
1148
1149 0x04: LLMS01
1150
1151 0x05: LSPH01
1152
1153 0x06: LSNPK01
1154
1155 0x07: LLDS40
1156
1157
1158
1159 = 5.  Battery & How to replace =
1160
1161
1162 == 5.1  Battery Type ==
1163
1164
1165 (((
1166 LLDS40 is equipped with a [[8500mAH ER26500 Li-SOCI2 battery>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]. The battery is un-rechargeable battery with low discharge rate targeting for 8~~10 years use. This type of battery is commonly used in IoT target for long-term running, such as water meter.
1167 )))
1168
1169 (((
1170 The discharge curve is not linear so can't simply use percentage to show the battery level. Below is the battery performance.
1171
1172
1173 )))
1174
1175 [[image:1654593587246-335.png]]
1176
1177
1178 Minimum Working Voltage for the LLDS40:
1179
1180 LLDS40:  2.45v ~~ 3.6v
1181
1182
1183
1184 == 5.2  Replace Battery ==
1185
1186
1187 (((
1188 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery.
1189 )))
1190
1191 (((
1192 And make sure the positive and negative pins match.
1193 )))
1194
1195
1196
1197 == 5.3  Power Consumption Analyze ==
1198
1199
1200 (((
1201 Dragino Battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval.
1202 )))
1203
1204 (((
1205 Instruction to use as below:
1206 )))
1207
1208
1209 (% style="color:blue" %)**Step 1**(%%): Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from:
1210
1211 [[https:~~/~~/www.dragino.com/downloads/index.pHp?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]]
1212
1213
1214 (% style="color:blue" %)**Step 2**(%%): Open it and choose
1215
1216 * Product Model
1217 * Uplink Interval
1218 * Working Mode
1219
1220 And the Life expectation in difference case will be shown on the right.
1221
1222 [[image:1654593605679-189.png]]
1223
1224
1225 The battery related documents as below:
1226
1227 * (((
1228 [[Battery Dimension>>https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/]],
1229 )))
1230 * (((
1231 [[Lithium-Thionyl Chloride Battery  datasheet>>url:https://www.dragino.com/downloads/downloads/datasheet/Battery/ER26500/ER26500_Datasheet-EN.pdf]],
1232 )))
1233 * (((
1234 [[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/]]
1235 )))
1236
1237 [[image:image-20220607172042-11.png]]
1238
1239
1240
1241 === 5.3.1  ​Battery Note ===
1242
1243
1244 (((
1245 The Li-SICO battery is designed for small current / long period application. 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 time to transmit LoRa, then the battery life may be decreased.
1246 )))
1247
1248
1249
1250 === ​5.3.2  Replace the battery ===
1251
1252
1253 (((
1254 You can change the battery in the LLDS40.The type of battery is not limited as long as the output is between 3v to 3.6v. On the main board, there is a diode (D1) between the battery and the main circuit. If you need to use a battery with less than 3.3v, please remove the D1 and shortcut the two pads of it so there won't be voltage drop between battery and main board.
1255 )))
1256
1257 (((
1258 The default battery pack of LLDS40 includes a ER26500 plus super capacitor. If user can't find this pack locally, they can find ER26500 or equivalence, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes)
1259 )))
1260
1261
1262
1263 = 6.  Use AT Command =
1264
1265
1266 == 6.1  Access AT Commands ==
1267
1268
1269 LLDS40 supports AT Command set in the stock firmware. You can use a USB to TTL adapter to connect to LLDS40 for using AT command, as below.
1270
1271
1272 [[image:1654593668970-604.png]]
1273
1274
1275 **Connection:**
1276
1277 (% style="background-color:yellow" %)** USB TTL GND <~-~-~-~-> GND**
1278
1279 (% style="background-color:yellow" %)** USB TTL TXD  <~-~-~-~-> UART_RXD**
1280
1281 (% style="background-color:yellow" %)** USB TTL RXD  <~-~-~-~-> UART_TXD**
1282
1283
1284 (((
1285 (((
1286 In the PC, you need to set the serial baud rate to (% style="color:green" %)**9600**(%%) to access the serial console for LLDS40.
1287 )))
1288
1289 (((
1290 LLDS40 will output system info once power on as below:
1291 )))
1292 )))
1293
1294
1295 [[image:1654593712276-618.png]]
1296
1297 Valid AT Command please check [[Configure Device>>||anchor="H4.A0ConfigureLLDS40viaATCommandorLoRaWANDownlink"]].
1298
1299
1300
1301 = 7.  FAQ =
1302
1303
1304 == 7.1  How to change the LoRa Frequency Bands/Region ==
1305
1306
1307 You can follow the instructions for [[how to upgrade image>>||anchor="H2.8A0200BFirmwareChangeLog"]].
1308 When downloading the images, choose the required image file for download. ​
1309
1310
1311
1312 = 8.  Trouble Shooting =
1313
1314
1315 == 8.1  AT Commands input doesn't work ==
1316
1317
1318
1319 (((
1320 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.
1321 )))
1322
1323
1324
1325 == 8.2  Significant error between the output distant value of LiDAR and actual distance ==
1326
1327
1328 (((
1329 (% style="color:blue" %)**Cause ①**(%%)**:**Due to the physical principles of The LiDAR probe, the above phenomenon is likely to occur if the detection object is the material with high reflectivity (such as mirror, smooth floor tile, etc.) or transparent substance (such as glass and water, etc.)
1330 )))
1331
1332 (((
1333 Troubleshooting: Please avoid use of this product under such circumstance in practice.
1334 )))
1335
1336 (((
1337
1338 )))
1339
1340 (((
1341 (% style="color:blue" %)**Cause ②**(%%)**: **The IR-pass filters are blocked.
1342 )))
1343
1344 (((
1345 Troubleshooting: please use dry dust-free cloth to gently remove the foreign matter.
1346 )))
1347
1348
1349
1350 = 9.  Order Info =
1351
1352
1353 Part Number: (% style="color:blue" %)**LLDS40-XX**
1354
1355
1356 (% style="color:blue" %)**XX**(%%): The default frequency band
1357
1358 * (% style="color:red" %)**AS923**(%%):  LoRaWAN AS923 band
1359 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1360 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1361 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1362 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1363 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1364 * (% style="color:red" %)**IN865**(%%):  LoRaWAN IN865 band
1365 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1366
1367 = 10. ​ Packing Info =
1368
1369
1370 **Package Includes**:
1371
1372 * LLDS40 LoRaWAN LiDAR Distance Sensor x 1
1373
1374 **Dimension and weight**:
1375
1376 * Device Size: cm
1377 * Device Weight: g
1378 * Package Size / pcs : cm
1379 * Weight / pcs : g
1380
1381 = 11.  ​Support =
1382
1383
1384 * 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.
1385 * 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]].
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0