Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Bei Jinggeng on 2025/01/16 11:36
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -104,7 +104,6 @@ 104 104 * Support Interrupt uplink (Since hardware version v1.2) 105 105 106 106 107 - 108 108 == 1.4 Applications == 109 109 110 110 * Smart Buildings & Home Automation ... ... @@ -114,6 +114,7 @@ 114 114 * Smart Cities 115 115 * Smart Factory 116 116 116 + 117 117 == 1.5 Firmware Change log == 118 118 119 119 [[RS485-LN Image files – Download link and Change log>>url:http://www.dragino.com/downloads/index.php?dir=RS485-LN/]] ... ... @@ -123,9 +123,13 @@ 123 123 124 124 ((( 125 125 ((( 126 +((( 126 126 v1.2: Add External Interrupt Pin. 128 +))) 127 127 130 +((( 128 128 v1.0: Release 132 +))) 129 129 130 130 131 131 ))) ... ... @@ -153,7 +153,9 @@ 153 153 == 3.1 How it works? == 154 154 155 155 ((( 160 +((( 156 156 The RS485-LN is configured as LoRaWAN OTAA Class C 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-LN. It will auto join the network via OTAA. 162 +))) 157 157 158 158 159 159 ))) ... ... @@ -243,19 +243,19 @@ 243 243 244 244 To use RS485-LN to read data from RS485 sensors, connect the RS485-LN A/B traces to the sensors. And user need to make sure RS485-LN use the match UART setting to access the sensors. The related commands for UART settings are: 245 245 246 -(% border="1" style="background-color:#ffffcc; color:green; width: 782px" %)247 -|(% style="width:1 28px" %)(((252 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 253 +|=(% style="width: 110px;" %)((( 248 248 **AT Commands** 249 -)))|(% style="width: 305px" %)(((255 +)))|=(% style="width: 190px;" %)((( 250 250 **Description** 251 -)))|(% style="width: 346px" %)(((257 +)))|=(% style="width: 190px;" %)((( 252 252 **Example** 253 253 ))) 254 -|(% style="width:1 28px" %)(((260 +|(% style="width:110px" %)((( 255 255 AT+BAUDR 256 -)))|(% style="width: 305px" %)(((262 +)))|(% style="width:190px" %)((( 257 257 Set the baud rate (for RS485 connection). Default Value is: 9600. 258 -)))|(% style="width: 346px" %)(((264 +)))|(% style="width:190px" %)((( 259 259 ((( 260 260 AT+BAUDR=9600 261 261 ))) ... ... @@ -264,11 +264,11 @@ 264 264 Options: (1200,2400,4800,14400,19200,115200) 265 265 ))) 266 266 ))) 267 -|(% style="width:1 28px" %)(((273 +|(% style="width:110px" %)((( 268 268 AT+PARITY 269 -)))|(% style="width: 305px" %)(((275 +)))|(% style="width:190px" %)((( 270 270 Set UART parity (for RS485 connection) 271 -)))|(% style="width: 346px" %)(((277 +)))|(% style="width:190px" %)((( 272 272 ((( 273 273 AT+PARITY=0 274 274 ))) ... ... @@ -277,9 +277,9 @@ 277 277 Option: 0: no parity, 1: odd parity, 2: even parity 278 278 ))) 279 279 ))) 280 -|(% style="width:1 28px" %)(((286 +|(% style="width:110px" %)((( 281 281 AT+STOPBIT 282 -)))|(% style="width: 305px" %)(((288 +)))|(% style="width:190px" %)((( 283 283 ((( 284 284 Set serial stopbit (for RS485 connection) 285 285 ))) ... ... @@ -287,7 +287,7 @@ 287 287 ((( 288 288 289 289 ))) 290 -)))|(% style="width: 346px" %)(((296 +)))|(% style="width:190px" %)((( 291 291 ((( 292 292 AT+STOPBIT=0 for 1bit 293 293 ))) ... ... @@ -301,6 +301,8 @@ 301 301 ))) 302 302 ))) 303 303 310 + 311 + 304 304 === 3.3.2 Configure sensors === 305 305 306 306 ((( ... ... @@ -309,16 +309,18 @@ 309 309 ))) 310 310 ))) 311 311 312 -(% border="1" style="background-color:#ffffcc; color:green; width: 806px" %)313 -|**AT Commands**|(% style="width: 418px" %)**Description**|(% style="width:256px" %)**Example**314 -|AT+CFGDEV|(% style="width: 418px" %)(((320 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 321 +|=(% style="width: 110px;" %)**AT Commands**|=(% style="width: 190px;" %)**Description**|=(% style="width: 190px;" %)**Example** 322 +|AT+CFGDEV|(% style="width:110px" %)((( 315 315 This command is used to configure the RS485/TTL devices; they won’t be used during sampling. 316 316 317 317 AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx, 318 318 319 319 mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 320 -)))|(% style="width: 256px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m328 +)))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m 321 321 330 + 331 + 322 322 === 3.3.3 Configure read commands for each sampling === 323 323 324 324 ((( ... ... @@ -364,8 +364,8 @@ 364 364 365 365 **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes. 366 366 367 -(% border="1" style="background-color:#4bacc6; color:white; width: 725px" %)368 -|(% style="width: 722px" %)(((377 +(% border="1" style="background-color:#4bacc6; color:white; width:510px" %) 378 +|(% style="width:510px" %)((( 369 369 **AT+DATACUTx=a,b,c** 370 370 371 371 * **a: length for the return of AT+COMMAND** ... ... @@ -491,33 +491,35 @@ 491 491 492 492 == 3.4 Uplink Payload == 493 493 494 -(% border="1" style="background-color:#4bacc6; color:white; width:734px" %) 495 -|**Size(bytes)**|(% style="width:120px" %)**2**|(% style="width:116px" %)**1**|(% style="width:386px" %)**Length depends on the return from the commands** 496 -|Value|(% style="width:120px" %)((( 497 -Battery(mV) 498 498 499 - &505 +[[image:image-20220606110929-1.png]] 500 500 501 -Interrupt _Flag 502 -)))|(% style="width:116px" %)((( 503 -PAYLOAD_VER 504 - 505 - 506 -)))|(% style="width:386px" %)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. 507 - 508 508 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 509 509 510 510 511 511 == 3.5 Configure RS485-BL via AT or Downlink == 512 512 512 +((( 513 513 User can configure RS485-LN via AT Commands or LoRaWAN Downlink Commands 514 +))) 514 514 516 +((( 515 515 There are two kinds of Commands: 518 +))) 516 516 517 -* (% 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: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]] 520 +* ((( 521 +(% 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: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]] 522 +))) 518 518 519 -* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-LN. User can see these commands below: 524 +* ((( 525 +(% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-LN. User can see these commands below: 526 +))) 520 520 528 +((( 529 + 530 +))) 531 + 532 + 521 521 === 3.5.1 Common Commands === 522 522 523 523 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]] ... ... @@ -536,142 +536,282 @@ 536 536 537 537 538 538 551 + 539 539 ==== **RS485 Debug Command** ==== 540 540 554 +((( 541 541 This command is used to configure the RS485 devices; they won’t be used during sampling. 556 +))) 542 542 543 -* **AT Command** 558 +* ((( 559 +**AT Command** 560 +))) 544 544 545 545 (% class="box infomessage" %) 546 546 ((( 564 +((( 547 547 **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** 548 548 ))) 567 +))) 549 549 569 +((( 550 550 m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 571 +))) 551 551 552 -* **Downlink Payload** 573 +* ((( 574 +**Downlink Payload** 575 +))) 553 553 577 +((( 554 554 Format: A8 MM NN XX XX XX XX YY 579 +))) 555 555 581 +((( 556 556 Where: 583 +))) 557 557 558 -* MM: 1: add CRC-16/MODBUS ; 0: no CRC 559 -* NN: The length of RS485 command 560 -* XX XX XX XX: RS485 command total NN bytes 561 -* YY: How many bytes will be uplink from the return of this RS485 command, 562 -** if YY=0, RS485-LN will execute the downlink command without uplink; 563 -** if YY>0, RS485-LN will uplink total YY bytes from the output of this RS485 command; Fport=200 564 -** if YY=FF, RS485-LN will uplink RS485 output with the downlink command content; Fport=200. 585 +* ((( 586 +MM: 1: add CRC-16/MODBUS ; 0: no CRC 587 +))) 588 +* ((( 589 +NN: The length of RS485 command 590 +))) 591 +* ((( 592 +XX XX XX XX: RS485 command total NN bytes 593 +))) 594 +* ((( 595 +((( 596 +YY: How many bytes will be uplink from the return of this RS485 command, 597 +))) 565 565 599 +* ((( 600 +if YY=0, RS485-LN will execute the downlink command without uplink; 601 +))) 602 +* ((( 603 +if YY>0, RS485-LN will uplink total YY bytes from the output of this RS485 command; Fport=200 604 +))) 605 +* ((( 606 +if YY=FF, RS485-LN will uplink RS485 output with the downlink command content; Fport=200. 607 +))) 608 +))) 609 + 610 +((( 566 566 **Example 1** ~-~-> Configure without ask for uplink (YY=0) 612 +))) 567 567 614 +((( 568 568 To connect a Modbus Alarm with below commands. 616 +))) 569 569 570 -* 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. 618 +* ((( 619 +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. 620 +))) 571 571 572 -* 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. 622 +* ((( 623 +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. 624 +))) 573 573 626 +((( 574 574 So if user want to use downlink command to control to RS485 Alarm, he can use: 628 +))) 575 575 630 +((( 576 576 (% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm 632 +))) 577 577 634 +((( 578 578 (% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm 636 +))) 579 579 638 +((( 580 580 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. 640 +))) 581 581 642 +((( 643 + 644 +))) 582 582 646 +((( 583 583 **Example 2** ~-~-> Configure with requesting uplink and original downlink command (**YY=FF**) 648 +))) 584 584 650 +((( 585 585 User in IoT server send a downlink command: (% style="color:#4f81bd" %)**A8 01 06 0A 08 00 04 00 01 YY** 652 +))) 586 586 654 +((( 655 + 656 +))) 587 587 658 +((( 588 588 RS485-LN got this downlink command and send (% style="color:#4f81bd" %)**0A 08 00 04 00 01 **(%%)to Modbus network. One of the RS485 sensor in the network send back Modbus reply **0A 08 00 04 00 00**. RS485-LN get this reply and combine with the original downlink command and uplink. The uplink message is: 660 +))) 589 589 662 +((( 590 590 **A8** (% style="color:#4f81bd" %)**0A 08 00 04 00 **(% style="color:red" %)**01 06** ** **(% style="color:green" %)**0A 08 00 04 00 00** 664 +))) 591 591 666 +((( 592 592 [[image:1654159460680-153.png]] 668 +))) 593 593 594 594 595 595 672 + 596 596 ==== **Set Payload version** ==== 597 597 675 +((( 598 598 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. 677 +))) 599 599 600 -* **AT Command:** 679 +* ((( 680 +**AT Command:** 681 +))) 601 601 602 602 (% class="box infomessage" %) 603 603 ((( 685 +((( 604 604 **AT+PAYVER: Set PAYVER field = 1** 605 605 ))) 688 +))) 606 606 607 -* **Downlink Payload:** 690 +* ((( 691 +**Downlink Payload:** 692 +))) 608 608 694 +((( 609 609 **0xAE 01** ~-~-> Set PAYVER field = 0x01 696 +))) 610 610 698 +((( 611 611 **0xAE 0F** ~-~-> Set PAYVER field = 0x0F 700 +))) 612 612 613 613 614 614 704 + 615 615 ==== **Set RS485 Sampling Commands** ==== 616 616 707 +((( 617 617 AT+COMMANDx or AT+DATACUTx 709 +))) 618 618 711 +((( 619 619 These three commands are used to configure how the RS485-LN polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]]. 713 +))) 620 620 715 +((( 716 + 717 +))) 621 621 622 -* **AT Command:** 719 +* ((( 720 +**AT Command:** 721 +))) 623 623 624 624 (% class="box infomessage" %) 625 625 ((( 725 +((( 626 626 **AT+COMMANDx: Configure RS485 read command to sensor.** 627 627 ))) 728 +))) 628 628 629 629 (% class="box infomessage" %) 630 630 ((( 732 +((( 631 631 **AT+DATACUTx: Configure how to handle return from RS485 devices.** 632 632 ))) 735 +))) 633 633 737 +((( 738 + 739 +))) 634 634 635 -* **Downlink Payload:** 741 +* ((( 742 +**Downlink Payload:** 743 +))) 636 636 745 +((( 637 637 **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 747 +))) 638 638 749 +((( 639 639 (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 751 +))) 640 640 753 +((( 641 641 Format: AF MM NN LL XX XX XX XX YY 755 +))) 642 642 757 +((( 643 643 Where: 759 +))) 644 644 645 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 646 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 647 -* LL: The length of AT+COMMAND or AT+DATACUT command 648 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command 649 -* YY: If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 761 +* ((( 762 +MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 763 +))) 764 +* ((( 765 +NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 766 +))) 767 +* ((( 768 +LL: The length of AT+COMMAND or AT+DATACUT command 769 +))) 770 +* ((( 771 +XX XX XX XX: AT+COMMAND or AT+DATACUT command 772 +))) 773 +* ((( 774 +YY: If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 775 +))) 650 650 777 +((( 651 651 **Example:** 779 +))) 652 652 781 +((( 653 653 (% style="color:#037691" %)**AF 03 01 06 0A 05 00 04 00 01 00**(%%): Same as AT+COMMAND3=0A 05 00 04 00 01,1 783 +))) 654 654 785 +((( 655 655 (% style="color:#037691" %)**AF 03 02 06**(% style="color:orange" %)** 10 **(% style="color:red" %)**01 **(% style="color:green" %)**05 06 09 0A**(% style="color:#037691" %)** 00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**16**(%%),(% style="color:red" %)**1**(%%),(% style="color:green" %)**5+6+9+10** 787 +))) 656 656 789 +((( 657 657 (% style="color:#037691" %)**AF 03 02 06 **(% style="color:orange" %)**0B**(% style="color:red" %)** 02 **(% style="color:green" %)**05 07 08 0A **(% style="color:#037691" %)**00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**11**(%%),(% style="color:red" %)**2**(%%),(% style="color:green" %)**5~~7+8~~10** 791 +))) 658 658 659 659 660 660 795 + 661 661 ==== **Fast command to handle MODBUS device** ==== 662 662 798 +((( 663 663 AT+MBFUN is valid since v1.3 firmware version. The command is for fast configure to read Modbus devices. It is only valid for the devices which follow the [[MODBUS-RTU protocol>>url:https://www.modbustools.com/modbus.html]]. 800 +))) 664 664 802 +((( 665 665 This command is valid since v1.3 firmware version 804 +))) 666 666 806 +((( 667 667 AT+MBFUN can auto read the Modbus function code: 01, 02, 03 or 04. AT+MBFUN has lower priority vs AT+DATACUT command. If AT+DATACUT command is configured, AT+MBFUN will be ignore. 808 +))) 668 668 810 +((( 811 + 812 +))) 669 669 814 +((( 670 670 **Example:** 816 +))) 671 671 672 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN. 673 -* AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08. 674 -* AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10. 818 +* ((( 819 +AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN. 820 +))) 821 +* ((( 822 +AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08. 823 +))) 824 +* ((( 825 +AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10. 826 +))) 675 675 676 676 [[image:image-20220602165351-6.png]] 677 677 ... ... @@ -681,31 +681,56 @@ 681 681 682 682 ==== **RS485 command timeout** ==== 683 683 836 +((( 684 684 Some Modbus device has slow action to send replies. This command is used to configure the RS485-LN to use longer time to wait for their action. 838 +))) 685 685 840 +((( 686 686 Default value: 0, range: 0 ~~ 65 seconds 842 +))) 687 687 688 -* **AT Command:** 844 +* ((( 845 +**AT Command:** 846 +))) 689 689 690 690 (% class="box infomessage" %) 691 691 ((( 850 +((( 692 692 **AT+CMDDLaa=hex(bb cc)*1000** 693 693 ))) 853 +))) 694 694 855 +((( 695 695 **Example:** 857 +))) 696 696 859 +((( 697 697 **AT+CMDDL1=1000** to send the open time to 1000ms 861 +))) 698 698 863 +((( 864 + 865 +))) 699 699 700 -* **Downlink Payload:** 867 +* ((( 868 +**Downlink Payload:** 869 +))) 701 701 871 +((( 702 702 **0x AA aa bb cc** 873 +))) 703 703 875 +((( 704 704 Same as: AT+CMDDLaa=hex(bb cc)*1000 877 +))) 705 705 879 +((( 706 706 **Example:** 881 +))) 707 707 883 +((( 708 708 0xAA 01 00 01 ~-~-> Same as **AT+CMDDL1=1000 ms** 885 +))) 709 709 710 710 711 711 ... ... @@ -867,7 +867,6 @@ 867 867 |**RST**|(% style="width:1420px" %)Reboot RS485 868 868 |**PRO**|(% style="width:1420px" %)Use for upload image, see [[How to Update Image>>||anchor="H6.1Howtoupgradetheimage3F"]] 869 869 870 - 871 871 == 3.8 LEDs == 872 872 873 873 (% border="1" style="background-color:#f7faff; width:500px" %) ... ... @@ -875,7 +875,6 @@ 875 875 |**PWR**|Always on if there is power 876 876 |**SYS**|After device is powered on, the SYS will (% style="color:green" %)**fast blink in GREEN** (%%)for 5 times, means RS485-LN start to join LoRaWAN network. If join success, SYS will be (% style="color:green" %)**on GREEN for 5 seconds**(%%)**. **SYS will (% style="color:green" %)**blink Blue**(%%) on every upload and (% style="color:green" %)**blink Green**(%%) once receive a downlink message. 877 877 878 - 879 879 = 4. Case Study = 880 880 881 881 User can check this URL for some case studies: [[APP RS485 COMMUNICATE WITH SENSORS>>doc:Main.Application Note \: Communicate with Different Sensors ----- RS485-LN RS485-BL.WebHome]] ... ... @@ -1053,7 +1053,6 @@ 1053 1053 * (% style="color:blue" %)**KZ865**(%%): frequency bands KZ865 1054 1054 1055 1055 1056 - 1057 1057 = 9.Packing Info = 1058 1058 1059 1059 ... ... @@ -1071,7 +1071,6 @@ 1071 1071 * Weight / pcs : 170g 1072 1072 1073 1073 1074 - 1075 1075 = 10. FCC Caution for RS485LN-US915 = 1076 1076 1077 1077 (((
- image-20220606110929-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +13.9 KB - Content