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

From version 29.14
edited by Xiaoling
on 2022/06/01 18:02
Change comment: There is no comment for this version
To version 29.44
edited by Xiaoling
on 2022/06/02 09: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  (((
... ... @@ -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,8 +95,6 @@
95 95  * 127 dB Dynamic Range RSSI.
96 96  * Automatic RF Sense and CAD with ultra-fast AFC. ​​​
97 97  
98 -
99 -
100 100  == 1.3 Features ==
101 101  
102 102  * LoRaWAN Class A & Class C protocol (default Class A)
... ... @@ -108,8 +108,6 @@
108 108  * Support Modbus protocol
109 109  * Support Interrupt uplink
110 110  
111 -
112 -
113 113  == 1.4 Applications ==
114 114  
115 115  * Smart Buildings & Home Automation
... ... @@ -119,8 +119,6 @@
119 119  * Smart Cities
120 120  * Smart Factory
121 121  
122 -
123 -
124 124  == 1.5 Firmware Change log ==
125 125  
126 126  [[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);"]]
... ... @@ -129,6 +129,8 @@
129 129  == 1.6 Hardware Change log ==
130 130  
131 131  (((
125 +
126 +
132 132  v1.4
133 133  )))
134 134  
... ... @@ -211,8 +211,6 @@
211 211  )))
212 212  
213 213  
214 -
215 -
216 216  [[image:image-20220519174512-1.png]]
217 217  
218 218  [[image:image-20220519174512-2.png||height="328" width="731"]]
... ... @@ -236,6 +236,7 @@
236 236  
237 237  [[image:1652953568895-172.png||height="232" width="724"]]
238 238  
232 +
239 239  == 3.3 Configure Commands to read data ==
240 240  
241 241  (((
... ... @@ -342,8 +342,9 @@
342 342  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
343 343  )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
344 344  
345 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>path:#AT_CFGDEV]].
339 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
346 346  
341 +
347 347  === 3.3.3 Configure read commands for each sampling ===
348 348  
349 349  (((
... ... @@ -441,7 +441,7 @@
441 441  
442 442  **Examples:**
443 443  
444 -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
445 445  
446 446  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
447 447  
... ... @@ -449,7 +449,7 @@
449 449  
450 450  [[image:1653271044481-711.png]]
451 451  
452 -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
453 453  
454 454  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
455 455  
... ... @@ -468,16 +468,18 @@
468 468  * **c: define the position for valid value.  **
469 469  )))
470 470  
471 -Examples:
466 +**Examples:**
472 472  
473 473  * Grab bytes:
474 474  
475 475  [[image:1653271581490-837.png||height="313" width="722"]]
476 476  
472 +
477 477  * Grab a section.
478 478  
479 479  [[image:1653271648378-342.png||height="326" width="720"]]
480 480  
477 +
481 481  * Grab different sections.
482 482  
483 483  [[image:1653271657255-576.png||height="305" width="730"]]
... ... @@ -520,6 +520,7 @@
520 520  
521 521  [[image:1653271763403-806.png]]
522 522  
520 +
523 523  === 3.3.4 Compose the uplink payload ===
524 524  
525 525  (((
... ... @@ -527,7 +527,7 @@
527 527  )))
528 528  
529 529  (((
530 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0**
528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0**
531 531  )))
532 532  
533 533  (((
... ... @@ -539,7 +539,7 @@
539 539  )))
540 540  
541 541  (((
542 -(% 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**
543 543  )))
544 544  
545 545  (((
... ... @@ -548,8 +548,12 @@
548 548  
549 549  [[image:1653272787040-634.png||height="515" width="719"]]
550 550  
549 +
550 +
551 551  (((
552 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1**
553 +
554 +
553 553  )))
554 554  
555 555  (((
... ... @@ -561,7 +561,7 @@
561 561  )))
562 562  
563 563  (((
564 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
565 565  )))
566 566  
567 567  1. (((
... ... @@ -584,6 +584,7 @@
584 584  
585 585  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
586 586  
589 +
587 587  DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41
588 588  
589 589  DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20
... ... @@ -590,10 +590,12 @@
590 590  
591 591  DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
592 592  
596 +
593 593  Below are the uplink payloads:
594 594  
595 595  [[image:1653272901032-107.png]]
596 596  
601 +
597 597  (% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
598 598  
599 599   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
... ... @@ -604,6 +604,8 @@
604 604  
605 605   ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
606 606  
612 +
613 +
607 607  === 3.3.5 Uplink on demand ===
608 608  
609 609  (((
... ... @@ -620,6 +620,8 @@
620 620  
621 621  (((
622 622  **0xA8 command**: Send a command to RS485-BL and uplink the output from sensors.
630 +
631 +
623 623  )))
624 624  
625 625  === 3.3.6 Uplink on Interrupt ===
... ... @@ -628,6 +628,7 @@
628 628  
629 629  [[image:1653273818896-432.png]]
630 630  
640 +
631 631  (((
632 632  AT+INTMOD=0  Disable Interrupt
633 633  )))
... ... @@ -642,6 +642,8 @@
642 642  
643 643  (((
644 644  AT+INTMOD=3  Interrupt trigger by rising edge.
655 +
656 +
645 645  )))
646 646  
647 647  == 3.4 Uplink Payload ==
... ... @@ -669,47 +669,49 @@
669 669  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
670 670  
671 671  (((
672 -function Decoder(bytes, port) {
684 +{{{function Decoder(bytes, port) {}}}
673 673  )))
674 674  
675 675  (((
676 -~/~/Payload Formats of RS485-BL Deceive
688 +{{{//Payload Formats of RS485-BL Deceive}}}
677 677  )))
678 678  
679 679  (((
680 -return {
692 +{{{return {}}}
681 681  )))
682 682  
683 683  (((
684 - ~/~/Battery,units:V
696 +{{{ //Battery,units:V}}}
685 685  )))
686 686  
687 687  (((
688 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}}
689 689  )))
690 690  
691 691  (((
692 - ~/~/GPIO_EXTI 
704 +{{{ //GPIO_EXTI }}}
693 693  )))
694 694  
695 695  (((
696 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}}
697 697  )))
698 698  
699 699  (((
700 - ~/~/payload of version
712 +{{{ //payload of version}}}
701 701  )))
702 702  
703 703  (((
704 - Pay_ver:bytes[2],
716 +{{{ Pay_ver:bytes[2],}}}
705 705  )))
706 706  
707 707  (((
708 - };
720 +{{{ }; }}}
709 709  )))
710 710  
711 711  (((
712 - }
724 +}
725 +
726 +
713 713  )))
714 714  
715 715  (((
... ... @@ -718,32 +718,33 @@
718 718  
719 719  [[image:1653274001211-372.png||height="192" width="732"]]
720 720  
735 +
721 721  == 3.5 Configure RS485-BL via AT or Downlink ==
722 722  
723 -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
724 724  
725 725  There are two kinds of Commands:
726 726  
727 -* **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]]
728 728  
729 -* **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:
730 730  
731 -1.
732 -11.
733 -111. Common Commands:
734 734  
735 -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]]
747 +=== 3.5.1 Common Commands: ===
736 736  
749 +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]]
737 737  
738 -1.
739 -11.
740 -111. Sensor related commands:
741 741  
742 -==== Choose Device Type (RS485 or TTL) ====
752 +=== 3.5.2 Sensor related commands: ===
743 743  
754 +(% class="wikigeneratedid" %)
755 +==== ====
756 +
757 +==== **Choose Device Type (RS485 or TTL)** ====
758 +
744 744  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
745 745  
746 -* AT Command
761 +* **AT Command**
747 747  
748 748  **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
749 749  
... ... @@ -750,17 +750,17 @@
750 750  **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
751 751  
752 752  
753 -* Downlink Payload
768 +* **Downlink Payload**
754 754  
755 -**0A aa**     à same as AT+MOD=aa
770 +**0A aa**  ~-~->  same as AT+MOD=aa
756 756  
757 757  
758 758  
759 -==== [[RS485 Debug Command>>path:#downlink_A8]] (AT+CFGDEV) ====
774 +==== **RS485 Debug Command (AT+CFGDEV)** ====
760 760  
761 761  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
762 762  
763 -* AT Command
778 +* **AT Command**
764 764  
765 765  AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
766 766  
... ... @@ -767,9 +767,8 @@
767 767  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
768 768  
769 769  
785 +* **Downlink Payload**
770 770  
771 -* Downlink Payload
772 -
773 773  Format: A8 MM NN XX XX XX XX YY
774 774  
775 775  Where:
... ... @@ -779,6 +779,7 @@
779 779  * XX XX XX XX: RS485 command total NN bytes
780 780  * 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
781 781  
796 +
782 782  **Example 1:**
783 783  
784 784  To connect a Modbus Alarm with below commands.
... ... @@ -1042,13 +1042,13 @@
1042 1042  
1043 1043  
1044 1044  
1045 -1.
1060 +1.
1046 1046  11. Buttons
1047 1047  
1048 1048  |**Button**|**Feature**
1049 1049  |**RST**|Reboot RS485-BL
1050 1050  
1051 -1.
1066 +1.
1052 1052  11. +3V3 Output
1053 1053  
1054 1054  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
... ... @@ -1066,7 +1066,7 @@
1066 1066  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
1067 1067  
1068 1068  
1069 -1.
1084 +1.
1070 1070  11. +5V Output
1071 1071  
1072 1072  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
... ... @@ -1086,13 +1086,13 @@
1086 1086  
1087 1087  
1088 1088  
1089 -1.
1104 +1.
1090 1090  11. LEDs
1091 1091  
1092 1092  |**LEDs**|**Feature**
1093 1093  |**LED1**|Blink when device transmit a packet.
1094 1094  
1095 -1.
1110 +1.
1096 1096  11. Switch Jumper
1097 1097  
1098 1098  |**Switch Jumper**|**Feature**
... ... @@ -1138,7 +1138,7 @@
1138 1138  
1139 1139  
1140 1140  
1141 -1.
1156 +1.
1142 1142  11. Common AT Command Sequence
1143 1143  111. Multi-channel ABP mode (Use with SX1301/LG308)
1144 1144  
... ... @@ -1157,8 +1157,8 @@
1157 1157  
1158 1158  ATZ
1159 1159  
1160 -1.
1161 -11.
1175 +1.
1176 +11.
1162 1162  111. Single-channel ABP mode (Use with LG01/LG02)
1163 1163  
1164 1164  AT+FDR   Reset Parameters to Factory Default, Keys Reserve
... ... @@ -1233,7 +1233,7 @@
1233 1233  [[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]]
1234 1234  
1235 1235  
1236 -1.
1251 +1.
1237 1237  11. How to change the LoRa Frequency Bands/Region?
1238 1238  
1239 1239  User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download.
... ... @@ -1240,7 +1240,7 @@
1240 1240  
1241 1241  
1242 1242  
1243 -1.
1258 +1.
1244 1244  11. How many RS485-Slave can RS485-BL connects?
1245 1245  
1246 1246  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]].
... ... @@ -1257,7 +1257,7 @@
1257 1257  
1258 1258  
1259 1259  
1260 -1.
1275 +1.
1261 1261  11. Why I can’t join TTN V3 in US915 /AU915 bands?
1262 1262  
1263 1263  It might about the channels mapping. Please see for detail.