Changes for page SDI-12-LB/LS -- SDI-12 to LoRaWAN Converter User Manual
Last modified by Mengting Qiu on 2025/07/03 15:42
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 11 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -244,7 +244,7 @@ 244 244 User need to configure SDI-12-LB to communicate with SDI-12 sensors otherwise the uplink payload will only include a few bytes. 245 245 246 246 247 -=== 2.3.1 Basic SDI-12 debug command ===247 +=== 2.3.1 Basic SDI-12 debug command === 248 248 249 249 250 250 User can run some basic SDI-12 command to debug the connection to the SDI-12 sensor. These commands can be sent via AT Command or LoRaWAN downlink command. ... ... @@ -269,13 +269,12 @@ 269 269 270 270 **Parameter: **aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command) 271 271 272 -**Example : 272 +**Example : **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 273 273 274 274 275 275 The following is the display information on the serial port and the server. 276 276 277 277 278 - 279 279 [[image:image-20230201091257-8.png]] 280 280 281 281 ... ... @@ -282,50 +282,54 @@ 282 282 [[image:image-20230201091257-9.png||height="225" width="1242"]] 283 283 284 284 285 -aM!,aMC!, aM1!- aM9!, aMC1!- aMC9! 284 +==== **aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ==== 286 286 287 -aM!: Start Non-Concurrent Measurement 288 288 289 -aM C!: Start Non-Concurrent Measurement– Request CRC287 +**aM! **: Start Non-Concurrent Measurement 290 290 291 -aM 1!-aM9!:AdditionalMeasurements289 +**aMC! **: Start Non-Concurrent Measurement – Request CRC 292 292 293 -aM C1!- aMC9!: Additional Measurements– Request CRC291 +**aM1!- aM9! **: Additional Measurements 294 294 293 +**aMC1!- aMC9!** : Additional Measurements – Request CRC 295 295 295 + 296 296 * AT Command : AT+ADDRM=0,1,0,1 297 297 * LoRaWAN Downlink(prefix 0xAA01): 0xAA 01 30 01 00 01 298 298 299 299 Downlink:AA 01 aa bb cc dd 300 300 301 -aa: SDI-12 sensor address. 301 +**aa**: SDI-12 sensor address. 302 302 303 -bb: 0: no CRC, 1: request CRC 303 +**bb**: 0: no CRC, 1: request CRC 304 304 305 -cc: 1-9: Additional Measurement, 0: no additional measurement 305 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 306 306 307 -dd: delay (in second) to send **aD0!** to get return. 307 +**dd**: delay (in second) to send **aD0!** to get return. 308 308 309 309 310 310 The following is the display information on the serial port and the server. 311 311 312 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]] 313 313 314 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]313 +[[image:image-20230201091630-10.png]] 315 315 316 316 316 +[[image:image-20230201091630-11.png||height="247" width="1165"]] 317 317 318 -aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! 319 319 320 -aC!: Start Concurrent Measurement 321 321 322 -aCC! :StartConcurrentMeasurement– RequestCRC320 +==== **aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! ** ==== 323 323 324 -aC1!- aC9!: Start Additional Concurrent Measurements 325 325 326 -aC C1!-aCC9!: StartAdditionalConcurrent Measurements – Request CRC323 +**aC!** : Start Concurrent Measurement 327 327 325 +**aCC!** : Start Concurrent Measurement – Request CRC 328 328 327 +**aC1!- aC9!** : Start Additional Concurrent Measurements 328 + 329 +**aCC1!- aCC9!** : Start Additional Concurrent Measurements – Request CRC 330 + 331 + 329 329 * AT Command : AT+ADDRC=0,1,0,1 330 330 331 331 * LoRaWAN Downlink(0xAA02): 0xAA 02 30 01 00 01 ... ... @@ -332,24 +332,29 @@ 332 332 333 333 Downlink: AA 02 aa bb cc dd 334 334 335 -aa: SDI-12 sensor address. 338 +**aa**: SDI-12 sensor address. 336 336 337 -bb: 0: no CRC, 1: request CRC 340 +**bb**: 0: no CRC, 1: request CRC 338 338 339 -cc: 1-9: Additional Measurement, 0: no additional measurement 342 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 340 340 341 -dd: delay (in second) to send **aD0!** to get return. 344 +**dd**: delay (in second) to send **aD0!** to get return. 342 342 343 343 344 344 The following is the display information on the serial port and the server. 345 345 346 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]] 347 347 348 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]]350 +[[image:image-20230201091954-12.png]] 349 349 350 350 351 -a R0!-aR9!, aRC0!-aRC9!353 +[[image:image-20230201091954-13.png||height="203" width="1117"]] 352 352 355 + 356 +(% style="display:none" %) (%%) 357 + 358 +==== **aR0!- aR9!, aRC0!- aRC9!** ==== 359 + 360 + 353 353 Start Continuous Measurement 354 354 355 355 Start Continuous Measurement – Request CRC ... ... @@ -360,46 +360,48 @@ 360 360 361 361 Downlink: AA 03 aa bb cc dd 362 362 363 -aa: SDI-12 sensor address. 371 +**aa**: SDI-12 sensor address. 364 364 365 -bb: 0: no CRC, 1: request CRC 373 +**bb**: 0: no CRC, 1: request CRC 366 366 367 -cc: 1-9: Additional Measurement, 0: no additional measurement 375 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 368 368 369 -dd: delay (in second) to send **aD0!** to get return. 377 +**dd**: delay (in second) to send **aD0!** to get return. 370 370 371 371 372 372 The following is the display information on the serial port and the server. 373 373 374 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]] 375 375 376 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]] 377 377 378 -1. 379 -11. 380 -111. Advance SDI-12 Debug command 384 +[[image:image-20230201092208-14.png]] 381 381 386 + 387 +[[image:image-20230201092208-15.png||height="214" width="1140"]] 388 + 389 + 390 +=== 2.3.2 Advance SDI-12 Debug command === 391 + 392 + 382 382 This command can be used to debug all SDI-12 command. 383 383 384 384 385 385 LoRaWAN Downlink: A8 aa xx xx xx xx bb cc 386 386 387 - (aa: total SDI-12 command length)398 +**aa **: total SDI-12 command length 388 388 389 - (xx: SDI-12 command)400 +**xx **: SDI-12 command 390 390 391 - (bb: Delay to wait for return)402 +**bb **: Delay to wait for return 392 392 393 - (cc: 0: don’t uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100)404 +**cc **: 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100 394 394 395 395 396 -Example: AT+CFGDEV =0RC0!,1 407 +**Example: **AT+CFGDEV =0RC0!,1 397 397 398 -0RC0!: SDI-12 Command, 409 +**0RC0! **: SDI-12 Command, 399 399 400 -1: Delay 1 second. ( 0: 810 mini-second) 411 +**1 **: Delay 1 second. ( 0: 810 mini-second) 401 401 402 - 403 403 Equal Downlink: 0xA8 05 30 52 43 30 21 01 01 404 404 405 405 ... ... @@ -406,36 +406,37 @@ 406 406 The following is the display information on the serial port and the server. 407 407 408 408 409 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]419 +[[image:image-20230201092355-16.png]] 410 410 411 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]] 412 412 413 -1. 414 -11. 415 -111. Convert ASCII to String 422 +[[image:image-20230201092355-17.png||height="426" width="1135"]] 416 416 417 - This command is used to convert between ASCII and String format.424 + 418 418 426 +=== 2.3.3 Convert ASCII to String === 419 419 428 + 429 +This command is used to convert between ASCII and String format. 430 + 420 420 AT+CONVFORM ( Max length: 80 bytes) 421 421 422 -Example: 423 423 424 - 1)AT+CONVFORM=0,string Convert String fromString to ASCII434 +**Example:** 425 425 426 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]]436 +1) AT+CONVFORM=0, string Convert String from String to ASCII 427 427 438 +[[image:1675214845056-885.png]] 428 428 429 -2)AT+CONVFORM=1,ASCII Convert ASCII to String. 430 430 431 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png]]441 +2) AT+CONVFORM=1, ASCII Convert ASCII to String. 432 432 443 +[[image:1675214856590-846.png]] 433 433 445 + 434 434 435 -1. 436 -11. 437 -111. Define periodically SDI-12 commands and uplink. 447 +=== 2.3.4 Define periodically SDI-12 commands and uplink. === 438 438 449 + 439 439 AT+COMMANDx & AT+DATACUTx 440 440 441 441 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. ... ... @@ -445,21 +445,21 @@ 445 445 446 446 **AT+COMMANDx=var1,var2,var3,var4.** 447 447 448 -var1: SDI-12 command , for example: 0RC0! 459 +**var1**: SDI-12 command , for example: 0RC0! 449 449 450 -var2: Wait timeout for return. (unit: second) 461 +**var2**: Wait timeout for return. (unit: second) 451 451 452 -var3: Whether to send //addrD0!// to get return after var2 timeout. 0: Don ’t Send //addrD0!//; 1: Send //addrD0!//.463 +**var3**: Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. 453 453 454 -var4: validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries. 465 +**var4**: validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries. 455 455 456 -0 467 +**0 ** No validation check; 457 457 458 -1 Check if return chars are printable char(0x20 ~~ 0x7E); 469 +**1** Check if return chars are printable char(0x20 ~~ 0x7E); 459 459 460 -2 Check if there is return from SDI-12 sensor 471 +**2** Check if there is return from SDI-12 sensor 461 461 462 -3 Check if return pass CRC check ( SDI-12 command var1 must include CRC request); 473 +**3** Check if return pass CRC check ( SDI-12 command var1 must include CRC request); 463 463 464 464 465 465 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. ... ... @@ -467,23 +467,25 @@ 467 467 468 468 **AT+DATACUTx** : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 469 469 470 -|((( 471 -AT+DATACUTx=a,b,c 481 +(% border="1" style="background-color:#f7faff; width:436px" %) 482 +|(% style="width:433px" %)((( 483 +**AT+DATACUTx=a,b,c** 472 472 473 -a: length for the return of AT+COMMAND 485 +**a**: length for the return of AT+COMMAND 474 474 475 -b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections. 487 +**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections. 476 476 477 -c: define the position for valid value. 489 +**c**: define the position for valid value. 478 478 ))) 479 479 480 -For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895” , .Below AT+DATACUT1 will get different result to combine payload:492 +For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895” , Below AT+DATACUT1 will get different result to combine payload: 481 481 482 482 483 -|AT+DATACUT1 value|Final Result to combine Payload 484 -|34,1,1+2+3|0D 00 01 30 31 33 485 -|34,2,1~~8+12~~16|0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32 486 -|34,2,1~~34|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 495 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 496 +|(% style="width:170px" %)**AT+DATACUT1 value**|(% style="width:338px" %)**Final Result to combine Payload** 497 +|(% style="width:170px" %)34,1,1+2+3|(% style="width:338px" %)0D 00 01 30 31 33 498 +|(% 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 499 +|(% 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 487 487 488 488 * ** Downlink Payload:** 489 489 ... ... @@ -497,21 +497,17 @@ 497 497 498 498 Where: 499 499 500 -* MM: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 501 -* NN: 1: set the AT+DATACUT value ; 2: set the AT+DATACUT value. 502 -* LL: The length of AT+COMMAND or AT+DATACUT command 503 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command 504 -* 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. 513 +* **MM **: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 514 +* **NN **: 1: set the AT+DATACUT value ; 2: set the AT+DATACUT value. 515 +* **LL **: The length of AT+COMMAND or AT+DATACUT command 516 +* **XX XX XX XX **: AT+COMMAND or AT+DATACUT command 517 +* **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. 505 505 506 -Example: 519 +**Example:** 507 507 508 - **AF031 07 30 4D 4321010100**: Same as AT+COMMAND3=**0MC!**,** 1**,** 1**,** 1**521 +[[image:image-20230201094129-18.png]] 509 509 510 -**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10** 511 511 512 -**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10** 513 - 514 - 515 515 **Clear SDI12 Command** 516 516 517 517 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. ... ... @@ -531,23 +531,22 @@ 531 531 532 532 533 533 534 - 535 535 **command combination** 536 536 537 537 Below shows a screen shot how the results combines together to a uplink payload. 538 538 539 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image029.png]]547 +[[image:1675215745275-920.png]] 540 540 541 541 542 -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 +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. 543 543 544 -**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 +**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. 545 545 546 546 547 -For example: as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result. 555 +**For example: ** as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result. 548 548 549 549 550 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png]]558 +[[image:1675215782925-448.png]] 551 551 552 552 553 553 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. ... ... @@ -556,6 +556,7 @@ 556 556 557 557 **Compose Uplink** 558 558 567 + 559 559 **AT+DATAUP=0** 560 560 561 561 Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK. ... ... @@ -565,7 +565,7 @@ 565 565 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 566 566 567 567 568 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image031.png]]577 +[[image:1675215828102-844.png]] 569 569 570 570 571 571 **AT+DATAUP=1** ... ... @@ -574,7 +574,7 @@ 574 574 575 575 Final Payload is 576 576 577 -**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 586 +__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__ 578 578 579 579 1. Battery Info (2 bytes): Battery voltage 580 580 1. PAYVER (1 byte): Defined by AT+PAYVER ... ... @@ -582,26 +582,24 @@ 582 582 1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 583 583 1. 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 584 584 585 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png]]594 +[[image:1675215848113-696.png]] 586 586 587 587 588 588 **Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** 589 589 590 - ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 599 +* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 600 +* For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 601 +* For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 602 +* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 591 591 592 - ForAU915/AS923 bands,if UplinkDwelltime=1,max11bytesforeach uplink(so11 -5=6maxvaliddate).604 +**~ When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;** 593 593 594 - ForUS915band, max11bytesforeachuplink(so11-5=6maxvalid date).606 +**~ When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.** 595 595 596 - ~* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 597 597 598 - ***When AT+DATAUP=1, the maximumnumberof segments is 15,andthe maximum total number of bytes is 1500;**609 +== 2.4 Uplink Payload == 599 599 600 -**~ When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.** 601 601 602 -1. 603 -11. Uplink Payload 604 - 605 605 Uplink payloads have two types: 606 606 607 607 * Distance Value: Use FPORT=2 ... ... @@ -610,24 +610,23 @@ 610 610 The application server should parse the correct value based on FPORT settings. 611 611 612 612 613 -1. 614 -11. 615 -111. Device Payload, FPORT=5 620 +=== 2.4.1 Device Payload, FPORT~=5 === 616 616 622 + 617 617 Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server. 618 618 619 - 620 620 Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink. 621 621 627 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 628 +|(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)** 629 +|(% style="width:102px" %)**Size (bytes)**|(% style="width:67px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:52px" %)**1**|(% style="width:44px" %)**2** 630 +|(% style="width:102px" %)**Value**|(% style="width:67px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:89px" %)Frequency Band|(% style="width:52px" %)Sub-band|(% style="width:44px" %)BAT 622 622 623 -|(% colspan="6" %)**Device Status (FPORT=5)** 624 -|**Size (bytes)**|**1**|**2**|**1**|**1**|**2** 625 -|**Value**|Sensor Model|Firmware Version|Frequency Band|Sub-band|BAT 626 - 627 627 Example parse in TTNv3 628 628 629 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png]]634 +[[image:1675215946738-635.png]] 630 630 636 + 631 631 **Sensor Model**: For SDI-12-LB, this value is 0x17 632 632 633 633 **Firmware Version**: 0x0100, Means: v1.0.0 version ... ... @@ -681,10 +681,9 @@ 681 681 Ex2: 0x0B49 = 2889mV 682 682 683 683 684 -1. 685 -11. 686 -111. Uplink Payload, FPORT=2 690 +=== 2.4.2 Uplink Payload, FPORT~=2 === 687 687 692 + 688 688 There are different cases for uplink. See below 689 689 690 690 * SDI-12 Debug Command return: FPORT=100 ... ... @@ -691,30 +691,24 @@ 691 691 692 692 * Periodically Uplink: FPORT=2 693 693 694 -|((( 695 -**Size** 696 - 697 -**(bytes)** 698 -)))|**2**|**1**|**Length depends on the return from the commands** 699 -|**Value**|((( 699 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 700 +|(% style="width:93px" %)((( 701 +**Size(bytes)** 702 +)))|(% style="width:83px" %)**2**|(% style="width:70px" %)**1**|(% style="width:234px" %)**Length depends on the return from the commands** 703 +|(% style="width:93px" %)**Value**|(% style="width:83px" %)((( 700 700 Battery(mV) 701 - 702 702 & 703 - 704 704 Interrupt_Flag 705 -)))|[[PAYLOAD_VER>>path:#Probe_Model]]|((( 706 -If the valid payload is too long and exceed the maximum support 707 - 707 +)))|(% style="width:70px" %)[[PAYLOAD_VER>>path:#Probe_Model]]|(% style="width:234px" %)((( 708 +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 ))) 710 710 711 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]]712 +[[image:1675216282284-923.png]] 712 712 713 713 715 +=== 2.4.3 Battery Info === 714 714 715 -1. 716 -11. 717 -111. Battery Info 718 718 719 719 Check the battery voltage for SDI-12-LB. 720 720 ... ... @@ -723,216 +723,37 @@ 723 723 Ex2: 0x0B49 = 2889mV 724 724 725 725 726 -1. 727 -11. 728 -111. Interrupt Pin 725 +=== 2.4.4 Interrupt Pin === 729 729 727 + 730 730 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]]. 731 731 730 +**Example:** 732 732 733 -Example: 734 - 735 735 Ex1: 0x0B45:0x0B&0x80= 0x00 Normal uplink packet. 736 736 737 737 Ex2: 0x8B49:0x8B&0x80= 0x80 Interrupt Uplink Packet. 738 738 739 739 740 -1. 741 -11. 742 -111. Payload version 737 +=== 2.4.5 Payload version === 743 743 744 744 745 745 741 +=== 2.4.6 Decode payload in The Things Network === 746 746 747 747 748 -1. 749 -11. 750 -111. Decode payload in The Things Network 751 - 752 752 While using TTN network, you can add the payload format to decode the payload. 753 753 754 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]]746 +[[image:1675216779406-595.png]] 755 755 756 756 757 757 There is no fix payload decoder in LoRaWAN server because the SDI-12 sensors returns are different. User need to write the decoder themselves for their case. 758 758 751 +SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 759 759 760 -下面的解码生成超链接放进去. 761 761 762 -function Decoder(bytes, port) { 763 763 764 - if(port==5) 765 - 766 - { 767 - 768 - var freq_band; 769 - 770 - var sub_band; 771 - 772 - var sensor; 773 - 774 - 775 - if(bytes[0]==0x17) 776 - 777 - sensor= "SDI12-LB"; 778 - 779 - 780 - var firm_ver= (bytes[1]&0x0f)+'.'+(bytes[2]>>4&0x0f)+'.'+(bytes[2]&0x0f); 781 - 782 - 783 - if(bytes[3]==0x01) 784 - 785 - freq_band="EU868"; 786 - 787 - else if(bytes[3]==0x02) 788 - 789 - freq_band="US915"; 790 - 791 - else if(bytes[3]==0x03) 792 - 793 - freq_band="IN865"; 794 - 795 - else if(bytes[3]==0x04) 796 - 797 - freq_band="AU915"; 798 - 799 - else if(bytes[3]==0x05) 800 - 801 - freq_band="KZ865"; 802 - 803 - else if(bytes[3]==0x06) 804 - 805 - freq_band="RU864"; 806 - 807 - else if(bytes[3]==0x07) 808 - 809 - freq_band="AS923"; 810 - 811 - else if(bytes[3]==0x08) 812 - 813 - freq_band="AS923_1"; 814 - 815 - else if(bytes[3]==0x09) 816 - 817 - freq_band="AS923_2"; 818 - 819 - else if(bytes[3]==0x0A) 820 - 821 - freq_band="AS923_3"; 822 - 823 - else if(bytes[3]==0x0F) 824 - 825 - freq_band="AS923_4"; 826 - 827 - else if(bytes[3]==0x0B) 828 - 829 - freq_band="CN470"; 830 - 831 - else if(bytes[3]==0x0C) 832 - 833 - freq_band="EU433"; 834 - 835 - else if(bytes[3]==0x0D) 836 - 837 - freq_band="KR920"; 838 - 839 - else if(bytes[3]==0x0E) 840 - 841 - freq_band="MA869"; 842 - 843 - 844 - if(bytes[4]==0xff) 845 - 846 - sub_band="NULL"; 847 - 848 - else 849 - 850 - sub_band=bytes[4]; 851 - 852 - 853 - var bat= (bytes[5]<<8 | bytes[6])/1000; 854 - 855 - 856 - return { 857 - 858 - SENSOR_MODEL:sensor, 859 - 860 - FIRMWARE_VERSION:firm_ver, 861 - 862 - FREQUENCY_BAND:freq_band, 863 - 864 - SUB_BAND:sub_band, 865 - 866 - BAT:bat, 867 - 868 - } 869 - 870 - } 871 - 872 - else if(port==100) 873 - 874 - { 875 - 876 - var datas_sum={}; 877 - 878 - for(var j=0;j<bytes.length;j++) 879 - 880 - { 881 - 882 - var datas= String.fromCharCode(bytes[j]); 883 - 884 - if(j=='0') 885 - 886 - datas_sum.datas_sum=datas; 887 - 888 - else 889 - 890 - datas_sum.datas_sum+=datas; 891 - 892 - } 893 - 894 - 895 - return datas_sum; 896 - 897 - } 898 - 899 - else 900 - 901 - { 902 - 903 - var decode={}; 904 - 905 - decode.EXTI_Trigger= (bytes[0] & 0x80)? "TRUE":"FALSE"; 906 - 907 - decode.BatV= ((bytes[0]<<8 | bytes[1])&0x7FFF)/1000; 908 - 909 - decode.Payver= bytes[2]; 910 - 911 - for(var i=3;i<bytes.length;i++) 912 - 913 - { 914 - 915 - var data= String.fromCharCode(bytes[i]); 916 - 917 - if(i=='3') 918 - 919 - decode.data_sum=data; 920 - 921 - else 922 - 923 - decode.data_sum+=data; 924 - 925 - } 926 - 927 - return decode; 928 - 929 - } 930 - 931 - 932 -} 933 - 934 - 935 -1. 755 +1. 936 936 11. Uplink Interval 937 937 938 938 The SDI-12-LB by default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link: ... ... @@ -941,7 +941,7 @@ 941 941 942 942 943 943 944 -1. 764 +1. 945 945 11. Frequency Plans 946 946 947 947 The SDI12-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets. ... ... @@ -951,7 +951,7 @@ 951 951 952 952 953 953 954 -1. 774 +1. 955 955 11. Firmware Change Log 956 956 957 957 **Firmware download link:** ... ... @@ -990,7 +990,7 @@ 990 990 991 991 992 992 993 -1. 813 +1. 994 994 11. Set Transmit Interval Time 995 995 996 996 Feature: Change LoRaWAN End Node Transmit Interval. ... ... @@ -1020,7 +1020,7 @@ 1020 1020 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 1021 1021 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 1022 1022 1023 -1. 843 +1. 1024 1024 11. Set Interrupt Mode 1025 1025 1026 1026 Feature, Set Interrupt mode for GPIO_EXIT. ... ... @@ -1053,7 +1053,7 @@ 1053 1053 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 1054 1054 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 1055 1055 1056 -1. 876 +1. 1057 1057 11. Set the output time 1058 1058 1059 1059 Feature, Control the output 3V3 , 5V or 12V. ... ... @@ -1134,7 +1134,7 @@ 1134 1134 * Example 5: Downlink Payload: 070301F4 -> AT+12VT=500 1135 1135 * Example 6: Downlink Payload: 07030000 -> AT+12VT=0 1136 1136 1137 -1. 957 +1. 1138 1138 11. Set the all data mode 1139 1139 1140 1140 Feature, Set the all data mode. ... ... @@ -1157,7 +1157,7 @@ 1157 1157 * Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 1158 1158 * Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 1159 1159 1160 -1. 980 +1. 1161 1161 11. Set the splicing payload for uplink 1162 1162 1163 1163 Feature, splicing payload for uplink. ... ... @@ -1198,7 +1198,7 @@ 1198 1198 This means that the interval is set to 0x000014=20S 1199 1199 1200 1200 1201 -1. 1021 +1. 1202 1202 11. Set the payload version 1203 1203 1204 1204 Feature, Set the payload version. ... ... @@ -1237,7 +1237,7 @@ 1237 1237 SDI-12-LB: 2.45v ~~ 3.6v 1238 1238 1239 1239 1240 -1. 1060 +1. 1241 1241 11. Replace Battery 1242 1242 1243 1243 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery. ... ... @@ -1246,7 +1246,7 @@ 1246 1246 1247 1247 1248 1248 1249 -1. 1069 +1. 1250 1250 11. Power Consumption Analyze 1251 1251 1252 1252 Dragino Battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval. ... ... @@ -1286,14 +1286,14 @@ 1286 1286 1287 1287 1288 1288 1. 1289 -11. 1109 +11. 1290 1290 111. Battery Note 1291 1291 1292 1292 The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased. 1293 1293 1294 1294 1295 -1. 1296 -11. 1115 +1. 1116 +11. 1297 1297 111. Replace the battery 1298 1298 1299 1299 You can change the battery in the SDI-12-LB.The type of battery is not limited as long as the output is between 3v to 3.6v. On the main board, there is a diode (D1) between the battery and the main circuit. If you need to use a battery with less than 3.3v, please remove the D1 and shortcut the two pads of it so there won’t be voltage drop between battery and main board. ... ... @@ -1314,7 +1314,7 @@ 1314 1314 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]] 1315 1315 1316 1316 1317 -1. 1137 +1. 1318 1318 11. AT Command Set 1319 1319 1320 1320 1. OTA firmware update ... ... @@ -1347,7 +1347,6 @@ 1347 1347 * Weight / pcs : g 1348 1348 1349 1349 1350 - 1351 1351 1. Support 1352 1352 1353 1353 * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
- 1675214845056-885.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +20.4 KB - Content
- 1675214856590-846.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +18.6 KB - Content
- 1675215745275-920.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +187.6 KB - Content
- 1675215782925-448.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +142.5 KB - Content
- 1675215828102-844.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +231.3 KB - Content
- 1675215848113-696.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +50.5 KB - Content
- 1675215946738-635.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +38.4 KB - Content
- 1675216282284-923.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +47.0 KB - Content
- 1675216779406-595.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +59.2 KB - Content
- image-20230201092355-17.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +80.0 KB - Content
- image-20230201094129-18.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +12.8 KB - Content