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

From version 40.52
edited by Xiaoling
on 2022/06/06 10:50
Change comment: There is no comment for this version
To version 41.17
edited by Xiaoling
on 2022/06/06 11:05
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -382,6 +382,8 @@
382 382  )))
383 383  )))
384 384  
385 +
386 +
385 385  === 3.3.2 Configure sensors ===
386 386  
387 387  (((
... ... @@ -472,117 +472,213 @@
472 472  After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**.
473 473  )))
474 474  
477 +(((
475 475  **Examples:**
479 +)))
476 476  
481 +(((
477 477  Below are examples for the how above AT Commands works.
483 +)))
478 478  
485 +(((
479 479  **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is:
487 +)))
480 480  
481 481  (% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %)
482 482  |(% style="width:498px" %)(((
491 +(((
483 483  **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m**
493 +)))
484 484  
495 +(((
485 485  **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent**
497 +)))
486 486  
499 +(((
487 487  **m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command**
488 488  )))
502 +)))
489 489  
504 +(((
490 490  For example, if we have a RS485 sensor. The command to get sensor value is: 01 03 0B B8 00 02 46 0A. Where 01 03 0B B8 00 02 is the Modbus command to read the register 0B B8 where stored the sensor value. The 46 0A is the CRC-16/MODBUS which calculate manually.
506 +)))
491 491  
508 +(((
492 492  In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same.
510 +)))
493 493  
512 +(((
513 +
514 +)))
515 +
516 +(((
494 494  **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx.
518 +)))
495 495  
496 496  (% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %)
497 497  |(% style="width:577px" %)(((
522 +(((
498 498  **AT+SEARCHx=aa,xx xx xx xx xx**
524 +)))
499 499  
500 -* **aa: 1: prefix match mode; 2: prefix and suffix match mode**
501 -* **xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix**
526 +* (((
527 +**aa: 1: prefix match mode; 2: prefix and suffix match mode**
502 502  )))
529 +* (((
530 +**xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix**
531 +)))
532 +)))
503 503  
534 +(((
504 504  **Examples:**
536 +)))
505 505  
538 +(((
506 506  1)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
540 +)))
507 507  
542 +(((
508 508  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
544 +)))
509 509  
546 +(((
510 510  The valid data will be all bytes after 1E 56 34 , so it is (% style="background-color:yellow" %)**2e 30 58 5f 36 41 30 31 00 49**
548 +)))
511 511  
550 +(((
512 512  [[image:1653271044481-711.png]]
552 +)))
513 513  
554 +(((
514 514  2)For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
556 +)))
515 515  
558 +(((
516 516  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
560 +)))
517 517  
562 +(((
518 518  Device will search the bytes between 1E 56 34 and 31 00 49. So it is(% style="background-color:yellow" %) **2e 30 58 5f 36 41 30**
564 +)))
519 519  
566 +(((
520 520  [[image:1653271276735-972.png]]
568 +)))
521 521  
570 +(((
522 522  **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
572 +)))
523 523  
524 524  (% style="background-color:#4f81bd; color:white; width:510px" %)
525 525  |(% style="width:726px" %)(((
576 +(((
526 526  **AT+DATACUTx=a,b,c**
578 +)))
527 527  
528 -* **a: length for the return of AT+COMMAND**
529 -* **b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.**
530 -* **c: define the position for valid value.  **
580 +* (((
581 +**a: length for the return of AT+COMMAND**
531 531  )))
583 +* (((
584 +**b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.**
585 +)))
586 +* (((
587 +**c: define the position for valid value.  **
588 +)))
589 +)))
532 532  
591 +(((
533 533  **Examples:**
593 +)))
534 534  
535 -* Grab bytes:
595 +* (((
596 +Grab bytes:
597 +)))
536 536  
599 +(((
537 537  [[image:1653271581490-837.png||height="313" width="722"]]
601 +)))
538 538  
603 +(((
604 +
605 +)))
539 539  
540 -* Grab a section.
607 +* (((
608 +Grab a section.
609 +)))
541 541  
611 +(((
542 542  [[image:1653271648378-342.png||height="326" width="720"]]
613 +)))
543 543  
615 +(((
616 +
617 +)))
544 544  
545 -* Grab different sections.
619 +* (((
620 +Grab different sections.
621 +)))
546 546  
623 +(((
547 547  [[image:1653271657255-576.png||height="305" width="730"]]
625 +)))
548 548  
549 549  (((
628 +(((
550 550  (% style="color:red" %)**Note:**
551 551  )))
631 +)))
552 552  
553 553  (((
634 +(((
554 554  AT+SEARCHx and AT+DATACUTx can be used together, if both commands are set, RS485-BL will first process AT+SEARCHx on the return string and get a temporary string, and then process AT+DATACUTx on this temporary string to get the final payload. In this case, AT+DATACUTx need to set to format AT+DATACUTx=0,xx,xx where the return bytes set to 0.
555 555  )))
637 +)))
556 556  
557 557  (((
640 +(((
558 558  **Example:**
559 559  )))
643 +)))
560 560  
561 561  (((
646 +(((
562 562  (% style="color:red" %)AT+COMMAND1=11 01 1E D0,0
563 563  )))
649 +)))
564 564  
565 565  (((
652 +(((
566 566  (% style="color:red" %)AT+SEARCH1=1,1E 56 34
567 567  )))
655 +)))
568 568  
569 569  (((
658 +(((
570 570  (% style="color:red" %)AT+DATACUT1=0,2,1~~5
571 571  )))
661 +)))
572 572  
573 573  (((
664 +(((
574 574  (% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
575 575  )))
667 +)))
576 576  
577 577  (((
670 +(((
578 578  (% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
579 579  )))
673 +)))
580 580  
581 581  (((
676 +(((
582 582  (% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36
583 583  )))
679 +)))
584 584  
681 +(((
585 585  [[image:1653271763403-806.png]]
683 +)))
586 586  
587 587  
588 588  === 3.3.4 Compose the uplink payload ===
... ... @@ -729,26 +729,8 @@
729 729  
730 730  == 3.4 Uplink Payload ==
731 731  
732 -(% border="1" style="background-color:#4f81bd; color:white; width:850px" %)
733 -|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands**
734 -|Value|(% style="width:130px" %)(((
735 -(((
736 -Battery(mV)
737 -)))
830 +[[image:image-20220606105412-1.png]]
738 738  
739 -(((
740 -&
741 -)))
742 -
743 -(((
744 -Interrupt _Flag
745 -)))
746 -)))|(% style="width:93px" %)(((
747 -PAYLOAD_VER
748 -
749 -
750 -)))|(% 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.
751 -
752 752  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
753 753  
754 754  (((
... ... @@ -806,14 +806,24 @@
806 806  
807 807  == 3.5 Configure RS485-BL via AT or Downlink ==
808 808  
889 +(((
809 809  User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands
891 +)))
810 810  
893 +(((
811 811  There are two kinds of Commands:
895 +)))
812 812  
813 -* (% 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]]
897 +* (((
898 +(% 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]]
899 +)))
814 814  
815 -* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
901 +* (((
902 +(% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
903 +)))
816 816  
905 +
906 +
817 817  === 3.5.1 Common Commands: ===
818 818  
819 819  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]]
... ... @@ -822,6 +822,7 @@
822 822  === 3.5.2 Sensor related commands: ===
823 823  
824 824  
915 +
825 825  ==== **Choose Device Type (RS485 or TTL)** ====
826 826  
827 827  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
... ... @@ -845,6 +845,7 @@
845 845  
846 846  
847 847  
939 +
848 848  ==== **RS485 Debug Command (AT+CFGDEV)** ====
849 849  
850 850  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
... ... @@ -896,6 +896,7 @@
896 896  
897 897  
898 898  
991 +
899 899  ==== **Set Payload version** ====
900 900  
901 901  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.
... ... @@ -916,6 +916,7 @@
916 916  
917 917  
918 918  
1012 +
919 919  ==== **Set RS485 Sampling Commands** ====
920 920  
921 921  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
... ... @@ -977,6 +977,7 @@
977 977  
978 978  
979 979  
1074 +
980 980  ==== **Fast command to handle MODBUS device** ====
981 981  
982 982  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]].
... ... @@ -1010,6 +1010,7 @@
1010 1010  
1011 1011  
1012 1012  
1108 +
1013 1013  ==== **RS485 command timeout** ====
1014 1014  
1015 1015  Some Modbus device has slow action to send replies. This command is used to configure the RS485-BL to use longer time to wait for their action.
... ... @@ -1041,6 +1041,7 @@
1041 1041  
1042 1042  
1043 1043  
1140 +
1044 1044  ==== **Uplink payload mode** ====
1045 1045  
1046 1046  Define to use one uplink or multiple uplinks for the sampling.
... ... @@ -1087,7 +1087,9 @@
1087 1087  
1088 1088  * **AT Command:**
1089 1089  
1187 +(((
1090 1090  (% style="color:#037691" %)**AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
1189 +)))
1091 1091  
1092 1092  Example screen shot after clear all RS485 commands. 
1093 1093  
... ... @@ -1103,6 +1103,7 @@
1103 1103  
1104 1104  
1105 1105  
1205 +
1106 1106  ==== **Set Serial Communication Parameters** ====
1107 1107  
1108 1108  Set the Rs485 serial communication parameters:
... ... @@ -1146,6 +1146,7 @@
1146 1146  
1147 1147  
1148 1148  
1249 +
1149 1149  ==== **Control output power duration** ====
1150 1150  
1151 1151  User can set the output power duration before each sampling.
... ... @@ -1173,6 +1173,8 @@
1173 1173  |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature**
1174 1174  |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL
1175 1175  
1277 +
1278 +
1176 1176  == 3.7 +3V3 Output ==
1177 1177  
1178 1178  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
image-20220606105412-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +13.9 KB
Content