Changes for page RS485-BL – Waterproof RS485 to LoRaWAN Converter
Last modified by Xiaoling on 2025/04/23 15:57
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -94,7 +94,6 @@ 94 94 * 127 dB Dynamic Range RSSI. 95 95 * Automatic RF Sense and CAD with ultra-fast AFC. 96 96 97 - 98 98 == 1.3 Features == 99 99 100 100 * LoRaWAN Class A & Class C protocol (default Class A) ... ... @@ -106,7 +106,6 @@ 106 106 * Support Modbus protocol 107 107 * Support Interrupt uplink 108 108 109 - 110 110 == 1.4 Applications == 111 111 112 112 * Smart Buildings & Home Automation ... ... @@ -116,7 +116,6 @@ 116 116 * Smart Cities 117 117 * Smart Factory 118 118 119 - 120 120 == 1.5 Firmware Change log == 121 121 122 122 [[RS485-BL Image files – Download link and Change log>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/RS485-BL/Firmware/||style="background-color: rgb(255, 255, 255);"]] ... ... @@ -285,29 +285,29 @@ 285 285 RS485-BL default UART settings is **9600, no parity, stop bit 1**. If the sensor has a different settings, user can change the RS485-BL setting to match. 286 286 ))) 287 287 288 -(% border="1" style="background-color:#ffffcc; color:green; width:510px" %) 289 -|=(% style="width: 12 1px;" %)(((285 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 286 +|=(% style="width: 120px;" %)((( 290 290 ((( 291 291 **AT Commands** 292 292 ))) 293 -)))|=(% style="width: 1 10px;" %)(((290 +)))|=(% style="width: 190px;" %)((( 294 294 ((( 295 295 **Description** 296 296 ))) 297 -)))|=(% style="width: 200px;" %)(((294 +)))|=(% style="width: 190px;" %)((( 298 298 ((( 299 299 **Example** 300 300 ))) 301 301 ))) 302 -|(% style="width:20px" %)((( 299 +|(% style="width:120px" %)((( 303 303 ((( 304 304 AT+BAUDR 305 305 ))) 306 -)))|(% style="width: 303px" %)(((303 +)))|(% style="width:190px" %)((( 307 307 ((( 308 308 Set the baud rate (for RS485 connection). Default Value is: 9600. 309 309 ))) 310 -)))|(% style="width: 340px" %)(((307 +)))|(% style="width:190px" %)((( 311 311 ((( 312 312 ((( 313 313 AT+BAUDR=9600 ... ... @@ -320,11 +320,11 @@ 320 320 ))) 321 321 ))) 322 322 ))) 323 -|(% style="width:12 1px" %)(((320 +|(% style="width:120px" %)((( 324 324 ((( 325 325 AT+PARITY 326 326 ))) 327 -)))|(% style="width: 303px" %)(((324 +)))|(% style="width:190px" %)((( 328 328 ((( 329 329 ((( 330 330 Set UART parity (for RS485 connection) ... ... @@ -336,7 +336,7 @@ 336 336 Default Value is: no parity. 337 337 ))) 338 338 ))) 339 -)))|(% style="width: 340px" %)(((336 +)))|(% style="width:190px" %)((( 340 340 ((( 341 341 ((( 342 342 AT+PARITY=0 ... ... @@ -349,11 +349,11 @@ 349 349 ))) 350 350 ))) 351 351 ))) 352 -|(% style="width:12 1px" %)(((349 +|(% style="width:120px" %)((( 353 353 ((( 354 354 AT+STOPBIT 355 355 ))) 356 -)))|(% style="width: 303px" %)(((353 +)))|(% style="width:190px" %)((( 357 357 ((( 358 358 ((( 359 359 Set serial stopbit (for RS485 connection) ... ... @@ -365,7 +365,7 @@ 365 365 Default Value is: 1bit. 366 366 ))) 367 367 ))) 368 -)))|(% style="width: 340px" %)(((365 +)))|(% style="width:190px" %)((( 369 369 ((( 370 370 ((( 371 371 AT+STOPBIT=0 for 1bit ... ... @@ -397,19 +397,20 @@ 397 397 When user issue an (% style="color:#4f81bd" %)**AT+CFGDEV**(%%) command, Each (% style="color:#4f81bd" %)**AT+CFGDEV**(%%) equals to send a command to the RS485 or TTL sensors. This command will only run when user input it and won’t run during each sampling. 398 398 ))) 399 399 400 -(% border="1" style="background-color:#ffffcc; color:green; width: 806px" %)401 -|**AT Commands**|(% style="width: 418px" %)**Description**|(% style="width:256px" %)**Example**402 -|AT+CFGDEV|(% style="width: 418px" %)(((397 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 398 +|=(% style="width: 120px;" %)**AT Commands**|=(% style="width: 190px;" %)**Description**|=(% style="width: 190px;" %)**Example** 399 +|AT+CFGDEV|(% style="width:120px" %)((( 403 403 This command is used to configure the RS485/TTL devices; they won’t be used during sampling. 404 404 405 405 AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx, 406 406 407 407 mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 408 -)))|(% style="width: 256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m405 +)))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 409 409 410 410 Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]]. 411 411 412 412 410 + 413 413 === 3.3.3 Configure read commands for each sampling === 414 414 415 415 ((( ... ... @@ -476,117 +476,209 @@ 476 476 After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**. 477 477 ))) 478 478 477 +((( 479 479 **Examples:** 479 +))) 480 480 481 +((( 481 481 Below are examples for the how above AT Commands works. 483 +))) 482 482 485 +((( 483 483 **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is: 487 +))) 484 484 485 -(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:50 1px" %)489 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %) 486 486 |(% style="width:498px" %)((( 491 +((( 487 487 **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m** 493 +))) 488 488 495 +((( 489 489 **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent** 497 +))) 490 490 499 +((( 491 491 **m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command** 492 492 ))) 502 +))) 493 493 504 +((( 494 494 For example, if we have a RS485 sensor. The command to get sensor value is: 01 03 0B B8 00 02 46 0A. Where 01 03 0B B8 00 02 is the Modbus command to read the register 0B B8 where stored the sensor value. The 46 0A is the CRC-16/MODBUS which calculate manually. 506 +))) 495 495 508 +((( 496 496 In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 510 +))) 497 497 512 +((( 498 498 **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx. 514 +))) 499 499 500 -(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:5 80px" %)516 +(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %) 501 501 |(% style="width:577px" %)((( 518 +((( 502 502 **AT+SEARCHx=aa,xx xx xx xx xx** 520 +))) 503 503 504 -* **aa: 1: prefix match mode; 2: prefix and suffix match mode**505 -* *xxxxxxxx xx:matchstring. Max 5 bytesforprefix and5 bytesfor suffix**522 +* ((( 523 +**aa: 1: prefix match mode; 2: prefix and suffix match mode** 506 506 ))) 525 +* ((( 526 +**xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix** 527 +))) 528 +))) 507 507 530 +((( 508 508 **Examples:** 532 +))) 509 509 534 +((( 510 510 1)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 536 +))) 511 511 538 +((( 512 512 If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 540 +))) 513 513 542 +((( 514 514 The valid data will be all bytes after 1E 56 34 , so it is (% style="background-color:yellow" %)**2e 30 58 5f 36 41 30 31 00 49** 544 +))) 515 515 546 +((( 516 516 [[image:1653271044481-711.png]] 548 +))) 517 517 550 +((( 518 518 2)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 552 +))) 519 519 554 +((( 520 520 If we set AT+SEARCH1=2, 1E 56 34+31 00 49 556 +))) 521 521 558 +((( 522 522 Device will search the bytes between 1E 56 34 and 31 00 49. So it is(% style="background-color:yellow" %) **2e 30 58 5f 36 41 30** 560 +))) 523 523 562 +((( 524 524 [[image:1653271276735-972.png]] 564 +))) 525 525 566 +((( 526 526 **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes. 568 +))) 527 527 528 -(% style="background-color:#4f81bd; color:white; width: 729px" %)570 +(% style="background-color:#4f81bd; color:white; width:510px" %) 529 529 |(% style="width:726px" %)((( 572 +((( 530 530 **AT+DATACUTx=a,b,c** 574 +))) 531 531 532 -* **a: length for the return of AT+COMMAND** 533 -* **b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.** 534 -* **c: define the position for valid value. ** 576 +* ((( 577 +**a: length for the return of AT+COMMAND** 535 535 ))) 579 +* ((( 580 +**b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.** 581 +))) 582 +* ((( 583 +**c: define the position for valid value. ** 584 +))) 585 +))) 536 536 587 +((( 537 537 **Examples:** 589 +))) 538 538 539 -* Grab bytes: 591 +* ((( 592 +Grab bytes: 593 +))) 540 540 595 +((( 541 541 [[image:1653271581490-837.png||height="313" width="722"]] 597 +))) 542 542 599 +((( 600 + 601 +))) 543 543 544 -* Grab a section. 603 +* ((( 604 +Grab a section. 605 +))) 545 545 607 +((( 546 546 [[image:1653271648378-342.png||height="326" width="720"]] 609 +))) 547 547 611 +((( 612 + 613 +))) 548 548 549 -* Grab different sections. 615 +* ((( 616 +Grab different sections. 617 +))) 550 550 619 +((( 551 551 [[image:1653271657255-576.png||height="305" width="730"]] 621 +))) 552 552 553 553 ((( 624 +((( 554 554 (% style="color:red" %)**Note:** 555 555 ))) 627 +))) 556 556 557 557 ((( 630 +((( 558 558 AT+SEARCHx and AT+DATACUTx can be used together, if both commands are set, RS485-BL will first process AT+SEARCHx on the return string and get a temporary string, and then process AT+DATACUTx on this temporary string to get the final payload. In this case, AT+DATACUTx need to set to format AT+DATACUTx=0,xx,xx where the return bytes set to 0. 559 559 ))) 633 +))) 560 560 561 561 ((( 636 +((( 562 562 **Example:** 563 563 ))) 639 +))) 564 564 565 565 ((( 642 +((( 566 566 (% style="color:red" %)AT+COMMAND1=11 01 1E D0,0 567 567 ))) 645 +))) 568 568 569 569 ((( 648 +((( 570 570 (% style="color:red" %)AT+SEARCH1=1,1E 56 34 571 571 ))) 651 +))) 572 572 573 573 ((( 654 +((( 574 574 (% style="color:red" %)AT+DATACUT1=0,2,1~~5 575 575 ))) 657 +))) 576 576 577 577 ((( 660 +((( 578 578 (% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 579 579 ))) 663 +))) 580 580 581 581 ((( 666 +((( 582 582 (% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49 583 583 ))) 669 +))) 584 584 585 585 ((( 672 +((( 586 586 (% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36 587 587 ))) 675 +))) 588 588 677 +((( 589 589 [[image:1653271763403-806.png]] 679 +))) 590 590 591 591 592 592 === 3.3.4 Compose the uplink payload === ... ... @@ -593,10 +593,14 @@ 593 593 594 594 ((( 595 595 Through AT+COMMANDx and AT+DATACUTx we got valid value from each RS485 commands, Assume these valid value are RETURN1, RETURN2, .., to RETURNx. The next step is how to compose the LoRa Uplink Payload by these RETURNs. The command is **AT+DATAUP.** 686 + 687 + 596 596 ))) 597 597 598 598 ((( 599 599 (% style="color:#037691" %)**Examples: AT+DATAUP=0** 692 + 693 + 600 600 ))) 601 601 602 602 ((( ... ... @@ -729,26 +729,8 @@ 729 729 730 730 == 3.4 Uplink Payload == 731 731 732 -(% border="1" style="background-color:#4f81bd; color:white; width:850px" %) 733 -|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands** 734 -|Value|(% style="width:130px" %)((( 735 -((( 736 -Battery(mV) 737 -))) 826 +[[image:image-20220606105412-1.png]] 738 738 739 -((( 740 -& 741 -))) 742 - 743 -((( 744 -Interrupt _Flag 745 -))) 746 -)))|(% style="width:93px" %)((( 747 -PAYLOAD_VER 748 - 749 - 750 -)))|(% style="width:509px" %)If the valid payload is too long and exceed the maximum support payload length in server, server will show payload not provided in the LoRaWAN server. 751 - 752 752 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 753 753 754 754 ((( ... ... @@ -814,7 +814,6 @@ 814 814 815 815 * (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL. User can see these commands below: 816 816 817 - 818 818 === 3.5.1 Common Commands: === 819 819 820 820 They should be available for each of Dragino Sensors, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]] ... ... @@ -1174,7 +1174,6 @@ 1174 1174 |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature** 1175 1175 |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL 1176 1176 1177 - 1178 1178 == 3.7 +3V3 Output == 1179 1179 1180 1180 RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor. ... ... @@ -1215,7 +1215,6 @@ 1215 1215 |=**LEDs**|=(% style="width: 274px;" %)**Feature** 1216 1216 |**LED1**|(% style="width:274px" %)Blink when device transmit a packet. 1217 1217 1218 - 1219 1219 == 3.10 Switch Jumper == 1220 1220 1221 1221 (% border="1" style="background-color:#ffffcc; color:green; width:515px" %) ... ... @@ -1403,8 +1403,6 @@ 1403 1403 * (% style="color:blue" %)**RU864**(%%): frequency bands RU864 1404 1404 * (% style="color:blue" %)**KZ865**(%%): frequency bands KZ865 1405 1405 1406 - 1407 - 1408 1408 = 9. Packing Info = 1409 1409 1410 1410 (((
- image-20220606105412-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +13.9 KB - Content