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, 0 added, 1 removed)
Details
- Page properties
-
- Content
-
... ... @@ -383,7 +383,6 @@ 383 383 ))) 384 384 385 385 386 - 387 387 === 3.3.2 Configure sensors === 388 388 389 389 ((( ... ... @@ -407,7 +407,6 @@ 407 407 Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]]. 408 408 409 409 410 - 411 411 === 3.3.3 Configure read commands for each sampling === 412 412 413 413 ((( ... ... @@ -474,213 +474,117 @@ 474 474 After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**. 475 475 ))) 476 476 477 -((( 478 478 **Examples:** 479 -))) 480 480 481 -((( 482 482 Below are examples for the how above AT Commands works. 483 -))) 484 484 485 -((( 486 486 **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is: 487 -))) 488 488 489 489 (% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %) 490 490 |(% style="width:498px" %)((( 491 -((( 492 492 **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m** 493 -))) 494 494 495 -((( 496 496 **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent** 497 -))) 498 498 499 -((( 500 500 **m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command** 501 501 ))) 502 -))) 503 503 504 -((( 505 505 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 -))) 507 507 508 -((( 509 509 In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 510 -))) 511 511 512 -((( 513 - 514 -))) 515 - 516 -((( 517 517 **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx. 518 -))) 519 519 520 520 (% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %) 521 521 |(% style="width:577px" %)((( 522 -((( 523 523 **AT+SEARCHx=aa,xx xx xx xx xx** 524 -))) 525 525 526 -* (((527 -** aa:1:prefix matchmode;2:prefix and suffixmatch mode**500 +* **aa: 1: prefix match mode; 2: prefix and suffix match mode** 501 +* **xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix** 528 528 ))) 529 -* ((( 530 -**xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix** 531 -))) 532 -))) 533 533 534 -((( 535 535 **Examples:** 536 -))) 537 537 538 -((( 539 539 1)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 540 -))) 541 541 542 -((( 543 543 If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 544 -))) 545 545 546 -((( 547 547 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** 548 -))) 549 549 550 -((( 551 551 [[image:1653271044481-711.png]] 552 -))) 553 553 554 -((( 555 555 2)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 556 -))) 557 557 558 -((( 559 559 If we set AT+SEARCH1=2, 1E 56 34+31 00 49 560 -))) 561 561 562 -((( 563 563 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** 564 -))) 565 565 566 -((( 567 567 [[image:1653271276735-972.png]] 568 -))) 569 569 570 -((( 571 571 **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes. 572 -))) 573 573 574 574 (% style="background-color:#4f81bd; color:white; width:510px" %) 575 575 |(% style="width:726px" %)((( 576 -((( 577 577 **AT+DATACUTx=a,b,c** 578 -))) 579 579 580 -* ((( 581 -**a: length for the return of AT+COMMAND** 528 +* **a: length for the return of AT+COMMAND** 529 +* **b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.** 530 +* **c: define the position for valid value. ** 582 582 ))) 583 -* ((( 584 -**b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.** 585 -))) 586 -* ((( 587 -**c: define the position for valid value. ** 588 -))) 589 -))) 590 590 591 -((( 592 592 **Examples:** 593 -))) 594 594 595 -* ((( 596 -Grab bytes: 597 -))) 535 +* Grab bytes: 598 598 599 -((( 600 600 [[image:1653271581490-837.png||height="313" width="722"]] 601 -))) 602 602 603 -((( 604 - 605 -))) 606 606 607 -* ((( 608 -Grab a section. 609 -))) 540 +* Grab a section. 610 610 611 -((( 612 612 [[image:1653271648378-342.png||height="326" width="720"]] 613 -))) 614 614 615 -((( 616 - 617 -))) 618 618 619 -* ((( 620 -Grab different sections. 621 -))) 545 +* Grab different sections. 622 622 623 -((( 624 624 [[image:1653271657255-576.png||height="305" width="730"]] 625 -))) 626 626 627 627 ((( 628 -((( 629 629 (% style="color:red" %)**Note:** 630 630 ))) 631 -))) 632 632 633 633 ((( 634 -((( 635 635 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. 636 636 ))) 637 -))) 638 638 639 639 ((( 640 -((( 641 641 **Example:** 642 642 ))) 643 -))) 644 644 645 645 ((( 646 -((( 647 647 (% style="color:red" %)AT+COMMAND1=11 01 1E D0,0 648 648 ))) 649 -))) 650 650 651 651 ((( 652 -((( 653 653 (% style="color:red" %)AT+SEARCH1=1,1E 56 34 654 654 ))) 655 -))) 656 656 657 657 ((( 658 -((( 659 659 (% style="color:red" %)AT+DATACUT1=0,2,1~~5 660 660 ))) 661 -))) 662 662 663 663 ((( 664 -((( 665 665 (% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 666 666 ))) 667 -))) 668 668 669 669 ((( 670 -((( 671 671 (% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49 672 672 ))) 673 -))) 674 674 675 675 ((( 676 -((( 677 677 (% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36 678 678 ))) 679 -))) 680 680 681 -((( 682 682 [[image:1653271763403-806.png]] 683 -))) 684 684 685 685 686 686 === 3.3.4 Compose the uplink payload === ... ... @@ -687,14 +687,10 @@ 687 687 688 688 ((( 689 689 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.** 690 - 691 - 692 692 ))) 693 693 694 694 ((( 695 695 (% style="color:#037691" %)**Examples: AT+DATAUP=0** 696 - 697 - 698 698 ))) 699 699 700 700 ((( ... ... @@ -827,8 +827,26 @@ 827 827 828 828 == 3.4 Uplink Payload == 829 829 830 -[[image:image-20220606105412-1.png]] 728 +(% border="1" style="background-color:#4f81bd; color:white; width:850px" %) 729 +|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands** 730 +|Value|(% style="width:130px" %)((( 731 +((( 732 +Battery(mV) 733 +))) 831 831 735 +((( 736 +& 737 +))) 738 + 739 +((( 740 +Interrupt _Flag 741 +))) 742 +)))|(% style="width:93px" %)((( 743 +PAYLOAD_VER 744 + 745 + 746 +)))|(% 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. 747 + 832 832 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 833 833 834 834 ((( ... ... @@ -894,8 +894,6 @@ 894 894 895 895 * (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL. User can see these commands below: 896 896 897 - 898 - 899 899 === 3.5.1 Common Commands: === 900 900 901 901 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]] ... ... @@ -904,7 +904,6 @@ 904 904 === 3.5.2 Sensor related commands: === 905 905 906 906 907 - 908 908 ==== **Choose Device Type (RS485 or TTL)** ==== 909 909 910 910 RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect. ... ... @@ -928,7 +928,6 @@ 928 928 929 929 930 930 931 - 932 932 ==== **RS485 Debug Command (AT+CFGDEV)** ==== 933 933 934 934 This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling. ... ... @@ -980,7 +980,6 @@ 980 980 981 981 982 982 983 - 984 984 ==== **Set Payload version** ==== 985 985 986 986 This is the first byte of the uplink payload. RS485-BL can connect to different sensors. User can set the PAYVER field to tell server how to decode the current payload. ... ... @@ -1001,7 +1001,6 @@ 1001 1001 1002 1002 1003 1003 1004 - 1005 1005 ==== **Set RS485 Sampling Commands** ==== 1006 1006 1007 1007 AT+COMMANDx, AT+DATACUTx and AT+SEARCHx ... ... @@ -1063,7 +1063,6 @@ 1063 1063 1064 1064 1065 1065 1066 - 1067 1067 ==== **Fast command to handle MODBUS device** ==== 1068 1068 1069 1069 AT+MBFUN is valid since v1.3 firmware version. The command is for fast configure to read Modbus devices. It is only valid for the devices which follow the [[MODBUS-RTU protocol>>url:https://www.modbustools.com/modbus.html]]. ... ... @@ -1097,7 +1097,6 @@ 1097 1097 1098 1098 1099 1099 1100 - 1101 1101 ==== **RS485 command timeout** ==== 1102 1102 1103 1103 Some Modbus device has slow action to send replies. This command is used to configure the RS485-BL to use longer time to wait for their action. ... ... @@ -1129,7 +1129,6 @@ 1129 1129 1130 1130 1131 1131 1132 - 1133 1133 ==== **Uplink payload mode** ==== 1134 1134 1135 1135 Define to use one uplink or multiple uplinks for the sampling. ... ... @@ -1176,9 +1176,7 @@ 1176 1176 1177 1177 * **AT Command:** 1178 1178 1179 -((( 1180 1180 (% style="color:#037691" %)**AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 1181 -))) 1182 1182 1183 1183 Example screen shot after clear all RS485 commands. 1184 1184 ... ... @@ -1194,7 +1194,6 @@ 1194 1194 1195 1195 1196 1196 1197 - 1198 1198 ==== **Set Serial Communication Parameters** ==== 1199 1199 1200 1200 Set the Rs485 serial communication parameters: ... ... @@ -1238,7 +1238,6 @@ 1238 1238 1239 1239 1240 1240 1241 - 1242 1242 ==== **Control output power duration** ==== 1243 1243 1244 1244 User can set the output power duration before each sampling. ... ... @@ -1266,8 +1266,6 @@ 1266 1266 |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature** 1267 1267 |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL 1268 1268 1269 - 1270 - 1271 1271 == 3.7 +3V3 Output == 1272 1272 1273 1273 RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
- image-20220606105412-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -13.9 KB - Content