Changes for page SDI-12-LB/LS -- SDI-12 to LoRaWAN Converter User Manual
Last modified by Xiaoling on 2025/04/25 08:58
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -396,20 +396,20 @@ 396 396 397 397 LoRaWAN Downlink: A8 aa xx xx xx xx bb cc 398 398 399 -**aa **: total SDI-12 command length 399 +**(% style="color:#037691" %)aa **(%%): total SDI-12 command length 400 400 401 -**xx **: SDI-12 command 401 +**(% style="color:#037691" %)xx **(%%): SDI-12 command 402 402 403 -**bb **: Delay to wait for return 403 +**(% style="color:#037691" %)bb **(%%): Delay to wait for return 404 404 405 -**cc **: 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100 405 +**(% style="color:#037691" %)cc **(%%): 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100 406 406 407 407 408 -**Example: **AT+CFGDEV =0RC0!,1 408 +**(% style="color:blue" %)Example: **(%%) AT+CFGDEV =0RC0!,1 409 409 410 -**0RC0! **: SDI-12 Command, 410 +**(% style="color:#037691" %)0RC0! **(%%): SDI-12 Command, 411 411 412 -**1 **: Delay 1 second. ( 0: 810 mini-second) 412 +**(% style="color:#037691" %)1 **(%%): Delay 1 second. ( 0: 810 mini-second) 413 413 414 414 Equal Downlink: 0xA8 05 30 52 43 30 21 01 01 415 415 ... ... @@ -431,7 +431,7 @@ 431 431 AT+CONVFORM ( Max length: 80 bytes) 432 432 433 433 434 -**Example:** 434 +**(% style="color:blue" %)Example:** 435 435 436 436 1) AT+CONVFORM=0, string Convert String from String to ASCII 437 437 ... ... @@ -451,31 +451,31 @@ 451 451 User can define max 15 SDI-12 Commands (AT+COMMAND1 ~~ AT+COMMANDF). On each uplink period (TDC time, default 20 minutes), SDI-12-LB will send these SDI-12 commands and wait for return from SDI-12 sensors. SDI-12-LB will then combine these returns and uplink via LoRaWAN. 452 452 453 453 454 -* ** AT Command:** 454 +* ** (% style="color:blue" %)AT Command:** 455 455 456 -**AT+COMMANDx=var1,var2,var3,var4.** 456 +**(% style="color:#037691" %)AT+COMMANDx=var1,var2,var3,var4.** 457 457 458 -**var1**: SDI-12 command , for example: 0RC0! 458 +**(% style="color:red" %)var1**(%%): SDI-12 command , for example: 0RC0! 459 459 460 -**var2**: Wait timeout for return. (unit: second) 460 +**(% style="color:red" %)var2**(%%): Wait timeout for return. (unit: second) 461 461 462 -**var3**: Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. 462 +**(% style="color:red" %)var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. 463 463 464 -**var4**: validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries. 464 +**(% style="color:red" %)var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries. 465 465 466 -**0 ** No validation check; 466 +**(% style="color:red" %)0 **(%%) No validation check; 467 467 468 -**1** Check if return chars are printable char(0x20 ~~ 0x7E); 468 +**(% style="color:red" %)1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E); 469 469 470 -**2** Check if there is return from SDI-12 sensor 470 +**(% style="color:#red" %)2**(%%) Check if there is return from SDI-12 sensor 471 471 472 -**3** Check if return pass CRC check ( SDI-12 command var1 must include CRC request); 472 +**(% style="color:red" %)3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request); 473 473 474 474 475 -Each AT+COMMANDx is followed by a **AT+DATACUT** command. AT+DATACUT command is used to take the useful string from the SDI-12 sensor so the final payload will have the minimum length to uplink. 475 +Each AT+COMMANDx is followed by a **(% style="color:blue" %)AT+DATACUT**(%%) command. AT+DATACUT command is used to take the useful string from the SDI-12 sensor so the final payload will have the minimum length to uplink. 476 476 477 477 478 -**AT+DATACUTx** : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 478 +**(% style="color:blue" %)AT+DATACUTx**(%%) : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 479 479 480 480 (% border="1" style="background-color:#f7faff; width:436px" %) 481 481 |(% style="width:433px" %)((( ... ... @@ -483,7 +483,7 @@ 483 483 484 484 **a**: length for the return of AT+COMMAND 485 485 486 -**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections. 486 +**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections. 487 487 488 488 **c**: define the position for valid value. 489 489 ))) ... ... @@ -497,49 +497,49 @@ 497 497 |(% style="width:170px" %)34,2,1~~8+12~~16|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32 498 498 |(% style="width:170px" %)34,2,1~~34|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A 499 499 500 -* ** Downlink Payload:** 500 +* **(% style="color:blue" %) Downlink Payload:** 501 501 502 -**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 502 +**(% style="color:blue" %)0xAF**(%%) downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 503 503 504 504 505 -**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.** 505 +**(% style="color:red" %)Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.** 506 506 507 507 508 -Format: ** AF MM NN LL XX XX XX XX YY** 508 +Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY** 509 509 510 510 Where: 511 511 512 -* **MM **: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 513 -* **NN **: 1: set the AT+DATACUT value ; 2: set the AT+DATACUT value. 514 -* **LL **: The length of AT+COMMAND or AT+DATACUT command 515 -* **XX XX XX XX **: AT+COMMAND or AT+DATACUT command 516 -* **YY **: If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 512 +* **(% style="color:#037691" %)MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 513 +* **(% style="color:#037691" %)NN **(%%): 1: set the AT+DATACUT value ; 2: set the AT+DATACUT value. 514 +* **(% style="color:#037691" %)LL **(%%): The length of AT+COMMAND or AT+DATACUT command 515 +* **(% style="color:#037691" %)XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command 516 +* **(% style="color:#037691" %)YY **(%%): If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 517 517 518 -**Example:** 518 +**(% style="color:blue" %)Example:** 519 519 520 520 [[image:image-20230201094129-18.png]] 521 521 522 522 523 -**Clear SDI12 Command** 523 +**(% style="color:blue" %)Clear SDI12 Command** 524 524 525 525 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 526 526 527 527 528 -* ** AT Command:** 528 +* ** (% style="color:#037691" %)AT Command:** 529 529 530 -** ~AT+CMDEAR=mm,nn** mm: start position of erase ,nn: stop position of erase530 +**(% style="color:#4F81BD" %)AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase 531 531 532 532 533 533 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 534 534 535 535 536 -* ** Downlink Payload:** 536 +* **(% style="color:#037691" %) Downlink Payload:** 537 537 538 -** ~0x09 aa bb** same as AT+CMDEAR=aa,bb538 +**(% style="color:#4F81BD" %)0x09 aa bb**(%%) same as AT+CMDEAR=aa,bb 539 539 540 540 541 541 542 -**command combination** 542 +**(% style="color:blue" %)command combination** 543 543 544 544 Below shows a screen shot how the results combines together to a uplink payload. 545 545 ... ... @@ -548,23 +548,23 @@ 548 548 549 549 If user don't want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1. 550 550 551 -**AT+ALLDATAMOD** will simply get all return and don't do CRC check as result for SDI-12 command. AT+DATACUTx command has higher priority, if AT+DATACUTx has been set, AT+ALLDATAMOD will be ignore for this SDI-12 command. 551 +**(% style="color:blue" %)AT+ALLDATAMOD**(%%) will simply get all return and don't do CRC check as result for SDI-12 command. AT+DATACUTx command has higher priority, if AT+DATACUTx has been set, AT+ALLDATAMOD will be ignore for this SDI-12 command. 552 552 553 553 554 -**For example: ** as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result. 554 +**(% style="color:#4F81BD" %)For example: ** as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result. 555 555 556 556 557 557 [[image:1675215782925-448.png]] 558 558 559 559 560 -If AT+ALLDATAMOD=1, **FX,X** will be added in the payload, FX specify which command is used and X specify the length of return. for example in above screen, F1 05 means the return is from AT+COMMAND1 and the return is 5 bytes. 560 +If AT+ALLDATAMOD=1, **(% style="color:#4F81BD" %)FX,X**(%%) will be added in the payload, FX specify which command is used and X specify the length of return. for example in above screen, F1 05 means the return is from AT+COMMAND1 and the return is 5 bytes. 561 561 562 562 563 563 564 -**Compose Uplink** 564 +**(% style="color:blue" %)Compose Uplink** 565 565 566 566 567 -**AT+DATAUP=0** 567 +**(% style="color:#4F81BD" %)AT+DATAUP=0** 568 568 569 569 Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK. 570 570 ... ... @@ -576,7 +576,7 @@ 576 576 [[image:1675215828102-844.png]] 577 577 578 578 579 -**AT+DATAUP=1** 579 +**(% style="color:#4F81BD" %)AT+DATAUP=1** 580 580 581 581 Compose the uplink payload with value returns in sequence and send with Multiply UPLINKs. 582 582 ... ... @@ -593,7 +593,7 @@ 593 593 [[image:1675215848113-696.png]] 594 594 595 595 596 -**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** 596 +**(% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** 597 597 598 598 * For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 599 599 * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). ... ... @@ -600,9 +600,9 @@ 600 600 * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 601 601 * For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 602 602 603 -** ~When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**603 +**(% style="color:red" %)When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;** 604 604 605 -** ~When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.**605 +**(% style="color:red" %)When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.** 606 606 607 607 608 608 == 2.4 Uplink Payload == ... ... @@ -633,11 +633,11 @@ 633 633 [[image:1675215946738-635.png]] 634 634 635 635 636 -**Sensor Model**: For SDI-12-LB, this value is 0x17 636 +**(% style="color:#037691" %)Sensor Model**(%%): For SDI-12-LB, this value is 0x17 637 637 638 -**Firmware Version**: 0x0100, Means: v1.0.0 version 638 +**(% style="color:#037691" %)Firmware Version**(%%): 0x0100, Means: v1.0.0 version 639 639 640 -**Frequency Band**: 640 +**(% style="color:#037691" %)Frequency Band**: 641 641 642 642 *0x01: EU868 643 643 ... ... @@ -668,7 +668,7 @@ 668 668 *0x0e: MA869 669 669 670 670 671 -**Sub-Band**: 671 +**(% style="color:#037691" %)Sub-Band**: 672 672 673 673 AU915 and US915:value 0x00 ~~ 0x08 674 674 ... ... @@ -677,7 +677,7 @@ 677 677 Other Bands: Always 0x00 678 678 679 679 680 -**Battery Info**: 680 +**(% style="color:#037691" %)Battery Info**: 681 681 682 682 Check the battery voltage. 683 683 ... ... @@ -703,7 +703,7 @@ 703 703 Battery(mV) 704 704 & 705 705 Interrupt_Flag 706 -)))|(% style="width:70px" %)[[PAYLOAD_VER>> path:#Probe_Model]]|(% style="width:234px" %)(((706 +)))|(% style="width:70px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:234px" %)((( 707 707 If the valid payload is too long and exceed the maximum support. 708 708 Payload length in server,server will show payload not provided in the LoRaWAN server. 709 709 ))) ... ... @@ -724,7 +724,7 @@ 724 724 === 2.4.4 Interrupt Pin === 725 725 726 726 727 -This data field shows if this packet is generated by **Interrupt Pin** or not. [[Click here>> path:#Int_mod]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>path:#pins]].727 +This data field shows if this packet is generated by **Interrupt Pin** or not. [[Click here>>||anchor="H3.2SetInterruptMode"]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>||anchor="H1.7PinMapping"]]. 728 728 729 729 **Example:** 730 730