Changes for page RS485-BL – Waterproof RS485 to LoRaWAN Converter
Last modified by Xiaoling on 2025/04/23 15:57
Summary
-
Page properties (1 modified, 0 added, 0 removed)
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 ... ... @@ -202,8 +202,6 @@ 202 202 ))) 203 203 204 204 205 - 206 - 207 207 [[image:image-20220519174512-1.png]] 208 208 209 209 [[image:image-20220519174512-2.png||height="328" width="731"]] ... ... @@ -227,6 +227,7 @@ 227 227 228 228 [[image:1652953568895-172.png||height="232" width="724"]] 229 229 232 + 230 230 == 3.3 Configure Commands to read data == 231 231 232 232 ((( ... ... @@ -333,8 +333,9 @@ 333 333 mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 334 334 )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 335 335 336 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>> path:#AT_CFGDEV]].339 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]]. 337 337 341 + 338 338 === 3.3.3 Configure read commands for each sampling === 339 339 340 340 ((( ... ... @@ -432,7 +432,7 @@ 432 432 433 433 **Examples:** 434 434 435 -1 .For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49439 +1)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 436 436 437 437 If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 438 438 ... ... @@ -440,7 +440,7 @@ 440 440 441 441 [[image:1653271044481-711.png]] 442 442 443 - 1.For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49447 +2)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 444 444 445 445 If we set AT+SEARCH1=2, 1E 56 34+31 00 49 446 446 ... ... @@ -459,16 +459,18 @@ 459 459 * **c: define the position for valid value. ** 460 460 ))) 461 461 462 -Examples: 466 +**Examples:** 463 463 464 464 * Grab bytes: 465 465 466 466 [[image:1653271581490-837.png||height="313" width="722"]] 467 467 472 + 468 468 * Grab a section. 469 469 470 470 [[image:1653271648378-342.png||height="326" width="720"]] 471 471 477 + 472 472 * Grab different sections. 473 473 474 474 [[image:1653271657255-576.png||height="305" width="730"]] ... ... @@ -511,6 +511,7 @@ 511 511 512 512 [[image:1653271763403-806.png]] 513 513 520 + 514 514 === 3.3.4 Compose the uplink payload === 515 515 516 516 ((( ... ... @@ -518,7 +518,7 @@ 518 518 ))) 519 519 520 520 ((( 521 -(% style="color:# 4f81bd" %)**Examples: AT+DATAUP=0**528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0** 522 522 ))) 523 523 524 524 ((( ... ... @@ -530,7 +530,7 @@ 530 530 ))) 531 531 532 532 ((( 533 -(% 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** 534 534 ))) 535 535 536 536 ((( ... ... @@ -539,8 +539,12 @@ 539 539 540 540 [[image:1653272787040-634.png||height="515" width="719"]] 541 541 549 + 550 + 542 542 ((( 543 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1** 552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1** 553 + 554 + 544 544 ))) 545 545 546 546 ((( ... ... @@ -552,7 +552,7 @@ 552 552 ))) 553 553 554 554 ((( 555 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA 566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 556 556 ))) 557 557 558 558 1. ((( ... ... @@ -575,6 +575,7 @@ 575 575 576 576 So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA 577 577 589 + 578 578 DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41 579 579 580 580 DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20 ... ... @@ -581,10 +581,12 @@ 581 581 582 582 DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30 583 583 596 + 584 584 Below are the uplink payloads: 585 585 586 586 [[image:1653272901032-107.png]] 587 587 601 + 588 588 (% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below: 589 589 590 590 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) ... ... @@ -595,6 +595,8 @@ 595 595 596 596 ~* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 597 597 612 + 613 + 598 598 === 3.3.5 Uplink on demand === 599 599 600 600 ((( ... ... @@ -611,6 +611,8 @@ 611 611 612 612 ((( 613 613 **0xA8 command**: Send a command to RS485-BL and uplink the output from sensors. 630 + 631 + 614 614 ))) 615 615 616 616 === 3.3.6 Uplink on Interrupt === ... ... @@ -619,6 +619,7 @@ 619 619 620 620 [[image:1653273818896-432.png]] 621 621 640 + 622 622 ((( 623 623 AT+INTMOD=0 Disable Interrupt 624 624 ))) ... ... @@ -633,6 +633,8 @@ 633 633 634 634 ((( 635 635 AT+INTMOD=3 Interrupt trigger by rising edge. 655 + 656 + 636 636 ))) 637 637 638 638 == 3.4 Uplink Payload == ... ... @@ -660,47 +660,49 @@ 660 660 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 661 661 662 662 ((( 663 -function Decoder(bytes, port) { 684 +{{{function Decoder(bytes, port) {}}} 664 664 ))) 665 665 666 666 ((( 667 - ~/~/Payload Formats of RS485-BL Deceive688 +{{{//Payload Formats of RS485-BL Deceive}}} 668 668 ))) 669 669 670 670 ((( 671 -return { 692 +{{{return {}}} 672 672 ))) 673 673 674 674 ((( 675 - ~/~/Battery,units:V696 +{{{ //Battery,units:V}}} 676 676 ))) 677 677 678 678 ((( 679 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000, 700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}} 680 680 ))) 681 681 682 682 ((( 683 - ~/~/GPIO_EXTI704 +{{{ //GPIO_EXTI }}} 684 684 ))) 685 685 686 686 ((( 687 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE", 708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}} 688 688 ))) 689 689 690 690 ((( 691 - ~/~/payload of version712 +{{{ //payload of version}}} 692 692 ))) 693 693 694 694 ((( 695 - Pay_ver:bytes[2], 716 +{{{ Pay_ver:bytes[2],}}} 696 696 ))) 697 697 698 698 ((( 699 - }; 720 +{{{ }; }}} 700 700 ))) 701 701 702 702 ((( 703 - } 724 +} 725 + 726 + 704 704 ))) 705 705 706 706 ((( ... ... @@ -709,27 +709,26 @@ 709 709 710 710 [[image:1653274001211-372.png||height="192" width="732"]] 711 711 735 + 712 712 == 3.5 Configure RS485-BL via AT or Downlink == 713 713 714 -User can configure RS485-BL via [[AT Commands>>path:#_Using_the_AT]]or LoRaWAN Downlink Commands738 +User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands 715 715 716 716 There are two kinds of Commands: 717 717 718 -* **Common Commands**: They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: http:~/~/wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands742 +* (% style="color:#4f81bd" %)**Common Commands**(%%): They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]] 719 719 720 -* **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: 721 721 722 -1. 723 -11. 724 -111. Common Commands: 725 725 726 -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]] 727 727 748 +=== 3.5.1 Common Commands: === 728 728 729 -1. 730 -11. 731 -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]] 732 732 752 + 753 +=== 3.5.2 Sensor related commands: === 754 + 733 733 ==== Choose Device Type (RS485 or TTL) ==== 734 734 735 735 RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect. ... ... @@ -1033,13 +1033,13 @@ 1033 1033 1034 1034 1035 1035 1036 -1. 1058 +1. 1037 1037 11. Buttons 1038 1038 1039 1039 |**Button**|**Feature** 1040 1040 |**RST**|Reboot RS485-BL 1041 1041 1042 -1. 1064 +1. 1043 1043 11. +3V3 Output 1044 1044 1045 1045 RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor. ... ... @@ -1057,7 +1057,7 @@ 1057 1057 By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time 1058 1058 1059 1059 1060 -1. 1082 +1. 1061 1061 11. +5V Output 1062 1062 1063 1063 RS485-BL has a Controllable +5V output, user can use this output to power external sensor. ... ... @@ -1077,13 +1077,13 @@ 1077 1077 1078 1078 1079 1079 1080 -1. 1102 +1. 1081 1081 11. LEDs 1082 1082 1083 1083 |**LEDs**|**Feature** 1084 1084 |**LED1**|Blink when device transmit a packet. 1085 1085 1086 -1. 1108 +1. 1087 1087 11. Switch Jumper 1088 1088 1089 1089 |**Switch Jumper**|**Feature** ... ... @@ -1129,7 +1129,7 @@ 1129 1129 1130 1130 1131 1131 1132 -1. 1154 +1. 1133 1133 11. Common AT Command Sequence 1134 1134 111. Multi-channel ABP mode (Use with SX1301/LG308) 1135 1135 ... ... @@ -1148,8 +1148,8 @@ 1148 1148 1149 1149 ATZ 1150 1150 1151 -1. 1152 -11. 1173 +1. 1174 +11. 1153 1153 111. Single-channel ABP mode (Use with LG01/LG02) 1154 1154 1155 1155 AT+FDR Reset Parameters to Factory Default, Keys Reserve ... ... @@ -1224,7 +1224,7 @@ 1224 1224 [[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]] 1225 1225 1226 1226 1227 -1. 1249 +1. 1228 1228 11. How to change the LoRa Frequency Bands/Region? 1229 1229 1230 1230 User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download. ... ... @@ -1231,7 +1231,7 @@ 1231 1231 1232 1232 1233 1233 1234 -1. 1256 +1. 1235 1235 11. How many RS485-Slave can RS485-BL connects? 1236 1236 1237 1237 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]]. ... ... @@ -1248,7 +1248,7 @@ 1248 1248 1249 1249 1250 1250 1251 -1. 1273 +1. 1252 1252 11. Why I can’t join TTN V3 in US915 /AU915 bands? 1253 1253 1254 1254 It might about the channels mapping. Please see for detail.