<
From version < 57.43 >
edited by Xiaoling
on 2022/06/06 10:12
To version < 58.10 >
edited by Xiaoling
on 2022/06/06 11:22
>
Change comment: There is no comment for this version

Summary

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:128px" %)(((
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:128px" %)(((
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:128px" %)(((
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:128px" %)(((
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,m
328 +)))|(% 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
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0