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

From version 29.7
edited by Xiaoling
on 2022/06/01 18:01
Change comment: There is no comment for this version
To version 29.43
edited by Xiaoling
on 2022/06/02 09:15
Change comment: There is no comment for this version

Summary

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:**
... ... @@ -117,9 +117,12 @@
117 117  
118 118  [[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);"]]
119 119  
121 +
120 120  == 1.6 Hardware Change log ==
121 121  
122 122  (((
125 +
126 +
123 123  v1.4
124 124  )))
125 125  
... ... @@ -143,6 +143,8 @@
143 143  
144 144  (((
145 145  Release version ​​​​​
150 +
151 +
146 146  )))
147 147  
148 148  = 2. Pin mapping and Power ON Device =
... ... @@ -156,6 +156,7 @@
156 156  
157 157  The Left TXD and RXD are TTL interface for external sensor. TTL level is controlled by 3.3/5v Jumper.
158 158  
165 +
159 159  = 3. Operation Mode =
160 160  
161 161  == 3.1 How it works? ==
... ... @@ -199,8 +199,6 @@
199 199  )))
200 200  
201 201  
202 -
203 -
204 204  [[image:image-20220519174512-1.png]]
205 205  
206 206  [[image:image-20220519174512-2.png||height="328" width="731"]]
... ... @@ -224,6 +224,7 @@
224 224  
225 225  [[image:1652953568895-172.png||height="232" width="724"]]
226 226  
232 +
227 227  == 3.3 Configure Commands to read data ==
228 228  
229 229  (((
... ... @@ -330,8 +330,9 @@
330 330  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
331 331  )))|(% style="width:256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
332 332  
333 -Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>path:#AT_CFGDEV]].
339 +Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
334 334  
341 +
335 335  === 3.3.3 Configure read commands for each sampling ===
336 336  
337 337  (((
... ... @@ -429,7 +429,7 @@
429 429  
430 430  **Examples:**
431 431  
432 -1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
439 +1For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
433 433  
434 434  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
435 435  
... ... @@ -437,7 +437,7 @@
437 437  
438 438  [[image:1653271044481-711.png]]
439 439  
440 -1. For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
447 +2)For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
441 441  
442 442  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
443 443  
... ... @@ -456,16 +456,18 @@
456 456  * **c: define the position for valid value.  **
457 457  )))
458 458  
459 -Examples:
466 +**Examples:**
460 460  
461 461  * Grab bytes:
462 462  
463 463  [[image:1653271581490-837.png||height="313" width="722"]]
464 464  
472 +
465 465  * Grab a section.
466 466  
467 467  [[image:1653271648378-342.png||height="326" width="720"]]
468 468  
477 +
469 469  * Grab different sections.
470 470  
471 471  [[image:1653271657255-576.png||height="305" width="730"]]
... ... @@ -508,6 +508,7 @@
508 508  
509 509  [[image:1653271763403-806.png]]
510 510  
520 +
511 511  === 3.3.4 Compose the uplink payload ===
512 512  
513 513  (((
... ... @@ -515,7 +515,7 @@
515 515  )))
516 516  
517 517  (((
518 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0**
528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0**
519 519  )))
520 520  
521 521  (((
... ... @@ -527,7 +527,7 @@
527 527  )))
528 528  
529 529  (((
530 -(% 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**
531 531  )))
532 532  
533 533  (((
... ... @@ -536,8 +536,12 @@
536 536  
537 537  [[image:1653272787040-634.png||height="515" width="719"]]
538 538  
549 +
550 +
539 539  (((
540 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1**
553 +
554 +
541 541  )))
542 542  
543 543  (((
... ... @@ -549,7 +549,7 @@
549 549  )))
550 550  
551 551  (((
552 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
553 553  )))
554 554  
555 555  1. (((
... ... @@ -572,6 +572,7 @@
572 572  
573 573  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
574 574  
589 +
575 575  DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41
576 576  
577 577  DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20
... ... @@ -578,10 +578,12 @@
578 578  
579 579  DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
580 580  
596 +
581 581  Below are the uplink payloads:
582 582  
583 583  [[image:1653272901032-107.png]]
584 584  
601 +
585 585  (% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
586 586  
587 587   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
... ... @@ -592,6 +592,8 @@
592 592  
593 593   ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
594 594  
612 +
613 +
595 595  === 3.3.5 Uplink on demand ===
596 596  
597 597  (((
... ... @@ -608,6 +608,8 @@
608 608  
609 609  (((
610 610  **0xA8 command**: Send a command to RS485-BL and uplink the output from sensors.
630 +
631 +
611 611  )))
612 612  
613 613  === 3.3.6 Uplink on Interrupt ===
... ... @@ -616,6 +616,7 @@
616 616  
617 617  [[image:1653273818896-432.png]]
618 618  
640 +
619 619  (((
620 620  AT+INTMOD=0  Disable Interrupt
621 621  )))
... ... @@ -630,6 +630,8 @@
630 630  
631 631  (((
632 632  AT+INTMOD=3  Interrupt trigger by rising edge.
655 +
656 +
633 633  )))
634 634  
635 635  == 3.4 Uplink Payload ==
... ... @@ -657,47 +657,49 @@
657 657  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
658 658  
659 659  (((
660 -function Decoder(bytes, port) {
684 +{{{function Decoder(bytes, port) {}}}
661 661  )))
662 662  
663 663  (((
664 -~/~/Payload Formats of RS485-BL Deceive
688 +{{{//Payload Formats of RS485-BL Deceive}}}
665 665  )))
666 666  
667 667  (((
668 -return {
692 +{{{return {}}}
669 669  )))
670 670  
671 671  (((
672 - ~/~/Battery,units:V
696 +{{{ //Battery,units:V}}}
673 673  )))
674 674  
675 675  (((
676 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}}
677 677  )))
678 678  
679 679  (((
680 - ~/~/GPIO_EXTI 
704 +{{{ //GPIO_EXTI }}}
681 681  )))
682 682  
683 683  (((
684 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}}
685 685  )))
686 686  
687 687  (((
688 - ~/~/payload of version
712 +{{{ //payload of version}}}
689 689  )))
690 690  
691 691  (((
692 - Pay_ver:bytes[2],
716 +{{{ Pay_ver:bytes[2],}}}
693 693  )))
694 694  
695 695  (((
696 - };
720 +{{{ }; }}}
697 697  )))
698 698  
699 699  (((
700 - }
724 +}
725 +
726 +
701 701  )))
702 702  
703 703  (((
... ... @@ -706,32 +706,33 @@
706 706  
707 707  [[image:1653274001211-372.png||height="192" width="732"]]
708 708  
735 +
709 709  == 3.5 Configure RS485-BL via AT or Downlink ==
710 710  
711 -User can configure RS485-BL via [[AT Commands >>path:#_​Using_the_AT]]or LoRaWAN Downlink Commands
738 +User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands
712 712  
713 713  There are two kinds of Commands:
714 714  
715 -* **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
742 +* (% 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]]
716 716  
717 -* **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:
718 718  
719 -1.
720 -11.
721 -111. Common Commands:
722 722  
723 -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]]
747 +=== 3.5.1 Common Commands: ===
724 724  
749 +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]]
725 725  
726 -1.
727 -11.
728 -111. Sensor related commands:
729 729  
730 -==== Choose Device Type (RS485 or TTL) ====
752 +=== 3.5.2 Sensor related commands: ===
731 731  
754 +(% class="wikigeneratedid" %)
755 +==== ====
756 +
757 +==== **Choose Device Type (RS485 or TTL)** ====
758 +
732 732  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
733 733  
734 -* AT Command
761 +* **AT Command**
735 735  
736 736  **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
737 737  
... ... @@ -738,17 +738,17 @@
738 738  **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
739 739  
740 740  
741 -* Downlink Payload
768 +* **Downlink Payload**
742 742  
743 -**0A aa**     à same as AT+MOD=aa
770 +**0A aa**  ~-~->  same as AT+MOD=aa
744 744  
745 745  
746 746  
747 -==== [[RS485 Debug Command>>path:#downlink_A8]] (AT+CFGDEV) ====
774 +==== **RS485 Debug Command (AT+CFGDEV)** ====
748 748  
749 749  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
750 750  
751 -* AT Command
778 +* **AT Command**
752 752  
753 753  AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
754 754  
... ... @@ -755,9 +755,8 @@
755 755  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
756 756  
757 757  
785 +* **Downlink Payload**
758 758  
759 -* Downlink Payload
760 -
761 761  Format: A8 MM NN XX XX XX XX YY
762 762  
763 763  Where:
... ... @@ -1030,13 +1030,13 @@
1030 1030  
1031 1031  
1032 1032  
1033 -1.
1059 +1.
1034 1034  11. Buttons
1035 1035  
1036 1036  |**Button**|**Feature**
1037 1037  |**RST**|Reboot RS485-BL
1038 1038  
1039 -1.
1065 +1.
1040 1040  11. +3V3 Output
1041 1041  
1042 1042  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
... ... @@ -1054,7 +1054,7 @@
1054 1054  By default, the AT+3V3T=0. This is a special case, means the +3V3 output is always on at any time
1055 1055  
1056 1056  
1057 -1.
1083 +1.
1058 1058  11. +5V Output
1059 1059  
1060 1060  RS485-BL has a Controllable +5V output, user can use this output to power external sensor.
... ... @@ -1074,13 +1074,13 @@
1074 1074  
1075 1075  
1076 1076  
1077 -1.
1103 +1.
1078 1078  11. LEDs
1079 1079  
1080 1080  |**LEDs**|**Feature**
1081 1081  |**LED1**|Blink when device transmit a packet.
1082 1082  
1083 -1.
1109 +1.
1084 1084  11. Switch Jumper
1085 1085  
1086 1086  |**Switch Jumper**|**Feature**
... ... @@ -1126,7 +1126,7 @@
1126 1126  
1127 1127  
1128 1128  
1129 -1.
1155 +1.
1130 1130  11. Common AT Command Sequence
1131 1131  111. Multi-channel ABP mode (Use with SX1301/LG308)
1132 1132  
... ... @@ -1145,8 +1145,8 @@
1145 1145  
1146 1146  ATZ
1147 1147  
1148 -1.
1149 -11.
1174 +1.
1175 +11.
1150 1150  111. Single-channel ABP mode (Use with LG01/LG02)
1151 1151  
1152 1152  AT+FDR   Reset Parameters to Factory Default, Keys Reserve
... ... @@ -1221,7 +1221,7 @@
1221 1221  [[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]]
1222 1222  
1223 1223  
1224 -1.
1250 +1.
1225 1225  11. How to change the LoRa Frequency Bands/Region?
1226 1226  
1227 1227  User can follow the introduction for [[how to upgrade image>>path:#upgrade_image]]. When download the images, choose the required image file for download.
... ... @@ -1228,7 +1228,7 @@
1228 1228  
1229 1229  
1230 1230  
1231 -1.
1257 +1.
1232 1232  11. How many RS485-Slave can RS485-BL connects?
1233 1233  
1234 1234  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]].
... ... @@ -1245,7 +1245,7 @@
1245 1245  
1246 1246  
1247 1247  
1248 -1.
1274 +1.
1249 1249  11. Why I can’t join TTN V3 in US915 /AU915 bands?
1250 1250  
1251 1251  It might about the channels mapping. Please see for detail.