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

From version 29.16
edited by Xiaoling
on 2022/06/01 18:05
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
... ... @@ -58,6 +58,7 @@
58 58  
59 59  == 1.2 Specifications ==
60 60  
61 +
61 61  **Hardware System:**
62 62  
63 63  * STM32L072CZT6 MCU
... ... @@ -64,8 +64,6 @@
64 64  * SX1276/78 Wireless Chip 
65 65  * Power Consumption (exclude RS485 device):
66 66  ** Idle: 6uA@3.3v
67 -
68 -*
69 69  ** 20dB Transmit: 130mA@3.3v
70 70  
71 71  **Interface for Model:**
... ... @@ -95,7 +95,6 @@
95 95  * 127 dB Dynamic Range RSSI.
96 96  * Automatic RF Sense and CAD with ultra-fast AFC. ​​​
97 97  
98 -
99 99  == 1.3 Features ==
100 100  
101 101  * LoRaWAN Class A & Class C protocol (default Class A)
... ... @@ -107,7 +107,6 @@
107 107  * Support Modbus protocol
108 108  * Support Interrupt uplink
109 109  
110 -
111 111  == 1.4 Applications ==
112 112  
113 113  * Smart Buildings & Home Automation
... ... @@ -117,7 +117,6 @@
117 117  * Smart Cities
118 118  * Smart Factory
119 119  
120 -
121 121  == 1.5 Firmware Change log ==
122 122  
123 123  [[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);"]]
... ... @@ -126,6 +126,8 @@
126 126  == 1.6 Hardware Change log ==
127 127  
128 128  (((
125 +
126 +
129 129  v1.4
130 130  )))
131 131  
... ... @@ -208,8 +208,6 @@
208 208  )))
209 209  
210 210  
211 -
212 -
213 213  [[image:image-20220519174512-1.png]]
214 214  
215 215  [[image:image-20220519174512-2.png||height="328" width="731"]]
... ... @@ -233,6 +233,7 @@
233 233  
234 234  [[image:1652953568895-172.png||height="232" width="724"]]
235 235  
232 +
236 236  == 3.3 Configure Commands to read data ==
237 237  
238 238  (((
... ... @@ -339,8 +339,9 @@
339 339  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
340 340  )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
341 341  
342 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>path:#AT_CFGDEV]].
339 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
343 343  
341 +
344 344  === 3.3.3 Configure read commands for each sampling ===
345 345  
346 346  (((
... ... @@ -438,7 +438,7 @@
438 438  
439 439  **Examples:**
440 440  
441 -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
442 442  
443 443  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
444 444  
... ... @@ -446,7 +446,7 @@
446 446  
447 447  [[image:1653271044481-711.png]]
448 448  
449 -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
450 450  
451 451  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
452 452  
... ... @@ -465,16 +465,18 @@
465 465  * **c: define the position for valid value.  **
466 466  )))
467 467  
468 -Examples:
466 +**Examples:**
469 469  
470 470  * Grab bytes:
471 471  
472 472  [[image:1653271581490-837.png||height="313" width="722"]]
473 473  
472 +
474 474  * Grab a section.
475 475  
476 476  [[image:1653271648378-342.png||height="326" width="720"]]
477 477  
477 +
478 478  * Grab different sections.
479 479  
480 480  [[image:1653271657255-576.png||height="305" width="730"]]
... ... @@ -517,6 +517,7 @@
517 517  
518 518  [[image:1653271763403-806.png]]
519 519  
520 +
520 520  === 3.3.4 Compose the uplink payload ===
521 521  
522 522  (((
... ... @@ -524,7 +524,7 @@
524 524  )))
525 525  
526 526  (((
527 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0**
528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0**
528 528  )))
529 529  
530 530  (((
... ... @@ -536,7 +536,7 @@
536 536  )))
537 537  
538 538  (((
539 -(% 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**
540 540  )))
541 541  
542 542  (((
... ... @@ -545,8 +545,12 @@
545 545  
546 546  [[image:1653272787040-634.png||height="515" width="719"]]
547 547  
549 +
550 +
548 548  (((
549 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1**
553 +
554 +
550 550  )))
551 551  
552 552  (((
... ... @@ -558,7 +558,7 @@
558 558  )))
559 559  
560 560  (((
561 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
562 562  )))
563 563  
564 564  1. (((
... ... @@ -581,6 +581,7 @@
581 581  
582 582  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
583 583  
589 +
584 584  DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41
585 585  
586 586  DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20
... ... @@ -587,10 +587,12 @@
587 587  
588 588  DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
589 589  
596 +
590 590  Below are the uplink payloads:
591 591  
592 592  [[image:1653272901032-107.png]]
593 593  
601 +
594 594  (% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
595 595  
596 596   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
... ... @@ -601,6 +601,8 @@
601 601  
602 602   ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
603 603  
612 +
613 +
604 604  === 3.3.5 Uplink on demand ===
605 605  
606 606  (((
... ... @@ -617,6 +617,8 @@
617 617  
618 618  (((
619 619  **0xA8 command**: Send a command to RS485-BL and uplink the output from sensors.
630 +
631 +
620 620  )))
621 621  
622 622  === 3.3.6 Uplink on Interrupt ===
... ... @@ -625,6 +625,7 @@
625 625  
626 626  [[image:1653273818896-432.png]]
627 627  
640 +
628 628  (((
629 629  AT+INTMOD=0  Disable Interrupt
630 630  )))
... ... @@ -639,6 +639,8 @@
639 639  
640 640  (((
641 641  AT+INTMOD=3  Interrupt trigger by rising edge.
655 +
656 +
642 642  )))
643 643  
644 644  == 3.4 Uplink Payload ==
... ... @@ -666,47 +666,49 @@
666 666  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
667 667  
668 668  (((
669 -function Decoder(bytes, port) {
684 +{{{function Decoder(bytes, port) {}}}
670 670  )))
671 671  
672 672  (((
673 -~/~/Payload Formats of RS485-BL Deceive
688 +{{{//Payload Formats of RS485-BL Deceive}}}
674 674  )))
675 675  
676 676  (((
677 -return {
692 +{{{return {}}}
678 678  )))
679 679  
680 680  (((
681 - ~/~/Battery,units:V
696 +{{{ //Battery,units:V}}}
682 682  )))
683 683  
684 684  (((
685 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}}
686 686  )))
687 687  
688 688  (((
689 - ~/~/GPIO_EXTI 
704 +{{{ //GPIO_EXTI }}}
690 690  )))
691 691  
692 692  (((
693 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}}
694 694  )))
695 695  
696 696  (((
697 - ~/~/payload of version
712 +{{{ //payload of version}}}
698 698  )))
699 699  
700 700  (((
701 - Pay_ver:bytes[2],
716 +{{{ Pay_ver:bytes[2],}}}
702 702  )))
703 703  
704 704  (((
705 - };
720 +{{{ }; }}}
706 706  )))
707 707  
708 708  (((
709 - }
724 +}
725 +
726 +
710 710  )))
711 711  
712 712  (((
... ... @@ -715,58 +715,65 @@
715 715  
716 716  [[image:1653274001211-372.png||height="192" width="732"]]
717 717  
735 +
718 718  == 3.5 Configure RS485-BL via AT or Downlink ==
719 719  
720 -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
721 721  
722 722  There are two kinds of Commands:
723 723  
724 -* **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]]
725 725  
726 -* **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:
727 727  
728 -1.
729 -11.
730 -111. Common Commands:
746 +=== 3.5.1 Common Commands: ===
731 731  
732 -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]]
733 733  
734 734  
735 -1.
736 -11.
737 -111. Sensor related commands:
751 +=== 3.5.2 Sensor related commands: ===
738 738  
739 -==== Choose Device Type (RS485 or TTL) ====
753 +==== ====
740 740  
755 +==== **Choose Device Type (RS485 or TTL)** ====
756 +
741 741  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
742 742  
743 -* AT Command
759 +* **AT Command**
744 744  
761 +(% class="box infomessage" %)
762 +(((
745 745  **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
764 +)))
746 746  
766 +(% class="box infomessage" %)
767 +(((
747 747  **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
769 +)))
748 748  
749 749  
750 -* Downlink Payload
772 +* **Downlink Payload**
751 751  
752 -**0A aa**     à same as AT+MOD=aa
774 +**0A aa**  ~-~->  same as AT+MOD=aa
753 753  
754 754  
755 755  
756 -==== [[RS485 Debug Command>>path:#downlink_A8]] (AT+CFGDEV) ====
778 +==== **RS485 Debug Command (AT+CFGDEV)** ====
757 757  
758 758  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
759 759  
760 -* AT Command
782 +* **AT Command**
761 761  
762 -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 +)))
763 763  
764 764  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
765 765  
766 766  
792 +* **Downlink Payload**
767 767  
768 -* Downlink Payload
769 -
770 770  Format: A8 MM NN XX XX XX XX YY
771 771  
772 772  Where:
... ... @@ -780,15 +780,15 @@
780 780  
781 781  To connect a Modbus Alarm with below commands.
782 782  
783 -* 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.
784 784  
785 -* 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.
786 786  
787 787  So if user want to use downlink command to control to RS485 Alarm, he can use:
788 788  
789 -**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
790 790  
791 -**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
792 792  
793 793  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.
794 794  
... ... @@ -797,48 +797,60 @@
797 797  
798 798  Check TTL Sensor return:
799 799  
800 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]
824 +[[image:1654132684752-193.png]]
801 801  
802 802  
803 803  
828 +==== **Set Payload version** ====
804 804  
805 -==== Set Payload version ====
806 -
807 807  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.
808 808  
809 -* AT Command:
832 +* **AT Command:**
810 810  
811 -AT+PAYVER: Set PAYVER field = 1
834 +(% class="box infomessage" %)
835 +(((
836 +**AT+PAYVER: Set PAYVER field = 1**
837 +)))
812 812  
813 813  
814 -* Downlink Payload:
840 +* **Downlink Payload:**
815 815  
816 -0xAE 01   à Set PAYVER field =  0x01
842 +**0xAE 01**  ~-~-> Set PAYVER field =  0x01
817 817  
818 -0xAE 0F   à Set PAYVER field =  0x0F
844 +**0xAE 0F**   ~-~-> Set PAYVER field =  0x0F
819 819  
820 820  
821 -==== Set RS485 Sampling Commands ====
822 822  
848 +==== **Set RS485 Sampling Commands** ====
849 +
823 823  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
824 824  
825 -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"]].
826 826  
827 827  
828 -* AT Command:
855 +* **AT Command:**
829 829  
830 -AT+COMMANDx: Configure RS485 read command to sensor.
857 +(% class="box infomessage" %)
858 +(((
859 +**AT+COMMANDx: Configure RS485 read command to sensor.**
860 +)))
831 831  
832 -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 +)))
833 833  
834 -AT+SEARCHx: Configure search command
867 +(% class="box infomessage" %)
868 +(((
869 +**AT+SEARCHx: Configure search command**
870 +)))
835 835  
836 836  
837 -* Downlink Payload:
873 +* **Downlink Payload:**
838 838  
839 -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.
840 840  
841 -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.
842 842  
843 843  Format: AF MM NN LL XX XX XX XX YY
844 844  
... ... @@ -845,23 +845,23 @@
845 845  Where:
846 846  
847 847  * MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
848 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
849 -* 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
850 850  * XX XX XX XX: AT+COMMAND or AT+DATACUT command
851 -* 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.
852 852  
853 -Example:
889 +**Example:**
854 854  
855 -**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
856 856  
857 -**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**
858 858  
859 -**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**
860 860  
861 861  
862 -0xAB downlink command can be used for set AT+SEARCHx
898 +**0xAB** downlink command can be used for set AT+SEARCHx
863 863  
864 -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
865 865  
866 866  * AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
867 867  * 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
... ... @@ -869,145 +869,164 @@
869 869  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
870 870  
871 871  
872 -==== Fast command to handle MODBUS device ====
873 873  
909 +==== **Fast command to handle MODBUS device** ====
910 +
874 874  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]].
875 875  
876 876  This command is valid since v1.3 firmware version
877 877  
878 878  
879 -AT+MBFUN has only two value:
916 +**AT+MBFUN has only two value:**
880 880  
881 -* 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
882 882  
883 883  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.
884 884  
885 -* AT+MBFUN=0: Disable Modbus fast reading.
922 +* **AT+MBFUN=0**: Disable Modbus fast reading.
886 886  
887 -Example:
924 +**Example:**
888 888  
889 889  * AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
890 890  * 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.
891 891  * 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.
892 892  
893 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]
930 +[[image:1654133913295-597.png]]
894 894  
895 895  
896 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]]
933 +[[image:1654133954153-643.png]]
897 897  
898 898  
899 -* Downlink Commands:
936 +* **Downlink Commands:**
900 900  
901 -A9 aa -à Same as AT+MBFUN=aa
938 +**A9 aa** ~-~-> Same as AT+MBFUN=aa
902 902  
903 903  
904 -==== RS485 command timeout ====
905 905  
942 +==== **RS485 command timeout** ====
943 +
906 906  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.
907 907  
908 908  Default value: 0, range:  0 ~~ 5 seconds
909 909  
910 910  
911 -* AT Command:
949 +* **AT Command:**
912 912  
913 -AT+CMDDLaa=hex(bb cc)
951 +(% class="box infomessage" %)
952 +(((
953 +**AT+CMDDLaa=hex(bb cc)**
954 +)))
914 914  
915 -Example:
956 +**Example:**
916 916  
917 917  **AT+CMDDL1=1000** to send the open time to 1000ms
918 918  
919 919  
920 -* Downlink Payload:
961 +* **Downlink Payload:**
921 921  
922 922  0x AA aa bb cc
923 923  
924 924  Same as: AT+CMDDLaa=hex(bb cc)
925 925  
926 - Example:
967 + **Example:**
927 927  
928 - 0xAA 01 03 E8  à Same as **AT+CMDDL1=1000 ms**
969 + **0xAA 01 03 E8**  ~-~-> Same as **AT+CMDDL1=1000 ms**
929 929  
930 930  
931 -==== [[Uplink>>path:#downlink_A8]] payload mode ====
932 932  
973 +==== **Uplink payload mode** ====
974 +
933 933  Define to use one uplink or multiple uplinks for the sampling.
934 934  
935 -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"]]
936 936  
937 -* AT Command:
979 +* **AT Command:**
938 938  
939 -AT+DATAUP=0
981 +(% class="box infomessage" %)
982 +(((
983 +**AT+DATAUP=0**
984 +)))
940 940  
941 -AT+DATAUP=1
986 +(% class="box infomessage" %)
987 +(((
988 +**AT+DATAUP=1**
989 +)))
942 942  
943 943  
944 -* Downlink Payload:
992 +* **Downlink Payload:**
945 945  
946 -0xAD 00   à Same as AT+DATAUP=0
994 +**0xAD 00**  **~-~->** Same as AT+DATAUP=0
947 947  
948 -0xAD 01   à Same as AT+DATAUP=1
996 +**0xAD 01**  **~-~->** Same as AT+DATAUP=1
949 949  
950 950  
951 -==== Manually trigger an Uplink ====
952 952  
1000 +==== **Manually trigger an Uplink** ====
1001 +
953 953  Ask device to send an uplink immediately.
954 954  
955 -* Downlink Payload:
1004 +* **Downlink Payload:**
956 956  
957 -0x08 FF, RS485-BL will immediately send an uplink.
1006 +**0x08 FF**, RS485-BL will immediately send an uplink.
958 958  
959 959  
960 -==== Clear RS485 Command ====
961 961  
1010 +==== **Clear RS485 Command** ====
1011 +
962 962  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
963 963  
964 964  
965 -* AT Command:
1015 +* **AT Command:**
966 966  
967 -**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
968 968  
969 -Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
970 -
971 971  Example screen shot after clear all RS485 commands. 
972 972  
973 973  
974 -
975 975  The uplink screen shot is:
976 976  
977 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
1024 +[[image:1654134704555-320.png]]
978 978  
979 979  
980 -* Downlink Payload:
1027 +* **Downlink Payload:**
981 981  
982 -0x09 aa bb same as AT+CMDEAR=aa,bb
1029 +**0x09 aa bb** same as AT+CMDEAR=aa,bb
983 983  
984 984  
985 -==== Set Serial Communication Parameters ====
986 986  
1033 +==== **Set Serial Communication Parameters** ====
1034 +
987 987  Set the Rs485 serial communication parameters:
988 988  
989 -* AT Command:
1037 +* **AT Command:**
990 990  
991 991  Set Baud Rate:
992 992  
993 -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 +)))
994 994  
1046 +Set UART Parity
995 995  
996 -Set UART parity
1048 +(% class="box infomessage" %)
1049 +(((
1050 +**AT+PARITY=0**    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
1051 +)))
997 997  
998 -AT+PARITY=0    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
999 -
1000 -
1001 1001  Set STOPBIT
1002 1002  
1003 -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 +)))
1004 1004  
1005 1005  
1006 -* Downlink Payload:
1061 +* **Downlink Payload:**
1007 1007  
1008 -A7 01 aa bb: Same  AT+BAUDR=hex(aa bb)*100
1063 +**A7 01 aa bb**: Same  AT+BAUDR=hex(aa bb)*100
1009 1009  
1010 -Example:
1065 +**Example:**
1011 1011  
1012 1012  * A7 01 00 60   same as AT+BAUDR=9600
1013 1013  * A7 01 04 80  same as AT+BAUDR=115200
... ... @@ -1017,128 +1017,119 @@
1017 1017  A7 03 aa: Same as  AT+STOPBIT=aa  (aa value: 00 , 01 or 02)
1018 1018  
1019 1019  
1020 -==== Control output power duration ====
1021 1021  
1076 +==== **Control output power duration** ====
1077 +
1022 1022  User can set the output power duration before each sampling.
1023 1023  
1024 -* AT Command:
1080 +* **AT Command:**
1025 1025  
1026 -Example:
1082 +**Example:**
1027 1027  
1028 -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.
1029 1029  
1030 -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.
1031 1031  
1032 1032  
1033 -* LoRaWAN Downlink Command:
1089 +* **LoRaWAN Downlink Command:**
1034 1034  
1035 -07 01 aa bb  Same as AT+5VT=(aa bb)
1091 +**07 01 aa bb**  Same as AT+5VT=(aa bb)
1036 1036  
1037 -07 02 aa bb  Same as AT+3V3T=(aa bb)
1093 +**07 02 aa bb**  Same as AT+3V3T=(aa bb)
1038 1038  
1039 1039  
1096 +== 3.6 Buttons ==
1040 1040  
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
1041 1041  
1042 -1.
1043 -11. Buttons
1102 +== 3.7 +3V3 Output ==
1044 1044  
1045 -|**Button**|**Feature**
1046 -|**RST**|Reboot RS485-BL
1047 -
1048 -1.
1049 -11. +3V3 Output
1050 -
1051 1051  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
1052 1052  
1053 1053  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. 
1054 1054  
1055 -
1056 1056  The +3V3 output time can be controlled by AT Command.
1057 1057  
1058 -**AT+3V3T=1000**
1059 1059  
1060 -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**
1061 1061  
1062 1062  
1114 +Means set +3v3 valid time to have 1000ms. So, the real +3v3 output will actually have 1000ms + sampling time for other sensors.
1115 +
1063 1063  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
1064 1064  
1065 1065  
1066 -1.
1067 -11. +5V Output
1119 +== 3.8 +5V Output ==
1068 1068  
1069 1069  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
1070 1070  
1071 1071  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. 
1072 1072  
1073 -
1074 1074  The 5V output time can be controlled by AT Command.
1075 1075  
1076 -**AT+5VT=1000**
1077 1077  
1078 -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**
1079 1079  
1080 1080  
1131 +Means set 5V valid time to have 1000ms. So, the real 5V output will actually have 1000ms + sampling time for other sensors.
1132 +
1081 1081  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.
1082 1082  
1083 1083  
1136 +== 3.9 LEDs ==
1084 1084  
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.
1085 1085  
1086 -1.
1087 -11. LEDs
1142 +== 3.10 Switch Jumper ==
1088 1088  
1089 -|**LEDs**|**Feature**
1090 -|**LED1**|Blink when device transmit a packet.
1091 -
1092 -1.
1093 -11. Switch Jumper
1094 -
1095 -|**Switch Jumper**|**Feature**
1096 -|**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" %)(((
1097 1097  ISP position: Upgrade firmware via UART
1098 1098  
1099 1099  Flash position: Configure device, check running status.
1100 1100  )))
1101 -|**SW2**|(((
1151 +|(% style="width:124px" %)**SW2**|(% style="width:388px" %)(((
1102 1102  5V position: set to compatible with 5v I/O.
1103 1103  
1104 1104  3.3v position: set to compatible with 3.3v I/O.,
1105 1105  )))
1106 1106  
1107 -+3.3V: is always ON
1157 +**+3.3V**: is always ON
1108 1108  
1109 -+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.
1110 1110  
1111 -1. Case Study
1112 1112  
1113 -User can check this URL for some case studies.
1162 += 4. Case Study =
1114 1114  
1115 -[[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]]
1116 1116  
1117 1117  
1167 += 5. Use AT Command =
1118 1118  
1169 +== 5.1 Access AT Command ==
1119 1119  
1120 -1. Use AT Command
1121 -11. Access AT Command
1122 -
1123 1123  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.
1124 1124  
1125 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]]
1173 +[[image:1654135840598-282.png]]
1126 1126  
1127 1127  
1128 -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:
1129 1129  
1130 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png]]
1178 +[[image:1654136105500-922.png]]
1131 1131  
1132 1132  
1181 +More detail AT Command manual can be found at [[AT Command Manual>>||anchor="3.5ConfigureRS485-BLviaATorDownlink"]]
1133 1133  
1134 -More detail AT Command manual can be found at [[AT Command Manual>>path:#AT_COMMAND]]
1135 1135  
1184 +== 5.2 Common AT Command Sequence ==
1136 1136  
1186 +=== 5.2.1 Multi-channel ABP mode (Use with SX1301/LG308) ===
1137 1137  
1138 -1.
1139 -11. Common AT Command Sequence
1140 -111. Multi-channel ABP mode (Use with SX1301/LG308)
1141 -
1142 1142  If device has not joined network yet:
1143 1143  
1144 1144  AT+FDR
... ... @@ -1154,8 +1154,8 @@
1154 1154  
1155 1155  ATZ
1156 1156  
1157 -1.
1158 -11.
1203 +1.
1204 +11.
1159 1159  111. Single-channel ABP mode (Use with LG01/LG02)
1160 1160  
1161 1161  AT+FDR   Reset Parameters to Factory Default, Keys Reserve
... ... @@ -1230,7 +1230,7 @@
1230 1230  [[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]]
1231 1231  
1232 1232  
1233 -1.
1279 +1.
1234 1234  11. How to change the LoRa Frequency Bands/Region?
1235 1235  
1236 1236  User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download.
... ... @@ -1237,7 +1237,7 @@
1237 1237  
1238 1238  
1239 1239  
1240 -1.
1286 +1.
1241 1241  11. How many RS485-Slave can RS485-BL connects?
1242 1242  
1243 1243  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]].
... ... @@ -1254,7 +1254,7 @@
1254 1254  
1255 1255  
1256 1256  
1257 -1.
1303 +1.
1258 1258  11. Why I can’t join TTN V3 in US915 /AU915 bands?
1259 1259  
1260 1260  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