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

From version 26.2
edited by Xiaoling
on 2022/05/23 10:28
Change comment: There is no comment for this version
To version 17.1
edited by Xiaoling
on 2022/05/19 18:04
Change comment: Uploaded new attachment "1652954654347-831.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -397,8 +397,8 @@
397 397  
398 398  **AT+COMMANDx : **This command will be sent to RS485/TTL devices during each sampling, Max command length is 14 bytes. The grammar is:
399 399  
400 -(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:501px" %)
401 -|(% style="width:498px" %)(((
400 +(% border="1" class="table-bordered" %)
401 +|(((
402 402  **AT+COMMANDx=xx xx xx xx xx xx xx xx xx xx xx xx,m**
403 403  
404 404  **xx xx xx xx xx xx xx xx xx xx xx xx: The RS485 command to be sent**
... ... @@ -412,36 +412,39 @@
412 412  
413 413  **AT+SEARCHx**: This command defines how to handle the return from AT+COMMANDx.
414 414  
415 -(% border="1" class="table-bordered" style="background-color:#4f81bd; color:white; width:580px" %)
416 -|(% style="width:577px" %)(((
415 +(% border="1" class="table-bordered" %)
416 +|(((
417 417  **AT+SEARCHx=aa,xx xx xx xx xx**
418 418  
419 419  * **aa: 1: prefix match mode; 2: prefix and suffix match mode**
420 420  * **xx xx xx xx xx: match string. Max 5 bytes for prefix and 5 bytes for suffix**
421 +
422 +
421 421  )))
422 422  
423 -**Examples:**
425 +Examples:
424 424  
425 425  1. For a return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
426 426  
427 427  If we set AT+SEARCH1=1,1E 56 34.      (max 5 bytes for prefix)
428 428  
429 -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**
431 +The valid data will be all bytes after 1E 56 34 , so it is 2e 30 58 5f 36 41 30 31 00 49
430 430  
431 -[[image:1653271044481-711.png]]
433 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png]]
432 432  
435 +
433 433  1. For a return string from AT+COMMAND1:  16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
434 434  
435 435  If we set AT+SEARCH1=2, 1E 56 34+31 00 49
436 436  
437 -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**
440 +Device will search the bytes between 1E 56 34 and 31 00 49. So it is 2e 30 58 5f 36 41 30
438 438  
439 -[[image:1653271276735-972.png]]
442 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png]]
440 440  
444 +
441 441  **AT+DATACUTx : **This command defines how to handle the return from AT+COMMANDx, max return length is 45 bytes.
442 442  
443 -(% style="background-color:#4f81bd; color:white; width:729px" %)
444 -|(% style="width:726px" %)(((
447 +|(((
445 445  **AT+DATACUTx=a,b,c**
446 446  
447 447  * **a: length for the return of AT+COMMAND**
... ... @@ -453,123 +453,85 @@
453 453  
454 454  * Grab bytes:
455 455  
456 -[[image:1653271581490-837.png||height="313" width="722"]]
459 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png]]
457 457  
458 458  * Grab a section.
459 459  
460 -[[image:1653271648378-342.png||height="326" width="720"]]
463 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png]]
461 461  
462 462  * Grab different sections.
463 463  
464 -[[image:1653271657255-576.png||height="305" width="730"]]
467 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png]]
465 465  
466 -(((
467 -(% style="color:red" %)**Note:**
468 -)))
469 469  
470 -(((
470 +Note:
471 +
471 471  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.
472 -)))
473 473  
474 -(((
475 -**Example:**
476 -)))
474 +Example:
477 477  
478 -(((
479 -(% style="color:red" %)AT+COMMAND1=11 01 1E D0,0
480 -)))
476 +AT+COMMAND1=11 01 1E D0,0
481 481  
482 -(((
483 -(% style="color:red" %)AT+SEARCH1=1,1E 56 34
484 -)))
478 +AT+SEARCH1=1,1E 56 34
485 485  
486 -(((
487 -(% style="color:red" %)AT+DATACUT1=0,2,1~~5
488 -)))
480 +AT+DATACUT1=0,2,1~~5
489 489  
490 -(((
491 -(% style="color:red" %)Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
492 -)))
482 +Return string from AT+COMMAND1: 16 0c 1e 56 34 2e 30 58 5f 36 41 30 31 00 49
493 493  
494 -(((
495 -(% style="color:red" %)String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
496 -)))
484 +String after SEARCH command: 2e 30 58 5f 36 41 30 31 00 49
497 497  
498 -(((
499 -(% style="color:red" %)Valid payload after DataCUT command: 2e 30 58 5f 36
500 -)))
486 +Valid payload after DataCUT command: 2e 30 58 5f 36
501 501  
502 -[[image:1653271763403-806.png]]
488 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png]]
503 503  
504 -=== 3.3.4 Compose the uplink payload ===
505 505  
506 -(((
491 +
492 +
493 +1.
494 +11.
495 +111. Compose the uplink payload
496 +
507 507  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.**
508 -)))
509 509  
510 -(((
511 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=0**
512 -)))
513 513  
514 -(((
515 -Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**A SIGNLE UPLINK**.
516 -)))
500 +**Examples: AT+DATAUP=0**
517 517  
518 -(((
502 +Compose the uplink payload with value returns in sequence and send with **A SIGNLE UPLINK**.
503 +
519 519  Final Payload is
520 -)))
521 521  
522 -(((
523 -(% style="color:#4f81bd" %)Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
524 -)))
506 +Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
525 525  
526 -(((
527 527  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
528 -)))
529 529  
530 -[[image:1653272787040-634.png||height="515" width="719"]]
510 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]]
531 531  
532 -(((
533 -(% style="color:#4f81bd" %)**Examples: AT+DATAUP=1**
534 -)))
535 535  
536 -(((
537 -Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**.
538 -)))
539 539  
540 -(((
514 +**Examples: AT+DATAUP=1**
515 +
516 +Compose the uplink payload with value returns in sequence and send with **Multiply UPLINKs**.
517 +
541 541  Final Payload is
542 -)))
543 543  
544 -(((
545 -(% style="color:#4f81bd" %)Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
546 -)))
520 +Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA
547 547  
548 -1. (((
549 -Battery Info (2 bytes): Battery voltage
550 -)))
551 -1. (((
552 -PAYVER (1 byte): Defined by AT+PAYVER
553 -)))
554 -1. (((
555 -PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
556 -)))
557 -1. (((
558 -PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
559 -)))
560 -1. (((
561 -DATA: Valid value: max 6 bytes(US915 version here, Notice*!) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes
562 -)))
522 +1. Battery Info (2 bytes): Battery voltage
523 +1. PAYVER (1 byte): Defined by AT+PAYVER
524 +1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
525 +1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
526 +1. DATA: Valid value: max 6 bytes(US915 version here, [[Notice*!>>path:#max_byte]]) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes
563 563  
564 -[[image:1653272817147-600.png||height="437" width="717"]]
528 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]
565 565  
530 +
566 566  So totally there will be 3 uplinks for this sampling, each uplink includes 6 bytes DATA
567 567  
568 -DATA1=RETURN1 Valid Value = ~(% style="background-color:#4f81bd;color:white" %)(% style="display:none" %) (%%)20 20 0a 33 90 41
533 +DATA1=RETURN1 Valid Value = 20 20 0a 33 90 41
569 569  
570 -DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= ~(% style="background-color:#4f81bd;color:white" %)(% style="display:none" %) (%%)02 aa 05 81 0a 20
535 +DATA2=1^^st^^ ~~ 6^^th^^ byte of Valid value of RETURN10= 02 aa 05 81 0a 20
571 571  
572 -DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 =~(% style="background-color:#4f81bd;color:white" %)(% style="display:none" %) (%%) 20 20 20 2d 30
537 +DATA3=7^^th^^ ~~ 11^^th^^ bytes of Valid value of RETURN10 = 20 20 20 2d 30
573 573  
574 574  
575 575  
1653271044481-711.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -27.8 KB
Content
1653271276735-972.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -26.6 KB
Content
1653271581490-837.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -138.7 KB
Content
1653271648378-342.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -131.4 KB
Content
1653271657255-576.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -142.6 KB
Content
1653271763403-806.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -27.7 KB
Content
1653272787040-634.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -294.0 KB
Content
1653272817147-600.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -143.3 KB
Content