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, 4 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -7,12 +7,15 @@ 7 7 **RS485-BL – Waterproof RS485 to LoRaWAN Converter User Manual** 8 8 9 9 10 + 10 10 **Table of Contents:** 11 11 13 +{{toc/}} 12 12 13 13 14 14 15 15 18 + 16 16 = 1.Introduction = 17 17 18 18 == 1.1 What is RS485-BL RS485 to LoRaWAN Converter == ... ... @@ -22,19 +22,19 @@ 22 22 ))) 23 23 24 24 ((( 25 -The Dragino RS485-BL is a **RS485 / UART to LoRaWAN Converter** for Internet of Things solutions. User can connect RS485 or UART sensor to RS485-BL converter, and configure RS485-BL to periodically read sensor data and upload via LoRaWAN network to IoT server. 28 +The Dragino RS485-BL is a (% style="color:blue" %)**RS485 / UART to LoRaWAN Converter**(%%) for Internet of Things solutions. User can connect RS485 or UART sensor to RS485-BL converter, and configure RS485-BL to periodically read sensor data and upload via LoRaWAN network to IoT server. 26 26 ))) 27 27 28 28 ((( 29 -RS485-BL can interface to RS485 sensor, 3.3v/5v UART sensor or interrupt sensor. RS485-BL provides **a 3.3v output** and** a 5v output** to power external sensors. Both output voltages are controllable to minimize the total system power consumption. 32 +RS485-BL can interface to RS485 sensor, 3.3v/5v UART sensor or interrupt sensor. RS485-BL provides (% style="color:blue" %)**a 3.3v output**(%%) and** (% style="color:blue" %)a 5v output(%%)** to power external sensors. Both output voltages are controllable to minimize the total system power consumption. 30 30 ))) 31 31 32 32 ((( 33 -RS485-BL is IP67 **waterproof** and powered by **8500mAh Li-SOCI2 battery**, it is designed for long term use for several years. 36 +RS485-BL is IP67 (% style="color:blue" %)**waterproof**(%%) and powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use for several years. 34 34 ))) 35 35 36 36 ((( 37 -RS485-BL runs standard **LoRaWAN 1.0.3 in Class A**. It can reach long transfer range and easy to integrate with LoRaWAN compatible gateway and IoT server. 40 +RS485-BL runs standard (% style="color:blue" %)**LoRaWAN 1.0.3 in Class A**(%%). It can reach long transfer range and easy to integrate with LoRaWAN compatible gateway and IoT server. 38 38 ))) 39 39 40 40 ((( ... ... @@ -51,8 +51,11 @@ 51 51 52 52 [[image:1652953304999-717.png||height="424" width="733"]] 53 53 57 + 58 + 54 54 == 1.2 Specifications == 55 55 61 + 56 56 **Hardware System:** 57 57 58 58 * STM32L072CZT6 MCU ... ... @@ -59,8 +59,6 @@ 59 59 * SX1276/78 Wireless Chip 60 60 * Power Consumption (exclude RS485 device): 61 61 ** Idle: 6uA@3.3v 62 - 63 -* 64 64 ** 20dB Transmit: 130mA@3.3v 65 65 66 66 **Interface for Model:** ... ... @@ -114,9 +114,12 @@ 114 114 115 115 [[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);"]] 116 116 121 + 117 117 == 1.6 Hardware Change log == 118 118 119 119 ((( 125 + 126 + 120 120 v1.4 121 121 ))) 122 122 ... ... @@ -140,6 +140,8 @@ 140 140 141 141 ((( 142 142 Release version 150 + 151 + 143 143 ))) 144 144 145 145 = 2. Pin mapping and Power ON Device = ... ... @@ -153,6 +153,7 @@ 153 153 154 154 The Left TXD and RXD are TTL interface for external sensor. TTL level is controlled by 3.3/5v Jumper. 155 155 165 + 156 156 = 3. Operation Mode = 157 157 158 158 == 3.1 How it works? == ... ... @@ -159,6 +159,8 @@ 159 159 160 160 ((( 161 161 The RS485-BL is configured as LoRaWAN OTAA Class A mode by default. It has OTAA keys to join network. To connect a local LoRaWAN network, user just need to input the OTAA keys in the network server and power on the RS485-BL. It will auto join the network via OTAA. 172 + 173 + 162 162 ))) 163 163 164 164 == 3.2 Example to join LoRaWAN network == ... ... @@ -194,8 +194,6 @@ 194 194 ))) 195 195 196 196 197 - 198 - 199 199 [[image:image-20220519174512-1.png]] 200 200 201 201 [[image:image-20220519174512-2.png||height="328" width="731"]] ... ... @@ -219,10 +219,13 @@ 219 219 220 220 [[image:1652953568895-172.png||height="232" width="724"]] 221 221 232 + 222 222 == 3.3 Configure Commands to read data == 223 223 224 224 ((( 225 -There are plenty of RS485 and TTL level devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-BL supports flexible command set. User can use [[AT Commands or LoRaWAN Downlink>>path:#AT_COMMAND]] Command to configure how RS485-BL should read the sensor and how to handle the return from RS485 or TTL sensors. 236 +There are plenty of RS485 and TTL level devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-BL supports flexible command set. User can use [[AT Commands or LoRaWAN Downlink>>||anchor="H3.5ConfigureRS485-BLviaATorDownlink"]] Command to configure how RS485-BL should read the sensor and how to handle the return from RS485 or TTL sensors. 237 + 238 + 226 226 ))) 227 227 228 228 === 3.3.1 onfigure UART settings for RS485 or TTL communication === ... ... @@ -323,8 +323,9 @@ 323 323 mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 324 324 )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 325 325 326 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>> path:#AT_CFGDEV]].339 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]]. 327 327 341 + 328 328 === 3.3.3 Configure read commands for each sampling === 329 329 330 330 ((( ... ... @@ -422,7 +422,7 @@ 422 422 423 423 **Examples:** 424 424 425 -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 426 426 427 427 If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 428 428 ... ... @@ -430,7 +430,7 @@ 430 430 431 431 [[image:1653271044481-711.png]] 432 432 433 - 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 434 434 435 435 If we set AT+SEARCH1=2, 1E 56 34+31 00 49 436 436 ... ... @@ -449,16 +449,18 @@ 449 449 * **c: define the position for valid value. ** 450 450 ))) 451 451 452 -Examples: 466 +**Examples:** 453 453 454 454 * Grab bytes: 455 455 456 456 [[image:1653271581490-837.png||height="313" width="722"]] 457 457 472 + 458 458 * Grab a section. 459 459 460 460 [[image:1653271648378-342.png||height="326" width="720"]] 461 461 477 + 462 462 * Grab different sections. 463 463 464 464 [[image:1653271657255-576.png||height="305" width="730"]] ... ... @@ -501,6 +501,7 @@ 501 501 502 502 [[image:1653271763403-806.png]] 503 503 520 + 504 504 === 3.3.4 Compose the uplink payload === 505 505 506 506 ((( ... ... @@ -508,7 +508,7 @@ 508 508 ))) 509 509 510 510 ((( 511 -(% style="color:# 4f81bd" %)**Examples: AT+DATAUP=0**528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0** 512 512 ))) 513 513 514 514 ((( ... ... @@ -520,7 +520,7 @@ 520 520 ))) 521 521 522 522 ((( 523 -(% 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** 524 524 ))) 525 525 526 526 ((( ... ... @@ -529,8 +529,12 @@ 529 529 530 530 [[image:1653272787040-634.png||height="515" width="719"]] 531 531 549 + 550 + 532 532 ((( 533 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1** 552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1** 553 + 554 + 534 534 ))) 535 535 536 536 ((( ... ... @@ -542,7 +542,7 @@ 542 542 ))) 543 543 544 544 ((( 545 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA 566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 546 546 ))) 547 547 548 548 1. ((( ... ... @@ -565,6 +565,7 @@ 565 565 566 566 So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA 567 567 589 + 568 568 DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41 569 569 570 570 DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20 ... ... @@ -571,10 +571,12 @@ 571 571 572 572 DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30 573 573 596 + 574 574 Below are the uplink payloads: 575 575 576 576 [[image:1653272901032-107.png]] 577 577 601 + 578 578 (% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below: 579 579 580 580 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) ... ... @@ -585,6 +585,8 @@ 585 585 586 586 ~* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 587 587 612 + 613 + 588 588 === 3.3.5 Uplink on demand === 589 589 590 590 ((( ... ... @@ -601,6 +601,8 @@ 601 601 602 602 ((( 603 603 **0xA8 command**: Send a command to RS485-BL and uplink the output from sensors. 630 + 631 + 604 604 ))) 605 605 606 606 === 3.3.6 Uplink on Interrupt === ... ... @@ -609,6 +609,7 @@ 609 609 610 610 [[image:1653273818896-432.png]] 611 611 640 + 612 612 ((( 613 613 AT+INTMOD=0 Disable Interrupt 614 614 ))) ... ... @@ -623,6 +623,8 @@ 623 623 624 624 ((( 625 625 AT+INTMOD=3 Interrupt trigger by rising edge. 655 + 656 + 626 626 ))) 627 627 628 628 == 3.4 Uplink Payload == ... ... @@ -650,47 +650,49 @@ 650 650 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 651 651 652 652 ((( 653 -function Decoder(bytes, port) { 684 +{{{function Decoder(bytes, port) {}}} 654 654 ))) 655 655 656 656 ((( 657 - ~/~/Payload Formats of RS485-BL Deceive688 +{{{//Payload Formats of RS485-BL Deceive}}} 658 658 ))) 659 659 660 660 ((( 661 -return { 692 +{{{return {}}} 662 662 ))) 663 663 664 664 ((( 665 - ~/~/Battery,units:V696 +{{{ //Battery,units:V}}} 666 666 ))) 667 667 668 668 ((( 669 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000, 700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}} 670 670 ))) 671 671 672 672 ((( 673 - ~/~/GPIO_EXTI704 +{{{ //GPIO_EXTI }}} 674 674 ))) 675 675 676 676 ((( 677 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE", 708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}} 678 678 ))) 679 679 680 680 ((( 681 - ~/~/payload of version712 +{{{ //payload of version}}} 682 682 ))) 683 683 684 684 ((( 685 - Pay_ver:bytes[2], 716 +{{{ Pay_ver:bytes[2],}}} 686 686 ))) 687 687 688 688 ((( 689 - }; 720 +{{{ }; }}} 690 690 ))) 691 691 692 692 ((( 693 - } 724 +} 725 + 726 + 694 694 ))) 695 695 696 696 ((( ... ... @@ -699,58 +699,65 @@ 699 699 700 700 [[image:1653274001211-372.png||height="192" width="732"]] 701 701 735 + 702 702 == 3.5 Configure RS485-BL via AT or Downlink == 703 703 704 -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 705 705 706 706 There are two kinds of Commands: 707 707 708 -* **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]] 709 709 710 -* **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: 711 711 712 -1. 713 -11. 714 -111. Common Commands: 746 +=== 3.5.1 Common Commands: === 715 715 716 -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]] 717 717 718 718 719 -1. 720 -11. 721 -111. Sensor related commands: 751 +=== 3.5.2 Sensor related commands: === 722 722 723 -==== ChooseDeviceType (RS485 or TTL)====753 +==== ==== 724 724 755 +==== **Choose Device Type (RS485 or TTL)** ==== 756 + 725 725 RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect. 726 726 727 -* AT Command 759 +* **AT Command** 728 728 761 +(% class="box infomessage" %) 762 +((( 729 729 **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins. 764 +))) 730 730 766 +(% class="box infomessage" %) 767 +((( 731 731 **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins. 769 +))) 732 732 733 733 734 -* Downlink Payload 772 +* **Downlink Payload** 735 735 736 -**0A aa** àsame as AT+MOD=aa774 +**0A aa** ~-~-> same as AT+MOD=aa 737 737 738 738 739 739 740 -==== [[RS485 Debug Command>>path:#downlink_A8]](AT+CFGDEV) ====778 +==== **RS485 Debug Command (AT+CFGDEV)** ==== 741 741 742 742 This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling. 743 743 744 -* AT Command 782 +* **AT Command** 745 745 746 -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 +))) 747 747 748 748 m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command. 749 749 750 750 792 +* **Downlink Payload** 751 751 752 -* Downlink Payload 753 - 754 754 Format: A8 MM NN XX XX XX XX YY 755 755 756 756 Where: ... ... @@ -764,15 +764,15 @@ 764 764 765 765 To connect a Modbus Alarm with below commands. 766 766 767 -* 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. 768 768 769 -* 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. 770 770 771 771 So if user want to use downlink command to control to RS485 Alarm, he can use: 772 772 773 -**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 774 774 775 -**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 776 776 777 777 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. 778 778 ... ... @@ -781,48 +781,60 @@ 781 781 782 782 Check TTL Sensor return: 783 783 784 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]824 +[[image:1654132684752-193.png]] 785 785 786 786 787 787 828 +==== **Set Payload version** ==== 788 788 789 -==== Set Payload version ==== 790 - 791 791 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. 792 792 793 -* AT Command: 832 +* **AT Command:** 794 794 795 -AT+PAYVER: Set PAYVER field = 1 834 +(% class="box infomessage" %) 835 +((( 836 +**AT+PAYVER: Set PAYVER field = 1** 837 +))) 796 796 797 797 798 -* Downlink Payload: 840 +* **Downlink Payload:** 799 799 800 -0xAE 01 àSet PAYVER field = 0x01842 +**0xAE 01** ~-~-> Set PAYVER field = 0x01 801 801 802 -0xAE 0F àSet PAYVER field = 0x0F844 +**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 803 803 804 804 805 -==== Set RS485 Sampling Commands ==== 806 806 848 +==== **Set RS485 Sampling Commands** ==== 849 + 807 807 AT+COMMANDx, AT+DATACUTx and AT+SEARCHx 808 808 809 -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"]]. 810 810 811 811 812 -* AT Command: 855 +* **AT Command:** 813 813 814 -AT+COMMANDx: Configure RS485 read command to sensor. 857 +(% class="box infomessage" %) 858 +((( 859 +**AT+COMMANDx: Configure RS485 read command to sensor.** 860 +))) 815 815 816 -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 +))) 817 817 818 -AT+SEARCHx: Configure search command 867 +(% class="box infomessage" %) 868 +((( 869 +**AT+SEARCHx: Configure search command** 870 +))) 819 819 820 820 821 -* Downlink Payload: 873 +* **Downlink Payload:** 822 822 823 -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. 824 824 825 -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. 826 826 827 827 Format: AF MM NN LL XX XX XX XX YY 828 828 ... ... @@ -829,23 +829,23 @@ 829 829 Where: 830 830 831 831 * MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 832 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 833 -* 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 834 834 * XX XX XX XX: AT+COMMAND or AT+DATACUT command 835 -* 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. 836 836 837 -Example: 889 +**Example:** 838 838 839 -**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 840 840 841 -**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** 842 842 843 -**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** 844 844 845 845 846 -0xAB downlink command can be used for set AT+SEARCHx 898 +**0xAB** downlink command can be used for set AT+SEARCHx 847 847 848 -Example: **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So 900 +**Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So 849 849 850 850 * AB aa 01 03 xx xx xx same as AT+SEARCHaa=1,xx xx xx 851 851 * AB aa 02 03 xx xx xx 02 yy yy(03 means there are 3 bytes after 03, they are xx xx xx;02 means there are 2 bytes after 02, they are yy yy) so the commands ... ... @@ -853,145 +853,164 @@ 853 853 **AB aa 02 03 xx xx xx 02 yy yy** same as **AT+SEARCHaa=2,xx xx xx+yy yy** 854 854 855 855 856 -==== Fast command to handle MODBUS device ==== 857 857 909 +==== **Fast command to handle MODBUS device** ==== 910 + 858 858 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]]. 859 859 860 860 This command is valid since v1.3 firmware version 861 861 862 862 863 -AT+MBFUN has only two value: 916 +**AT+MBFUN has only two value:** 864 864 865 -* AT+MBFUN=1: Enable Modbus reading. And get response base on the MODBUS return 918 +* **AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return 866 866 867 867 AT+MBFUN=1, device 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. 868 868 869 -* AT+MBFUN=0: Disable Modbus fast reading. 922 +* **AT+MBFUN=0**: Disable Modbus fast reading. 870 870 871 -Example: 924 +**Example:** 872 872 873 873 * AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). 874 874 * 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. 875 875 * 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. 876 876 877 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]930 +[[image:1654133913295-597.png]] 878 878 879 879 880 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]]933 +[[image:1654133954153-643.png]] 881 881 882 882 883 -* Downlink Commands: 936 +* **Downlink Commands:** 884 884 885 -A9 aa - àSame as AT+MBFUN=aa938 +**A9 aa** ~-~-> Same as AT+MBFUN=aa 886 886 887 887 888 -==== RS485 command timeout ==== 889 889 942 +==== **RS485 command timeout** ==== 943 + 890 890 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. 891 891 892 892 Default value: 0, range: 0 ~~ 5 seconds 893 893 894 894 895 -* AT Command: 949 +* **AT Command:** 896 896 897 -AT+CMDDLaa=hex(bb cc) 951 +(% class="box infomessage" %) 952 +((( 953 +**AT+CMDDLaa=hex(bb cc)** 954 +))) 898 898 899 -Example: 956 +**Example:** 900 900 901 901 **AT+CMDDL1=1000** to send the open time to 1000ms 902 902 903 903 904 -* Downlink Payload: 961 +* **Downlink Payload:** 905 905 906 906 0x AA aa bb cc 907 907 908 908 Same as: AT+CMDDLaa=hex(bb cc) 909 909 910 - Example: 967 + **Example:** 911 911 912 - 0xAA 01 03 E8 àSame as **AT+CMDDL1=1000 ms**969 + **0xAA 01 03 E8** ~-~-> Same as **AT+CMDDL1=1000 ms** 913 913 914 914 915 -==== [[Uplink>>path:#downlink_A8]] payload mode ==== 916 916 973 +==== **Uplink payload mode** ==== 974 + 917 917 Define to use one uplink or multiple uplinks for the sampling. 918 918 919 -The use of this command please see: [[Compose Uplink payload>> path:#DataUP]]977 +The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]] 920 920 921 -* AT Command: 979 +* **AT Command:** 922 922 923 -AT+DATAUP=0 981 +(% class="box infomessage" %) 982 +((( 983 +**AT+DATAUP=0** 984 +))) 924 924 925 -AT+DATAUP=1 986 +(% class="box infomessage" %) 987 +((( 988 +**AT+DATAUP=1** 989 +))) 926 926 927 927 928 -* Downlink Payload: 992 +* **Downlink Payload:** 929 929 930 -0xAD 00 àSame as AT+DATAUP=0994 +**0xAD 00** **~-~->** Same as AT+DATAUP=0 931 931 932 -0xAD 01 àSame as AT+DATAUP=1996 +**0xAD 01** **~-~->** Same as AT+DATAUP=1 933 933 934 934 935 -==== Manually trigger an Uplink ==== 936 936 1000 +==== **Manually trigger an Uplink** ==== 1001 + 937 937 Ask device to send an uplink immediately. 938 938 939 -* Downlink Payload: 1004 +* **Downlink Payload:** 940 940 941 -0x08 FF, RS485-BL will immediately send an uplink. 1006 +**0x08 FF**, RS485-BL will immediately send an uplink. 942 942 943 943 944 -==== Clear RS485 Command ==== 945 945 1010 +==== **Clear RS485 Command** ==== 1011 + 946 946 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 947 947 948 948 949 -* AT Command: 1015 +* **AT Command:** 950 950 951 -**AT+CMDEAR=mm,nn** 1017 +(% 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 952 952 953 -Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 954 - 955 955 Example screen shot after clear all RS485 commands. 956 956 957 957 958 - 959 959 The uplink screen shot is: 960 960 961 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]1024 +[[image:1654134704555-320.png]] 962 962 963 963 964 -* Downlink Payload: 1027 +* **Downlink Payload:** 965 965 966 -0x09 aa bb same as AT+CMDEAR=aa,bb 1029 +**0x09 aa bb** same as AT+CMDEAR=aa,bb 967 967 968 968 969 -==== Set Serial Communication Parameters ==== 970 970 1033 +==== **Set Serial Communication Parameters** ==== 1034 + 971 971 Set the Rs485 serial communication parameters: 972 972 973 -* AT Command: 1037 +* **AT Command:** 974 974 975 975 Set Baud Rate: 976 976 977 -AT+BAUDR=9600 ~/~/ Options: (1200,2400,4800,14400,19200,115200) 1041 +(% class="box infomessage" %) 1042 +((( 1043 +**AT+BAUDR=9600** ~/~/ Options: (1200,2400,4800,14400,19200,115200) 1044 +))) 978 978 1046 +Set UART Parity 979 979 980 -Set UART parity 1048 +(% class="box infomessage" %) 1049 +((( 1050 +**AT+PARITY=0** ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 1051 +))) 981 981 982 -AT+PARITY=0 ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 983 - 984 - 985 985 Set STOPBIT 986 986 987 -AT+STOPBIT=0 ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 1055 +(% class="box infomessage" %) 1056 +((( 1057 +**AT+STOPBIT=0** ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 1058 +))) 988 988 989 989 990 -* Downlink Payload: 1061 +* **Downlink Payload:** 991 991 992 -A7 01 aa bb: Same AT+BAUDR=hex(aa bb)*100 1063 +**A7 01 aa bb**: Same AT+BAUDR=hex(aa bb)*100 993 993 994 -Example: 1065 +**Example:** 995 995 996 996 * A7 01 00 60 same as AT+BAUDR=9600 997 997 * A7 01 04 80 same as AT+BAUDR=115200 ... ... @@ -1001,54 +1001,51 @@ 1001 1001 A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02) 1002 1002 1003 1003 1004 -==== Control output power duration ==== 1005 1005 1076 +==== **Control output power duration** ==== 1077 + 1006 1006 User can set the output power duration before each sampling. 1007 1007 1008 -* AT Command: 1080 +* **AT Command:** 1009 1009 1010 -Example: 1082 +**Example:** 1011 1011 1012 -AT+3V3T=1000 ~/~/ 3V3 output power will open 1s before each sampling. 1084 +**AT+3V3T=1000** ~/~/ 3V3 output power will open 1s before each sampling. 1013 1013 1014 -AT+5VT=1000 ~/~/ +5V output power will open 1s before each sampling. 1086 +**AT+5VT=1000** ~/~/ +5V output power will open 1s before each sampling. 1015 1015 1016 1016 1017 -* LoRaWAN Downlink Command: 1089 +* **LoRaWAN Downlink Command:** 1018 1018 1019 -07 01 aa bb Same as AT+5VT=(aa bb) 1091 +**07 01 aa bb** Same as AT+5VT=(aa bb) 1020 1020 1021 -07 02 aa bb Same as AT+3V3T=(aa bb) 1093 +**07 02 aa bb** Same as AT+3V3T=(aa bb) 1022 1022 1023 1023 1096 +== 3.6 Buttons == 1024 1024 1098 +(% border="1" style="background-color:#ffffcc; color:green; width:233px" %) 1099 +|=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature** 1100 +|(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL 1025 1025 1026 -1. 1027 -11. Buttons 1102 +== 3.7 +3V3 Output == 1028 1028 1029 -|**Button**|**Feature** 1030 -|**RST**|Reboot RS485-BL 1031 - 1032 -1. 1033 -11. +3V3 Output 1034 - 1035 1035 RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor. 1036 1036 1037 1037 The +3V3 output will be valid for every sampling. RS485-BL will enable +3V3 output before all sampling and disable the +3V3 after all sampling. 1038 1038 1039 - 1040 1040 The +3V3 output time can be controlled by AT Command. 1041 1041 1042 -**AT+3V3T=1000** 1043 1043 1044 - Meansset+3v3 valid timetohave 1000ms. So, thereal+3v3output will actually have1000ms + sampling time for other sensors.1111 +(% style="color:#037691" %)**AT+3V3T=1000** 1045 1045 1046 1046 1114 +Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors. 1115 + 1047 1047 By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time 1048 1048 1049 1049 1050 -1. 1051 -11. +5V Output 1119 +== 3.8 +5V Output == 1052 1052 1053 1053 RS485-BL has a Controllable +5V output, user can use this output to power external sensor. 1054 1054 ... ... @@ -1057,7 +1057,7 @@ 1057 1057 1058 1058 The 5V output time can be controlled by AT Command. 1059 1059 1060 -**AT+5VT=1000** 1128 +(% style="color:#037691" %)**AT+5VT=1000** 1061 1061 1062 1062 Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors. 1063 1063 ... ... @@ -1066,15 +1066,12 @@ 1066 1066 1067 1067 1068 1068 1137 +== 3.9 LEDs == 1069 1069 1070 -1. 1071 -11. LEDs 1072 - 1073 1073 |**LEDs**|**Feature** 1074 1074 |**LED1**|Blink when device transmit a packet. 1075 1075 1076 -1. 1077 -11. Switch Jumper 1142 +== 3.10 Switch Jumper == 1078 1078 1079 1079 |**Switch Jumper**|**Feature** 1080 1080 |**SW1**|(((
- 1654132684752-193.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.8 KB - Content
- 1654133913295-597.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +116.2 KB - Content
- 1654133954153-643.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.2 KB - Content
- 1654134704555-320.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.4 KB - Content