Changes for page RS485-BL – Waterproof RS485 to LoRaWAN Converter
Last modified by Xiaoling on 2025/04/23 15:57
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 3 removed)
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 == ... ... @@ -225,9 +225,7 @@ 225 225 == 3.3 Configure Commands to read data == 226 226 227 227 ((( 228 -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. 229 - 230 - 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. 231 231 ))) 232 232 233 233 === 3.3.1 onfigure UART settings for RS485 or TTL communication === ... ... @@ -506,82 +506,64 @@ 506 506 507 507 [[image:1653271763403-806.png]] 508 508 509 -=== 3.3.4 Compose the uplink payload === 510 510 511 -((( 505 + 506 + 507 +1. 508 +11. 509 +111. Compose the uplink payload 510 + 512 512 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.** 513 -))) 514 514 515 -((( 516 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0** 517 -))) 518 518 519 -((( 520 -Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**A SIGNLE UPLINK**. 521 -))) 514 +**Examples: AT+DATAUP=0** 522 522 523 -((( 516 +Compose the uplink payload with value returns in sequence and send with **A SIGNLE UPLINK**. 517 + 524 524 Final Payload is 525 -))) 526 526 527 -((( 528 -(% style="color:#4f81bd" %)Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx 529 -))) 520 +Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx 530 530 531 -((( 532 532 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 533 -))) 534 534 535 -[[image: 1653272787040-634.png||height="515" width="719"]]524 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]] 536 536 537 -((( 538 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1** 539 -))) 540 540 541 -((( 542 -Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**. 543 -))) 544 544 545 -((( 528 +**Examples: AT+DATAUP=1** 529 + 530 +Compose the uplink payload with value returns in sequence and send with **Multiply UPLINKs**. 531 + 546 546 Final Payload is 547 -))) 548 548 549 -((( 550 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA 551 -))) 534 +Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA 552 552 553 -1. ((( 554 -Battery Info (2 bytes): Battery voltage 555 -))) 556 -1. ((( 557 -PAYVER (1 byte): Defined by AT+PAYVER 558 -))) 559 -1. ((( 560 -PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. 561 -))) 562 -1. ((( 563 -PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 564 -))) 565 -1. ((( 566 -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 567 -))) 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 568 568 569 -[[image: 1653272817147-600.png||height="437" width="717"]]542 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]] 570 570 544 + 571 571 So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA 572 572 573 -DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %)20 20 0a 33 90 41547 +DATA1=RETURN1 Valid Value = 20 20 0a 33 90 41 574 574 575 -DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20549 +DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= 02 aa 05 81 0a 20 576 576 577 -DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 = (%style="background-color:#4f81bd; color:white" %)20 20 20 2d 30551 +DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 = 20 20 20 2d 30 578 578 553 + 554 + 579 579 Below are the uplink payloads: 580 580 581 -[[image: 1653272901032-107.png]]557 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]] 582 582 583 -(% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below: 584 584 560 +Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below: 561 + 585 585 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 586 586 587 587 * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). ... ... @@ -590,121 +590,90 @@ 590 590 591 591 ~* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 592 592 593 -=== 3.3.5 Uplink on demand === 594 594 595 -((( 571 + 572 +1. 573 +11. 574 +111. Uplink on demand 575 + 596 596 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. 597 -))) 598 598 599 -((( 600 600 Downlink control command: 601 -))) 602 602 603 -((( 604 -**0x08 command**: Poll an uplink with current command set in RS485-BL. 605 -))) 580 +[[0x08 command>>path:#downlink_08]]: Poll an uplink with current command set in RS485-BL. 606 606 607 -((( 608 -**0xA8 command**: Send a command to RS485-BL and uplink the output from sensors. 609 -))) 582 +[[0xA8 command>>path:#downlink_A8]]: Send a command to RS485-BL and uplink the output from sensors. 610 610 611 -=== 3.3.6 Uplink on Interrupt === 612 612 613 -Put the interrupt sensor between 3.3v_out and GPIO ext. 614 614 615 -[[image:1653273818896-432.png]] 586 +1. 587 +11. 588 +111. Uplink on Interrupt 616 616 617 -((( 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 + 618 618 AT+INTMOD=0 Disable Interrupt 619 -))) 620 620 621 -((( 622 622 AT+INTMOD=1 Interrupt trigger by rising or falling edge. 623 -))) 624 624 625 -((( 626 626 AT+INTMOD=2 Interrupt trigger by falling edge. ( Default Value) 627 -))) 628 628 629 -((( 630 630 AT+INTMOD=3 Interrupt trigger by rising edge. 631 -))) 632 632 633 -== 3.4 Uplink Payload == 634 634 635 -(% border="1" style="background-color:#4f81bd; color:white; width:850px" %) 636 -|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands** 637 -|Value|(% style="width:130px" %)((( 638 -((( 601 +1. 602 +11. Uplink Payload 603 + 604 +|**Size(bytes)**|**2**|**1**|**Length depends on the return from the commands** 605 +|Value|((( 639 639 Battery(mV) 640 -))) 641 641 642 -((( 643 643 & 644 -))) 645 645 646 -((( 647 647 Interrupt _Flag 648 -))) 649 -)))|(% style="width:93px" %)((( 611 +)))|((( 650 650 PAYLOAD_VER 651 651 652 652 653 -)))| (% 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. 654 654 655 655 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 656 656 657 - (((619 + 658 658 function Decoder(bytes, port) { 659 -))) 660 660 661 -((( 662 662 ~/~/Payload Formats of RS485-BL Deceive 663 -))) 664 664 665 -((( 666 666 return { 667 -))) 668 668 669 -((( 670 670 ~/~/Battery,units:V 671 -))) 672 672 673 -((( 674 674 BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000, 675 -))) 676 676 677 -((( 678 678 ~/~/GPIO_EXTI 679 -))) 680 680 681 -((( 682 682 EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE", 683 -))) 684 684 685 -((( 686 686 ~/~/payload of version 687 -))) 688 688 689 -((( 690 690 Pay_ver:bytes[2], 691 -))) 692 692 693 -((( 694 694 }; 695 -))) 696 696 697 -((( 698 698 } 699 -))) 700 700 701 -((( 642 + 643 + 644 + 645 + 646 + 647 + 702 702 TTN V3 uplink screen shot. 703 -))) 704 704 705 -[[image: 1653274001211-372.png||height="192" width="732"]]650 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]] 706 706 707 -== 3.5 Configure RS485-BL via AT or Downlink == 652 +1. 653 +11. Configure RS485-BL via AT or Downlink 708 708 709 709 User can configure RS485-BL via [[AT Commands >>path:#_Using_the_AT]]or LoRaWAN Downlink Commands 710 710
- 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