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

From version 29.16
edited by Xiaoling
on 2022/06/01 18:05
Change comment: There is no comment for this version
To version 24.1
edited by Xiaoling
on 2022/05/23 10:09
Change comment: Uploaded new attachment "1653271763403-806.png", version {1}

Summary

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,8 +54,6 @@
54 54  
55 55  [[image:1652953304999-717.png||height="424" width="733"]]
56 56  
57 -
58 -
59 59  == 1.2 Specifications ==
60 60  
61 61  **Hardware System:**
... ... @@ -65,7 +65,7 @@
65 65  * Power Consumption (exclude RS485 device):
66 66  ** Idle: 6uA@3.3v
67 67  
68 -*
63 +*
69 69  ** 20dB Transmit: 130mA@3.3v
70 70  
71 71  **Interface for Model:**
... ... @@ -95,7 +95,6 @@
95 95  * 127 dB Dynamic Range RSSI.
96 96  * Automatic RF Sense and CAD with ultra-fast AFC. ​​​
97 97  
98 -
99 99  == 1.3 Features ==
100 100  
101 101  * LoRaWAN Class A & Class C protocol (default Class A)
... ... @@ -107,7 +107,6 @@
107 107  * Support Modbus protocol
108 108  * Support Interrupt uplink
109 109  
110 -
111 111  == 1.4 Applications ==
112 112  
113 113  * Smart Buildings & Home Automation
... ... @@ -117,12 +117,10 @@
117 117  * Smart Cities
118 118  * Smart Factory
119 119  
120 -
121 121  == 1.5 Firmware Change log ==
122 122  
123 123  [[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);"]]
124 124  
125 -
126 126  == 1.6 Hardware Change log ==
127 127  
128 128  (((
... ... @@ -149,8 +149,6 @@
149 149  
150 150  (((
151 151  Release version ​​​​​
152 -
153 -
154 154  )))
155 155  
156 156  = 2. Pin mapping and Power ON Device =
... ... @@ -164,7 +164,6 @@
164 164  
165 165  The Left TXD and RXD are TTL interface for external sensor. TTL level is controlled by 3.3/5v Jumper.
166 166  
167 -
168 168  = 3. Operation Mode =
169 169  
170 170  == 3.1 How it works? ==
... ... @@ -171,8 +171,6 @@
171 171  
172 172  (((
173 173  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 -
176 176  )))
177 177  
178 178  == 3.2 Example to join LoRaWAN network ==
... ... @@ -236,9 +236,7 @@
236 236  == 3.3 Configure Commands to read data ==
237 237  
238 238  (((
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 -
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.
242 242  )))
243 243  
244 244  === 3.3.1 onfigure UART settings for RS485 or TTL communication ===
... ... @@ -479,120 +479,84 @@
479 479  
480 480  [[image:1653271657255-576.png||height="305" width="730"]]
481 481  
482 -(((
483 483  (% style="color:red" %)**Note:**
484 -)))
485 485  
486 -(((
487 487  AT+SEARCHx and AT+DATACUTx can be used together, if both commands are set, RS485-BL will first process AT+SEARCHx on the return string and get a temporary string, and then process AT+DATACUTx on this temporary string to get the final payload. In this case, AT+DATACUTx need to set to format AT+DATACUTx=0,xx,xx where the return bytes set to 0.
488 -)))
489 489  
490 -(((
491 491  **Example:**
492 -)))
493 493  
494 -(((
495 495  (% style="color:red" %)AT+COMMAND1=11 01 1E D0,0
496 -)))
497 497  
498 -(((
499 499  (% style="color:red" %)AT+SEARCH1=1,1E 56 34
500 -)))
501 501  
502 -(((
503 503  (% style="color:red" %)AT+DATACUT1=0,2,1~~5
504 -)))
505 505  
506 -(((
507 507  (% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
508 -)))
509 509  
510 -(((
511 511  (% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
512 -)))
513 513  
514 -(((
515 515  (% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36
516 -)))
517 517  
518 -[[image:1653271763403-806.png]]
484 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png]]
519 519  
520 -=== 3.3.4 Compose the uplink payload ===
521 521  
522 -(((
487 +
488 +
489 +1.
490 +11.
491 +111. Compose the uplink payload
492 +
523 523  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 -)))
525 525  
526 -(((
527 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0**
528 -)))
529 529  
530 -(((
531 -Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**A SIGNLE UPLINK**.
532 -)))
496 +**Examples: AT+DATAUP=0**
533 533  
534 -(((
498 +Compose the uplink payload with value returns in sequence and send with **A SIGNLE UPLINK**.
499 +
535 535  Final Payload is
536 -)))
537 537  
538 -(((
539 -(% style="color:#4f81bd" %)Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
540 -)))
502 +Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
541 541  
542 -(((
543 543  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
544 -)))
545 545  
546 -[[image:1653272787040-634.png||height="515" width="719"]]
506 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]]
547 547  
548 -(((
549 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
550 -)))
551 551  
552 -(((
553 -Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**.
554 -)))
555 555  
556 -(((
510 +**Examples: AT+DATAUP=1**
511 +
512 +Compose the uplink payload with value returns in sequence and send with **Multiply UPLINKs**.
513 +
557 557  Final Payload is
558 -)))
559 559  
560 -(((
561 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
562 -)))
516 +Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
563 563  
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 -)))
518 +1. Battery Info (2 bytes): Battery voltage
519 +1. PAYVER (1 byte): Defined by AT+PAYVER
520 +1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
521 +1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
522 +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
579 579  
580 -[[image:1653272817147-600.png||height="437" width="717"]]
524 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]
581 581  
526 +
582 582  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
583 583  
584 -DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41
529 +DATA1=RETURN1 Valid Value = 20 20 0a 33 90 41
585 585  
586 -DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20
531 +DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= 02 aa 05 81 0a 20
587 587  
588 -DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
533 +DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 = 20 20 20 2d 30
589 589  
535 +
536 +
590 590  Below are the uplink payloads:
591 591  
592 -[[image:1653272901032-107.png]]
539 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]]
593 593  
594 -(% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
595 595  
542 +Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
543 +
596 596   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
597 597  
598 598   * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
... ... @@ -601,121 +601,90 @@
601 601  
602 602   ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
603 603  
604 -=== 3.3.5 Uplink on demand ===
605 605  
606 -(((
553 +
554 +1.
555 +11.
556 +111. Uplink on demand
557 +
607 607  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 -)))
609 609  
610 -(((
611 611  Downlink control command:
612 -)))
613 613  
614 -(((
615 -**0x08 command**: Poll an uplink with current command set in RS485-BL.
616 -)))
562 +[[0x08 command>>path:#downlink_08]]: Poll an uplink with current command set in RS485-BL.
617 617  
618 -(((
619 -**0xA8 command**: Send a command to RS485-BL and uplink the output from sensors.
620 -)))
564 +[[0xA8 command>>path:#downlink_A8]]: Send a command to RS485-BL and uplink the output from sensors.
621 621  
622 -=== 3.3.6 Uplink on Interrupt ===
623 623  
624 -Put the interrupt sensor between 3.3v_out and GPIO ext.
625 625  
626 -[[image:1653273818896-432.png]]
568 +1.
569 +11.
570 +111. Uplink on Interrupt
627 627  
628 -(((
572 +Put the interrupt sensor between 3.3v_out and GPIO ext.[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]]
573 +
629 629  AT+INTMOD=0  Disable Interrupt
630 -)))
631 631  
632 -(((
633 633  AT+INTMOD=1  Interrupt trigger by rising or falling edge.
634 -)))
635 635  
636 -(((
637 637  AT+INTMOD=2  Interrupt trigger by falling edge. ( Default Value)
638 -)))
639 639  
640 -(((
641 641  AT+INTMOD=3  Interrupt trigger by rising edge.
642 -)))
643 643  
644 -== 3.4 Uplink Payload ==
645 645  
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 -(((
583 +1.
584 +11. Uplink Payload
585 +
586 +|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands**
587 +|Value|(((
650 650  Battery(mV)
651 -)))
652 652  
653 -(((
654 654  &
655 -)))
656 656  
657 -(((
658 658  Interrupt _Flag
659 -)))
660 -)))|(% style="width:93px" %)(((
593 +)))|(((
661 661  PAYLOAD_VER
662 662  
663 663  
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.
597 +)))|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.
665 665  
666 666  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
667 667  
668 -(((
601 +
669 669  function Decoder(bytes, port) {
670 -)))
671 671  
672 -(((
673 673  ~/~/Payload Formats of RS485-BL Deceive
674 -)))
675 675  
676 -(((
677 677  return {
678 -)))
679 679  
680 -(((
681 681   ~/~/Battery,units:V
682 -)))
683 683  
684 -(((
685 685   BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
686 -)))
687 687  
688 -(((
689 689   ~/~/GPIO_EXTI 
690 -)))
691 691  
692 -(((
693 693   EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
694 -)))
695 695  
696 -(((
697 697   ~/~/payload of version
698 -)))
699 699  
700 -(((
701 701   Pay_ver:bytes[2],
702 -)))
703 703  
704 -(((
705 705   };
706 -)))
707 707  
708 -(((
709 709   }
710 -)))
711 711  
712 -(((
624 +
625 +
626 +
627 +
628 +
629 +
713 713  TTN V3 uplink screen shot.
714 -)))
715 715  
716 -[[image:1653274001211-372.png||height="192" width="732"]]
632 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
717 717  
718 -== 3.5 Configure RS485-BL via AT or Downlink ==
634 +1.
635 +11. Configure RS485-BL via AT or Downlink
719 719  
720 720  User can configure RS485-BL via [[AT Commands >>path:#_​Using_the_AT]]or LoRaWAN Downlink Commands
721 721  
... ... @@ -725,15 +725,15 @@
725 725  
726 726  * **Sensor Related Commands**: These commands are special designed for RS485-BL.  User can see these commands below:
727 727  
728 -1.
729 -11.
645 +1.
646 +11.
730 730  111. Common Commands:
731 731  
732 732  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]]
733 733  
734 734  
735 -1.
736 -11.
652 +1.
653 +11.
737 737  111. Sensor related commands:
738 738  
739 739  ==== Choose Device Type (RS485 or TTL) ====
... ... @@ -1039,13 +1039,13 @@
1039 1039  
1040 1040  
1041 1041  
1042 -1.
959 +1.
1043 1043  11. Buttons
1044 1044  
1045 1045  |**Button**|**Feature**
1046 1046  |**RST**|Reboot RS485-BL
1047 1047  
1048 -1.
965 +1.
1049 1049  11. +3V3 Output
1050 1050  
1051 1051  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
... ... @@ -1063,7 +1063,7 @@
1063 1063  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
1064 1064  
1065 1065  
1066 -1.
983 +1.
1067 1067  11. +5V Output
1068 1068  
1069 1069  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
... ... @@ -1083,13 +1083,13 @@
1083 1083  
1084 1084  
1085 1085  
1086 -1.
1003 +1.
1087 1087  11. LEDs
1088 1088  
1089 1089  |**LEDs**|**Feature**
1090 1090  |**LED1**|Blink when device transmit a packet.
1091 1091  
1092 -1.
1009 +1.
1093 1093  11. Switch Jumper
1094 1094  
1095 1095  |**Switch Jumper**|**Feature**
... ... @@ -1135,7 +1135,7 @@
1135 1135  
1136 1136  
1137 1137  
1138 -1.
1055 +1.
1139 1139  11. Common AT Command Sequence
1140 1140  111. Multi-channel ABP mode (Use with SX1301/LG308)
1141 1141  
... ... @@ -1154,8 +1154,8 @@
1154 1154  
1155 1155  ATZ
1156 1156  
1157 -1.
1158 -11.
1074 +1.
1075 +11.
1159 1159  111. Single-channel ABP mode (Use with LG01/LG02)
1160 1160  
1161 1161  AT+FDR   Reset Parameters to Factory Default, Keys Reserve
... ... @@ -1230,7 +1230,7 @@
1230 1230  [[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]]
1231 1231  
1232 1232  
1233 -1.
1150 +1.
1234 1234  11. How to change the LoRa Frequency Bands/Region?
1235 1235  
1236 1236  User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download.
... ... @@ -1237,7 +1237,7 @@
1237 1237  
1238 1238  
1239 1239  
1240 -1.
1157 +1.
1241 1241  11. How many RS485-Slave can RS485-BL connects?
1242 1242  
1243 1243  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]].
... ... @@ -1254,7 +1254,7 @@
1254 1254  
1255 1255  
1256 1256  
1257 -1.
1174 +1.
1258 1258  11. Why I can’t join TTN V3 in US915 /AU915 bands?
1259 1259  
1260 1260  It might about the channels mapping. Please see for detail.
1653272787040-634.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -294.0 KB
Content
1653272817147-600.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -143.3 KB
Content
1653272901032-107.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -197.8 KB
Content
1653273818896-432.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -31.6 KB
Content
1653274001211-372.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -91.4 KB
Content