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)
-
Attachments (0 modified, 0 added, 1 removed)
Details
- Page properties
-
- Content
-
... ... @@ -7,15 +7,12 @@ 7 7 **RS485-BL – Waterproof RS485 to LoRaWAN Converter User Manual** 8 8 9 9 10 - 11 11 **Table of Contents:** 12 12 13 -{{toc/}} 14 14 15 15 16 16 17 17 18 - 19 19 = 1.Introduction = 20 20 21 21 == 1.1 What is RS485-BL RS485 to LoRaWAN Converter == ... ... @@ -25,19 +25,19 @@ 25 25 ))) 26 26 27 27 ((( 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.25 +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. 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 (% 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.29 +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. 33 33 ))) 34 34 35 35 ((( 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.33 +RS485-BL is IP67 **waterproof** and powered by **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 (% 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.37 +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. 41 41 ))) 42 42 43 43 ((( ... ... @@ -54,11 +54,8 @@ 54 54 55 55 [[image:1652953304999-717.png||height="424" width="733"]] 56 56 57 - 58 - 59 59 == 1.2 Specifications == 60 60 61 - 62 62 **Hardware System:** 63 63 64 64 * STM32L072CZT6 MCU ... ... @@ -65,6 +65,8 @@ 65 65 * SX1276/78 Wireless Chip 66 66 * Power Consumption (exclude RS485 device): 67 67 ** Idle: 6uA@3.3v 62 + 63 +* 68 68 ** 20dB Transmit: 130mA@3.3v 69 69 70 70 **Interface for Model:** ... ... @@ -118,12 +118,9 @@ 118 118 119 119 [[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);"]] 120 120 121 - 122 122 == 1.6 Hardware Change log == 123 123 124 124 ((( 125 - 126 - 127 127 v1.4 128 128 ))) 129 129 ... ... @@ -147,8 +147,6 @@ 147 147 148 148 ((( 149 149 Release version 150 - 151 - 152 152 ))) 153 153 154 154 = 2. Pin mapping and Power ON Device = ... ... @@ -162,7 +162,6 @@ 162 162 163 163 The Left TXD and RXD are TTL interface for external sensor. TTL level is controlled by 3.3/5v Jumper. 164 164 165 - 166 166 = 3. Operation Mode = 167 167 168 168 == 3.1 How it works? == ... ... @@ -169,8 +169,6 @@ 169 169 170 170 ((( 171 171 The RS485-BL is configured as LoRaWAN OTAA Class A mode by default. It has OTAA keys to join network. To connect a local LoRaWAN network, user just need to input the OTAA keys in the network server and power on the RS485-BL. It will auto join the network via OTAA. 172 - 173 - 174 174 ))) 175 175 176 176 == 3.2 Example to join LoRaWAN network == ... ... @@ -206,6 +206,8 @@ 206 206 ))) 207 207 208 208 197 + 198 + 209 209 [[image:image-20220519174512-1.png]] 210 210 211 211 [[image:image-20220519174512-2.png||height="328" width="731"]] ... ... @@ -229,13 +229,10 @@ 229 229 230 230 [[image:1652953568895-172.png||height="232" width="724"]] 231 231 232 - 233 233 == 3.3 Configure Commands to read data == 234 234 235 235 ((( 236 -There are plenty of RS485 and TTL level devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-BL supports flexible command set. User can use [[AT Commands or LoRaWAN Downlink>>||anchor="H3.5ConfigureRS485-BLviaATorDownlink"]] Command to configure how RS485-BL should read the sensor and how to handle the return from RS485 or TTL sensors. 237 - 238 - 225 +There are plenty of RS485 and TTL level devices in the market and each device has different command to read the valid data. To support these devices in flexible, RS485-BL supports flexible command set. User can use [[AT Commands or LoRaWAN Downlink>>path:#AT_COMMAND]] Command to configure how RS485-BL should read the sensor and how to handle the return from RS485 or TTL sensors. 239 239 ))) 240 240 241 241 === 3.3.1 onfigure UART settings for RS485 or TTL communication === ... ... @@ -336,9 +336,8 @@ 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>> ||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].326 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>path:#AT_CFGDEV]]. 340 340 341 - 342 342 === 3.3.3 Configure read commands for each sampling === 343 343 344 344 ((( ... ... @@ -436,7 +436,7 @@ 436 436 437 437 **Examples:** 438 438 439 -1 )For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49425 +1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 440 440 441 441 If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 442 442 ... ... @@ -444,7 +444,7 @@ 444 444 445 445 [[image:1653271044481-711.png]] 446 446 447 - 2)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49433 +1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 448 448 449 449 If we set AT+SEARCH1=2, 1E 56 34+31 00 49 450 450 ... ... @@ -463,18 +463,16 @@ 463 463 * **c: define the position for valid value. ** 464 464 ))) 465 465 466 - **Examples:**452 +Examples: 467 467 468 468 * Grab bytes: 469 469 470 470 [[image:1653271581490-837.png||height="313" width="722"]] 471 471 472 - 473 473 * Grab a section. 474 474 475 475 [[image:1653271648378-342.png||height="326" width="720"]] 476 476 477 - 478 478 * Grab different sections. 479 479 480 480 [[image:1653271657255-576.png||height="305" width="730"]] ... ... @@ -517,7 +517,6 @@ 517 517 518 518 [[image:1653271763403-806.png]] 519 519 520 - 521 521 === 3.3.4 Compose the uplink payload === 522 522 523 523 ((( ... ... @@ -525,7 +525,7 @@ 525 525 ))) 526 526 527 527 ((( 528 -(% style="color:# 037691" %)**Examples: AT+DATAUP=0**511 +(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0** 529 529 ))) 530 530 531 531 ((( ... ... @@ -537,7 +537,7 @@ 537 537 ))) 538 538 539 539 ((( 540 -(% style="color:#4f81bd" %) **Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx**523 +(% style="color:#4f81bd" %)Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx 541 541 ))) 542 542 543 543 ((( ... ... @@ -546,12 +546,8 @@ 546 546 547 547 [[image:1653272787040-634.png||height="515" width="719"]] 548 548 549 - 550 - 551 551 ((( 552 -(% style="color:#037691" %)**Examples: AT+DATAUP=1** 553 - 554 - 533 +(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1** 555 555 ))) 556 556 557 557 ((( ... ... @@ -563,7 +563,7 @@ 563 563 ))) 564 564 565 565 ((( 566 -(% style="color:#4f81bd" %) **Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**545 +(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA 567 567 ))) 568 568 569 569 1. ((( ... ... @@ -586,7 +586,6 @@ 586 586 587 587 So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA 588 588 589 - 590 590 DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41 591 591 592 592 DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20 ... ... @@ -593,12 +593,10 @@ 593 593 594 594 DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30 595 595 596 - 597 597 Below are the uplink payloads: 598 598 599 599 [[image:1653272901032-107.png]] 600 600 601 - 602 602 (% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below: 603 603 604 604 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) ... ... @@ -609,8 +609,6 @@ 609 609 610 610 ~* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 611 611 612 - 613 - 614 614 === 3.3.5 Uplink on demand === 615 615 616 616 ((( ... ... @@ -627,8 +627,6 @@ 627 627 628 628 ((( 629 629 **0xA8 command**: Send a command to RS485-BL and uplink the output from sensors. 630 - 631 - 632 632 ))) 633 633 634 634 === 3.3.6 Uplink on Interrupt === ... ... @@ -637,7 +637,6 @@ 637 637 638 638 [[image:1653273818896-432.png]] 639 639 640 - 641 641 ((( 642 642 AT+INTMOD=0 Disable Interrupt 643 643 ))) ... ... @@ -652,8 +652,6 @@ 652 652 653 653 ((( 654 654 AT+INTMOD=3 Interrupt trigger by rising edge. 655 - 656 - 657 657 ))) 658 658 659 659 == 3.4 Uplink Payload == ... ... @@ -680,78 +680,61 @@ 680 680 681 681 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 682 682 683 -((( 684 -{{{function Decoder(bytes, port) {}}} 685 -))) 686 686 687 -((( 688 -{{{//Payload Formats of RS485-BL Deceive}}} 689 -))) 653 +function Decoder(bytes, port) { 690 690 691 -((( 692 -{{{return {}}} 693 -))) 655 +~/~/Payload Formats of RS485-BL Deceive 694 694 695 -((( 696 -{{{ //Battery,units:V}}} 697 -))) 657 +return { 698 698 699 -((( 700 -{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}} 701 -))) 659 + ~/~/Battery,units:V 702 702 703 -((( 704 -{{{ //GPIO_EXTI }}} 705 -))) 661 + BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000, 706 706 707 -((( 708 -{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}} 709 -))) 663 + ~/~/GPIO_EXTI 710 710 711 -((( 712 -{{{ //payload of version}}} 713 -))) 665 + EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE", 714 714 715 -((( 716 -{{{ Pay_ver:bytes[2],}}} 717 -))) 667 + ~/~/payload of version 718 718 719 -((( 720 -{{{ }; }}} 721 -))) 669 + Pay_ver:bytes[2], 722 722 723 -((( 724 -} 671 + }; 725 725 726 - 727 -))) 673 + } 728 728 729 -((( 730 -TTN V3 uplink screen shot. 731 -))) 732 732 733 -[[image:1653274001211-372.png||height="192" width="732"]] 734 734 735 735 736 -== 3.5 Configure RS485-BL via AT or Downlink == 737 737 738 -User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands 739 739 740 -There are two kinds of Commands: 741 741 742 - * (% style="color:#4f81bd" %)**Common Commands**(%%):Theyshouldbe available for each sensor, such as: change uplinkinterval, reset device. Forfirmwarev1.3, user canfind what common commands itsupports: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]681 +TTN V3 uplink screen shot. 743 743 744 - * (% style="color:#4f81bd" %)**Sensor RelatedCommands**(%%):Thesecommands arespecialdesigned for RS485-BL. User can see thesecommands below:683 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]] 745 745 685 +1. 686 +11. Configure RS485-BL via AT or Downlink 746 746 688 +User can configure RS485-BL via [[AT Commands >>path:#_Using_the_AT]]or LoRaWAN Downlink Commands 747 747 748 - ===3.5.1Common Commands:===690 +There are two kinds of Commands: 749 749 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 Commandsand Downlink Command>>doc:Main.End.WebHome]]692 +* **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 751 751 694 +* **Sensor Related Commands**: These commands are special designed for RS485-BL. User can see these commands below: 752 752 753 -=== 3.5.2 Sensor related commands: === 696 +1. 697 +11. 698 +111. Common Commands: 754 754 700 +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]] 701 + 702 + 703 +1. 704 +11. 705 +111. Sensor related commands: 706 + 755 755 ==== Choose Device Type (RS485 or TTL) ==== 756 756 757 757 RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
- 1653274001211-372.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -91.4 KB - Content