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 30.3
edited by Xiaoling
on 2022/06/02 09:22
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,67 @@
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:
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]]
733 733  
748 +=== 3.5.1 Common Commands: ===
734 734  
735 -1.
736 -11.
737 -111. Sensor related commands:
750 +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]]
738 738  
739 -==== Choose Device Type (RS485 or TTL) ====
740 740  
753 +=== 3.5.2 Sensor related commands: ===
754 +
755 +==== ====
756 +
757 +==== **Choose Device Type (RS485 or TTL)** ====
758 +
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
761 +* **AT Command**
744 744  
763 +(% class="box infomessage" %)
764 +(((
745 745  **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
766 +)))
746 746  
768 +(% class="box infomessage" %)
769 +(((
747 747  **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
771 +)))
748 748  
749 749  
750 -* Downlink Payload
774 +* **Downlink Payload**
751 751  
752 -**0A aa**     à same as AT+MOD=aa
776 +**0A aa**  ~-~->  same as AT+MOD=aa
753 753  
754 754  
755 755  
756 -==== [[RS485 Debug Command>>path:#downlink_A8]] (AT+CFGDEV) ====
780 +==== **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
784 +* **AT Command**
761 761  
762 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
786 +(% class="box infomessage" %)
787 +(((
788 +**AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**
789 +)))
763 763  
764 764  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
765 765  
766 766  
794 +* **Downlink Payload**
767 767  
768 -* Downlink Payload
769 -
770 770  Format: A8 MM NN XX XX XX XX YY
771 771  
772 772  Where:
... ... @@ -776,19 +776,20 @@
776 776  * XX XX XX XX: RS485 command total NN bytes
777 777  * YY: How many bytes will be uplink from the return of this RS485 command, if YY=0, RS485-BL will execute the downlink command without uplink; if YY>0, RS485-BL will uplink total YY bytes from the output of this RS485 command
778 778  
805 +
779 779  **Example 1:**
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.
810 +* 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.
812 +* 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
816 +(% 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
818 +(% 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,25 +797,27 @@
797 797  
798 798  Check TTL Sensor return:
799 799  
800 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]
827 +[[image:1654132684752-193.png]]
801 801  
802 802  
803 803  
831 +==== **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:
835 +* **AT Command:**
810 810  
811 -AT+PAYVER: Set PAYVER field = 1
837 +(% class="box infomessage" %)
838 +(((
839 +**AT+PAYVER: Set PAYVER field = 1**
840 +)))
812 812  
813 813  
814 -* Downlink Payload:
843 +* **Downlink Payload:**
815 815  
816 -0xAE 01   à Set PAYVER field =  0x01
845 +0xAE 01  ~-~-> Set PAYVER field =  0x01
817 817  
818 -0xAE 0F   à Set PAYVER field =  0x0F
847 +0xAE 0F   ~-~-> Set PAYVER field =  0x0F
819 819  
820 820  
821 821  ==== Set RS485 Sampling Commands ====
... ... @@ -1039,13 +1039,13 @@
1039 1039  
1040 1040  
1041 1041  
1042 -1.
1071 +1.
1043 1043  11. Buttons
1044 1044  
1045 1045  |**Button**|**Feature**
1046 1046  |**RST**|Reboot RS485-BL
1047 1047  
1048 -1.
1077 +1.
1049 1049  11. +3V3 Output
1050 1050  
1051 1051  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
... ... @@ -1063,7 +1063,7 @@
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.
1095 +1.
1067 1067  11. +5V Output
1068 1068  
1069 1069  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
... ... @@ -1083,13 +1083,13 @@
1083 1083  
1084 1084  
1085 1085  
1086 -1.
1115 +1.
1087 1087  11. LEDs
1088 1088  
1089 1089  |**LEDs**|**Feature**
1090 1090  |**LED1**|Blink when device transmit a packet.
1091 1091  
1092 -1.
1121 +1.
1093 1093  11. Switch Jumper
1094 1094  
1095 1095  |**Switch Jumper**|**Feature**
... ... @@ -1135,7 +1135,7 @@
1135 1135  
1136 1136  
1137 1137  
1138 -1.
1167 +1.
1139 1139  11. Common AT Command Sequence
1140 1140  111. Multi-channel ABP mode (Use with SX1301/LG308)
1141 1141  
... ... @@ -1154,8 +1154,8 @@
1154 1154  
1155 1155  ATZ
1156 1156  
1157 -1.
1158 -11.
1186 +1.
1187 +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.
1262 +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.
1269 +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.
1286 +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