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, 1 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,25 +209,45 @@ 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 212 +periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]]. 213 + 214 +Uplink Payload totals 11 bytes. 215 +))) 216 + 217 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 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 +))) 228 + 229 +==== (% style="color:red" %)**MOD~=1** ==== 230 + 214 214 Regularly detect distance and report. When the distance exceeds the limit, the alarm flag is set to 1, and the report can be triggered by external interrupts. 215 215 216 216 Uplink Payload totals 10 bytes. 217 217 218 -(% border="1" cellspacing="4" style="background-color:#f2f2f2 ; width:510px" %)219 -|(% style="background-color:#4 f81bd;; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd;; width:30px" %)**2**|(% style="background-color:#4f81bd;; width:130px" %)**1**|(% style="background-color:#4f81bd;; width:70px" %)**2**|(% style="background-color:#4f81bd;; width:100px" %)**1**|(% style="background-color:#4f81bd;; 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 235 +(% border="1" cellspacing="4" style="width:510px;background-color:#f2f2f2" %) 236 +|(% style="width:60px;background-color:#4F81BD;color:white" %)**Size(bytes)**|(% style="width:30px;background-color:#4F81BD;color:white" %)**2**|(% style="width:130px;background-color:#4F81BD;color:white" %)**1**|(% style="width:70px;background-color:#4F81BD;color:white" %)**2**|(% style="width:100px;background-color:#4F81BD;color:white" %)**1**|(% style="width:120px;background-color:#4F81BD;color:white" %)**4** 237 +|(% style="width:91px" %)Value|(% style="width:41px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% style="width:176px" %)MOD+ Alarm+Interrupt|(% style="width:74px" %)Distance|(% style="width:100px" %)Sensor State|(% style="width:119px" %)Interrupt Count 221 221 222 -[[image:1701155076393-719.png]] 223 223 224 - (%style="color:blue" %)**Battery Info:**240 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]] 225 225 242 +(% style="color:blue" %)**Battery Info** 243 + 226 226 Check the battery voltage for DS20L 227 227 228 228 Ex1: 0x0E10 = 3600mV 229 229 230 - 231 231 (% style="color:blue" %)**MOD & Alarm & Interrupt:** 232 232 233 233 (% style="color:red" %)**MOD:** ... ... @@ -245,37 +245,36 @@ 245 245 246 246 Whether it is an external interrupt. 247 247 265 +(% style="color:blue" %)**Distance info** 248 248 249 -(% style="color:blue" %)**Distance info:** 250 - 251 251 **Example**: 252 252 253 253 If payload is: 0708H: distance = 0708H = 1800 mm 254 254 271 +(% style="color:blue" %)**Sensor State** 255 255 256 -(% style="color:blue" %)**Sensor State:** 257 - 258 258 Ex1: 0x00: Normal collection distance 259 259 260 260 Ex2 0x0x: Distance collection is wrong 261 261 277 +(% style="color:blue" %)**Interript Count** 262 262 263 -(% style="color:blue" %)**Interript Count:** 264 - 265 265 If payload is:000007D0H: count = 07D0H =2000 266 266 267 267 268 268 269 -==== (% style="color:red" %)**MOD~=2**(%%)** ** ==== 270 270 284 +==== (% style="color:red" %)**MOD=2** ==== 285 + 271 271 Uninterrupted measurement. When the distance exceeds the limit, the output IO is set high and reports are reported every five minutes. The time can be set and powered by an external power supply.Uplink Payload totals 11bytes. 272 272 273 -(% border="1" cellspacing="4" style="background-color:#f2f2f2 ; width:510px" %)274 -|(% style="background-color:#4 f81bd;; width:70px" %)**Size(bytes)**|(% style="background-color:#4f81bd;; width:40px" %)**2**|(% style="background-color:#4f81bd;; width:130px" %)**1**|(% style="background-color:#4f81bd;; width:130px" %)**4**|(% style="background-color:#4f81bd;; width:70px" %)**2**|(% style="background-color:#4f81bd;; 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 288 +(% border="1" cellspacing="4" style="width:510px;background-color:#f2f2f2" %) 289 +|(% style="width:70px;background-color:#4F81BD;color:white" %)**Size(bytes)**|(% style="width:40px;background-color:#4F81BD;color:white" %)**2**|(% style="width:130px;background-color:#4F81BD;color:white" %)**1**|(% style="width:130px;background-color:#4F81BD;color:white" %)**4**|(% style="width:70px;background-color:#4F81BD;color:white" %)**2**|(% style="width:70px;background-color:#4F81BD;color:white" %)**2** 290 +|(% style="width:91px" %)Value|(% style="width:41px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% 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 276 276 277 -[[image:1701155150328-206.png]] 278 278 293 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]] 294 + 279 279 (% style="color:blue" %)**MOD & Alarm & Do & Limit flag:** 280 280 281 281 (% style="color:red" %)**MOD:** ... ... @@ -314,15 +314,96 @@ 314 314 315 315 The upper limit of the threshold cannot exceed 2000mm. 316 316 317 - 318 318 (% style="color:blue" %)**Lower limit:** 319 319 320 320 The lower limit of the threshold cannot be less than 3mm. 321 321 322 322 323 -=== 2.3.3 Decodepayloadin TheThingsNetwork===338 +=== 2.3.3 Historical measuring distance, FPORT~=3 === 324 324 325 325 341 +DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]]. 342 + 343 +The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance. 344 + 345 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 346 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 347 +**Size(bytes)** 348 +)))|=(% 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 349 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)((( 350 +Reserve(0xFF) 351 +)))|Distance|Distance signal strength|(% style="width:88px" %)((( 352 +LiDAR temp 353 +)))|(% style="width:85px" %)Unix TimeStamp 354 + 355 +**Interrupt flag & Interrupt level:** 356 + 357 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %) 358 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 359 +**Size(bit)** 360 +)))|=(% 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** 361 +|(% 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" %)((( 362 +Interrupt flag 363 +))) 364 + 365 +* ((( 366 +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. 367 +))) 368 + 369 +For example, in the US915 band, the max payload for different DR is: 370 + 371 +**a) DR0:** max is 11 bytes so one entry of data 372 + 373 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 374 + 375 +**c) DR2:** total payload includes 11 entries of data 376 + 377 +**d) DR3:** total payload includes 22 entries of data. 378 + 379 +If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0 380 + 381 + 382 +**Downlink:** 383 + 384 +0x31 64 CC 68 0C 64 CC 69 74 05 385 + 386 +[[image:image-20230805144936-2.png||height="113" width="746"]] 387 + 388 +**Uplink:** 389 + 390 +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 391 + 392 + 393 +**Parsed Value:** 394 + 395 +[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME] 396 + 397 + 398 +[360,176,30,High,True,2023-08-04 02:53:00], 399 + 400 +[355,168,30,Low,False,2023-08-04 02:53:29], 401 + 402 +[245,211,30,Low,False,2023-08-04 02:54:29], 403 + 404 +[57,700,30,Low,False,2023-08-04 02:55:29], 405 + 406 +[361,164,30,Low,True,2023-08-04 02:56:00], 407 + 408 +[337,184,30,Low,False,2023-08-04 02:56:40], 409 + 410 +[20,4458,30,Low,False,2023-08-04 02:57:40], 411 + 412 +[362,173,30,Low,False,2023-08-04 02:58:53], 413 + 414 + 415 +**History read from serial port:** 416 + 417 +[[image:image-20230805145056-3.png]] 418 + 419 + 420 +=== 2.3.4 Decode payload in The Things Network === 421 + 422 + 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: image-20231129085201-1.png||height="515" width="961"]]469 +[[image:1701152946067-561.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 593 + 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 632 + 633 + 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 ==
- image-20231129085201-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -70.6 KB - Content