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, 1 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -7,12 +7,15 @@ 7 7 **RS485-BL – Waterproof RS485 to LoRaWAN Converter User Manual** 8 8 9 9 10 + 10 10 **Table of Contents:** 11 11 13 +{{toc/}} 12 12 13 13 14 14 15 15 18 + 16 16 = 1.Introduction = 17 17 18 18 == 1.1 What is RS485-BL RS485 to LoRaWAN Converter == ... ... @@ -22,19 +22,19 @@ 22 22 ))) 23 23 24 24 ((( 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. 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. 26 26 ))) 27 27 28 28 ((( 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. 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. 30 30 ))) 31 31 32 32 ((( 33 -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. 34 34 ))) 35 35 36 36 ((( 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. 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. 38 38 ))) 39 39 40 40 ((( ... ... @@ -51,8 +51,11 @@ 51 51 52 52 [[image:1652953304999-717.png||height="424" width="733"]] 53 53 57 + 58 + 54 54 == 1.2 Specifications == 55 55 61 + 56 56 **Hardware System:** 57 57 58 58 * STM32L072CZT6 MCU ... ... @@ -59,8 +59,6 @@ 59 59 * SX1276/78 Wireless Chip 60 60 * Power Consumption (exclude RS485 device): 61 61 ** Idle: 6uA@3.3v 62 - 63 -* 64 64 ** 20dB Transmit: 130mA@3.3v 65 65 66 66 **Interface for Model:** ... ... @@ -114,9 +114,12 @@ 114 114 115 115 [[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);"]] 116 116 121 + 117 117 == 1.6 Hardware Change log == 118 118 119 119 ((( 125 + 126 + 120 120 v1.4 121 121 ))) 122 122 ... ... @@ -140,6 +140,8 @@ 140 140 141 141 ((( 142 142 Release version 150 + 151 + 143 143 ))) 144 144 145 145 = 2. Pin mapping and Power ON Device = ... ... @@ -153,6 +153,7 @@ 153 153 154 154 The Left TXD and RXD are TTL interface for external sensor. TTL level is controlled by 3.3/5v Jumper. 155 155 165 + 156 156 = 3. Operation Mode = 157 157 158 158 == 3.1 How it works? == ... ... @@ -159,6 +159,8 @@ 159 159 160 160 ((( 161 161 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 + 162 162 ))) 163 163 164 164 == 3.2 Example to join LoRaWAN network == ... ... @@ -194,8 +194,6 @@ 194 194 ))) 195 195 196 196 197 - 198 - 199 199 [[image:image-20220519174512-1.png]] 200 200 201 201 [[image:image-20220519174512-2.png||height="328" width="731"]] ... ... @@ -219,10 +219,13 @@ 219 219 220 220 [[image:1652953568895-172.png||height="232" width="724"]] 221 221 232 + 222 222 == 3.3 Configure Commands to read data == 223 223 224 224 ((( 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. 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 + 226 226 ))) 227 227 228 228 === 3.3.1 onfigure UART settings for RS485 or TTL communication === ... ... @@ -303,6 +303,8 @@ 303 303 ))) 304 304 ))) 305 305 319 + 320 + 306 306 === 3.3.2 Configure sensors === 307 307 308 308 ((( ... ... @@ -323,8 +323,9 @@ 323 323 mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 324 324 )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 325 325 326 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>> path:#AT_CFGDEV]].341 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]]. 327 327 343 + 328 328 === 3.3.3 Configure read commands for each sampling === 329 329 330 330 ((( ... ... @@ -422,7 +422,7 @@ 422 422 423 423 **Examples:** 424 424 425 -1 .For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49441 +1)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 426 426 427 427 If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 428 428 ... ... @@ -430,7 +430,7 @@ 430 430 431 431 [[image:1653271044481-711.png]] 432 432 433 - 1.For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49449 +2)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 434 434 435 435 If we set AT+SEARCH1=2, 1E 56 34+31 00 49 436 436 ... ... @@ -449,12 +449,14 @@ 449 449 * **c: define the position for valid value. ** 450 450 ))) 451 451 452 -Examples: 453 453 469 +**Examples:** 470 + 454 454 * Grab bytes: 455 455 456 456 [[image:1653271581490-837.png||height="313" width="722"]] 457 457 475 + 458 458 * Grab a section. 459 459 460 460 [[image:1653271648378-342.png||height="326" width="720"]] ... ... @@ -565,21 +565,18 @@ 565 565 566 566 So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA 567 567 568 -DATA1=RETURN1 Valid Value = ~(% style="background-color:#4f81bd;color:white" %)(%style="display:none" %) (%%)20 20 0a 33 90 41586 +DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41 569 569 570 -DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= ~(% style="background-color:#4f81bd;color:white" %)(% style="display:none" %) (%%)02 aa 05 81 0a 20588 +DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20 571 571 572 -DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 = ~(% style="background-color:#4f81bd;color:white" %)(% style="display:none" %) (%%)20 20 20 2d 30590 +DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30 573 573 574 - 575 - 576 576 Below are the uplink payloads: 577 577 578 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]]594 +[[image:1653272901032-107.png]] 579 579 596 +(% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below: 580 580 581 -Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below: 582 - 583 583 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 584 584 585 585 * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). ... ... @@ -588,90 +588,121 @@ 588 588 589 589 ~* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 590 590 606 +=== 3.3.5 Uplink on demand === 591 591 592 - 593 -1. 594 -11. 595 -111. Uplink on demand 596 - 608 +((( 597 597 Except uplink periodically, RS485-BL is able to uplink on demand. The server sends downlink command to RS485-BL and RS485 will uplink data base on the command. 610 +))) 598 598 612 +((( 599 599 Downlink control command: 614 +))) 600 600 601 -[[0x08 command>>path:#downlink_08]]: Poll an uplink with current command set in RS485-BL. 616 +((( 617 +**0x08 command**: Poll an uplink with current command set in RS485-BL. 618 +))) 602 602 603 -[[0xA8 command>>path:#downlink_A8]]: Send a command to RS485-BL and uplink the output from sensors. 620 +((( 621 +**0xA8 command**: Send a command to RS485-BL and uplink the output from sensors. 622 +))) 604 604 624 +=== 3.3.6 Uplink on Interrupt === 605 605 626 +Put the interrupt sensor between 3.3v_out and GPIO ext. 606 606 607 -1. 608 -11. 609 -111. Uplink on Interrupt 628 +[[image:1653273818896-432.png]] 610 610 611 -Put the interrupt sensor between 3.3v_out and GPIO ext.[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]] 612 - 630 +((( 613 613 AT+INTMOD=0 Disable Interrupt 632 +))) 614 614 634 +((( 615 615 AT+INTMOD=1 Interrupt trigger by rising or falling edge. 636 +))) 616 616 638 +((( 617 617 AT+INTMOD=2 Interrupt trigger by falling edge. ( Default Value) 640 +))) 618 618 642 +((( 619 619 AT+INTMOD=3 Interrupt trigger by rising edge. 644 +))) 620 620 646 +== 3.4 Uplink Payload == 621 621 622 -1. 623 -11. Uplink Payload 624 - 625 -|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands** 626 -|Value|((( 648 +(% border="1" style="background-color:#4f81bd; color:white; width:850px" %) 649 +|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands** 650 +|Value|(% style="width:130px" %)((( 651 +((( 627 627 Battery(mV) 653 +))) 628 628 655 +((( 629 629 & 657 +))) 630 630 659 +((( 631 631 Interrupt _Flag 632 -)))|((( 661 +))) 662 +)))|(% style="width:93px" %)((( 633 633 PAYLOAD_VER 634 634 635 635 636 -)))|If the valid payload is too long and exceed the maximum support payload length in server, server will show payload not provided in the LoRaWAN server. 666 +)))|(% style="width:509px" %)If the valid payload is too long and exceed the maximum support payload length in server, server will show payload not provided in the LoRaWAN server. 637 637 638 638 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 639 639 640 - 670 +((( 641 641 function Decoder(bytes, port) { 672 +))) 642 642 674 +((( 643 643 ~/~/Payload Formats of RS485-BL Deceive 676 +))) 644 644 678 +((( 645 645 return { 680 +))) 646 646 682 +((( 647 647 ~/~/Battery,units:V 684 +))) 648 648 686 +((( 649 649 BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000, 688 +))) 650 650 690 +((( 651 651 ~/~/GPIO_EXTI 692 +))) 652 652 694 +((( 653 653 EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE", 696 +))) 654 654 698 +((( 655 655 ~/~/payload of version 700 +))) 656 656 702 +((( 657 657 Pay_ver:bytes[2], 704 +))) 658 658 706 +((( 659 659 }; 708 +))) 660 660 710 +((( 661 661 } 712 +))) 662 662 663 - 664 - 665 - 666 - 667 - 668 - 714 +((( 669 669 TTN V3 uplink screen shot. 716 +))) 670 670 671 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]718 +[[image:1653274001211-372.png||height="192" width="732"]] 672 672 673 -1. 674 -11. Configure RS485-BL via AT or Downlink 720 +== 3.5 Configure RS485-BL via AT or Downlink == 675 675 676 676 User can configure RS485-BL via [[AT Commands >>path:#_Using_the_AT]]or LoRaWAN Downlink Commands 677 677
- 1653274001211-372.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.4 KB - Content