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

From version 26.1
edited by Xiaoling
on 2022/05/23 10:26
Change comment: Uploaded new attachment "1653272817147-600.png", version {1}
To version 29.15
edited by Xiaoling
on 2022/06/01 18:05
Change comment: There is no comment for this version

Summary

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,6 +51,8 @@
51 51  
52 52  [[image:1652953304999-717.png||height="424" width="733"]]
53 53  
57 +
58 +
54 54  == 1.2 Specifications ==
55 55  
56 56  **Hardware System:**
... ... @@ -60,7 +60,7 @@
60 60  * Power Consumption (exclude RS485 device):
61 61  ** Idle: 6uA@3.3v
62 62  
63 -*
68 +*
64 64  ** 20dB Transmit: 130mA@3.3v
65 65  
66 66  **Interface for Model:**
... ... @@ -90,6 +90,7 @@
90 90  * 127 dB Dynamic Range RSSI.
91 91  * Automatic RF Sense and CAD with ultra-fast AFC. ​​​
92 92  
98 +
93 93  == 1.3 Features ==
94 94  
95 95  * LoRaWAN Class A & Class C protocol (default Class A)
... ... @@ -101,6 +101,7 @@
101 101  * Support Modbus protocol
102 102  * Support Interrupt uplink
103 103  
110 +
104 104  == 1.4 Applications ==
105 105  
106 106  * Smart Buildings & Home Automation
... ... @@ -110,10 +110,12 @@
110 110  * Smart Cities
111 111  * Smart Factory
112 112  
120 +
113 113  == 1.5 Firmware Change log ==
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  
125 +
117 117  == 1.6 Hardware Change log ==
118 118  
119 119  (((
... ... @@ -140,6 +140,8 @@
140 140  
141 141  (((
142 142  Release version ​​​​​
152 +
153 +
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  
167 +
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.
174 +
175 +
162 162  )))
163 163  
164 164  == 3.2 Example to join LoRaWAN network ==
... ... @@ -222,7 +222,9 @@
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.
239 +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.
240 +
241 +
226 226  )))
227 227  
228 228  === 3.3.1 onfigure UART settings for RS485 or TTL communication ===
... ... @@ -501,64 +501,82 @@
501 501  
502 502  [[image:1653271763403-806.png]]
503 503  
520 +=== 3.3.4 Compose the uplink payload ===
504 504  
505 -
506 -
507 -1.
508 -11.
509 -111. Compose the uplink payload
510 -
522 +(((
511 511  Through AT+COMMANDx and AT+DATACUTx we got valid value from each RS485 commands, Assume these valid value are RETURN1, RETURN2, .., to RETURNx. The next step is how to compose the LoRa Uplink Payload by these RETURNs. The command is **AT+DATAUP.**
524 +)))
512 512  
526 +(((
527 +(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0**
528 +)))
513 513  
514 -**Examples: AT+DATAUP=0**
530 +(((
531 +Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**A SIGNLE UPLINK**.
532 +)))
515 515  
516 -Compose the uplink payload with value returns in sequence and send with **A SIGNLE UPLINK**.
517 -
534 +(((
518 518  Final Payload is
536 +)))
519 519  
520 -Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
538 +(((
539 +(% style="color:#4f81bd" %)Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
540 +)))
521 521  
542 +(((
522 522  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
544 +)))
523 523  
524 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]]
546 +[[image:1653272787040-634.png||height="515" width="719"]]
525 525  
548 +(((
549 +(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
550 +)))
526 526  
552 +(((
553 +Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**.
554 +)))
527 527  
528 -**Examples: AT+DATAUP=1**
529 -
530 -Compose the uplink payload with value returns in sequence and send with **Multiply UPLINKs**.
531 -
556 +(((
532 532  Final Payload is
558 +)))
533 533  
534 -Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
560 +(((
561 +(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
562 +)))
535 535  
536 -1. Battery Info (2 bytes): Battery voltage
537 -1. PAYVER (1 byte): Defined by AT+PAYVER
538 -1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
539 -1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
540 -1. DATA: Valid value: max 6 bytes(US915 version here, [[Notice*!>>path:#max_byte]]) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes
564 +1. (((
565 +Battery Info (2 bytes): Battery voltage
566 +)))
567 +1. (((
568 +PAYVER (1 byte): Defined by AT+PAYVER
569 +)))
570 +1. (((
571 +PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
572 +)))
573 +1. (((
574 +PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
575 +)))
576 +1. (((
577 +DATA: Valid value: max 6 bytes(US915 version here, Notice*!) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes
578 +)))
541 541  
542 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]
580 +[[image:1653272817147-600.png||height="437" width="717"]]
543 543  
544 -
545 545  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
546 546  
547 -DATA1=RETURN1 Valid Value = 20 20 0a 33 90 41
584 +DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41
548 548  
549 -DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= 02 aa 05 81 0a 20
586 +DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20
550 550  
551 -DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 = 20 20 20 2d 30
588 +DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
552 552  
553 -
554 -
555 555  Below are the uplink payloads:
556 556  
557 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]]
592 +[[image:1653272901032-107.png]]
558 558  
594 +(% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
559 559  
560 -Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
561 -
562 562   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
563 563  
564 564   * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
... ... @@ -567,90 +567,121 @@
567 567  
568 568   ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
569 569  
604 +=== 3.3.5 Uplink on demand ===
570 570  
571 -
572 -1.
573 -11.
574 -111. Uplink on demand
575 -
606 +(((
576 576  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.
608 +)))
577 577  
610 +(((
578 578  Downlink control command:
612 +)))
579 579  
580 -[[0x08 command>>path:#downlink_08]]: Poll an uplink with current command set in RS485-BL.
614 +(((
615 +**0x08 command**: Poll an uplink with current command set in RS485-BL.
616 +)))
581 581  
582 -[[0xA8 command>>path:#downlink_A8]]: Send a command to RS485-BL and uplink the output from sensors.
618 +(((
619 +**0xA8 command**: Send a command to RS485-BL and uplink the output from sensors.
620 +)))
583 583  
622 +=== 3.3.6 Uplink on Interrupt ===
584 584  
624 +Put the interrupt sensor between 3.3v_out and GPIO ext.
585 585  
586 -1.
587 -11.
588 -111. Uplink on Interrupt
626 +[[image:1653273818896-432.png]]
589 589  
590 -Put the interrupt sensor between 3.3v_out and GPIO ext.[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]]
591 -
628 +(((
592 592  AT+INTMOD=0  Disable Interrupt
630 +)))
593 593  
632 +(((
594 594  AT+INTMOD=1  Interrupt trigger by rising or falling edge.
634 +)))
595 595  
636 +(((
596 596  AT+INTMOD=2  Interrupt trigger by falling edge. ( Default Value)
638 +)))
597 597  
640 +(((
598 598  AT+INTMOD=3  Interrupt trigger by rising edge.
642 +)))
599 599  
644 +== 3.4 Uplink Payload ==
600 600  
601 -1.
602 -11. Uplink Payload
603 -
604 -|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands**
605 -|Value|(((
646 +(% border="1" style="background-color:#4f81bd; color:white; width:850px" %)
647 +|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands**
648 +|Value|(% style="width:130px" %)(((
649 +(((
606 606  Battery(mV)
651 +)))
607 607  
653 +(((
608 608  &
655 +)))
609 609  
657 +(((
610 610  Interrupt _Flag
611 -)))|(((
659 +)))
660 +)))|(% style="width:93px" %)(((
612 612  PAYLOAD_VER
613 613  
614 614  
615 -)))|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.
664 +)))|(% 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.
616 616  
617 617  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
618 618  
619 -
668 +(((
620 620  function Decoder(bytes, port) {
670 +)))
621 621  
672 +(((
622 622  ~/~/Payload Formats of RS485-BL Deceive
674 +)))
623 623  
676 +(((
624 624  return {
678 +)))
625 625  
680 +(((
626 626   ~/~/Battery,units:V
682 +)))
627 627  
684 +(((
628 628   BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
686 +)))
629 629  
688 +(((
630 630   ~/~/GPIO_EXTI 
690 +)))
631 631  
692 +(((
632 632   EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
694 +)))
633 633  
696 +(((
634 634   ~/~/payload of version
698 +)))
635 635  
700 +(((
636 636   Pay_ver:bytes[2],
702 +)))
637 637  
704 +(((
638 638   };
706 +)))
639 639  
708 +(((
640 640   }
710 +)))
641 641  
642 -
643 -
644 -
645 -
646 -
647 -
712 +(((
648 648  TTN V3 uplink screen shot.
714 +)))
649 649  
650 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
716 +[[image:1653274001211-372.png||height="192" width="732"]]
651 651  
652 -1.
653 -11. Configure RS485-BL via AT or Downlink
718 +== 3.5 Configure RS485-BL via AT or Downlink ==
654 654  
655 655  User can configure RS485-BL via [[AT Commands >>path:#_​Using_the_AT]]or LoRaWAN Downlink Commands
656 656  
... ... @@ -660,15 +660,15 @@
660 660  
661 661  * **Sensor Related Commands**: These commands are special designed for RS485-BL.  User can see these commands below:
662 662  
663 -1.
664 -11.
728 +1.
729 +11.
665 665  111. Common Commands:
666 666  
667 667  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]]
668 668  
669 669  
670 -1.
671 -11.
735 +1.
736 +11.
672 672  111. Sensor related commands:
673 673  
674 674  ==== Choose Device Type (RS485 or TTL) ====
... ... @@ -974,13 +974,13 @@
974 974  
975 975  
976 976  
977 -1.
1042 +1.
978 978  11. Buttons
979 979  
980 980  |**Button**|**Feature**
981 981  |**RST**|Reboot RS485-BL
982 982  
983 -1.
1048 +1.
984 984  11. +3V3 Output
985 985  
986 986  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
... ... @@ -998,7 +998,7 @@
998 998  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
999 999  
1000 1000  
1001 -1.
1066 +1.
1002 1002  11. +5V Output
1003 1003  
1004 1004  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
... ... @@ -1018,13 +1018,13 @@
1018 1018  
1019 1019  
1020 1020  
1021 -1.
1086 +1.
1022 1022  11. LEDs
1023 1023  
1024 1024  |**LEDs**|**Feature**
1025 1025  |**LED1**|Blink when device transmit a packet.
1026 1026  
1027 -1.
1092 +1.
1028 1028  11. Switch Jumper
1029 1029  
1030 1030  |**Switch Jumper**|**Feature**
... ... @@ -1070,7 +1070,7 @@
1070 1070  
1071 1071  
1072 1072  
1073 -1.
1138 +1.
1074 1074  11. Common AT Command Sequence
1075 1075  111. Multi-channel ABP mode (Use with SX1301/LG308)
1076 1076  
... ... @@ -1089,8 +1089,8 @@
1089 1089  
1090 1090  ATZ
1091 1091  
1092 -1.
1093 -11.
1157 +1.
1158 +11.
1094 1094  111. Single-channel ABP mode (Use with LG01/LG02)
1095 1095  
1096 1096  AT+FDR   Reset Parameters to Factory Default, Keys Reserve
... ... @@ -1165,7 +1165,7 @@
1165 1165  [[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]]
1166 1166  
1167 1167  
1168 -1.
1233 +1.
1169 1169  11. How to change the LoRa Frequency Bands/Region?
1170 1170  
1171 1171  User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download.
... ... @@ -1172,7 +1172,7 @@
1172 1172  
1173 1173  
1174 1174  
1175 -1.
1240 +1.
1176 1176  11. How many RS485-Slave can RS485-BL connects?
1177 1177  
1178 1178  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]].
... ... @@ -1189,7 +1189,7 @@
1189 1189  
1190 1190  
1191 1191  
1192 -1.
1257 +1.
1193 1193  11. Why I can’t join TTN V3 in US915 /AU915 bands?
1194 1194  
1195 1195  It might about the channels mapping. Please see for detail.
1653272901032-107.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +197.8 KB
Content
1653273818896-432.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +31.6 KB
Content
1653274001211-372.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +91.4 KB
Content