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

From version 29.14
edited by Xiaoling
on 2022/06/01 18:02
Change comment: There is no comment for this version
To version 26.1
edited by Xiaoling
on 2022/05/23 10:26
Change comment: Uploaded new attachment "1653272817147-600.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 ==
... ... @@ -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:**
... ... @@ -95,8 +95,6 @@
95 95  * 127 dB Dynamic Range RSSI.
96 96  * Automatic RF Sense and CAD with ultra-fast AFC. ​​​
97 97  
98 -
99 -
100 100  == 1.3 Features ==
101 101  
102 102  * LoRaWAN Class A & Class C protocol (default Class A)
... ... @@ -108,8 +108,6 @@
108 108  * Support Modbus protocol
109 109  * Support Interrupt uplink
110 110  
111 -
112 -
113 113  == 1.4 Applications ==
114 114  
115 115  * Smart Buildings & Home Automation
... ... @@ -119,13 +119,10 @@
119 119  * Smart Cities
120 120  * Smart Factory
121 121  
122 -
123 -
124 124  == 1.5 Firmware Change log ==
125 125  
126 126  [[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);"]]
127 127  
128 -
129 129  == 1.6 Hardware Change log ==
130 130  
131 131  (((
... ... @@ -152,8 +152,6 @@
152 152  
153 153  (((
154 154  Release version ​​​​​
155 -
156 -
157 157  )))
158 158  
159 159  = 2. Pin mapping and Power ON Device =
... ... @@ -167,7 +167,6 @@
167 167  
168 168  The Left TXD and RXD are TTL interface for external sensor. TTL level is controlled by 3.3/5v Jumper.
169 169  
170 -
171 171  = 3. Operation Mode =
172 172  
173 173  == 3.1 How it works? ==
... ... @@ -174,8 +174,6 @@
174 174  
175 175  (((
176 176  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.
177 -
178 -
179 179  )))
180 180  
181 181  == 3.2 Example to join LoRaWAN network ==
... ... @@ -239,9 +239,7 @@
239 239  == 3.3 Configure Commands to read data ==
240 240  
241 241  (((
242 -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.
243 -
244 -
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.
245 245  )))
246 246  
247 247  === 3.3.1 onfigure UART settings for RS485 or TTL communication ===
... ... @@ -520,82 +520,64 @@
520 520  
521 521  [[image:1653271763403-806.png]]
522 522  
523 -=== 3.3.4 Compose the uplink payload ===
524 524  
525 -(((
505 +
506 +
507 +1.
508 +11.
509 +111. Compose the uplink payload
510 +
526 526  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.**
527 -)))
528 528  
529 -(((
530 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0**
531 -)))
532 532  
533 -(((
534 -Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**A SIGNLE UPLINK**.
535 -)))
514 +**Examples: AT+DATAUP=0**
536 536  
537 -(((
516 +Compose the uplink payload with value returns in sequence and send with **A SIGNLE UPLINK**.
517 +
538 538  Final Payload is
539 -)))
540 540  
541 -(((
542 -(% style="color:#4f81bd" %)Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
543 -)))
520 +Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
544 544  
545 -(((
546 546  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
547 -)))
548 548  
549 -[[image:1653272787040-634.png||height="515" width="719"]]
524 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]]
550 550  
551 -(((
552 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
553 -)))
554 554  
555 -(((
556 -Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**.
557 -)))
558 558  
559 -(((
528 +**Examples: AT+DATAUP=1**
529 +
530 +Compose the uplink payload with value returns in sequence and send with **Multiply UPLINKs**.
531 +
560 560  Final Payload is
561 -)))
562 562  
563 -(((
564 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
565 -)))
534 +Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
566 566  
567 -1. (((
568 -Battery Info (2 bytes): Battery voltage
569 -)))
570 -1. (((
571 -PAYVER (1 byte): Defined by AT+PAYVER
572 -)))
573 -1. (((
574 -PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
575 -)))
576 -1. (((
577 -PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
578 -)))
579 -1. (((
580 -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
581 -)))
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
582 582  
583 -[[image:1653272817147-600.png||height="437" width="717"]]
542 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]
584 584  
544 +
585 585  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
586 586  
587 -DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41
547 +DATA1=RETURN1 Valid Value = 20 20 0a 33 90 41
588 588  
589 -DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20
549 +DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= 02 aa 05 81 0a 20
590 590  
591 -DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
551 +DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 = 20 20 20 2d 30
592 592  
553 +
554 +
593 593  Below are the uplink payloads:
594 594  
595 -[[image:1653272901032-107.png]]
557 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]]
596 596  
597 -(% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
598 598  
560 +Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
561 +
599 599   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
600 600  
601 601   * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
... ... @@ -604,121 +604,90 @@
604 604  
605 605   ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
606 606  
607 -=== 3.3.5 Uplink on demand ===
608 608  
609 -(((
571 +
572 +1.
573 +11.
574 +111. Uplink on demand
575 +
610 610  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.
611 -)))
612 612  
613 -(((
614 614  Downlink control command:
615 -)))
616 616  
617 -(((
618 -**0x08 command**: Poll an uplink with current command set in RS485-BL.
619 -)))
580 +[[0x08 command>>path:#downlink_08]]: Poll an uplink with current command set in RS485-BL.
620 620  
621 -(((
622 -**0xA8 command**: Send a command to RS485-BL and uplink the output from sensors.
623 -)))
582 +[[0xA8 command>>path:#downlink_A8]]: Send a command to RS485-BL and uplink the output from sensors.
624 624  
625 -=== 3.3.6 Uplink on Interrupt ===
626 626  
627 -Put the interrupt sensor between 3.3v_out and GPIO ext.
628 628  
629 -[[image:1653273818896-432.png]]
586 +1.
587 +11.
588 +111. Uplink on Interrupt
630 630  
631 -(((
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 +
632 632  AT+INTMOD=0  Disable Interrupt
633 -)))
634 634  
635 -(((
636 636  AT+INTMOD=1  Interrupt trigger by rising or falling edge.
637 -)))
638 638  
639 -(((
640 640  AT+INTMOD=2  Interrupt trigger by falling edge. ( Default Value)
641 -)))
642 642  
643 -(((
644 644  AT+INTMOD=3  Interrupt trigger by rising edge.
645 -)))
646 646  
647 -== 3.4 Uplink Payload ==
648 648  
649 -(% border="1" style="background-color:#4f81bd; color:white; width:850px" %)
650 -|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands**
651 -|Value|(% style="width:130px" %)(((
652 -(((
601 +1.
602 +11. Uplink Payload
603 +
604 +|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands**
605 +|Value|(((
653 653  Battery(mV)
654 -)))
655 655  
656 -(((
657 657  &
658 -)))
659 659  
660 -(((
661 661  Interrupt _Flag
662 -)))
663 -)))|(% style="width:93px" %)(((
611 +)))|(((
664 664  PAYLOAD_VER
665 665  
666 666  
667 -)))|(% 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.
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.
668 668  
669 669  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
670 670  
671 -(((
619 +
672 672  function Decoder(bytes, port) {
673 -)))
674 674  
675 -(((
676 676  ~/~/Payload Formats of RS485-BL Deceive
677 -)))
678 678  
679 -(((
680 680  return {
681 -)))
682 682  
683 -(((
684 684   ~/~/Battery,units:V
685 -)))
686 686  
687 -(((
688 688   BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
689 -)))
690 690  
691 -(((
692 692   ~/~/GPIO_EXTI 
693 -)))
694 694  
695 -(((
696 696   EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
697 -)))
698 698  
699 -(((
700 700   ~/~/payload of version
701 -)))
702 702  
703 -(((
704 704   Pay_ver:bytes[2],
705 -)))
706 706  
707 -(((
708 708   };
709 -)))
710 710  
711 -(((
712 712   }
713 -)))
714 714  
715 -(((
642 +
643 +
644 +
645 +
646 +
647 +
716 716  TTN V3 uplink screen shot.
717 -)))
718 718  
719 -[[image:1653274001211-372.png||height="192" width="732"]]
650 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
720 720  
721 -== 3.5 Configure RS485-BL via AT or Downlink ==
652 +1.
653 +11. Configure RS485-BL via AT or Downlink
722 722  
723 723  User can configure RS485-BL via [[AT Commands >>path:#_​Using_the_AT]]or LoRaWAN Downlink Commands
724 724  
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