Changes for page DS20L -- LoRaWAN Smart Distance Detector User Manual 01
Last modified by Mengting Qiu on 2023/12/14 11:15
From version 124.1
edited by Xiaoling
on 2023/11/28 15:11
on 2023/11/28 15:11
Change comment:
Uploaded new attachment "image-20231128151132-2.png", version {1}
To version 134.1
edited by Mengting Qiu
on 2023/12/06 19:57
on 2023/12/06 19:57
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 8 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.ting - Content
-
... ... @@ -8,7 +8,7 @@ 8 8 9 9 10 10 11 -**Table of Contents :**11 +**Table of Contents:(% style="display:none" %) (%%)** 12 12 13 13 {{toc/}} 14 14 ... ... @@ -150,7 +150,7 @@ 150 150 151 151 Example parse in TTNv3 152 152 153 -[[image:1 701149922873-259.png]]153 +[[image:image-20231206151412-3.png||height="179" width="1070"]] 154 154 155 155 (% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21 156 156 ... ... @@ -206,45 +206,25 @@ 206 206 === 2.3.2 Uplink Payload, FPORT~=2 === 207 207 208 208 209 -((( 210 -DS20L will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS20L will: 209 +==== (% style="color:red" %)**MOD~=1**(%%) ==== 211 211 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 - 231 231 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. 232 232 233 233 Uplink Payload totals 10 bytes. 234 234 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 Count215 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 216 +|(% 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** 217 +|(% 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 238 238 219 +[[image:image-20231206195704-6.png||height="238" width="999"]] 239 239 240 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]221 +(% style="color:blue" %)**Battery Info:** 241 241 242 -(% style="color:blue" %)**Battery Info** 243 - 244 244 Check the battery voltage for DS20L 245 245 246 246 Ex1: 0x0E10 = 3600mV 247 247 227 + 248 248 (% style="color:blue" %)**MOD & Alarm & Interrupt:** 249 249 250 250 (% style="color:red" %)**MOD:** ... ... @@ -262,36 +262,37 @@ 262 262 263 263 Whether it is an external interrupt. 264 264 265 -(% style="color:blue" %)**Distance info** 266 266 246 +(% style="color:blue" %)**Distance info:** 247 + 267 267 **Example**: 268 268 269 269 If payload is: 0708H: distance = 0708H = 1800 mm 270 270 271 -(% style="color:blue" %)**Sensor State** 272 272 253 +(% style="color:blue" %)**Sensor State:** 254 + 273 273 Ex1: 0x00: Normal collection distance 274 274 275 275 Ex2 0x0x: Distance collection is wrong 276 276 277 -(% style="color:blue" %)**Interript Count** 278 278 260 +(% style="color:blue" %)**Interript Count:** 261 + 279 279 If payload is:000007D0H: count = 07D0H =2000 280 280 281 281 282 282 266 +==== (% style="color:red" %)**MOD~=2**(%%)** ** ==== 283 283 284 -==== (% style="color:red" %)**MOD=2** ==== 285 - 286 286 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. 287 287 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 limit270 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 271 +|(% 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** 272 +|(% 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 291 291 274 +[[image:1701155150328-206.png]] 292 292 293 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]] 294 - 295 295 (% style="color:blue" %)**MOD & Alarm & Do & Limit flag:** 296 296 297 297 (% style="color:red" %)**MOD:** ... ... @@ -311,19 +311,19 @@ 311 311 312 312 (% style="color:red" %)**Limit flag:** 313 313 314 -Mode for setting threshold: 0~~5 295 +Mode for setting threshold: **0~~5** 315 315 316 -0: does not use upper and lower limits 297 +**0:** does not use upper and lower limits 317 317 318 -1: Use upper and lower limits 299 +**1:** Use upper and lower limits 319 319 320 -2: is less than the lower limit value 301 +**2:** is less than the lower limit value 321 321 322 -3: is greater than the lower limit value 303 +**3:** is greater than the lower limit value 323 323 324 -4: is less than the upper limit 305 +**4:** is less than the upper limit 325 325 326 -5: is greater than the upper limit 307 +**5:** is greater than the upper limit 327 327 328 328 329 329 (% style="color:blue" %)**Upper limit:** ... ... @@ -330,99 +330,18 @@ 330 330 331 331 The upper limit of the threshold cannot exceed 2000mm. 332 332 314 + 333 333 (% style="color:blue" %)**Lower limit:** 334 334 335 335 The lower limit of the threshold cannot be less than 3mm. 336 336 337 337 338 -== =2.3.3 Historicalmeasuringdistance,FPORT~=3===320 +== 2.4 Decode payload in The Things Network == 339 339 340 340 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 - 423 423 While using TTN network, you can add the payload format to decode the payload. 424 424 425 -[[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"]]325 +[[image:image-20231206143515-1.png||height="534" width="759"]] 426 426 427 427 428 428 ((( ... ... @@ -434,7 +434,7 @@ 434 434 ))) 435 435 436 436 437 -== 2. 4Show Data in DataCake IoT Server ==337 +== 2.5 Show Data in DataCake IoT Server == 438 438 439 439 440 440 ((( ... ... @@ -466,10 +466,10 @@ 466 466 467 467 After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake. 468 468 469 -[[image: 1701152946067-561.png]]369 +[[image:image-20231129100454-2.png||height="501" width="928"]] 470 470 471 471 472 -== 2. 5Frequency Plans ==372 +== 2.6 Frequency Plans == 473 473 474 474 475 475 The DS20L 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. ... ... @@ -550,6 +550,9 @@ 550 550 ))) 551 551 * ((( 552 552 Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 453 + 454 + 455 + 553 553 ))) 554 554 555 555 === 3.3.2 Set Interrupt Mode === ... ... @@ -590,10 +590,9 @@ 590 590 591 591 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 592 592 496 +=== 3.3.3 Set work mode === 593 593 594 -== 3.3.3 Set work mode == 595 595 596 - 597 597 Feature: Switch working mode 598 598 599 599 (% style="color:blue" %)**AT Command: AT+MOD** ... ... @@ -608,9 +608,9 @@ 608 608 609 609 (% style="color:blue" %)**Downlink Command:** 610 610 611 -* **Example: **0x0A0 0~/~/ Same as AT+MOD=0513 +* **Example: **0x0A01 ~/~/ Same as AT+MOD=1 612 612 613 -* **Example:** 0x0A0 1~/~/ Same as AT+MOD=1515 +* **Example:** 0x0A02 ~/~/ Same as AT+MOD=2 614 614 615 615 === 3.3.4 Set threshold and threshold mode === 616 616 ... ... @@ -629,10 +629,29 @@ 629 629 ))) 630 630 |(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK 631 631 534 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 535 +|(% rowspan="11" style="color:blue; width:120px" %)((( 536 + 632 632 633 633 634 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 635 -|(% 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 + 540 + 541 + 542 + 543 + 544 + 545 + 546 + 547 +**AT+DOL=5,1800,0,0,400** 548 +)))|(% rowspan="6" style="width:240px" %)((( 549 + 550 + 551 + 552 + 553 + 554 + 555 +The first bit sets the limit mode 556 +)))|(% style="width:150px" %)0: Do not use upper and lower limits 636 636 |(% style="width:251px" %)1: Use upper and lower limits 637 637 |(% style="width:251px" %)2: Less than the lower limit 638 638 |(% style="width:251px" %)3: Greater than the lower limit ... ... @@ -650,14 +650,22 @@ 650 650 651 651 (% style="color:blue" %)**Downlink Command: 0x07** 652 652 653 -Format: Command Code (0x07) followed by 9bytes. 574 +Format: Command Code (0x07) followed by 9 bytes. 654 654 655 - *Example0: DownlinkPayload:070000000000000190**~-~-->** AT+MOD=0,0,0,0,400576 +If the downlink payload=**07 01 0708 0064 00 0190**, it means set the END Node's limit mode to 0x01,upper limit value to 0x0708=1800(mm), lower limit value to 0x0064=100(mm), to over-limit alarm(0x00) ,the sampling time to 0x0190=400(ms), while type code is 0x07. 656 656 578 +* Example 0: Downlink Payload: 07 00 0000 0000 00 0190 **~-~-->** AT+MOD=0,0,0,0,400 579 + 657 657 * Example 1: Downlink Payload: 070107080064000190 **~-~-->** AT+MOD=1,1800,100,0,400 658 658 582 +* Example 2: Downlink Payload: 070200000064000190 **~-~-->** AT+MOD=2,0,100,0,400 659 659 584 +* Example 3: Downlink Payload: 070300000064000190 **~-~-->** AT+MOD=3,1800,100,0,400 660 660 586 +* Example 4: Downlink Payload: 070407080000000190 **~-~-->** AT+MOD=4,0,100,0,400 587 + 588 +* Example 5: Downlink Payload: 070507080000000190 **~-~-->** AT+MOD=5,1800,100,0,400 589 + 661 661 = 4. Battery & Power Consumption = 662 662 663 663 ... ... @@ -694,6 +694,33 @@ 694 694 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"]] 695 695 696 696 626 +== 6.2 DS20L programming line == 627 + 628 + 629 +缺图 后续补上 630 + 631 +feature: 632 + 633 +for AT commands 634 + 635 +Update the firmware of DS20L 636 + 637 +Support interrupt mode 638 + 639 + 640 +== 6.3 LiDAR probe position == 641 + 642 + 643 +[[image:1701155390576-216.png||height="285" width="307"]] 644 + 645 +The black oval hole in the picture is the LiDAR probe. 646 + 647 + 648 +== 6.4 Interface definition == 649 + 650 +[[image:image-20231128151132-2.png||height="305" width="557"]] 651 + 652 + 697 697 = 7. Trouble Shooting = 698 698 699 699 == 7.1 AT Command input doesn't work == ... ... @@ -769,3 +769,4 @@ 769 769 * 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. 770 770 771 771 * 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.cc>>mailto:Support@dragino.cc]]. 728 +
- image-20231129085201-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +70.6 KB - Content
- image-20231129100454-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +70.1 KB - Content
- image-20231206143515-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +89.5 KB - Content
- image-20231206144950-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +41.0 KB - Content
- image-20231206151412-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +58.8 KB - Content
- image-20231206154621-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +71.2 KB - Content
- image-20231206194804-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +53.7 KB - Content
- image-20231206195704-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +64.1 KB - Content