Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Bei Jinggeng on 2025/01/16 11:36
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -501,33 +501,35 @@ 501 501 502 502 == 3.4 Uplink Payload == 503 503 504 -(% border="1" style="background-color:#4bacc6; color:white; width:734px" %) 505 -|**Size(bytes)**|(% style="width:120px" %)**2**|(% style="width:116px" %)**1**|(% style="width:386px" %)**Length depends on the return from the commands** 506 -|Value|(% style="width:120px" %)((( 507 -Battery(mV) 508 508 509 - &505 +[[image:image-20220606110929-1.png]] 510 510 511 -Interrupt _Flag 512 -)))|(% style="width:116px" %)((( 513 -PAYLOAD_VER 514 - 515 - 516 -)))|(% style="width:386px" %)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. 517 - 518 518 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 519 519 520 520 521 521 == 3.5 Configure RS485-BL via AT or Downlink == 522 522 512 +((( 523 523 User can configure RS485-LN via AT Commands or LoRaWAN Downlink Commands 514 +))) 524 524 516 +((( 525 525 There are two kinds of Commands: 518 +))) 526 526 527 -* (% 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]] 520 +* ((( 521 +(% 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]] 522 +))) 528 528 529 -* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-LN. User can see these commands below: 524 +* ((( 525 +(% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-LN. User can see these commands below: 526 +))) 530 530 528 +((( 529 + 530 +))) 531 + 532 + 531 531 === 3.5.1 Common Commands === 532 532 533 533 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]] ... ... @@ -546,142 +546,282 @@ 546 546 547 547 548 548 551 + 549 549 ==== **RS485 Debug Command** ==== 550 550 554 +((( 551 551 This command is used to configure the RS485 devices; they won’t be used during sampling. 556 +))) 552 552 553 -* **AT Command** 558 +* ((( 559 +**AT Command** 560 +))) 554 554 555 555 (% class="box infomessage" %) 556 556 ((( 564 +((( 557 557 **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** 558 558 ))) 567 +))) 559 559 569 +((( 560 560 m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 571 +))) 561 561 562 -* **Downlink Payload** 573 +* ((( 574 +**Downlink Payload** 575 +))) 563 563 577 +((( 564 564 Format: A8 MM NN XX XX XX XX YY 579 +))) 565 565 581 +((( 566 566 Where: 583 +))) 567 567 568 -* MM: 1: add CRC-16/MODBUS ; 0: no CRC 569 -* NN: The length of RS485 command 570 -* XX XX XX XX: RS485 command total NN bytes 571 -* YY: How many bytes will be uplink from the return of this RS485 command, 572 -** if YY=0, RS485-LN will execute the downlink command without uplink; 573 -** if YY>0, RS485-LN will uplink total YY bytes from the output of this RS485 command; Fport=200 574 -** if YY=FF, RS485-LN will uplink RS485 output with the downlink command content; Fport=200. 585 +* ((( 586 +MM: 1: add CRC-16/MODBUS ; 0: no CRC 587 +))) 588 +* ((( 589 +NN: The length of RS485 command 590 +))) 591 +* ((( 592 +XX XX XX XX: RS485 command total NN bytes 593 +))) 594 +* ((( 595 +((( 596 +YY: How many bytes will be uplink from the return of this RS485 command, 597 +))) 575 575 599 +* ((( 600 +if YY=0, RS485-LN will execute the downlink command without uplink; 601 +))) 602 +* ((( 603 +if YY>0, RS485-LN will uplink total YY bytes from the output of this RS485 command; Fport=200 604 +))) 605 +* ((( 606 +if YY=FF, RS485-LN will uplink RS485 output with the downlink command content; Fport=200. 607 +))) 608 +))) 609 + 610 +((( 576 576 **Example 1** ~-~-> Configure without ask for uplink (YY=0) 612 +))) 577 577 614 +((( 578 578 To connect a Modbus Alarm with below commands. 616 +))) 579 579 580 -* The command to active alarm is: 0A 05 00 04 00 01 4C B0. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually. 618 +* ((( 619 +The command to active alarm is: 0A 05 00 04 00 01 4C B0. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually. 620 +))) 581 581 582 -* The command to deactivate alarm is: 0A 05 00 04 00 00 8D 70. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually. 622 +* ((( 623 +The command to deactivate alarm is: 0A 05 00 04 00 00 8D 70. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually. 624 +))) 583 583 626 +((( 584 584 So if user want to use downlink command to control to RS485 Alarm, he can use: 628 +))) 585 585 630 +((( 586 586 (% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm 632 +))) 587 587 634 +((( 588 588 (% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm 636 +))) 589 589 638 +((( 590 590 A8 is type code and 01 means add CRC-16/MODBUS at the end, the 3^^rd^^ byte is 06, means the next 6 bytes are the command to be sent to the RS485 network, the final byte 00 means this command don’t need to acquire output. 640 +))) 591 591 642 +((( 643 + 644 +))) 592 592 646 +((( 593 593 **Example 2** ~-~-> Configure with requesting uplink and original downlink command (**YY=FF**) 648 +))) 594 594 650 +((( 595 595 User in IoT server send a downlink command: (% style="color:#4f81bd" %)**A8 01 06 0A 08 00 04 00 01 YY** 652 +))) 596 596 654 +((( 655 + 656 +))) 597 597 658 +((( 598 598 RS485-LN got this downlink command and send (% style="color:#4f81bd" %)**0A 08 00 04 00 01 **(%%)to Modbus network. One of the RS485 sensor in the network send back Modbus reply **0A 08 00 04 00 00**. RS485-LN get this reply and combine with the original downlink command and uplink. The uplink message is: 660 +))) 599 599 662 +((( 600 600 **A8** (% style="color:#4f81bd" %)**0A 08 00 04 00 **(% style="color:red" %)**01 06** ** **(% style="color:green" %)**0A 08 00 04 00 00** 664 +))) 601 601 666 +((( 602 602 [[image:1654159460680-153.png]] 668 +))) 603 603 604 604 605 605 672 + 606 606 ==== **Set Payload version** ==== 607 607 675 +((( 608 608 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. 677 +))) 609 609 610 -* **AT Command:** 679 +* ((( 680 +**AT Command:** 681 +))) 611 611 612 612 (% class="box infomessage" %) 613 613 ((( 685 +((( 614 614 **AT+PAYVER: Set PAYVER field = 1** 615 615 ))) 688 +))) 616 616 617 -* **Downlink Payload:** 690 +* ((( 691 +**Downlink Payload:** 692 +))) 618 618 694 +((( 619 619 **0xAE 01** ~-~-> Set PAYVER field = 0x01 696 +))) 620 620 698 +((( 621 621 **0xAE 0F** ~-~-> Set PAYVER field = 0x0F 700 +))) 622 622 623 623 624 624 704 + 625 625 ==== **Set RS485 Sampling Commands** ==== 626 626 707 +((( 627 627 AT+COMMANDx or AT+DATACUTx 709 +))) 628 628 711 +((( 629 629 These three commands are used to configure how the RS485-LN polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]]. 713 +))) 630 630 715 +((( 716 + 717 +))) 631 631 632 -* **AT Command:** 719 +* ((( 720 +**AT Command:** 721 +))) 633 633 634 634 (% class="box infomessage" %) 635 635 ((( 725 +((( 636 636 **AT+COMMANDx: Configure RS485 read command to sensor.** 637 637 ))) 728 +))) 638 638 639 639 (% class="box infomessage" %) 640 640 ((( 732 +((( 641 641 **AT+DATACUTx: Configure how to handle return from RS485 devices.** 642 642 ))) 735 +))) 643 643 737 +((( 738 + 739 +))) 644 644 645 -* **Downlink Payload:** 741 +* ((( 742 +**Downlink Payload:** 743 +))) 646 646 745 +((( 647 647 **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 747 +))) 648 648 749 +((( 649 649 (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 751 +))) 650 650 753 +((( 651 651 Format: AF MM NN LL XX XX XX XX YY 755 +))) 652 652 757 +((( 653 653 Where: 759 +))) 654 654 655 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 656 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 657 -* LL: The length of AT+COMMAND or AT+DATACUT command 658 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command 659 -* YY: If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 761 +* ((( 762 +MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 763 +))) 764 +* ((( 765 +NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 766 +))) 767 +* ((( 768 +LL: The length of AT+COMMAND or AT+DATACUT command 769 +))) 770 +* ((( 771 +XX XX XX XX: AT+COMMAND or AT+DATACUT command 772 +))) 773 +* ((( 774 +YY: If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 775 +))) 660 660 777 +((( 661 661 **Example:** 779 +))) 662 662 781 +((( 663 663 (% style="color:#037691" %)**AF 03 01 06 0A 05 00 04 00 01 00**(%%): Same as AT+COMMAND3=0A 05 00 04 00 01,1 783 +))) 664 664 785 +((( 665 665 (% style="color:#037691" %)**AF 03 02 06**(% style="color:orange" %)** 10 **(% style="color:red" %)**01 **(% style="color:green" %)**05 06 09 0A**(% style="color:#037691" %)** 00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**16**(%%),(% style="color:red" %)**1**(%%),(% style="color:green" %)**5+6+9+10** 787 +))) 666 666 789 +((( 667 667 (% style="color:#037691" %)**AF 03 02 06 **(% style="color:orange" %)**0B**(% style="color:red" %)** 02 **(% style="color:green" %)**05 07 08 0A **(% style="color:#037691" %)**00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**11**(%%),(% style="color:red" %)**2**(%%),(% style="color:green" %)**5~~7+8~~10** 791 +))) 668 668 669 669 670 670 795 + 671 671 ==== **Fast command to handle MODBUS device** ==== 672 672 798 +((( 673 673 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]]. 800 +))) 674 674 802 +((( 675 675 This command is valid since v1.3 firmware version 804 +))) 676 676 806 +((( 677 677 AT+MBFUN can auto read the Modbus function code: 01, 02, 03 or 04. AT+MBFUN has lower priority vs AT+DATACUT command. If AT+DATACUT command is configured, AT+MBFUN will be ignore. 808 +))) 678 678 810 +((( 811 + 812 +))) 679 679 814 +((( 680 680 **Example:** 816 +))) 681 681 682 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN. 683 -* AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08. 684 -* AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10. 818 +* ((( 819 +AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN. 820 +))) 821 +* ((( 822 +AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08. 823 +))) 824 +* ((( 825 +AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10. 826 +))) 685 685 686 686 [[image:image-20220602165351-6.png]] 687 687 ... ... @@ -689,92 +689,168 @@ 689 689 690 690 691 691 834 + 692 692 ==== **RS485 command timeout** ==== 693 693 837 +((( 694 694 Some Modbus device has slow action to send replies. This command is used to configure the RS485-LN to use longer time to wait for their action. 839 +))) 695 695 841 +((( 696 696 Default value: 0, range: 0 ~~ 65 seconds 843 +))) 697 697 698 -* **AT Command:** 845 +* ((( 846 +**AT Command:** 847 +))) 699 699 700 700 (% class="box infomessage" %) 701 701 ((( 851 +((( 702 702 **AT+CMDDLaa=hex(bb cc)*1000** 703 703 ))) 854 +))) 704 704 856 +((( 705 705 **Example:** 858 +))) 706 706 860 +((( 707 707 **AT+CMDDL1=1000** to send the open time to 1000ms 862 +))) 708 708 864 +((( 865 + 866 +))) 709 709 710 -* **Downlink Payload:** 868 +* ((( 869 +**Downlink Payload:** 870 +))) 711 711 872 +((( 712 712 **0x AA aa bb cc** 874 +))) 713 713 876 +((( 714 714 Same as: AT+CMDDLaa=hex(bb cc)*1000 878 +))) 715 715 880 +((( 716 716 **Example:** 882 +))) 717 717 884 +((( 718 718 0xAA 01 00 01 ~-~-> Same as **AT+CMDDL1=1000 ms** 886 +))) 719 719 720 720 721 721 890 + 722 722 ==== **Uplink payload mode** ==== 723 723 893 +((( 724 724 Define to use one uplink or multiple uplinks for the sampling. 895 +))) 725 725 897 +((( 726 726 The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]] 899 +))) 727 727 728 -* **AT Command:** 901 +* ((( 902 +**AT Command:** 903 +))) 729 729 730 730 (% class="box infomessage" %) 731 731 ((( 907 +((( 732 732 **AT+DATAUP=0** 733 733 ))) 910 +))) 734 734 735 735 (% class="box infomessage" %) 736 736 ((( 914 +((( 737 737 **AT+DATAUP=1** 738 738 ))) 917 +))) 739 739 919 +((( 920 + 921 +))) 740 740 741 -* **Downlink Payload:** 923 +* ((( 924 +**Downlink Payload:** 925 +))) 742 742 927 +((( 743 743 **0xAD 00** **~-~->** Same as AT+DATAUP=0 929 +))) 744 744 931 +((( 745 745 **0xAD 01** **~-~->** Same as AT+DATAUP=1 933 +))) 746 746 747 747 748 748 937 + 749 749 ==== **Manually trigger an Uplink** ==== 750 750 940 +((( 751 751 Ask device to send an uplink immediately. 942 +))) 752 752 753 -* **AT Command:** 944 +* ((( 945 +**AT Command:** 946 +))) 754 754 948 +((( 755 755 No AT Command for this, user can press the [[ACT button>>||anchor="H3.7Buttons"]] for 1 second for the same. 950 +))) 756 756 952 +((( 953 + 954 +))) 757 757 758 -* **Downlink Payload:** 956 +* ((( 957 +**Downlink Payload:** 958 +))) 759 759 960 +((( 760 760 **0x08 FF**, RS485-LN will immediately send an uplink. 962 +))) 761 761 762 762 763 763 966 + 764 764 ==== **Clear RS485 Command** ==== 765 765 969 +((( 766 766 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 971 +))) 767 767 768 -* **AT Command:** 973 +* ((( 974 +**AT Command:** 975 +))) 769 769 977 +((( 770 770 **AT+CMDEAR=mm,nn** mm: start position of erase ,nn: stop position of erase 979 +))) 771 771 981 +((( 772 772 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 983 +))) 773 773 985 +((( 774 774 Example screen shot after clear all RS485 commands. 987 +))) 775 775 989 +((( 990 + 991 +))) 776 776 993 +((( 777 777 The uplink screen shot is: 995 +))) 778 778 779 779 [[image:1654160691922-496.png]] 780 780 ... ... @@ -785,6 +785,7 @@ 785 785 786 786 787 787 1006 + 788 788 ==== **Set Serial Communication Parameters** ==== 789 789 790 790 Set the Rs485 serial communication parameters:
- image-20220606110929-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +13.9 KB - Content