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

From version 41.18
edited by Xiaoling
on 2022/06/06 11:05
Change comment: There is no comment for this version
To version 40.50
edited by Xiaoling
on 2022/06/06 10:44
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -383,7 +383,6 @@
383 383  )))
384 384  
385 385  
386 -
387 387  === 3.3.2 Configure sensors ===
388 388  
389 389  (((
... ... @@ -407,7 +407,6 @@
407 407  Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
408 408  
409 409  
410 -
411 411  === 3.3.3 Configure read commands for each sampling ===
412 412  
413 413  (((
... ... @@ -474,213 +474,117 @@
474 474  After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**.
475 475  )))
476 476  
477 -(((
478 478  **Examples:**
479 -)))
480 480  
481 -(((
482 482  Below are examples for the how above AT Commands works.
483 -)))
484 484  
485 -(((
486 486  **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is:
487 -)))
488 488  
489 489  (% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %)
490 490  |(% style="width:498px" %)(((
491 -(((
492 492  **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m**
493 -)))
494 494  
495 -(((
496 496  **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent**
497 -)))
498 498  
499 -(((
500 500  **m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command**
501 501  )))
502 -)))
503 503  
504 -(((
505 505  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 -)))
507 507  
508 -(((
509 509  In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same.
510 -)))
511 511  
512 -(((
513 -
514 -)))
515 -
516 -(((
517 517  **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx.
518 -)))
519 519  
520 520  (% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %)
521 521  |(% style="width:577px" %)(((
522 -(((
523 523  **AT+SEARCHx=aa,xx xx xx xx xx**
524 -)))
525 525  
526 -* (((
527 -**aa: 1: prefix match mode; 2: prefix and suffix match mode**
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**
528 528  )))
529 -* (((
530 -**xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix**
531 -)))
532 -)))
533 533  
534 -(((
535 535  **Examples:**
536 -)))
537 537  
538 -(((
539 539  1)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
540 -)))
541 541  
542 -(((
543 543  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
544 -)))
545 545  
546 -(((
547 547  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 -)))
549 549  
550 -(((
551 551  [[image:1653271044481-711.png]]
552 -)))
553 553  
554 -(((
555 555  2)For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
556 -)))
557 557  
558 -(((
559 559  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
560 -)))
561 561  
562 -(((
563 563  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 -)))
565 565  
566 -(((
567 567  [[image:1653271276735-972.png]]
568 -)))
569 569  
570 -(((
571 571  **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
572 -)))
573 573  
574 574  (% style="background-color:#4f81bd; color:white; width:510px" %)
575 575  |(% style="width:726px" %)(((
576 -(((
577 577  **AT+DATACUTx=a,b,c**
578 -)))
579 579  
580 -* (((
581 -**a: length for the return of AT+COMMAND**
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.  **
582 582  )))
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 -)))
590 590  
591 -(((
592 592  **Examples:**
593 -)))
594 594  
595 -* (((
596 -Grab bytes:
597 -)))
535 +* Grab bytes:
598 598  
599 -(((
600 600  [[image:1653271581490-837.png||height="313" width="722"]]
601 -)))
602 602  
603 -(((
604 -
605 -)))
606 606  
607 -* (((
608 -Grab a section.
609 -)))
540 +* Grab a section.
610 610  
611 -(((
612 612  [[image:1653271648378-342.png||height="326" width="720"]]
613 -)))
614 614  
615 -(((
616 -
617 -)))
618 618  
619 -* (((
620 -Grab different sections.
621 -)))
545 +* Grab different sections.
622 622  
623 -(((
624 624  [[image:1653271657255-576.png||height="305" width="730"]]
625 -)))
626 626  
627 627  (((
628 -(((
629 629  (% style="color:red" %)**Note:**
630 630  )))
631 -)))
632 632  
633 633  (((
634 -(((
635 635  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.
636 636  )))
637 -)))
638 638  
639 639  (((
640 -(((
641 641  **Example:**
642 642  )))
643 -)))
644 644  
645 645  (((
646 -(((
647 647  (% style="color:red" %)AT+COMMAND1=11 01 1E D0,0
648 648  )))
649 -)))
650 650  
651 651  (((
652 -(((
653 653  (% style="color:red" %)AT+SEARCH1=1,1E 56 34
654 654  )))
655 -)))
656 656  
657 657  (((
658 -(((
659 659  (% style="color:red" %)AT+DATACUT1=0,2,1~~5
660 660  )))
661 -)))
662 662  
663 663  (((
664 -(((
665 665  (% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
666 666  )))
667 -)))
668 668  
669 669  (((
670 -(((
671 671  (% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
672 672  )))
673 -)))
674 674  
675 675  (((
676 -(((
677 677  (% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36
678 678  )))
679 -)))
680 680  
681 -(((
682 682  [[image:1653271763403-806.png]]
683 -)))
684 684  
685 685  
686 686  === 3.3.4 Compose the uplink payload ===
... ... @@ -687,14 +687,10 @@
687 687  
688 688  (((
689 689  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.**
690 -
691 -
692 692  )))
693 693  
694 694  (((
695 695  (% style="color:#037691" %)**Examples: AT+DATAUP=0**
696 -
697 -
698 698  )))
699 699  
700 700  (((
... ... @@ -827,8 +827,26 @@
827 827  
828 828  == 3.4 Uplink Payload ==
829 829  
830 -[[image:image-20220606105412-1.png]]
728 +(% border="1" style="background-color:#4f81bd; color:white; width:850px" %)
729 +|**Size(bytes)**|(% style="width:130px" %)**2**|(% style="width:93px" %)**1**|(% style="width:509px" %)**Length depends on the return from the commands**
730 +|Value|(% style="width:130px" %)(((
731 +(((
732 +Battery(mV)
733 +)))
831 831  
735 +(((
736 +&
737 +)))
738 +
739 +(((
740 +Interrupt _Flag
741 +)))
742 +)))|(% style="width:93px" %)(((
743 +PAYLOAD_VER
744 +
745 +
746 +)))|(% 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.
747 +
832 832  Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors.
833 833  
834 834  (((
... ... @@ -886,24 +886,14 @@
886 886  
887 887  == 3.5 Configure RS485-BL via AT or Downlink ==
888 888  
889 -(((
890 890  User can configure RS485-BL via AT Commands or LoRaWAN Downlink Commands
891 -)))
892 892  
893 -(((
894 894  There are two kinds of Commands:
895 -)))
896 896  
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 -)))
809 +* (% 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]]
900 900  
901 -* (((
902 -(% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
903 -)))
811 +* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-BL.  User can see these commands below:
904 904  
905 -
906 -
907 907  === 3.5.1 Common Commands: ===
908 908  
909 909  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]]
... ... @@ -912,7 +912,6 @@
912 912  === 3.5.2 Sensor related commands: ===
913 913  
914 914  
915 -
916 916  ==== **Choose Device Type (RS485 or TTL)** ====
917 917  
918 918  RS485-BL can connect to either RS485 sensors or TTL sensor. User need to specify what type of sensor need to connect.
... ... @@ -936,7 +936,6 @@
936 936  
937 937  
938 938  
939 -
940 940  ==== **RS485 Debug Command (AT+CFGDEV)** ====
941 941  
942 942  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
... ... @@ -976,9 +976,7 @@
976 976  
977 977  (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm
978 978  
979 -(((
980 980  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.
981 -)))
982 982  
983 983  
984 984  **Example 2:**
... ... @@ -990,7 +990,6 @@
990 990  
991 991  
992 992  
993 -
994 994  ==== **Set Payload version** ====
995 995  
996 996  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.
... ... @@ -1011,7 +1011,6 @@
1011 1011  
1012 1012  
1013 1013  
1014 -
1015 1015  ==== **Set RS485 Sampling Commands** ====
1016 1016  
1017 1017  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
... ... @@ -1073,7 +1073,6 @@
1073 1073  
1074 1074  
1075 1075  
1076 -
1077 1077  ==== **Fast command to handle MODBUS device** ====
1078 1078  
1079 1079  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]].
... ... @@ -1107,7 +1107,6 @@
1107 1107  
1108 1108  
1109 1109  
1110 -
1111 1111  ==== **RS485 command timeout** ====
1112 1112  
1113 1113  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.
... ... @@ -1139,7 +1139,6 @@
1139 1139  
1140 1140  
1141 1141  
1142 -
1143 1143  ==== **Uplink payload mode** ====
1144 1144  
1145 1145  Define to use one uplink or multiple uplinks for the sampling.
... ... @@ -1186,9 +1186,7 @@
1186 1186  
1187 1187  * **AT Command:**
1188 1188  
1189 -(((
1190 1190  (% 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
1191 -)))
1192 1192  
1193 1193  Example screen shot after clear all RS485 commands. 
1194 1194  
... ... @@ -1204,7 +1204,6 @@
1204 1204  
1205 1205  
1206 1206  
1207 -
1208 1208  ==== **Set Serial Communication Parameters** ====
1209 1209  
1210 1210  Set the Rs485 serial communication parameters:
... ... @@ -1248,7 +1248,6 @@
1248 1248  
1249 1249  
1250 1250  
1251 -
1252 1252  ==== **Control output power duration** ====
1253 1253  
1254 1254  User can set the output power duration before each sampling.
... ... @@ -1276,8 +1276,6 @@
1276 1276  |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature**
1277 1277  |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL
1278 1278  
1279 -
1280 -
1281 1281  == 3.7 +3V3 Output ==
1282 1282  
1283 1283  RS485-BL has a Controllable +3V3 output, user can use this output to power external sensor.
image-20220606105412-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -13.9 KB
Content