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 ((( ... ... @@ -886,24 +886,14 @@ 886 886 887 887 == 3.5 Configure RS485-BL via AT or Downlink == 888 888 889 -((( 890 890 User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands 891 -))) 892 892 893 -((( 894 894 There are two kinds of Commands: 895 -))) 896 896 897 -* ((( 898 -(% style="color:#4f81bd" %)**Common Commands**(%%): They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]] 899 -))) 809 +* (% style="color:#4f81bd" %)**Common Commands**(%%): They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]] 900 900 901 -* ((( 902 -(% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL. User can see these commands below: 903 -))) 811 +* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL. User can see these commands below: 904 904 905 - 906 - 907 907 === 3.5.1 Common Commands: === 908 908 909 909 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]] ... ... @@ -912,7 +912,6 @@ 912 912 === 3.5.2 Sensor related commands: === 913 913 914 914 915 - 916 916 ==== **Choose Device Type (RS485 or TTL)** ==== 917 917 918 918 RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect. ... ... @@ -936,7 +936,6 @@ 936 936 937 937 938 938 939 - 940 940 ==== **RS485 Debug Command (AT+CFGDEV)** ==== 941 941 942 942 This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling. ... ... @@ -988,7 +988,6 @@ 988 988 989 989 990 990 991 - 992 992 ==== **Set Payload version** ==== 993 993 994 994 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. ... ... @@ -1009,7 +1009,6 @@ 1009 1009 1010 1010 1011 1011 1012 - 1013 1013 ==== **Set RS485 Sampling Commands** ==== 1014 1014 1015 1015 AT+COMMANDx, AT+DATACUTx and AT+SEARCHx ... ... @@ -1071,7 +1071,6 @@ 1071 1071 1072 1072 1073 1073 1074 - 1075 1075 ==== **Fast command to handle MODBUS device** ==== 1076 1076 1077 1077 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]]. ... ... @@ -1105,7 +1105,6 @@ 1105 1105 1106 1106 1107 1107 1108 - 1109 1109 ==== **RS485 command timeout** ==== 1110 1110 1111 1111 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. ... ... @@ -1137,7 +1137,6 @@ 1137 1137 1138 1138 1139 1139 1140 - 1141 1141 ==== **Uplink payload mode** ==== 1142 1142 1143 1143 Define to use one uplink or multiple uplinks for the sampling. ... ... @@ -1184,9 +1184,7 @@ 1184 1184 1185 1185 * **AT Command:** 1186 1186 1187 -((( 1188 1188 (% 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 1189 -))) 1190 1190 1191 1191 Example screen shot after clear all RS485 commands. 1192 1192 ... ... @@ -1202,7 +1202,6 @@ 1202 1202 1203 1203 1204 1204 1205 - 1206 1206 ==== **Set Serial Communication Parameters** ==== 1207 1207 1208 1208 Set the Rs485 serial communication parameters: ... ... @@ -1246,7 +1246,6 @@ 1246 1246 1247 1247 1248 1248 1249 - 1250 1250 ==== **Control output power duration** ==== 1251 1251 1252 1252 User can set the output power duration before each sampling. ... ... @@ -1274,8 +1274,6 @@ 1274 1274 |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature** 1275 1275 |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL 1276 1276 1277 - 1278 - 1279 1279 == 3.7 +3V3 Output == 1280 1280 1281 1281 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