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

From version 41.17
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.
... ... @@ -988,7 +988,6 @@
988 988  
989 989  
990 990  
991 -
992 992  ==== **Set Payload version** ====
993 993  
994 994  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.
... ... @@ -1009,7 +1009,6 @@
1009 1009  
1010 1010  
1011 1011  
1012 -
1013 1013  ==== **Set RS485 Sampling Commands** ====
1014 1014  
1015 1015  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
... ... @@ -1071,7 +1071,6 @@
1071 1071  
1072 1072  
1073 1073  
1074 -
1075 1075  ==== **Fast command to handle MODBUS device** ====
1076 1076  
1077 1077  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]].
... ... @@ -1105,7 +1105,6 @@
1105 1105  
1106 1106  
1107 1107  
1108 -
1109 1109  ==== **RS485 command timeout** ====
1110 1110  
1111 1111  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.
... ... @@ -1137,7 +1137,6 @@
1137 1137  
1138 1138  
1139 1139  
1140 -
1141 1141  ==== **Uplink payload mode** ====
1142 1142  
1143 1143  Define to use one uplink or multiple uplinks for the sampling.
... ... @@ -1184,9 +1184,7 @@
1184 1184  
1185 1185  * **AT Command:**
1186 1186  
1187 -(((
1188 1188  (% 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 -)))
1190 1190  
1191 1191  Example screen shot after clear all RS485 commands. 
1192 1192  
... ... @@ -1202,7 +1202,6 @@
1202 1202  
1203 1203  
1204 1204  
1205 -
1206 1206  ==== **Set Serial Communication Parameters** ====
1207 1207  
1208 1208  Set the Rs485 serial communication parameters:
... ... @@ -1246,7 +1246,6 @@
1246 1246  
1247 1247  
1248 1248  
1249 -
1250 1250  ==== **Control output power duration** ====
1251 1251  
1252 1252  User can set the output power duration before each sampling.
... ... @@ -1274,8 +1274,6 @@
1274 1274  |=(% style="width: 89px;" %)**Button**|=(% style="width: 141px;" %)**Feature**
1275 1275  |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL
1276 1276  
1277 -
1278 -
1279 1279  == 3.7 +3V3 Output ==
1280 1280  
1281 1281  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