Last modified by Xiaoling on 2025/04/23 15:57

From version 29.5
edited by Xiaoling
on 2022/06/01 18:00
Change comment: There is no comment for this version
To version 35.3
edited by Xiaoling
on 2022/06/02 10:15
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -25,19 +25,19 @@
25 25  )))
26 26  
27 27  (((
28 -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.
29 29  )))
30 30  
31 31  (((
32 -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.
33 33  )))
34 34  
35 35  (((
36 -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.
37 37  )))
38 38  
39 39  (((
40 -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.
41 41  )))
42 42  
43 43  (((
... ... @@ -54,8 +54,11 @@
54 54  
55 55  [[image:1652953304999-717.png||height="424" width="733"]]
56 56  
57 +
58 +
57 57  == 1.2 Specifications ==
58 58  
61 +
59 59  **Hardware System:**
60 60  
61 61  * STM32L072CZT6 MCU
... ... @@ -62,8 +62,6 @@
62 62  * SX1276/78 Wireless Chip 
63 63  * Power Consumption (exclude RS485 device):
64 64  ** Idle: 6uA@3.3v
65 -
66 -*
67 67  ** 20dB Transmit: 130mA@3.3v
68 68  
69 69  **Interface for Model:**
... ... @@ -117,9 +117,12 @@
117 117  
118 118  [[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);"]]
119 119  
121 +
120 120  == 1.6 Hardware Change log ==
121 121  
122 122  (((
125 +
126 +
123 123  v1.4
124 124  )))
125 125  
... ... @@ -143,6 +143,8 @@
143 143  
144 144  (((
145 145  Release version ​​​​​
150 +
151 +
146 146  )))
147 147  
148 148  = 2. Pin mapping and Power ON Device =
... ... @@ -156,6 +156,7 @@
156 156  
157 157  The Left TXD and RXD are TTL interface for external sensor. TTL level is controlled by 3.3/5v Jumper.
158 158  
165 +
159 159  = 3. Operation Mode =
160 160  
161 161  == 3.1 How it works? ==
... ... @@ -162,6 +162,8 @@
162 162  
163 163  (((
164 164  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 +
165 165  )))
166 166  
167 167  == 3.2 Example to join LoRaWAN network ==
... ... @@ -197,8 +197,6 @@
197 197  )))
198 198  
199 199  
200 -
201 -
202 202  [[image:image-20220519174512-1.png]]
203 203  
204 204  [[image:image-20220519174512-2.png||height="328" width="731"]]
... ... @@ -222,10 +222,13 @@
222 222  
223 223  [[image:1652953568895-172.png||height="232" width="724"]]
224 224  
232 +
225 225  == 3.3 Configure Commands to read data ==
226 226  
227 227  (((
228 -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 +
229 229  )))
230 230  
231 231  === 3.3.1 onfigure UART settings for RS485 or TTL communication ===
... ... @@ -326,8 +326,9 @@
326 326  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
327 327  )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
328 328  
329 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>path:#AT_CFGDEV]].
339 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
330 330  
341 +
331 331  === 3.3.3 Configure read commands for each sampling ===
332 332  
333 333  (((
... ... @@ -425,7 +425,7 @@
425 425  
426 426  **Examples:**
427 427  
428 -1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
439 +1For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
429 429  
430 430  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
431 431  
... ... @@ -433,7 +433,7 @@
433 433  
434 434  [[image:1653271044481-711.png]]
435 435  
436 -1. For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
447 +2)For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
437 437  
438 438  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
439 439  
... ... @@ -452,16 +452,18 @@
452 452  * **c: define the position for valid value.  **
453 453  )))
454 454  
455 -Examples:
466 +**Examples:**
456 456  
457 457  * Grab bytes:
458 458  
459 459  [[image:1653271581490-837.png||height="313" width="722"]]
460 460  
472 +
461 461  * Grab a section.
462 462  
463 463  [[image:1653271648378-342.png||height="326" width="720"]]
464 464  
477 +
465 465  * Grab different sections.
466 466  
467 467  [[image:1653271657255-576.png||height="305" width="730"]]
... ... @@ -504,6 +504,7 @@
504 504  
505 505  [[image:1653271763403-806.png]]
506 506  
520 +
507 507  === 3.3.4 Compose the uplink payload ===
508 508  
509 509  (((
... ... @@ -511,7 +511,7 @@
511 511  )))
512 512  
513 513  (((
514 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0**
528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0**
515 515  )))
516 516  
517 517  (((
... ... @@ -523,7 +523,7 @@
523 523  )))
524 524  
525 525  (((
526 -(% 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**
527 527  )))
528 528  
529 529  (((
... ... @@ -532,8 +532,12 @@
532 532  
533 533  [[image:1653272787040-634.png||height="515" width="719"]]
534 534  
549 +
550 +
535 535  (((
536 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1**
553 +
554 +
537 537  )))
538 538  
539 539  (((
... ... @@ -545,7 +545,7 @@
545 545  )))
546 546  
547 547  (((
548 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
549 549  )))
550 550  
551 551  1. (((
... ... @@ -568,6 +568,7 @@
568 568  
569 569  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
570 570  
589 +
571 571  DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41
572 572  
573 573  DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20
... ... @@ -574,10 +574,12 @@
574 574  
575 575  DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
576 576  
596 +
577 577  Below are the uplink payloads:
578 578  
579 579  [[image:1653272901032-107.png]]
580 580  
601 +
581 581  (% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
582 582  
583 583   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
... ... @@ -588,6 +588,8 @@
588 588  
589 589   ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
590 590  
612 +
613 +
591 591  === 3.3.5 Uplink on demand ===
592 592  
593 593  (((
... ... @@ -604,6 +604,8 @@
604 604  
605 605  (((
606 606  **0xA8 command**: Send a command to RS485-BL and uplink the output from sensors.
630 +
631 +
607 607  )))
608 608  
609 609  === 3.3.6 Uplink on Interrupt ===
... ... @@ -612,6 +612,7 @@
612 612  
613 613  [[image:1653273818896-432.png]]
614 614  
640 +
615 615  (((
616 616  AT+INTMOD=0  Disable Interrupt
617 617  )))
... ... @@ -626,6 +626,8 @@
626 626  
627 627  (((
628 628  AT+INTMOD=3  Interrupt trigger by rising edge.
655 +
656 +
629 629  )))
630 630  
631 631  == 3.4 Uplink Payload ==
... ... @@ -653,47 +653,49 @@
653 653  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
654 654  
655 655  (((
656 -function Decoder(bytes, port) {
684 +{{{function Decoder(bytes, port) {}}}
657 657  )))
658 658  
659 659  (((
660 -~/~/Payload Formats of RS485-BL Deceive
688 +{{{//Payload Formats of RS485-BL Deceive}}}
661 661  )))
662 662  
663 663  (((
664 -return {
692 +{{{return {}}}
665 665  )))
666 666  
667 667  (((
668 - ~/~/Battery,units:V
696 +{{{ //Battery,units:V}}}
669 669  )))
670 670  
671 671  (((
672 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}}
673 673  )))
674 674  
675 675  (((
676 - ~/~/GPIO_EXTI 
704 +{{{ //GPIO_EXTI }}}
677 677  )))
678 678  
679 679  (((
680 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}}
681 681  )))
682 682  
683 683  (((
684 - ~/~/payload of version
712 +{{{ //payload of version}}}
685 685  )))
686 686  
687 687  (((
688 - Pay_ver:bytes[2],
716 +{{{ Pay_ver:bytes[2],}}}
689 689  )))
690 690  
691 691  (((
692 - };
720 +{{{ }; }}}
693 693  )))
694 694  
695 695  (((
696 - }
724 +}
725 +
726 +
697 697  )))
698 698  
699 699  (((
... ... @@ -702,58 +702,65 @@
702 702  
703 703  [[image:1653274001211-372.png||height="192" width="732"]]
704 704  
735 +
705 705  == 3.5 Configure RS485-BL via AT or Downlink ==
706 706  
707 -User can configure RS485-BL via [[AT Commands >>path:#_​Using_the_AT]]or LoRaWAN Downlink Commands
738 +User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands
708 708  
709 709  There are two kinds of Commands:
710 710  
711 -* **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_Commands
742 +* (% 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]]
712 712  
713 -* **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:
714 714  
715 -1.
716 -11.
717 -111. Common Commands:
746 +=== 3.5.1 Common Commands: ===
718 718  
719 -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]]
720 720  
721 721  
722 -1.
723 -11.
724 -111. Sensor related commands:
751 +=== 3.5.2 Sensor related commands: ===
725 725  
726 -==== Choose Device Type (RS485 or TTL) ====
753 +==== ====
727 727  
755 +==== **Choose Device Type (RS485 or TTL)** ====
756 +
728 728  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
729 729  
730 -* AT Command
759 +* **AT Command**
731 731  
761 +(% class="box infomessage" %)
762 +(((
732 732  **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
764 +)))
733 733  
766 +(% class="box infomessage" %)
767 +(((
734 734  **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
769 +)))
735 735  
736 736  
737 -* Downlink Payload
772 +* **Downlink Payload**
738 738  
739 -**0A aa**     à same as AT+MOD=aa
774 +**0A aa**  ~-~->  same as AT+MOD=aa
740 740  
741 741  
742 742  
743 -==== [[RS485 Debug Command>>path:#downlink_A8]] (AT+CFGDEV) ====
778 +==== **RS485 Debug Command (AT+CFGDEV)** ====
744 744  
745 745  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
746 746  
747 -* AT Command
782 +* **AT Command**
748 748  
749 -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 +)))
750 750  
751 751  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
752 752  
753 753  
792 +* **Downlink Payload**
754 754  
755 -* Downlink Payload
756 -
757 757  Format: A8 MM NN XX XX XX XX YY
758 758  
759 759  Where:
... ... @@ -767,15 +767,15 @@
767 767  
768 768  To connect a Modbus Alarm with below commands.
769 769  
770 -* 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.
771 771  
772 -* 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.
773 773  
774 774  So if user want to use downlink command to control to RS485 Alarm, he can use:
775 775  
776 -**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
777 777  
778 -**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
779 779  
780 780  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.
781 781  
... ... @@ -784,48 +784,60 @@
784 784  
785 785  Check TTL Sensor return:
786 786  
787 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]
824 +[[image:1654132684752-193.png]]
788 788  
789 789  
790 790  
828 +==== **Set Payload version** ====
791 791  
792 -==== Set Payload version ====
793 -
794 794  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.
795 795  
796 -* AT Command:
832 +* **AT Command:**
797 797  
798 -AT+PAYVER: Set PAYVER field = 1
834 +(% class="box infomessage" %)
835 +(((
836 +**AT+PAYVER: Set PAYVER field = 1**
837 +)))
799 799  
800 800  
801 -* Downlink Payload:
840 +* **Downlink Payload:**
802 802  
803 -0xAE 01   à Set PAYVER field =  0x01
842 +**0xAE 01**  ~-~-> Set PAYVER field =  0x01
804 804  
805 -0xAE 0F   à Set PAYVER field =  0x0F
844 +**0xAE 0F**   ~-~-> Set PAYVER field =  0x0F
806 806  
807 807  
808 -==== Set RS485 Sampling Commands ====
809 809  
848 +==== **Set RS485 Sampling Commands** ====
849 +
810 810  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
811 811  
812 -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"]].
813 813  
814 814  
815 -* AT Command:
855 +* **AT Command:**
816 816  
817 -AT+COMMANDx: Configure RS485 read command to sensor.
857 +(% class="box infomessage" %)
858 +(((
859 +**AT+COMMANDx: Configure RS485 read command to sensor.**
860 +)))
818 818  
819 -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 +)))
820 820  
821 -AT+SEARCHx: Configure search command
867 +(% class="box infomessage" %)
868 +(((
869 +**AT+SEARCHx: Configure search command**
870 +)))
822 822  
823 823  
824 -* Downlink Payload:
873 +* **Downlink Payload:**
825 825  
826 -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.
827 827  
828 -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.
829 829  
830 830  Format: AF MM NN LL XX XX XX XX YY
831 831  
... ... @@ -832,23 +832,23 @@
832 832  Where:
833 833  
834 834  * MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
835 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
836 -* 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
837 837  * XX XX XX XX: AT+COMMAND or AT+DATACUT command
838 -* 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.
839 839  
840 -Example:
889 +**Example:**
841 841  
842 -**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
843 843  
844 -**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**
845 845  
846 -**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**
847 847  
848 848  
849 -0xAB downlink command can be used for set AT+SEARCHx
898 +**0xAB** downlink command can be used for set AT+SEARCHx
850 850  
851 -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
852 852  
853 853  * AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
854 854  * 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
... ... @@ -856,145 +856,164 @@
856 856  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
857 857  
858 858  
859 -==== Fast command to handle MODBUS device ====
860 860  
909 +==== **Fast command to handle MODBUS device** ====
910 +
861 861  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]].
862 862  
863 863  This command is valid since v1.3 firmware version
864 864  
865 865  
866 -AT+MBFUN has only two value:
916 +**AT+MBFUN has only two value:**
867 867  
868 -* 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
869 869  
870 870  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.
871 871  
872 -* AT+MBFUN=0: Disable Modbus fast reading.
922 +* **AT+MBFUN=0**: Disable Modbus fast reading.
873 873  
874 -Example:
924 +**Example:**
875 875  
876 876  * AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
877 877  * 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.
878 878  * 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.
879 879  
880 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]
930 +[[image:1654133913295-597.png]]
881 881  
882 882  
883 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]]
933 +[[image:1654133954153-643.png]]
884 884  
885 885  
886 -* Downlink Commands:
936 +* **Downlink Commands:**
887 887  
888 -A9 aa -à Same as AT+MBFUN=aa
938 +**A9 aa** ~-~-> Same as AT+MBFUN=aa
889 889  
890 890  
891 -==== RS485 command timeout ====
892 892  
942 +==== **RS485 command timeout** ====
943 +
893 893  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.
894 894  
895 895  Default value: 0, range:  0 ~~ 5 seconds
896 896  
897 897  
898 -* AT Command:
949 +* **AT Command:**
899 899  
900 -AT+CMDDLaa=hex(bb cc)
951 +(% class="box infomessage" %)
952 +(((
953 +**AT+CMDDLaa=hex(bb cc)**
954 +)))
901 901  
902 -Example:
956 +**Example:**
903 903  
904 904  **AT+CMDDL1=1000** to send the open time to 1000ms
905 905  
906 906  
907 -* Downlink Payload:
961 +* **Downlink Payload:**
908 908  
909 909  0x AA aa bb cc
910 910  
911 911  Same as: AT+CMDDLaa=hex(bb cc)
912 912  
913 - Example:
967 + **Example:**
914 914  
915 - 0xAA 01 03 E8  à Same as **AT+CMDDL1=1000 ms**
969 + **0xAA 01 03 E8**  ~-~-> Same as **AT+CMDDL1=1000 ms**
916 916  
917 917  
918 -==== [[Uplink>>path:#downlink_A8]] payload mode ====
919 919  
973 +==== **Uplink payload mode** ====
974 +
920 920  Define to use one uplink or multiple uplinks for the sampling.
921 921  
922 -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"]]
923 923  
924 -* AT Command:
979 +* **AT Command:**
925 925  
926 -AT+DATAUP=0
981 +(% class="box infomessage" %)
982 +(((
983 +**AT+DATAUP=0**
984 +)))
927 927  
928 -AT+DATAUP=1
986 +(% class="box infomessage" %)
987 +(((
988 +**AT+DATAUP=1**
989 +)))
929 929  
930 930  
931 -* Downlink Payload:
992 +* **Downlink Payload:**
932 932  
933 -0xAD 00   à Same as AT+DATAUP=0
994 +**0xAD 00**  **~-~->** Same as AT+DATAUP=0
934 934  
935 -0xAD 01   à Same as AT+DATAUP=1
996 +**0xAD 01**  **~-~->** Same as AT+DATAUP=1
936 936  
937 937  
938 -==== Manually trigger an Uplink ====
939 939  
1000 +==== **Manually trigger an Uplink** ====
1001 +
940 940  Ask device to send an uplink immediately.
941 941  
942 -* Downlink Payload:
1004 +* **Downlink Payload:**
943 943  
944 -0x08 FF, RS485-BL will immediately send an uplink.
1006 +**0x08 FF**, RS485-BL will immediately send an uplink.
945 945  
946 946  
947 -==== Clear RS485 Command ====
948 948  
1010 +==== **Clear RS485 Command** ====
1011 +
949 949  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
950 950  
951 951  
952 -* AT Command:
1015 +* **AT Command:**
953 953  
954 -**AT+CMDEAR=mm,nn**   mm: start position of erase ,nn: stop position of erase
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
955 955  
956 -Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
957 -
958 958  Example screen shot after clear all RS485 commands. 
959 959  
960 960  
961 -
962 962  The uplink screen shot is:
963 963  
964 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
1024 +[[image:1654134704555-320.png]]
965 965  
966 966  
967 -* Downlink Payload:
1027 +* **Downlink Payload:**
968 968  
969 -0x09 aa bb same as AT+CMDEAR=aa,bb
1029 +**0x09 aa bb** same as AT+CMDEAR=aa,bb
970 970  
971 971  
972 -==== Set Serial Communication Parameters ====
973 973  
1033 +==== **Set Serial Communication Parameters** ====
1034 +
974 974  Set the Rs485 serial communication parameters:
975 975  
976 -* AT Command:
1037 +* **AT Command:**
977 977  
978 978  Set Baud Rate:
979 979  
980 -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 +)))
981 981  
1046 +Set UART Parity
982 982  
983 -Set UART parity
1048 +(% class="box infomessage" %)
1049 +(((
1050 +**AT+PARITY=0**    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
1051 +)))
984 984  
985 -AT+PARITY=0    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
986 -
987 -
988 988  Set STOPBIT
989 989  
990 -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 +)))
991 991  
992 992  
993 -* Downlink Payload:
1061 +* **Downlink Payload:**
994 994  
995 -A7 01 aa bb: Same  AT+BAUDR=hex(aa bb)*100
1063 +**A7 01 aa bb**: Same  AT+BAUDR=hex(aa bb)*100
996 996  
997 -Example:
1065 +**Example:**
998 998  
999 999  * A7 01 00 60   same as AT+BAUDR=9600
1000 1000  * A7 01 04 80  same as AT+BAUDR=115200
... ... @@ -1004,128 +1004,119 @@
1004 1004  A7 03 aa: Same as  AT+STOPBIT=aa  (aa value: 00 , 01 or 02)
1005 1005  
1006 1006  
1007 -==== Control output power duration ====
1008 1008  
1076 +==== **Control output power duration** ====
1077 +
1009 1009  User can set the output power duration before each sampling.
1010 1010  
1011 -* AT Command:
1080 +* **AT Command:**
1012 1012  
1013 -Example:
1082 +**Example:**
1014 1014  
1015 -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.
1016 1016  
1017 -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.
1018 1018  
1019 1019  
1020 -* LoRaWAN Downlink Command:
1089 +* **LoRaWAN Downlink Command:**
1021 1021  
1022 -07 01 aa bb  Same as AT+5VT=(aa bb)
1091 +**07 01 aa bb**  Same as AT+5VT=(aa bb)
1023 1023  
1024 -07 02 aa bb  Same as AT+3V3T=(aa bb)
1093 +**07 02 aa bb**  Same as AT+3V3T=(aa bb)
1025 1025  
1026 1026  
1096 +== 3.6 Buttons ==
1027 1027  
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
1028 1028  
1029 -1.
1030 -11. Buttons
1102 +== 3.7 +3V3 Output ==
1031 1031  
1032 -|**Button**|**Feature**
1033 -|**RST**|Reboot RS485-BL
1034 -
1035 -1.
1036 -11. +3V3 Output
1037 -
1038 1038  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
1039 1039  
1040 1040  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. 
1041 1041  
1042 -
1043 1043  The +3V3 output time can be controlled by AT Command.
1044 1044  
1045 -**AT+3V3T=1000**
1046 1046  
1047 -Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors.
1111 +(% style="color:#037691" %)**AT+3V3T=1000**
1048 1048  
1049 1049  
1114 +Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors.
1115 +
1050 1050  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
1051 1051  
1052 1052  
1053 -1.
1054 -11. +5V Output
1119 +== 3.8 +5V Output ==
1055 1055  
1056 1056  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
1057 1057  
1058 1058  The +5V output will be valid for every sampling. RS485-BL will enable +5V output before all sampling and disable the +5v after all sampling. 
1059 1059  
1060 -
1061 1061  The 5V output time can be controlled by AT Command.
1062 1062  
1063 -**AT+5VT=1000**
1064 1064  
1065 -Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors.
1128 +(% style="color:#037691" %)**AT+5VT=1000**
1066 1066  
1067 1067  
1131 +Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors.
1132 +
1068 1068  By default, the AT+5VT=0. If the external sensor which require 5v and require more time to get stable state, user can use this command to increase the power ON duration for this sensor.
1069 1069  
1070 1070  
1136 +== 3.9 LEDs ==
1071 1071  
1138 +(% border="1" style="background-color:#ffffcc; color:green; width:332px" %)
1139 +|=**LEDs**|=(% style="width: 274px;" %)**Feature**
1140 +|**LED1**|(% style="width:274px" %)Blink when device transmit a packet.
1072 1072  
1073 -1.
1074 -11. LEDs
1142 +== 3.10 Switch Jumper ==
1075 1075  
1076 -|**LEDs**|**Feature**
1077 -|**LED1**|Blink when device transmit a packet.
1078 -
1079 -1.
1080 -11. Switch Jumper
1081 -
1082 -|**Switch Jumper**|**Feature**
1083 -|**SW1**|(((
1144 +(% border="1" style="background-color:#ffffcc; color:green; width:515px" %)
1145 +|=(% style="width: 124px;" %)**Switch Jumper**|=(% style="width: 388px;" %)**Feature**
1146 +|(% style="width:124px" %)**SW1**|(% style="width:388px" %)(((
1084 1084  ISP position: Upgrade firmware via UART
1085 1085  
1086 1086  Flash position: Configure device, check running status.
1087 1087  )))
1088 -|**SW2**|(((
1151 +|(% style="width:124px" %)**SW2**|(% style="width:388px" %)(((
1089 1089  5V position: set to compatible with 5v I/O.
1090 1090  
1091 1091  3.3v position: set to compatible with 3.3v I/O.,
1092 1092  )))
1093 1093  
1094 -+3.3V: is always ON
1157 +**+3.3V**: is always ON
1095 1095  
1096 -+5V: Only open before every sampling. The time is by default, it is AT+5VT=0.  Max open time. 5000 ms.
1159 +**+5V**: Only open before every sampling. The time is by default, it is AT+5VT=0.  Max open time. 5000 ms.
1097 1097  
1098 -1. Case Study
1099 1099  
1100 -User can check this URL for some case studies.
1162 += 4. Case Study =
1101 1101  
1102 -[[http:~~/~~/wiki.dragino.com/index.php?title=APP_RS485_COMMUNICATE_WITH_SENSORS>>url:http://wiki.dragino.com/index.php?title=APP_RS485_COMMUNICATE_WITH_SENSORS]]
1164 +User can check this URL for some case studies: [[APP RS485 COMMUNICATE WITH SENSORS>>doc:Main.Application Note \: Communicate with Different Sensors ----- RS485-LN RS485-BL.WebHome]]
1103 1103  
1104 1104  
1167 += 5. Use AT Command =
1105 1105  
1169 +== 5.1 Access AT Command ==
1106 1106  
1107 -1. Use AT Command
1108 -11. Access AT Command
1109 -
1110 1110  RS485-BL supports AT Command set. User can use a USB to TTL adapter plus the 3.5mm Program Cable to connect to RS485-BL to use AT command, as below.
1111 1111  
1112 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]]
1173 +[[image:1654135840598-282.png]]
1113 1113  
1114 1114  
1115 -In PC, User needs to set **serial tool**(such as [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to **9600** to access to access serial console of RS485-BL. The default password is 123456. Below is the output for reference:
1176 +In PC, User needs to set (% style="color:blue" %)**serial tool**(%%)(such as [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to (% style="color:green" %)**9600**(%%) to access to access serial console of RS485-BL. The default password is 123456. Below is the output for reference:
1116 1116  
1117 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png]]
1178 +[[image:1654136105500-922.png]]
1118 1118  
1119 1119  
1181 +More detail AT Command manual can be found at [[AT Command Manual>>||anchor="3.5ConfigureRS485-BLviaATorDownlink"]]
1120 1120  
1121 -More detail AT Command manual can be found at [[AT Command Manual>>path:#AT_COMMAND]]
1122 1122  
1184 +== 5.2 Common AT Command Sequence ==
1123 1123  
1186 +=== 5.2.1 Multi-channel ABP mode (Use with SX1301/LG308) ===
1124 1124  
1125 -1.
1126 -11. Common AT Command Sequence
1127 -111. Multi-channel ABP mode (Use with SX1301/LG308)
1128 -
1129 1129  If device has not joined network yet:
1130 1130  
1131 1131  AT+FDR
... ... @@ -1141,8 +1141,8 @@
1141 1141  
1142 1142  ATZ
1143 1143  
1144 -1.
1145 -11.
1203 +1.
1204 +11.
1146 1146  111. Single-channel ABP mode (Use with LG01/LG02)
1147 1147  
1148 1148  AT+FDR   Reset Parameters to Factory Default, Keys Reserve
... ... @@ -1217,7 +1217,7 @@
1217 1217  [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]] [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png]]
1218 1218  
1219 1219  
1220 -1.
1279 +1.
1221 1221  11. How to change the LoRa Frequency Bands/Region?
1222 1222  
1223 1223  User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download.
... ... @@ -1224,7 +1224,7 @@
1224 1224  
1225 1225  
1226 1226  
1227 -1.
1286 +1.
1228 1228  11. How many RS485-Slave can RS485-BL connects?
1229 1229  
1230 1230  The RS485-BL can support max 32 RS485 devices. Each uplink command of RS485-BL can support max 16 different RS485 command. So RS485-BL can support max 16 RS485 devices pre-program in the device for uplink. For other devices no pre-program, user can use the [[downlink message (type code 0xA8) to poll their info>>path:#downlink_A8]].
... ... @@ -1241,7 +1241,7 @@
1241 1241  
1242 1242  
1243 1243  
1244 -1.
1303 +1.
1245 1245  11. Why I can’t join TTN V3 in US915 /AU915 bands?
1246 1246  
1247 1247  It might about the channels mapping. Please see for detail.
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
1654135840598-282.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +1.3 MB
Content
1654136105500-922.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +203.7 KB
Content