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
-
... ... @@ -316,7 +316,6 @@ 316 316 ))) 317 317 ))) 318 318 319 - 320 320 === 3.3.2 Configure sensors === 321 321 322 322 ((( ... ... @@ -437,7 +437,7 @@ 437 437 438 438 **Examples:** 439 439 440 -1 .For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49439 +1)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 441 441 442 442 If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 443 443 ... ... @@ -445,7 +445,7 @@ 445 445 446 446 [[image:1653271044481-711.png]] 447 447 448 - 1.For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49447 +2)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 449 449 450 450 If we set AT+SEARCH1=2, 1E 56 34+31 00 49 451 451 ... ... @@ -464,16 +464,18 @@ 464 464 * **c: define the position for valid value. ** 465 465 ))) 466 466 467 -Examples: 466 +**Examples:** 468 468 469 469 * Grab bytes: 470 470 471 471 [[image:1653271581490-837.png||height="313" width="722"]] 472 472 472 + 473 473 * Grab a section. 474 474 475 475 [[image:1653271648378-342.png||height="326" width="720"]] 476 476 477 + 477 477 * Grab different sections. 478 478 479 479 [[image:1653271657255-576.png||height="305" width="730"]] ... ... @@ -516,6 +516,7 @@ 516 516 517 517 [[image:1653271763403-806.png]] 518 518 520 + 519 519 === 3.3.4 Compose the uplink payload === 520 520 521 521 ((( ... ... @@ -523,7 +523,7 @@ 523 523 ))) 524 524 525 525 ((( 526 -(% style="color:# 4f81bd" %)**Examples: AT+DATAUP=0**528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0** 527 527 ))) 528 528 529 529 ((( ... ... @@ -535,7 +535,7 @@ 535 535 ))) 536 536 537 537 ((( 538 -(% style="color:#4f81bd" %)Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx 540 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx** 539 539 ))) 540 540 541 541 ((( ... ... @@ -544,8 +544,12 @@ 544 544 545 545 [[image:1653272787040-634.png||height="515" width="719"]] 546 546 549 + 550 + 547 547 ((( 548 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1** 552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1** 553 + 554 + 549 549 ))) 550 550 551 551 ((( ... ... @@ -557,7 +557,7 @@ 557 557 ))) 558 558 559 559 ((( 560 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA 566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 561 561 ))) 562 562 563 563 1. ((( ... ... @@ -580,6 +580,7 @@ 580 580 581 581 So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA 582 582 589 + 583 583 DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41 584 584 585 585 DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20 ... ... @@ -586,10 +586,12 @@ 586 586 587 587 DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30 588 588 596 + 589 589 Below are the uplink payloads: 590 590 591 591 [[image:1653272901032-107.png]] 592 592 601 + 593 593 (% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below: 594 594 595 595 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) ... ... @@ -600,6 +600,8 @@ 600 600 601 601 ~* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 602 602 612 + 613 + 603 603 === 3.3.5 Uplink on demand === 604 604 605 605 ((( ... ... @@ -616,6 +616,8 @@ 616 616 617 617 ((( 618 618 **0xA8 command**: Send a command to RS485-BL and uplink the output from sensors. 630 + 631 + 619 619 ))) 620 620 621 621 === 3.3.6 Uplink on Interrupt === ... ... @@ -624,6 +624,7 @@ 624 624 625 625 [[image:1653273818896-432.png]] 626 626 640 + 627 627 ((( 628 628 AT+INTMOD=0 Disable Interrupt 629 629 ))) ... ... @@ -638,6 +638,8 @@ 638 638 639 639 ((( 640 640 AT+INTMOD=3 Interrupt trigger by rising edge. 655 + 656 + 641 641 ))) 642 642 643 643 == 3.4 Uplink Payload == ... ... @@ -665,47 +665,49 @@ 665 665 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 666 666 667 667 ((( 668 -function Decoder(bytes, port) { 684 +{{{function Decoder(bytes, port) {}}} 669 669 ))) 670 670 671 671 ((( 672 - ~/~/Payload Formats of RS485-BL Deceive688 +{{{//Payload Formats of RS485-BL Deceive}}} 673 673 ))) 674 674 675 675 ((( 676 -return { 692 +{{{return {}}} 677 677 ))) 678 678 679 679 ((( 680 - ~/~/Battery,units:V696 +{{{ //Battery,units:V}}} 681 681 ))) 682 682 683 683 ((( 684 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000, 700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}} 685 685 ))) 686 686 687 687 ((( 688 - ~/~/GPIO_EXTI704 +{{{ //GPIO_EXTI }}} 689 689 ))) 690 690 691 691 ((( 692 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE", 708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}} 693 693 ))) 694 694 695 695 ((( 696 - ~/~/payload of version712 +{{{ //payload of version}}} 697 697 ))) 698 698 699 699 ((( 700 - Pay_ver:bytes[2], 716 +{{{ Pay_ver:bytes[2],}}} 701 701 ))) 702 702 703 703 ((( 704 - }; 720 +{{{ }; }}} 705 705 ))) 706 706 707 707 ((( 708 - } 724 +} 725 + 726 + 709 709 ))) 710 710 711 711 ((( ... ... @@ -714,58 +714,65 @@ 714 714 715 715 [[image:1653274001211-372.png||height="192" width="732"]] 716 716 735 + 717 717 == 3.5 Configure RS485-BL via AT or Downlink == 718 718 719 -User can configure RS485-BL via [[AT Commands>>path:#_Using_the_AT]]or LoRaWAN Downlink Commands738 +User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands 720 720 721 721 There are two kinds of Commands: 722 722 723 -* **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: http:~/~/wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands742 +* (% 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: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]] 724 724 725 -* **Sensor Related Commands**: These commands are special designed for RS485-BL. User can see these commands below: 744 +* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL. User can see these commands below: 726 726 727 -1. 728 -11. 729 -111. Common Commands: 746 +=== 3.5.1 Common Commands: === 730 730 731 -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: [[ http:~~/~~/wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands>>url:http://wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands]]748 +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]] 732 732 733 733 734 -1. 735 -11. 736 -111. Sensor related commands: 751 +=== 3.5.2 Sensor related commands: === 737 737 738 -==== ChooseDeviceType (RS485 or TTL)====753 +==== ==== 739 739 755 +==== **Choose Device Type (RS485 or TTL)** ==== 756 + 740 740 RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect. 741 741 742 -* AT Command 759 +* **AT Command** 743 743 761 +(% class="box infomessage" %) 762 +((( 744 744 **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins. 764 +))) 745 745 766 +(% class="box infomessage" %) 767 +((( 746 746 **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins. 769 +))) 747 747 748 748 749 -* Downlink Payload 772 +* **Downlink Payload** 750 750 751 -**0A aa** àsame as AT+MOD=aa774 +**0A aa** ~-~-> same as AT+MOD=aa 752 752 753 753 754 754 755 -==== [[RS485 Debug Command>>path:#downlink_A8]](AT+CFGDEV) ====778 +==== **RS485 Debug Command (AT+CFGDEV)** ==== 756 756 757 757 This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling. 758 758 759 -* AT Command 782 +* **AT Command** 760 760 761 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 784 +(% class="box infomessage" %) 785 +((( 786 +**AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** 787 +))) 762 762 763 763 m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command. 764 764 765 765 792 +* **Downlink Payload** 766 766 767 -* Downlink Payload 768 - 769 769 Format: A8 MM NN XX XX XX XX YY 770 770 771 771 Where: ... ... @@ -779,15 +779,15 @@ 779 779 780 780 To connect a Modbus Alarm with below commands. 781 781 782 -* 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. 807 +* 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. 783 783 784 -* 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. 809 +* 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. 785 785 786 786 So if user want to use downlink command to control to RS485 Alarm, he can use: 787 787 788 -**A8 01 06 0A 05 00 04 00 01 00**: to activate the RS485 Alarm 813 +(% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm 789 789 790 -**A8 01 06 0A 05 00 04 00 00 00**: to deactivate the RS485 Alarm 815 +(% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm 791 791 792 792 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. 793 793 ... ... @@ -796,48 +796,60 @@ 796 796 797 797 Check TTL Sensor return: 798 798 799 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]824 +[[image:1654132684752-193.png]] 800 800 801 801 802 802 828 +==== **Set Payload version** ==== 803 803 804 -==== Set Payload version ==== 805 - 806 806 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. 807 807 808 -* AT Command: 832 +* **AT Command:** 809 809 810 -AT+PAYVER: Set PAYVER field = 1 834 +(% class="box infomessage" %) 835 +((( 836 +**AT+PAYVER: Set PAYVER field = 1** 837 +))) 811 811 812 812 813 -* Downlink Payload: 840 +* **Downlink Payload:** 814 814 815 -0xAE 01 àSet PAYVER field = 0x01842 +**0xAE 01** ~-~-> Set PAYVER field = 0x01 816 816 817 -0xAE 0F àSet PAYVER field = 0x0F844 +**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 818 818 819 819 820 -==== Set RS485 Sampling Commands ==== 821 821 848 +==== **Set RS485 Sampling Commands** ==== 849 + 822 822 AT+COMMANDx, AT+DATACUTx and AT+SEARCHx 823 823 824 -These three commands are used to configure how the RS485-BL polling data from Modbus device. Detail of usage please see : [[polling RS485 device>> path:#polling_485]].852 +These three commands are used to configure how the RS485-BL polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]]. 825 825 826 826 827 -* AT Command: 855 +* **AT Command:** 828 828 829 -AT+COMMANDx: Configure RS485 read command to sensor. 857 +(% class="box infomessage" %) 858 +((( 859 +**AT+COMMANDx: Configure RS485 read command to sensor.** 860 +))) 830 830 831 -AT+DATACUTx: Configure how to handle return from RS485 devices. 862 +(% class="box infomessage" %) 863 +((( 864 +**AT+DATACUTx: Configure how to handle return from RS485 devices.** 865 +))) 832 832 833 -AT+SEARCHx: Configure search command 867 +(% class="box infomessage" %) 868 +((( 869 +**AT+SEARCHx: Configure search command** 870 +))) 834 834 835 835 836 -* Downlink Payload: 873 +* **Downlink Payload:** 837 837 838 -0xAF downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 875 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 839 839 840 -Note: if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 877 +(% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 841 841 842 842 Format: AF MM NN LL XX XX XX XX YY 843 843 ... ... @@ -844,18 +844,18 @@ 844 844 Where: 845 845 846 846 * MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 847 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 848 -* LL: The length of AT+COMMAND or AT+DATACUT command 884 +* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 885 +* LL: The length of AT+COMMAND or AT+DATACUT command 849 849 * XX XX XX XX: AT+COMMAND or AT+DATACUT command 850 -* YY: If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command. 887 +* YY: If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command. 851 851 852 -Example: 889 +**Example:** 853 853 854 -**AF 03 01 06 0A 05 00 04 00 01 00**: Same as AT+COMMAND3=0A 05 00 04 00 01,1 891 +(% 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 855 855 856 -**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10** 893 +(% 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** 857 857 858 -**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10** 895 +(% 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** 859 859 860 860 861 861 0xAB downlink command can be used for set AT+SEARCHx
- 1654132684752-193.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.8 KB - Content