Last modified by Mengting Qiu on 2025/07/03 15:42

From version 26.1
edited by Xiaoling
on 2023/02/01 09:23
Change comment: Uploaded new attachment "image-20230201092355-16.png", version {1}
To version 37.2
edited by Xiaoling
on 2023/02/01 10:02
Change comment: There is no comment for this version

Summary

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 :  **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)
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 -aMC!: Start Non-Concurrent Measurement – Request CRC
287 +**aM! **: Start Non-Concurrent Measurement
290 290  
291 -aM1!- aM9!: Additional Measurements
289 +**aMC! **: Start Non-Concurrent Measurement – Request CRC
292 292  
293 -aMC1!- aMC9!: Additional Measurements – Request CRC
291 +**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!: Start Concurrent Measurement – Request CRC
320 +==== **aC!, aCC! aC1!- aC9!,  aCC1!- aCC9! ** ====
323 323  
324 -aC1!- aC9!: Start Additional Concurrent Measurements
325 325  
326 -aCC1!- aCC9!: Start Additional Concurrent Measurements – Request CRC
323 +**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 -aR0!- 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: dont 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 from String to ASCII
434 +**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: Dont 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  No validation check;
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 -**AF 03 01 07 30 4D 43 21 01 01 01 00**: 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 dont 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 dont 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 - * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
604 +**~ When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**
593 593  
594 - * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid 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 maximum number of segments is 15, and the 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