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

From version 29.25
edited by Xiaoling
on 2022/06/01 18:12
Change comment: There is no comment for this version
To version 30.8
edited by Xiaoling
on 2022/06/02 09:37
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -316,7 +316,6 @@
316 316  )))
317 317  )))
318 318  
319 -
320 320  === 3.3.2 Configure sensors ===
321 321  
322 322  (((
... ... @@ -437,7 +437,7 @@
437 437  
438 438  **Examples:**
439 439  
440 -1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
439 +1For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
441 441  
442 442  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
443 443  
... ... @@ -445,7 +445,7 @@
445 445  
446 446  [[image:1653271044481-711.png]]
447 447  
448 -1. For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
447 +2)For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
449 449  
450 450  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
451 451  
... ... @@ -464,16 +464,18 @@
464 464  * **c: define the position for valid value.  **
465 465  )))
466 466  
467 -Examples:
466 +**Examples:**
468 468  
469 469  * Grab bytes:
470 470  
471 471  [[image:1653271581490-837.png||height="313" width="722"]]
472 472  
472 +
473 473  * Grab a section.
474 474  
475 475  [[image:1653271648378-342.png||height="326" width="720"]]
476 476  
477 +
477 477  * Grab different sections.
478 478  
479 479  [[image:1653271657255-576.png||height="305" width="730"]]
... ... @@ -516,6 +516,7 @@
516 516  
517 517  [[image:1653271763403-806.png]]
518 518  
520 +
519 519  === 3.3.4 Compose the uplink payload ===
520 520  
521 521  (((
... ... @@ -523,7 +523,7 @@
523 523  )))
524 524  
525 525  (((
526 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0**
528 +(% style="color:#037691" %)**Examples: AT+DATAUP=0**
527 527  )))
528 528  
529 529  (((
... ... @@ -535,7 +535,7 @@
535 535  )))
536 536  
537 537  (((
538 -(% style="color:#4f81bd" %)Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
540 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx**
539 539  )))
540 540  
541 541  (((
... ... @@ -544,8 +544,12 @@
544 544  
545 545  [[image:1653272787040-634.png||height="515" width="719"]]
546 546  
549 +
550 +
547 547  (((
548 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
552 +(% style="color:#037691" %)**Examples: AT+DATAUP=1**
553 +
554 +
549 549  )))
550 550  
551 551  (((
... ... @@ -557,7 +557,7 @@
557 557  )))
558 558  
559 559  (((
560 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
566 +(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
561 561  )))
562 562  
563 563  1. (((
... ... @@ -580,6 +580,7 @@
580 580  
581 581  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
582 582  
589 +
583 583  DATA1=RETURN1 Valid Value = (% style="background-color:#4f81bd; color:white" %) 20 20 0a 33 90 41
584 584  
585 585  DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= (% style="background-color:#4f81bd; color:white" %)02 aa 05 81 0a 20
... ... @@ -586,10 +586,12 @@
586 586  
587 587  DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =(% style="background-color:#4f81bd; color:white" %) 20 20 20 2d 30
588 588  
596 +
589 589  Below are the uplink payloads:
590 590  
591 591  [[image:1653272901032-107.png]]
592 592  
601 +
593 593  (% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:
594 594  
595 595   ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
... ... @@ -600,6 +600,8 @@
600 600  
601 601   ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
602 602  
612 +
613 +
603 603  === 3.3.5 Uplink on demand ===
604 604  
605 605  (((
... ... @@ -616,6 +616,8 @@
616 616  
617 617  (((
618 618  **0xA8 command**: Send a command to RS485-BL and uplink the output from sensors.
630 +
631 +
619 619  )))
620 620  
621 621  === 3.3.6 Uplink on Interrupt ===
... ... @@ -624,6 +624,7 @@
624 624  
625 625  [[image:1653273818896-432.png]]
626 626  
640 +
627 627  (((
628 628  AT+INTMOD=0  Disable Interrupt
629 629  )))
... ... @@ -638,6 +638,8 @@
638 638  
639 639  (((
640 640  AT+INTMOD=3  Interrupt trigger by rising edge.
655 +
656 +
641 641  )))
642 642  
643 643  == 3.4 Uplink Payload ==
... ... @@ -665,47 +665,49 @@
665 665  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
666 666  
667 667  (((
668 -function Decoder(bytes, port) {
684 +{{{function Decoder(bytes, port) {}}}
669 669  )))
670 670  
671 671  (((
672 -~/~/Payload Formats of RS485-BL Deceive
688 +{{{//Payload Formats of RS485-BL Deceive}}}
673 673  )))
674 674  
675 675  (((
676 -return {
692 +{{{return {}}}
677 677  )))
678 678  
679 679  (((
680 - ~/~/Battery,units:V
696 +{{{ //Battery,units:V}}}
681 681  )))
682 682  
683 683  (((
684 - BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,
700 +{{{ BatV:((bytes[0]<<8 | bytes[1])&0x7fff)/1000,}}}
685 685  )))
686 686  
687 687  (((
688 - ~/~/GPIO_EXTI 
704 +{{{ //GPIO_EXTI }}}
689 689  )))
690 690  
691 691  (((
692 - EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",
708 +{{{ EXTI_Trigger:(bytes[0] & 0x80)? "TRUE":"FALSE",}}}
693 693  )))
694 694  
695 695  (((
696 - ~/~/payload of version
712 +{{{ //payload of version}}}
697 697  )))
698 698  
699 699  (((
700 - Pay_ver:bytes[2],
716 +{{{ Pay_ver:bytes[2],}}}
701 701  )))
702 702  
703 703  (((
704 - };
720 +{{{ }; }}}
705 705  )))
706 706  
707 707  (((
708 - }
724 +}
725 +
726 +
709 709  )))
710 710  
711 711  (((
... ... @@ -714,58 +714,65 @@
714 714  
715 715  [[image:1653274001211-372.png||height="192" width="732"]]
716 716  
735 +
717 717  == 3.5 Configure RS485-BL via AT or Downlink ==
718 718  
719 -User can configure RS485-BL via [[AT Commands >>path:#_​Using_the_AT]]or LoRaWAN Downlink Commands
738 +User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands
720 720  
721 721  There are two kinds of Commands:
722 722  
723 -* **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
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]]
724 724  
725 -* **Sensor Related Commands**: These commands are special designed for RS485-BL.  User can see these commands below:
744 +* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
726 726  
727 -1.
728 -11.
729 -111. Common Commands:
746 +=== 3.5.1 Common Commands: ===
730 730  
731 -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]]
748 +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]]
732 732  
733 733  
734 -1.
735 -11.
736 -111. Sensor related commands:
751 +=== 3.5.2 Sensor related commands: ===
737 737  
738 -==== Choose Device Type (RS485 or TTL) ====
753 +==== ====
739 739  
755 +==== **Choose Device Type (RS485 or TTL)** ====
756 +
740 740  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
741 741  
742 -* AT Command
759 +* **AT Command**
743 743  
761 +(% class="box infomessage" %)
762 +(((
744 744  **AT+MOD=1** ~/~/ Set to support RS485-MODBUS type sensors. User can connect multiply RS485 , Modbus sensors to the A / B pins.
764 +)))
745 745  
766 +(% class="box infomessage" %)
767 +(((
746 746  **AT+MOD=2** ~/~/ Set to support TTL Level sensors, User can connect one TTL Sensor to the TXD/RXD/GND pins.
769 +)))
747 747  
748 748  
749 -* Downlink Payload
772 +* **Downlink Payload**
750 750  
751 -**0A aa**     à same as AT+MOD=aa
774 +**0A aa**  ~-~->  same as AT+MOD=aa
752 752  
753 753  
754 754  
755 -==== [[RS485 Debug Command>>path:#downlink_A8]] (AT+CFGDEV) ====
778 +==== **RS485 Debug Command (AT+CFGDEV)** ====
756 756  
757 757  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
758 758  
759 -* AT Command
782 +* **AT Command**
760 760  
761 -AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
784 +(% class="box infomessage" %)
785 +(((
786 +**AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**
787 +)))
762 762  
763 763  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
764 764  
765 765  
792 +* **Downlink Payload**
766 766  
767 -* Downlink Payload
768 -
769 769  Format: A8 MM NN XX XX XX XX YY
770 770  
771 771  Where:
... ... @@ -779,15 +779,15 @@
779 779  
780 780  To connect a Modbus Alarm with below commands.
781 781  
782 -* 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.
807 +* 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.
783 783  
784 -* 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.
809 +* 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.
785 785  
786 786  So if user want to use downlink command to control to RS485 Alarm, he can use:
787 787  
788 -**A8 01 06 0A 05 00 04 00 01 00**: to activate the RS485 Alarm
813 +(% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm
789 789  
790 -**A8 01 06 0A 05 00 04 00 00 00**: to deactivate the RS485 Alarm
815 +(% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm
791 791  
792 792  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.
793 793  
... ... @@ -796,48 +796,60 @@
796 796  
797 797  Check TTL Sensor return:
798 798  
799 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]
824 +[[image:1654132684752-193.png]]
800 800  
801 801  
802 802  
828 +==== **Set Payload version** ====
803 803  
804 -==== Set Payload version ====
805 -
806 806  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.
807 807  
808 -* AT Command:
832 +* **AT Command:**
809 809  
810 -AT+PAYVER: Set PAYVER field = 1
834 +(% class="box infomessage" %)
835 +(((
836 +**AT+PAYVER: Set PAYVER field = 1**
837 +)))
811 811  
812 812  
813 -* Downlink Payload:
840 +* **Downlink Payload:**
814 814  
815 -0xAE 01   à Set PAYVER field =  0x01
842 +**0xAE 01**  ~-~-> Set PAYVER field =  0x01
816 816  
817 -0xAE 0F   à Set PAYVER field =  0x0F
844 +**0xAE 0F**   ~-~-> Set PAYVER field =  0x0F
818 818  
819 819  
820 -==== Set RS485 Sampling Commands ====
821 821  
848 +==== **Set RS485 Sampling Commands** ====
849 +
822 822  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
823 823  
824 -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]].
852 +These three commands are used to configure how the RS485-BL polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]].
825 825  
826 826  
827 -* AT Command:
855 +* **AT Command:**
828 828  
829 -AT+COMMANDx: Configure RS485 read command to sensor.
857 +(% class="box infomessage" %)
858 +(((
859 +**AT+COMMANDx: Configure RS485 read command to sensor.**
860 +)))
830 830  
831 -AT+DATACUTx: Configure how to handle return from RS485 devices.
862 +(% class="box infomessage" %)
863 +(((
864 +**AT+DATACUTx: Configure how to handle return from RS485 devices.**
865 +)))
832 832  
833 -AT+SEARCHx: Configure search command
867 +(% class="box infomessage" %)
868 +(((
869 +**AT+SEARCHx: Configure search command**
870 +)))
834 834  
835 835  
836 -* Downlink Payload:
873 +* **Downlink Payload:**
837 837  
838 -0xAF downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
875 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
839 839  
840 -Note: if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
877 +(% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
841 841  
842 842  Format: AF MM NN LL XX XX XX XX YY
843 843  
... ... @@ -844,23 +844,23 @@
844 844  Where:
845 845  
846 846  * MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
847 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
848 -* LL: The length of AT+COMMAND or AT+DATACUT command
884 +* NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
885 +* LL:  The length of AT+COMMAND or AT+DATACUT command
849 849  * XX XX XX XX: AT+COMMAND or AT+DATACUT command
850 -* YY: If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command.
887 +* YY:  If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command.
851 851  
852 -Example:
889 +**Example:**
853 853  
854 -**AF 03 01 06 0A 05 00 04 00 01 00**: Same as AT+COMMAND3=0A 05 00 04 00 01,1
891 +(% 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
855 855  
856 -**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10**
893 +(% 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**
857 857  
858 -**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10**
895 +(% 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**
859 859  
860 860  
861 -0xAB downlink command can be used for set AT+SEARCHx
898 +**0xAB** downlink command can be used for set AT+SEARCHx
862 862  
863 -Example: **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
900 +**Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
864 864  
865 865  * AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
866 866  * AB aa 02 03 xx xx xx 02 yy yy(03 means there are 3 bytes after 03, they are xx xx xx;02 means there are 2 bytes after 02, they are yy yy) so the commands
... ... @@ -868,6 +868,7 @@
868 868  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
869 869  
870 870  
908 +
871 871  ==== Fast command to handle MODBUS device ====
872 872  
873 873  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]].
1654132684752-193.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +22.8 KB
Content