Changes for page DS20L -- LoRaWAN Smart Distance Detector User Manual 01
Last modified by Mengting Qiu on 2023/12/14 11:15
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 5 removed)
Details
- Page properties
-
- Content
-
... ... @@ -47,7 +47,6 @@ 47 47 * Firmware upgradable via program port or LoRa protocol 48 48 * Built-in 2400mAh battery or power by external power source 49 49 50 - 51 51 == 1.3 Specification == 52 52 53 53 ... ... @@ -61,7 +61,6 @@ 61 61 * ToF FoV: ±9°, Total 18° 62 62 * Light source: VCSEL 63 63 64 - 65 65 == 1.4 Power Consumption == 66 66 67 67 ... ... @@ -75,7 +75,6 @@ 75 75 * Idle: 21 mA @ 3.3v 76 76 * Max : 360 mA 77 77 78 - 79 79 = 2. Configure DS20L to connect to LoRaWAN network = 80 80 81 81 == 2.1 How it works == ... ... @@ -209,120 +209,219 @@ 209 209 === 2.3.2 Uplink Payload, FPORT~=2 === 210 210 211 211 212 -==== (% style="color:red" %)**MOD~=1**(%%) ==== 209 +((( 210 +DS20L will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS20L will: 213 213 214 - Regularlydetect distanceandreport. When the distanceexceedsthelimit, the alarm flagisset to 1, andtheeportcan betriggered by externalinterrupts.212 +periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]]. 215 215 216 -Uplink Payload totals 10 bytes. 214 +Uplink Payload totals 11 bytes. 215 +))) 217 217 218 218 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 219 -|(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:30px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**1**|(% style="background-color:#4f81bd; color:white; width:120px" %)**4** 220 -|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+ Alarm+Interrupt|(% style="width:74px" %)Distance|(% style="width:100px" %)Sensor State|(% style="width:119px" %)Interrupt Count 218 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 219 +**Size(bytes)** 220 +)))|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white; width: 80px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 70px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 70px;" %)**1** 221 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% style="width:62.5px" %)((( 222 +[[Temperature DS18B20>>||anchor="HDS18B20Temperaturesensor"]] 223 +)))|[[Distance>>||anchor="HDistance"]]|[[Distance signal strength>>||anchor="HDistancesignalstrength"]]|(% style="width:122px" %)((( 224 +[[Interrupt flag & Interrupt_level>>||anchor="HInterruptPin26A0InterruptLevel"]] 225 +)))|(% style="width:54px" %)[[LiDAR temp>>||anchor="HLiDARtemp"]]|(% style="width:96px" %)((( 226 +[[Message Type>>||anchor="HMessageType"]] 227 +))) 221 221 222 -[[image:1 701155076393-719.png]]229 +[[image:image-20230805104104-2.png||height="136" width="754"]] 223 223 224 -(% style="color:blue" %)**Battery Info:** 225 225 226 - CheckthevoltageforDS20L232 +==== (% style="color:blue" %)**Battery Info**(%%) ==== 227 227 228 -Ex1: 0x0E10 = 3600mV 229 229 235 +Check the battery voltage for DS20L. 230 230 231 - (% style="color:blue"%)**MOD&Alarm& Interrupt:**237 +Ex1: 0x0B45 = 2885mV 232 232 233 - (%style="color:red"%)**MOD:**239 +Ex2: 0x0B49 = 2889mV 234 234 235 -**Example: ** (0x60>>6) & 0x3f =1 236 236 237 -**0x01:** Regularly detect distance and report. 238 -**0x02: ** Uninterrupted measurement (external power supply). 242 +==== (% style="color:blue" %)**DS18B20 Temperature sensor**(%%) ==== 239 239 240 -(% style="color:red" %)**Alarm:** 241 241 242 - Whenthedetectiondistance exceeds thelimit,the alarmflagisset to 1.245 +This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature. 243 243 244 -(% style="color:red" %)**Interrupt:** 245 245 246 - Whether it is an externalinterrupt.248 +**Example**: 247 247 250 +If payload is: 0105H: (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree 248 248 249 - (%style="color:blue"%)**Distanceinfo:**252 +If payload is: FF3FH : (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. 250 250 254 + 255 +==== (% style="color:blue" %)**Distance**(%%) ==== 256 + 257 + 258 +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. 259 + 260 + 251 251 **Example**: 252 252 253 -If payloadis:0708H:distance=0708H =1800 mm263 +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. 254 254 255 255 256 -(% style="color:blue" %)** SensorState:**266 +==== (% style="color:blue" %)**Distance signal strength**(%%) ==== 257 257 258 -Ex1: 0x00: Normal collection distance 259 259 260 - Ex20x0x:Distance collection iswrong269 +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. 261 261 262 262 263 - (% style="color:blue" %)**Interript Count:**272 +**Example**: 264 264 265 -If payload is:0 00007D0H:count= 07D0H=2000274 +If payload is: 01D7(H)=471(D), distance signal strength=471, 471>100,471≠65535, the measured value of Dist is considered credible. 266 266 276 +Customers can judge whether they need to adjust the environment based on the signal strength. 267 267 268 268 269 - ====(%style="color:red"%)**MOD~=2**(%%)** ** ====279 +**1) When the sensor detects valid data:** 270 270 271 - Uninterruptedmeasurement.Whenthedistance exceeds the limit, the output IO is set highand reportsare reported every five minutes. The time can be set and powered by an external power supply.Uplink Payloadotals 11bytes.281 +[[image:image-20230805155335-1.png||height="145" width="724"]] 272 272 283 + 284 +**2) When the sensor detects invalid data:** 285 + 286 +[[image:image-20230805155428-2.png||height="139" width="726"]] 287 + 288 + 289 +**3) When the sensor is not connected:** 290 + 291 +[[image:image-20230805155515-3.png||height="143" width="725"]] 292 + 293 + 294 +==== (% style="color:blue" %)**Interrupt Pin & Interrupt Level**(%%) ==== 295 + 296 + 297 +This data field shows if this packet is generated by interrupt or not. [[Click here>>||anchor="H3.3.2SetInterruptMode"]] for the hardware and software set up. 298 + 299 +Note: The Internet Pin is a separate pin in the screw terminal. See pin mapping of GPIO_EXTI . 300 + 301 +**Example:** 302 + 303 +If byte[0]&0x01=0x00 : Normal uplink packet. 304 + 305 +If byte[0]&0x01=0x01 : Interrupt Uplink Packet. 306 + 307 + 308 +==== (% style="color:blue" %)**LiDAR temp**(%%) ==== 309 + 310 + 311 +Characterize the internal temperature value of the sensor. 312 + 313 +**Example: ** 314 +If payload is: 1C(H) <<24>>24=28(D),LiDAR temp=28℃. 315 +If payload is: F2(H) <<24>>24=-14(D),LiDAR temp=-14℃. 316 + 317 + 318 +==== (% style="color:blue" %)**Message Type**(%%) ==== 319 + 320 + 321 +((( 322 +For a normal uplink payload, the message type is always 0x01. 323 +))) 324 + 325 +((( 326 +Valid Message Type: 327 +))) 328 + 329 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:499px" %) 330 +|=(% style="width: 161px;background-color:#4F81BD;color:white" %)**Message Type Code**|=(% style="width: 164px;background-color:#4F81BD;color:white" %)**Description**|=(% style="width: 174px;background-color:#4F81BD;color:white" %)**Payload** 331 +|(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)Normal Uplink Payload 332 +|(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)Configure Info Payload 333 + 334 +[[image:image-20230805150315-4.png||height="233" width="723"]] 335 + 336 + 337 +=== 2.3.3 Historical measuring distance, FPORT~=3 === 338 + 339 + 340 +DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]]. 341 + 342 +The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance. 343 + 273 273 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 274 -|(% style="background-color:#4f81bd; color:white; width:70px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:130px" %)**4**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2** 275 -|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+Alarm+Do+Limit flag|(% style="width:74px" %)Distance Limit Alarm count|(% style="width:100px" %)Upper limit|(% style="width:119px" %)Lower limit 345 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 346 +**Size(bytes)** 347 +)))|=(% style="width: 80px;background-color:#4F81BD;color:white" %)1|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD; color: white; width: 85px;" %)**1**|=(% style="background-color: #4F81BD; color: white; width: 85px;" %)4 348 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)((( 349 +Reserve(0xFF) 350 +)))|Distance|Distance signal strength|(% style="width:88px" %)((( 351 +LiDAR temp 352 +)))|(% style="width:85px" %)Unix TimeStamp 276 276 277 - [[image:1701155150328-206.png]]354 +**Interrupt flag & Interrupt level:** 278 278 279 -(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:** 356 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %) 357 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 358 +**Size(bit)** 359 +)))|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**bit7**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**bit6**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**[bit5:bit2]**|=(% style="width: 90px; background-color: #4F81BD; color: white;" %)**bit1**|=(% style="background-color: #4F81BD; color: white; width: 90px;" %)**bit0** 360 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)No ACK message|(% style="width:62.5px" %)Poll Message Flag|Reserve|(% style="width:91px" %)Interrupt level|(% style="width:88px" %)((( 361 +Interrupt flag 362 +))) 280 280 281 -(% style="color:red" %)**MOD:** 364 +* ((( 365 +Each data entry is 11 bytes and has the same structure as [[Uplink Payload>>||anchor="H2.3.2UplinkPayload2CFPORT3D2"]], to save airtime and battery, DS20L will send max bytes according to the current DR and Frequency bands. 366 +))) 282 282 283 - **Example:**(0x60>>6)&0x3f=1368 +For example, in the US915 band, the max payload for different DR is: 284 284 285 -**0x01:** Regularly detect distance and report. 286 -**0x02: ** Uninterrupted measurement (external power supply). 370 +**a) DR0:** max is 11 bytes so one entry of data 287 287 288 - (%style="color:red"%)**Alarm:**372 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 289 289 290 - Whenthe detectiondistance exceedsthelimit, thealarm flagisset to1.374 +**c) DR2:** total payload includes 11 entries of data 291 291 292 - (%style="color:red"%)**Do:**376 +**d) DR3:** total payload includes 22 entries of data. 293 293 294 - Whendistanceexceedsthesetthreshold,pull theDopinhigh.378 +If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0 295 295 296 -(% style="color:red" %)**Limit flag:** 297 297 298 - Mode for setting threshold:0~~5381 +**Downlink:** 299 299 300 -0 :doesnotuseupperandlowerlimits383 +0x31 64 CC 68 0C 64 CC 69 74 05 301 301 302 - 1:Useupper and lowerlimits385 +[[image:image-20230805144936-2.png||height="113" width="746"]] 303 303 304 - 2: isless than the lower limit value387 +**Uplink:** 305 305 306 -3 :isgreaterthanthelowerlimitvalue389 +43 FF 0E 10 00 B0 1E 64 CC 68 0C 40 FF 0D DE 00 A8 1E 64 CC 68 29 40 FF 09 92 00 D3 1E 64 CC 68 65 40 FF 02 3A 02 BC 1E 64 CC 68 A1 41 FF 0E 1A 00 A4 1E 64 CC 68 C0 40 FF 0D 2A 00 B8 1E 64 CC 68 E8 40 FF 00 C8 11 6A 1E 64 CC 69 24 40 FF 0E 24 00 AD 1E 64 CC 69 6D 307 307 308 -4: is less than the upper limit 309 309 310 - 5: is greaterthan the upper limit392 +**Parsed Value:** 311 311 394 +[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME] 312 312 313 -(% style="color:blue" %)**Upper limit:** 314 314 315 - The upper limit of the threshold cannot exceed2000mm.397 +[360,176,30,High,True,2023-08-04 02:53:00], 316 316 399 +[355,168,30,Low,False,2023-08-04 02:53:29], 317 317 318 - (% style="color:blue" %)**Lowerlimit:**401 +[245,211,30,Low,False,2023-08-04 02:54:29], 319 319 320 - The lower limit of the threshold cannot beless than3mm.403 +[57,700,30,Low,False,2023-08-04 02:55:29], 321 321 405 +[361,164,30,Low,True,2023-08-04 02:56:00], 322 322 323 - === 2.3.3Decode payload in The ThingsNetwork===407 +[337,184,30,Low,False,2023-08-04 02:56:40], 324 324 409 +[20,4458,30,Low,False,2023-08-04 02:57:40], 325 325 411 +[362,173,30,Low,False,2023-08-04 02:58:53], 412 + 413 + 414 +**History read from serial port:** 415 + 416 +[[image:image-20230805145056-3.png]] 417 + 418 + 419 +=== 2.3.4 Decode payload in The Things Network === 420 + 421 + 326 326 While using TTN network, you can add the payload format to decode the payload. 327 327 328 328 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LLDS12-LoRaWAN%20LiDAR%20ToF%20Distance%20Sensor%20User%20Manual/WebHome/1654592762713-715.png?rev=1.1||alt="1654592762713-715.png"]] ... ... @@ -369,7 +369,7 @@ 369 369 370 370 After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake. 371 371 372 -[[image:i mage-20231129085201-1.png||height="515" width="961"]]468 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/image-20220610165129-11.png?width=1088&height=595&rev=1.1||alt="image-20220610165129-11.png"]] 373 373 374 374 375 375 == 2.5 Frequency Plans == ... ... @@ -453,9 +453,6 @@ 453 453 ))) 454 454 * ((( 455 455 Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 456 - 457 - 458 - 459 459 ))) 460 460 461 461 === 3.3.2 Set Interrupt Mode === ... ... @@ -496,6 +496,7 @@ 496 496 497 497 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 498 498 592 + 499 499 == 3.3.3 Set work mode == 500 500 501 501 ... ... @@ -534,6 +534,8 @@ 534 534 ))) 535 535 |(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK 536 536 631 + 632 + 537 537 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 538 538 |(% rowspan="11" style="color:blue; width:120px" %)**AT+DOL=5,1800,0,0,400**|(% rowspan="6" style="width:240px" %)The first bit sets the limit mode|(% style="width:150px" %)0: Do not use upper and lower limits 539 539 |(% style="width:251px" %)1: Use upper and lower limits ... ... @@ -559,15 +559,8 @@ 559 559 560 560 * Example 1: Downlink Payload: 070107080064000190 **~-~-->** AT+MOD=1,1800,100,0,400 561 561 562 -* Example 2: Downlink Payload: 070200000064000190 **~-~-->** AT+MOD=2,0,100,0,400 563 563 564 -* Example 3: Downlink Payload: 0703200000064000190 **~-~-->** AT+MOD=3,1800,100,0,400 565 565 566 -* Example 4: Downlink Payload: 070407080000000190 **~-~-->** AT+MOD=4,0,100,0,400 567 - 568 -* Example 5: Downlink Payload: 070507080000000190 **~-~-->** AT+MOD=5,1800,100,0,400 569 - 570 - 571 571 = 4. Battery & Power Consumption = 572 572 573 573 ... ... @@ -604,33 +604,6 @@ 604 604 DS20L use the same frequency as other Dragino products. User can see the detail from this link: [[Introduction>>doc:Main.End Device Frequency Band.WebHome||anchor="H1.Introduction"]] 605 605 606 606 607 -== 6.2 DS20L programming line == 608 - 609 - 610 -缺图 后续补上 611 - 612 -feature: 613 - 614 -for AT commands 615 - 616 -Update the firmware of DS20L 617 - 618 -Support interrupt mode 619 - 620 - 621 -== 6.3 LiDAR probe position == 622 - 623 - 624 -[[image:1701155390576-216.png||height="285" width="307"]] 625 - 626 -The black oval hole in the picture is the LiDAR probe. 627 - 628 - 629 -== 6.4 Interface definition == 630 - 631 -[[image:image-20231128151132-2.png||height="305" width="557"]] 632 - 633 - 634 634 = 7. Trouble Shooting = 635 635 636 636 == 7.1 AT Command input doesn't work ==
- 1701155076393-719.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -54.6 KB - Content
- 1701155150328-206.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -54.6 KB - Content
- 1701155390576-216.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -293.9 KB - Content
- image-20231128151132-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -281.2 KB - Content
- image-20231129085201-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -70.6 KB - Content