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:** ... ... @@ -113,8 +113,6 @@ 113 113 * Smart Cities 114 114 * Smart Factory 115 115 116 - 117 - 118 118 == 1.5 Firmware Change log == 119 119 120 120 [[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);"]] ... ... @@ -123,6 +123,8 @@ 123 123 == 1.6 Hardware Change log == 124 124 125 125 ((( 125 + 126 + 126 126 v1.4 127 127 ))) 128 128 ... ... @@ -205,8 +205,6 @@ 205 205 ))) 206 206 207 207 208 - 209 - 210 210 [[image:image-20220519174512-1.png]] 211 211 212 212 [[image:image-20220519174512-2.png||height="328" width="731"]] ... ... @@ -230,6 +230,7 @@ 230 230 231 231 [[image:1652953568895-172.png||height="232" width="724"]] 232 232 232 + 233 233 == 3.3 Configure Commands to read data == 234 234 235 235 ((( ... ... @@ -336,8 +336,9 @@ 336 336 mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 337 337 )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 338 338 339 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>> path:#AT_CFGDEV]].339 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]]. 340 340 341 + 341 341 === 3.3.3 Configure read commands for each sampling === 342 342 343 343 ((( ... ... @@ -435,7 +435,7 @@ 435 435 436 436 **Examples:** 437 437 438 -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 439 439 440 440 If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 441 441 ... ... @@ -443,7 +443,7 @@ 443 443 444 444 [[image:1653271044481-711.png]] 445 445 446 - 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 447 447 448 448 If we set AT+SEARCH1=2, 1E 56 34+31 00 49 449 449 ... ... @@ -462,16 +462,18 @@ 462 462 * **c: define the position for valid value. ** 463 463 ))) 464 464 465 -Examples: 466 +**Examples:** 466 466 467 467 * Grab bytes: 468 468 469 469 [[image:1653271581490-837.png||height="313" width="722"]] 470 470 472 + 471 471 * Grab a section. 472 472 473 473 [[image:1653271648378-342.png||height="326" width="720"]] 474 474 477 + 475 475 * Grab different sections. 476 476 477 477 [[image:1653271657255-576.png||height="305" width="730"]] ... ... @@ -514,6 +514,7 @@ 514 514 515 515 [[image:1653271763403-806.png]] 516 516 520 + 517 517 === 3.3.4 Compose the uplink payload === 518 518 519 519 ((( ... ... @@ -521,7 +521,7 @@ 521 521 ))) 522 522 523 523 ((( 524 -(% style="color:# 4f81bd" %)**Examples: AT+DATAUP=0**528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0** 525 525 ))) 526 526 527 527 ((( ... ... @@ -533,7 +533,7 @@ 533 533 ))) 534 534 535 535 ((( 536 -(% 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** 537 537 ))) 538 538 539 539 ((( ... ... @@ -542,8 +542,12 @@ 542 542 543 543 [[image:1653272787040-634.png||height="515" width="719"]] 544 544 549 + 550 + 545 545 ((( 546 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1** 552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1** 553 + 554 + 547 547 ))) 548 548 549 549 ((( ... ... @@ -555,7 +555,7 @@ 555 555 ))) 556 556 557 557 ((( 558 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA 566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 559 559 ))) 560 560 561 561 1. ((( ... ... @@ -578,6 +578,7 @@ 578 578 579 579 So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA 580 580 589 + 581 581 DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41 582 582 583 583 DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20 ... ... @@ -584,10 +584,12 @@ 584 584 585 585 DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30 586 586 596 + 587 587 Below are the uplink payloads: 588 588 589 589 [[image:1653272901032-107.png]] 590 590 601 + 591 591 (% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below: 592 592 593 593 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) ... ... @@ -598,6 +598,8 @@ 598 598 599 599 ~* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 600 600 612 + 613 + 601 601 === 3.3.5 Uplink on demand === 602 602 603 603 ((( ... ... @@ -614,6 +614,8 @@ 614 614 615 615 ((( 616 616 **0xA8 command**: Send a command to RS485-BL and uplink the output from sensors. 630 + 631 + 617 617 ))) 618 618 619 619 === 3.3.6 Uplink on Interrupt === ... ... @@ -622,6 +622,7 @@ 622 622 623 623 [[image:1653273818896-432.png]] 624 624 640 + 625 625 ((( 626 626 AT+INTMOD=0 Disable Interrupt 627 627 ))) ... ... @@ -636,6 +636,8 @@ 636 636 637 637 ((( 638 638 AT+INTMOD=3 Interrupt trigger by rising edge. 655 + 656 + 639 639 ))) 640 640 641 641 == 3.4 Uplink Payload == ... ... @@ -663,47 +663,49 @@ 663 663 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 664 664 665 665 ((( 666 -function Decoder(bytes, port) { 684 +{{{function Decoder(bytes, port) {}}} 667 667 ))) 668 668 669 669 ((( 670 - ~/~/Payload Formats of RS485-BL Deceive688 +{{{//Payload Formats of RS485-BL Deceive}}} 671 671 ))) 672 672 673 673 ((( 674 -return { 692 +{{{return {}}} 675 675 ))) 676 676 677 677 ((( 678 - ~/~/Battery,units:V696 +{{{ //Battery,units:V}}} 679 679 ))) 680 680 681 681 ((( 682 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000, 700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}} 683 683 ))) 684 684 685 685 ((( 686 - ~/~/GPIO_EXTI704 +{{{ //GPIO_EXTI }}} 687 687 ))) 688 688 689 689 ((( 690 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE", 708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}} 691 691 ))) 692 692 693 693 ((( 694 - ~/~/payload of version712 +{{{ //payload of version}}} 695 695 ))) 696 696 697 697 ((( 698 - Pay_ver:bytes[2], 716 +{{{ Pay_ver:bytes[2],}}} 699 699 ))) 700 700 701 701 ((( 702 - }; 720 +{{{ }; }}} 703 703 ))) 704 704 705 705 ((( 706 - } 724 +} 725 + 726 + 707 707 ))) 708 708 709 709 ((( ... ... @@ -712,27 +712,26 @@ 712 712 713 713 [[image:1653274001211-372.png||height="192" width="732"]] 714 714 735 + 715 715 == 3.5 Configure RS485-BL via AT or Downlink == 716 716 717 -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 718 718 719 719 There are two kinds of Commands: 720 720 721 -* **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]] 722 722 723 -* **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: 724 724 725 -1. 726 -11. 727 -111. Common Commands: 728 728 729 -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]] 730 730 748 +=== 3.5.1 Common Commands: === 731 731 732 -1. 733 -11. 734 -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]] 735 735 752 + 753 +=== 3.5.2 Sensor related commands: === 754 + 736 736 ==== Choose Device Type (RS485 or TTL) ==== 737 737 738 738 RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect. ... ... @@ -1036,13 +1036,13 @@ 1036 1036 1037 1037 1038 1038 1039 -1. 1058 +1. 1040 1040 11. Buttons 1041 1041 1042 1042 |**Button**|**Feature** 1043 1043 |**RST**|Reboot RS485-BL 1044 1044 1045 -1. 1064 +1. 1046 1046 11. +3V3 Output 1047 1047 1048 1048 RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor. ... ... @@ -1060,7 +1060,7 @@ 1060 1060 By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time 1061 1061 1062 1062 1063 -1. 1082 +1. 1064 1064 11. +5V Output 1065 1065 1066 1066 RS485-BL has a Controllable +5V output, user can use this output to power external sensor. ... ... @@ -1080,13 +1080,13 @@ 1080 1080 1081 1081 1082 1082 1083 -1. 1102 +1. 1084 1084 11. LEDs 1085 1085 1086 1086 |**LEDs**|**Feature** 1087 1087 |**LED1**|Blink when device transmit a packet. 1088 1088 1089 -1. 1108 +1. 1090 1090 11. Switch Jumper 1091 1091 1092 1092 |**Switch Jumper**|**Feature** ... ... @@ -1132,7 +1132,7 @@ 1132 1132 1133 1133 1134 1134 1135 -1. 1154 +1. 1136 1136 11. Common AT Command Sequence 1137 1137 111. Multi-channel ABP mode (Use with SX1301/LG308) 1138 1138 ... ... @@ -1151,8 +1151,8 @@ 1151 1151 1152 1152 ATZ 1153 1153 1154 -1. 1155 -11. 1173 +1. 1174 +11. 1156 1156 111. Single-channel ABP mode (Use with LG01/LG02) 1157 1157 1158 1158 AT+FDR Reset Parameters to Factory Default, Keys Reserve ... ... @@ -1227,7 +1227,7 @@ 1227 1227 [[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]] 1228 1228 1229 1229 1230 -1. 1249 +1. 1231 1231 11. How to change the LoRa Frequency Bands/Region? 1232 1232 1233 1233 User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download. ... ... @@ -1234,7 +1234,7 @@ 1234 1234 1235 1235 1236 1236 1237 -1. 1256 +1. 1238 1238 11. How many RS485-Slave can RS485-BL connects? 1239 1239 1240 1240 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]]. ... ... @@ -1251,7 +1251,7 @@ 1251 1251 1252 1252 1253 1253 1254 -1. 1273 +1. 1255 1255 11. Why I can’t join TTN V3 in US915 /AU915 bands? 1256 1256 1257 1257 It might about the channels mapping. Please see for detail.