Changes for page RS485-BL – Waterproof RS485 to LoRaWAN Converter
Last modified by Xiaoling on 2025/04/23 15:57
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 0 removed)
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 ((( ... ... @@ -405,6 +405,7 @@ 405 405 Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]]. 406 406 407 407 410 + 408 408 === 3.3.3 Configure read commands for each sampling === 409 409 410 410 ((( ... ... @@ -471,117 +471,209 @@ 471 471 After we got the valid value from each RS485 commands, we need to combine them together with the command **AT+DATAUP**. 472 472 ))) 473 473 477 +((( 474 474 **Examples:** 479 +))) 475 475 481 +((( 476 476 Below are examples for the how above AT Commands works. 483 +))) 477 477 485 +((( 478 478 **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is: 487 +))) 479 479 480 480 (% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %) 481 481 |(% style="width:498px" %)((( 491 +((( 482 482 **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m** 493 +))) 483 483 495 +((( 484 484 **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent** 497 +))) 485 485 499 +((( 486 486 **m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command** 487 487 ))) 502 +))) 488 488 504 +((( 489 489 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 +))) 490 490 508 +((( 491 491 In the RS485-BL, we should use this command AT+COMMAND1=01 03 0B B8 00 02,1 for the same. 510 +))) 492 492 512 +((( 493 493 **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx. 514 +))) 494 494 495 495 (% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:500px" %) 496 496 |(% style="width:577px" %)((( 518 +((( 497 497 **AT+SEARCHx=aa,xx xx xx xx xx** 520 +))) 498 498 499 -* **aa: 1: prefix match mode; 2: prefix and suffix match mode**500 -* *xxxxxxxx xx:matchstring. Max 5 bytesforprefix and5 bytesfor suffix**522 +* ((( 523 +**aa: 1: prefix match mode; 2: prefix and suffix match mode** 501 501 ))) 525 +* ((( 526 +**xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix** 527 +))) 528 +))) 502 502 530 +((( 503 503 **Examples:** 532 +))) 504 504 534 +((( 505 505 1)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 536 +))) 506 506 538 +((( 507 507 If we set AT+SEARCH1=1,1E 56 34. (max 5 bytes for prefix) 540 +))) 508 508 542 +((( 509 509 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** 544 +))) 510 510 546 +((( 511 511 [[image:1653271044481-711.png]] 548 +))) 512 512 550 +((( 513 513 2)For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 552 +))) 514 514 554 +((( 515 515 If we set AT+SEARCH1=2, 1E 56 34+31 00 49 556 +))) 516 516 558 +((( 517 517 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** 560 +))) 518 518 562 +((( 519 519 [[image:1653271276735-972.png]] 564 +))) 520 520 566 +((( 521 521 **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes. 568 +))) 522 522 523 523 (% style="background-color:#4f81bd; color:white; width:510px" %) 524 524 |(% style="width:726px" %)((( 572 +((( 525 525 **AT+DATACUTx=a,b,c** 574 +))) 526 526 527 -* **a: length for the return of AT+COMMAND** 528 -* **b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.** 529 -* **c: define the position for valid value. ** 576 +* ((( 577 +**a: length for the return of AT+COMMAND** 530 530 ))) 579 +* ((( 580 +**b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.** 581 +))) 582 +* ((( 583 +**c: define the position for valid value. ** 584 +))) 585 +))) 531 531 587 +((( 532 532 **Examples:** 589 +))) 533 533 534 -* Grab bytes: 591 +* ((( 592 +Grab bytes: 593 +))) 535 535 595 +((( 536 536 [[image:1653271581490-837.png||height="313" width="722"]] 597 +))) 537 537 599 +((( 600 + 601 +))) 538 538 539 -* Grab a section. 603 +* ((( 604 +Grab a section. 605 +))) 540 540 607 +((( 541 541 [[image:1653271648378-342.png||height="326" width="720"]] 609 +))) 542 542 611 +((( 612 + 613 +))) 543 543 544 -* Grab different sections. 615 +* ((( 616 +Grab different sections. 617 +))) 545 545 619 +((( 546 546 [[image:1653271657255-576.png||height="305" width="730"]] 621 +))) 547 547 548 548 ((( 624 +((( 549 549 (% style="color:red" %)**Note:** 550 550 ))) 627 +))) 551 551 552 552 ((( 630 +((( 553 553 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. 554 554 ))) 633 +))) 555 555 556 556 ((( 636 +((( 557 557 **Example:** 558 558 ))) 639 +))) 559 559 560 560 ((( 642 +((( 561 561 (% style="color:red" %)AT+COMMAND1=11 01 1E D0,0 562 562 ))) 645 +))) 563 563 564 564 ((( 648 +((( 565 565 (% style="color:red" %)AT+SEARCH1=1,1E 56 34 566 566 ))) 651 +))) 567 567 568 568 ((( 654 +((( 569 569 (% style="color:red" %)AT+DATACUT1=0,2,1~~5 570 570 ))) 657 +))) 571 571 572 572 ((( 660 +((( 573 573 (% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49 574 574 ))) 663 +))) 575 575 576 576 ((( 666 +((( 577 577 (% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49 578 578 ))) 669 +))) 579 579 580 580 ((( 672 +((( 581 581 (% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36 582 582 ))) 675 +))) 583 583 677 +((( 584 584 [[image:1653271763403-806.png]] 679 +))) 585 585 586 586 587 587 === 3.3.4 Compose the uplink payload ===
- image-20220606105412-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +13.9 KB - Content