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

From version 30.4
edited by Xiaoling
on 2022/06/02 09:23
Change comment: There is no comment for this version
To version 29.14
edited by Xiaoling
on 2022/06/01 18:02
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 (% 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.
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.
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.
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.
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.
36 +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.
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.
41 41  )))
42 42  
43 43  (((
... ... @@ -58,7 +58,6 @@
58 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
67 +
68 +*
68 68  ** 20dB Transmit: 130mA@3.3v
69 69  
70 70  **Interface for Model:**
... ... @@ -94,6 +94,8 @@
94 94  * 127 dB Dynamic Range RSSI.
95 95  * Automatic RF Sense and CAD with ultra-fast AFC. ​​​
96 96  
98 +
99 +
97 97  == 1.3 Features ==
98 98  
99 99  * LoRaWAN Class A & Class C protocol (default Class A)
... ... @@ -105,6 +105,8 @@
105 105  * Support Modbus protocol
106 106  * Support Interrupt uplink
107 107  
111 +
112 +
108 108  == 1.4 Applications ==
109 109  
110 110  * Smart Buildings & Home Automation
... ... @@ -114,6 +114,8 @@
114 114  * Smart Cities
115 115  * Smart Factory
116 116  
122 +
123 +
117 117  == 1.5 Firmware Change log ==
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);"]]
... ... @@ -122,8 +122,6 @@
122 122  == 1.6 Hardware Change log ==
123 123  
124 124  (((
125 -
126 -
127 127  v1.4
128 128  )))
129 129  
... ... @@ -206,6 +206,8 @@
206 206  )))
207 207  
208 208  
214 +
215 +
209 209  [[image:image-20220519174512-1.png]]
210 210  
211 211  [[image:image-20220519174512-2.png||height="328" width="731"]]
... ... @@ -229,7 +229,6 @@
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  (((
... ... @@ -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"]].
345 +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 -1For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
444 +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 49
452 +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:**
471 +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**
530 +(% 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**
542 +(% 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 -
552 +(% 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**
564 +(% 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 ==
... ... @@ -681,49 +681,47 @@
681 681  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
682 682  
683 683  (((
684 -{{{function Decoder(bytes, port) {}}}
672 +function Decoder(bytes, port) {
685 685  )))
686 686  
687 687  (((
688 -{{{//Payload Formats of RS485-BL Deceive}}}
676 +~/~/Payload Formats of RS485-BL Deceive
689 689  )))
690 690  
691 691  (((
692 -{{{return {}}}
680 +return {
693 693  )))
694 694  
695 695  (((
696 -{{{ //Battery,units:V}}}
684 + ~/~/Battery,units:V
697 697  )))
698 698  
699 699  (((
700 -{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}}
688 + BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
701 701  )))
702 702  
703 703  (((
704 -{{{ //GPIO_EXTI }}}
692 + ~/~/GPIO_EXTI 
705 705  )))
706 706  
707 707  (((
708 -{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}}
696 + EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
709 709  )))
710 710  
711 711  (((
712 -{{{ //payload of version}}}
700 + ~/~/payload of version
713 713  )))
714 714  
715 715  (((
716 -{{{ Pay_ver:bytes[2],}}}
704 + Pay_ver:bytes[2],
717 717  )))
718 718  
719 719  (((
720 -{{{ }; }}}
708 + };
721 721  )))
722 722  
723 723  (((
724 -}
725 -
726 -
712 + }
727 727  )))
728 728  
729 729  (((
... ... @@ -732,67 +732,58 @@
732 732  
733 733  [[image:1653274001211-372.png||height="192" width="732"]]
734 734  
735 -
736 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
723 +User can configure RS485-BL via [[AT Commands >>path:#_​Using_the_AT]]or LoRaWAN Downlink Commands
739 739  
740 740  There are two kinds of Commands:
741 741  
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]]
727 +* **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
743 743  
744 -* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
729 +* **Sensor Related Commands**: These commands are special designed for RS485-BL.  User can see these commands below:
745 745  
731 +1.
732 +11.
733 +111. Common Commands:
746 746  
735 +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 747  
748 -=== 3.5.1 Common 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 Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
738 +1.
739 +11.
740 +111. Sensor related commands:
751 751  
742 +==== Choose Device Type (RS485 or TTL) ====
752 752  
753 -=== 3.5.2 Sensor related commands: ===
754 -
755 -==== ====
756 -
757 -==== **Choose Device Type (RS485 or TTL)** ====
758 -
759 759  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
760 760  
761 -* **AT Command**
746 +* AT Command
762 762  
763 -(% class="box infomessage" %)
764 -(((
765 765  **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
766 -)))
767 767  
768 -(% class="box infomessage" %)
769 -(((
770 770  **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
771 -)))
772 772  
773 773  
774 -* **Downlink Payload**
753 +* Downlink Payload
775 775  
776 -**0A aa**  ~-~->  same as AT+MOD=aa
755 +**0A aa**     à same as AT+MOD=aa
777 777  
778 778  
779 779  
780 -==== **RS485 Debug Command (AT+CFGDEV)** ====
759 +==== [[RS485 Debug Command>>path:#downlink_A8]] (AT+CFGDEV) ====
781 781  
782 782  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
783 783  
784 -* **AT Command**
763 +* AT Command
785 785  
786 -(% class="box infomessage" %)
787 -(((
788 -**AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**
789 -)))
765 +AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
790 790  
791 791  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
792 792  
793 793  
794 -* **Downlink Payload**
795 795  
771 +* Downlink Payload
772 +
796 796  Format: A8 MM NN XX XX XX XX YY
797 797  
798 798  Where:
... ... @@ -802,20 +802,19 @@
802 802  * XX XX XX XX: RS485 command total NN bytes
803 803  * YY: How many bytes will be uplink from the return of this RS485 command, if YY=0, RS485-BL will execute the downlink command without uplink; if YY>0, RS485-BL will uplink total YY bytes from the output of this RS485 command
804 804  
805 -
806 806  **Example 1:**
807 807  
808 808  To connect a Modbus Alarm with below commands.
809 809  
810 -* The command to active alarm is: 0A 05 00 04 00 01 **4C B0**. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
786 +* The command to active alarm is: 0A 05 00 04 00 01 4C B0. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
811 811  
812 -* The command to deactivate alarm is: 0A 05 00 04 00 00 **8D 70**. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
788 +* The command to deactivate alarm is: 0A 05 00 04 00 00 8D 70. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
813 813  
814 814  So if user want to use downlink command to control to RS485 Alarm, he can use:
815 815  
816 -(% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm
792 +**A8 01 06 0A 05 00 04 00 01 00**: to activate the RS485 Alarm
817 817  
818 -(% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm
794 +**A8 01 06 0A 05 00 04 00 00 00**: to deactivate the RS485 Alarm
819 819  
820 820  A8 is type code and 01 means add CRC-16/MODBUS at the end, the 3^^rd^^ byte is 06, means the next 6 bytes are the command to be sent to the RS485 network, the final byte 00 means this command don’t need to acquire output.
821 821  
... ... @@ -824,32 +824,29 @@
824 824  
825 825  Check TTL Sensor return:
826 826  
827 -[[image:1654132684752-193.png]]
803 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]
828 828  
829 829  
830 830  
831 -==== **Set Payload version** ====
832 832  
808 +==== Set Payload version ====
809 +
833 833  This is the first byte of the uplink payload. RS485-BL can connect to different sensors. User can set the PAYVER field to tell server how to decode the current payload.
834 834  
835 -* **AT Command:**
812 +* AT Command:
836 836  
837 -(% class="box infomessage" %)
838 -(((
839 -**AT+PAYVER: Set PAYVER field = 1**
840 -)))
814 +AT+PAYVER: Set PAYVER field = 1
841 841  
842 842  
843 -* **Downlink Payload:**
817 +* Downlink Payload:
844 844  
845 -**0xAE 01**  ~-~-> Set PAYVER field =  0x01
819 +0xAE 01   à Set PAYVER field =  0x01
846 846  
847 -**0xAE 0F**   ~-~-> Set PAYVER field =  0x0F
821 +0xAE 0F   à Set PAYVER field =  0x0F
848 848  
849 849  
824 +==== Set RS485 Sampling Commands ====
850 850  
851 -==== **Set RS485 Sampling Commands** ====
852 -
853 853  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
854 854  
855 855  These three commands are used to configure how the RS485-BL polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>path:#polling_485]].
1654132684752-193.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -22.8 KB
Content