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, 18 added, 0 removed)
- 1675214845056-885.png
- 1675214856590-846.png
- 1675215745275-920.png
- 1675215782925-448.png
- 1675215828102-844.png
- 1675215848113-696.png
- 1675215946738-635.png
- 1675216282284-923.png
- 1675216779406-595.png
- image-20230201091630-10.png
- image-20230201091630-11.png
- image-20230201091954-12.png
- image-20230201091954-13.png
- image-20230201092208-14.png
- image-20230201092208-15.png
- image-20230201092355-16.png
- image-20230201092355-17.png
- image-20230201094129-18.png
Details
- Page properties
-
- Content
-
... ... @@ -170,23 +170,21 @@ 170 170 [[image:image-20230201090139-4.png]] 171 171 172 172 173 += 2. Configure SDI-12 to connect to LoRaWAN network = 173 173 175 +== 2.1 How it works == 174 174 175 175 176 - 177 -1. Configure SDI-12 to connect to LoRaWAN network 178 -11. How it works 179 - 180 180 The SDI-12-LB is configured as **LoRaWAN OTAA Class A** mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and activate the SDI-12-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. 181 181 182 182 183 -1. 184 -11. Quick guide to connect to LoRaWAN server (OTAA) 181 +== 2.2 Quick guide to connect to LoRaWAN server (OTAA) == 185 185 183 + 186 186 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example. 187 187 188 188 189 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png]]187 +[[image:image-20230201090528-5.png||height="465" width="1111"]] 190 190 191 191 192 192 The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server. ... ... @@ -197,7 +197,7 @@ 197 197 Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 198 198 199 199 200 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image009.png]]198 +[[image:image-20230131134744-2.jpeg]] 201 201 202 202 203 203 ... ... @@ -208,24 +208,24 @@ 208 208 209 209 **Register the device** 210 210 211 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image010.png]]209 +[[image:1675213652444-622.png]] 212 212 213 213 214 214 **Add APP EUI and DEV EUI** 215 215 216 216 217 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png]]215 +[[image:1675213661769-223.png]] 218 218 219 219 220 220 **Add APP EUI in the application** 221 221 222 222 223 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png]]221 +[[image:1675213675852-577.png]] 224 224 225 225 226 226 **Add APP KEY** 227 227 228 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png]]226 +[[image:1675213686734-883.png]] 229 229 230 230 231 231 **Step 2**: Activate on SDI-12-LB ... ... @@ -237,97 +237,100 @@ 237 237 **Green led** will fast blink 5 times, device will enter **OTA mode** for 3 seconds. And then start to JOIN LoRaWAN network. **Green led** will solidly turn on for 5 seconds after joined in network. 238 238 239 239 240 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png]]238 +[[image:1675213704414-644.png]] 241 241 242 242 241 +== 2.3 SDI-12 Related Commands == 243 243 244 244 245 - 246 -1. 247 -11. SDI-12 Related Commands 248 - 249 249 User need to configure SDI-12-LB to communicate with SDI-12 sensors otherwise the uplink payload will only include a few bytes. 250 250 251 251 252 -1. 253 -11. 254 -111. Basic SDI-12 debug command 247 +=== 2.3.1 Basic SDI-12 debug command === 255 255 249 + 256 256 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. 257 257 258 - 259 259 If SDI-12 sensor return value after get these commands, //SDI-12-LB// will uplink the return on FPORT=100, otherwise, if there is no response from SDI-12 sensor. //SDI-12-LB// will uplink NULL (0x 4E 55 4C 4C) to server. 260 260 261 - 262 262 The following is the display information on the serial port and the server. 263 263 264 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png]] 265 265 266 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png]] 267 267 268 -a l! ~-~- Get SDI-12sensor Identification258 +[[image:image-20230201091027-6.png]] 269 269 260 + 261 +[[image:image-20230201091027-7.png||height="261" width="1179"]] 262 + 263 + 264 +==== **al! ~-~- Get SDI-12 sensor Identification** ==== 265 + 266 + 270 270 * AT Command: AT+ADDRI=aa 271 271 * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa 272 272 273 -Parameter: aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command) 270 +**Parameter: **aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command) 274 274 275 -Example : AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 272 +**Example : **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 276 276 277 277 278 - 279 279 The following is the display information on the serial port and the server. 280 280 281 281 282 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png]]278 +[[image:image-20230201091257-8.png]] 283 283 284 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png]] 285 285 281 +[[image:image-20230201091257-9.png||height="225" width="1242"]] 286 286 287 -aM!,aMC!, aM1!- aM9!, aMC1!- aMC9! 288 288 289 -aM! : StartNon-ConcurrentMeasurement284 +==== **aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ==== 290 290 291 -aMC!: Start Non-Concurrent Measurement – Request CRC 292 292 293 -aM 1!-aM9!:AdditionalMeasurements287 +**aM! **: Start Non-Concurrent Measurement 294 294 295 -aMC 1!-aMC9!:AdditionalMeasurements– Request CRC289 +**aMC! **: Start Non-Concurrent Measurement – Request CRC 296 296 291 +**aM1!- aM9! **: Additional Measurements 297 297 293 +**aMC1!- aMC9!** : Additional Measurements – Request CRC 294 + 295 + 298 298 * AT Command : AT+ADDRM=0,1,0,1 299 299 * LoRaWAN Downlink(prefix 0xAA01): 0xAA 01 30 01 00 01 300 300 301 301 Downlink:AA 01 aa bb cc dd 302 302 303 -aa: SDI-12 sensor address. 301 +**aa**: SDI-12 sensor address. 304 304 305 -bb: 0: no CRC, 1: request CRC 303 +**bb**: 0: no CRC, 1: request CRC 306 306 307 -cc: 1-9: Additional Measurement, 0: no additional measurement 305 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 308 308 309 -dd: delay (in second) to send **aD0!** to get return. 307 +**dd**: delay (in second) to send **aD0!** to get return. 310 310 311 311 312 312 The following is the display information on the serial port and the server. 313 313 314 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]] 315 315 316 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]313 +[[image:image-20230201091630-10.png]] 317 317 318 318 316 +[[image:image-20230201091630-11.png||height="247" width="1165"]] 319 319 320 -aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! 321 321 322 -aC!: Start Concurrent Measurement 323 323 324 -aCC! :StartConcurrentMeasurement– RequestCRC320 +==== **aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! ** ==== 325 325 326 -aC1!- aC9!: Start Additional Concurrent Measurements 327 327 328 -aC C1!-aCC9!: StartAdditionalConcurrent Measurements – Request CRC323 +**aC!** : Start Concurrent Measurement 329 329 325 +**aCC!** : Start Concurrent Measurement – Request CRC 330 330 327 +**aC1!- aC9!** : Start Additional Concurrent Measurements 328 + 329 +**aCC1!- aCC9!** : Start Additional Concurrent Measurements – Request CRC 330 + 331 + 331 331 * AT Command : AT+ADDRC=0,1,0,1 332 332 333 333 * LoRaWAN Downlink(0xAA02): 0xAA 02 30 01 00 01 ... ... @@ -334,24 +334,29 @@ 334 334 335 335 Downlink: AA 02 aa bb cc dd 336 336 337 -aa: SDI-12 sensor address. 338 +**aa**: SDI-12 sensor address. 338 338 339 -bb: 0: no CRC, 1: request CRC 340 +**bb**: 0: no CRC, 1: request CRC 340 340 341 -cc: 1-9: Additional Measurement, 0: no additional measurement 342 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 342 342 343 -dd: delay (in second) to send **aD0!** to get return. 344 +**dd**: delay (in second) to send **aD0!** to get return. 344 344 345 345 346 346 The following is the display information on the serial port and the server. 347 347 348 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]] 349 349 350 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]]350 +[[image:image-20230201091954-12.png]] 351 351 352 352 353 -a R0!-aR9!, aRC0!-aRC9!353 +[[image:image-20230201091954-13.png||height="203" width="1117"]] 354 354 355 + 356 +(% style="display:none" %) (%%) 357 + 358 +==== **aR0!- aR9!, aRC0!- aRC9!** ==== 359 + 360 + 355 355 Start Continuous Measurement 356 356 357 357 Start Continuous Measurement – Request CRC ... ... @@ -362,46 +362,48 @@ 362 362 363 363 Downlink: AA 03 aa bb cc dd 364 364 365 -aa: SDI-12 sensor address. 371 +**aa**: SDI-12 sensor address. 366 366 367 -bb: 0: no CRC, 1: request CRC 373 +**bb**: 0: no CRC, 1: request CRC 368 368 369 -cc: 1-9: Additional Measurement, 0: no additional measurement 375 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 370 370 371 -dd: delay (in second) to send **aD0!** to get return. 377 +**dd**: delay (in second) to send **aD0!** to get return. 372 372 373 373 374 374 The following is the display information on the serial port and the server. 375 375 376 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]] 377 377 378 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]] 379 379 380 -1. 381 -11. 382 -111. Advance SDI-12 Debug command 384 +[[image:image-20230201092208-14.png]] 383 383 386 + 387 +[[image:image-20230201092208-15.png||height="214" width="1140"]] 388 + 389 + 390 +=== 2.3.2 Advance SDI-12 Debug command === 391 + 392 + 384 384 This command can be used to debug all SDI-12 command. 385 385 386 386 387 387 LoRaWAN Downlink: A8 aa xx xx xx xx bb cc 388 388 389 - (aa: total SDI-12 command length)398 +**aa **: total SDI-12 command length 390 390 391 - (xx: SDI-12 command)400 +**xx **: SDI-12 command 392 392 393 - (bb: Delay to wait for return)402 +**bb **: Delay to wait for return 394 394 395 - (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 396 396 397 397 398 -Example: AT+CFGDEV =0RC0!,1 407 +**Example: **AT+CFGDEV =0RC0!,1 399 399 400 -0RC0!: SDI-12 Command, 409 +**0RC0! **: SDI-12 Command, 401 401 402 -1: Delay 1 second. ( 0: 810 mini-second) 411 +**1 **: Delay 1 second. ( 0: 810 mini-second) 403 403 404 - 405 405 Equal Downlink: 0xA8 05 30 52 43 30 21 01 01 406 406 407 407 ... ... @@ -408,36 +408,37 @@ 408 408 The following is the display information on the serial port and the server. 409 409 410 410 411 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]419 +[[image:image-20230201092355-16.png]] 412 412 413 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]] 414 414 415 -1. 416 -11. 417 -111. Convert ASCII to String 422 +[[image:image-20230201092355-17.png||height="426" width="1135"]] 418 418 419 - This command is used to convert between ASCII and String format.424 + 420 420 426 +=== 2.3.3 Convert ASCII to String === 421 421 428 + 429 +This command is used to convert between ASCII and String format. 430 + 422 422 AT+CONVFORM ( Max length: 80 bytes) 423 423 424 -Example: 425 425 426 - 1)AT+CONVFORM=0,string Convert String fromString to ASCII434 +**Example:** 427 427 428 - [[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 429 429 438 +[[image:1675214845056-885.png]] 430 430 431 -2)AT+CONVFORM=1,ASCII Convert ASCII to String. 432 432 433 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png]]441 +2) AT+CONVFORM=1, ASCII Convert ASCII to String. 434 434 443 +[[image:1675214856590-846.png]] 435 435 445 + 436 436 437 -1. 438 -11. 439 -111. Define periodically SDI-12 commands and uplink. 447 +=== 2.3.4 Define periodically SDI-12 commands and uplink. === 440 440 449 + 441 441 AT+COMMANDx & AT+DATACUTx 442 442 443 443 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. ... ... @@ -447,21 +447,21 @@ 447 447 448 448 **AT+COMMANDx=var1,var2,var3,var4.** 449 449 450 -var1: SDI-12 command , for example: 0RC0! 459 +**var1**: SDI-12 command , for example: 0RC0! 451 451 452 -var2: Wait timeout for return. (unit: second) 461 +**var2**: Wait timeout for return. (unit: second) 453 453 454 -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!//. 455 455 456 -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. 457 457 458 -0 467 +**0 ** No validation check; 459 459 460 -1 Check if return chars are printable char(0x20 ~~ 0x7E); 469 +**1** Check if return chars are printable char(0x20 ~~ 0x7E); 461 461 462 -2 Check if there is return from SDI-12 sensor 471 +**2** Check if there is return from SDI-12 sensor 463 463 464 -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); 465 465 466 466 467 467 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. ... ... @@ -469,23 +469,25 @@ 469 469 470 470 **AT+DATACUTx** : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 471 471 472 -|((( 473 -AT+DATACUTx=a,b,c 481 +(% border="1" style="background-color:#f7faff; width:436px" %) 482 +|(% style="width:433px" %)((( 483 +**AT+DATACUTx=a,b,c** 474 474 475 -a: length for the return of AT+COMMAND 485 +**a**: length for the return of AT+COMMAND 476 476 477 -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. 478 478 479 -c: define the position for valid value. 489 +**c**: define the position for valid value. 480 480 ))) 481 481 482 -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: 483 483 484 484 485 -|AT+DATACUT1 value|Final Result to combine Payload 486 -|34,1,1+2+3|0D 00 01 30 31 33 487 -|34,2,1~~8+12~~16|0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32 488 -|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 489 489 490 490 * ** Downlink Payload:** 491 491 ... ... @@ -499,21 +499,17 @@ 499 499 500 500 Where: 501 501 502 -* MM: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 503 -* NN: 1: set the AT+DATACUT value ; 2: set the AT+DATACUT value. 504 -* LL: The length of AT+COMMAND or AT+DATACUT command 505 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command 506 -* 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. 507 507 508 -Example: 519 +**Example:** 509 509 510 - **AF031 07 30 4D 4321010100**: Same as AT+COMMAND3=**0MC!**,** 1**,** 1**,** 1**521 +[[image:image-20230201094129-18.png]] 511 511 512 -**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10** 513 513 514 -**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10** 515 - 516 - 517 517 **Clear SDI12 Command** 518 518 519 519 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. ... ... @@ -533,23 +533,22 @@ 533 533 534 534 535 535 536 - 537 537 **command combination** 538 538 539 539 Below shows a screen shot how the results combines together to a uplink payload. 540 540 541 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image029.png]]547 +[[image:1675215745275-920.png]] 542 542 543 543 544 -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. 545 545 546 -**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. 547 547 548 548 549 -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. 550 550 551 551 552 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png]]558 +[[image:1675215782925-448.png]] 553 553 554 554 555 555 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. ... ... @@ -558,6 +558,7 @@ 558 558 559 559 **Compose Uplink** 560 560 567 + 561 561 **AT+DATAUP=0** 562 562 563 563 Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK. ... ... @@ -567,7 +567,7 @@ 567 567 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 568 568 569 569 570 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image031.png]]577 +[[image:1675215828102-844.png]] 571 571 572 572 573 573 **AT+DATAUP=1** ... ... @@ -576,7 +576,7 @@ 576 576 577 577 Final Payload is 578 578 579 -**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 586 +__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__ 580 580 581 581 1. Battery Info (2 bytes): Battery voltage 582 582 1. PAYVER (1 byte): Defined by AT+PAYVER ... ... @@ -584,26 +584,24 @@ 584 584 1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 585 585 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 586 586 587 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png]]594 +[[image:1675215848113-696.png]] 588 588 589 589 590 590 **Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** 591 591 592 - ~* 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). 593 593 594 - 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;** 595 595 596 - 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.** 597 597 598 - ~* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 599 599 600 - ***When AT+DATAUP=1, the maximumnumberof segments is 15,andthe maximum total number of bytes is 1500;**609 +== 2.4 Uplink Payload == 601 601 602 -**~ When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.** 603 603 604 -1. 605 -11. Uplink Payload 606 - 607 607 Uplink payloads have two types: 608 608 609 609 * Distance Value: Use FPORT=2 ... ... @@ -612,24 +612,23 @@ 612 612 The application server should parse the correct value based on FPORT settings. 613 613 614 614 615 -1. 616 -11. 617 -111. Device Payload, FPORT=5 620 +=== 2.4.1 Device Payload, FPORT~=5 === 618 618 622 + 619 619 Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server. 620 620 621 - 622 622 Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink. 623 623 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 624 624 625 -|(% colspan="6" %)**Device Status (FPORT=5)** 626 -|**Size (bytes)**|**1**|**2**|**1**|**1**|**2** 627 -|**Value**|Sensor Model|Firmware Version|Frequency Band|Sub-band|BAT 628 - 629 629 Example parse in TTNv3 630 630 631 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png]]634 +[[image:1675215946738-635.png]] 632 632 636 + 633 633 **Sensor Model**: For SDI-12-LB, this value is 0x17 634 634 635 635 **Firmware Version**: 0x0100, Means: v1.0.0 version ... ... @@ -683,10 +683,9 @@ 683 683 Ex2: 0x0B49 = 2889mV 684 684 685 685 686 -1. 687 -11. 688 -111. Uplink Payload, FPORT=2 690 +=== 2.4.2 Uplink Payload, FPORT~=2 === 689 689 692 + 690 690 There are different cases for uplink. See below 691 691 692 692 * SDI-12 Debug Command return: FPORT=100 ... ... @@ -693,30 +693,24 @@ 693 693 694 694 * Periodically Uplink: FPORT=2 695 695 696 -|((( 697 -**Size** 698 - 699 -**(bytes)** 700 -)))|**2**|**1**|**Length depends on the return from the commands** 701 -|**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" %)((( 702 702 Battery(mV) 703 - 704 704 & 705 - 706 706 Interrupt_Flag 707 -)))|[[PAYLOAD_VER>>path:#Probe_Model]]|((( 708 -If the valid payload is too long and exceed the maximum support 709 - 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. 710 710 Payload length in server,server will show payload not provided in the LoRaWAN server. 711 711 ))) 712 712 713 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]]712 +[[image:1675216282284-923.png]] 714 714 715 715 715 +=== 2.4.3 Battery Info === 716 716 717 -1. 718 -11. 719 -111. Battery Info 720 720 721 721 Check the battery voltage for SDI-12-LB. 722 722 ... ... @@ -725,216 +725,37 @@ 725 725 Ex2: 0x0B49 = 2889mV 726 726 727 727 728 -1. 729 -11. 730 -111. Interrupt Pin 725 +=== 2.4.4 Interrupt Pin === 731 731 727 + 732 732 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]]. 733 733 730 +**Example:** 734 734 735 -Example: 736 - 737 737 Ex1: 0x0B45:0x0B&0x80= 0x00 Normal uplink packet. 738 738 739 739 Ex2: 0x8B49:0x8B&0x80= 0x80 Interrupt Uplink Packet. 740 740 741 741 742 -1. 743 -11. 744 -111. Payload version 737 +=== 2.4.5 Payload version === 745 745 746 746 747 747 741 +=== 2.4.6 Decode payload in The Things Network === 748 748 749 749 750 -1. 751 -11. 752 -111. Decode payload in The Things Network 753 - 754 754 While using TTN network, you can add the payload format to decode the payload. 755 755 756 -[[image: file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]]746 +[[image:1675216779406-595.png]] 757 757 758 758 759 759 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. 760 760 751 +SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 761 761 762 -下面的解码生成超链接放进去. 763 763 764 -function Decoder(bytes, port) { 765 765 766 - if(port==5) 767 - 768 - { 769 - 770 - var freq_band; 771 - 772 - var sub_band; 773 - 774 - var sensor; 775 - 776 - 777 - if(bytes[0]==0x17) 778 - 779 - sensor= "SDI12-LB"; 780 - 781 - 782 - var firm_ver= (bytes[1]&0x0f)+'.'+(bytes[2]>>4&0x0f)+'.'+(bytes[2]&0x0f); 783 - 784 - 785 - if(bytes[3]==0x01) 786 - 787 - freq_band="EU868"; 788 - 789 - else if(bytes[3]==0x02) 790 - 791 - freq_band="US915"; 792 - 793 - else if(bytes[3]==0x03) 794 - 795 - freq_band="IN865"; 796 - 797 - else if(bytes[3]==0x04) 798 - 799 - freq_band="AU915"; 800 - 801 - else if(bytes[3]==0x05) 802 - 803 - freq_band="KZ865"; 804 - 805 - else if(bytes[3]==0x06) 806 - 807 - freq_band="RU864"; 808 - 809 - else if(bytes[3]==0x07) 810 - 811 - freq_band="AS923"; 812 - 813 - else if(bytes[3]==0x08) 814 - 815 - freq_band="AS923_1"; 816 - 817 - else if(bytes[3]==0x09) 818 - 819 - freq_band="AS923_2"; 820 - 821 - else if(bytes[3]==0x0A) 822 - 823 - freq_band="AS923_3"; 824 - 825 - else if(bytes[3]==0x0F) 826 - 827 - freq_band="AS923_4"; 828 - 829 - else if(bytes[3]==0x0B) 830 - 831 - freq_band="CN470"; 832 - 833 - else if(bytes[3]==0x0C) 834 - 835 - freq_band="EU433"; 836 - 837 - else if(bytes[3]==0x0D) 838 - 839 - freq_band="KR920"; 840 - 841 - else if(bytes[3]==0x0E) 842 - 843 - freq_band="MA869"; 844 - 845 - 846 - if(bytes[4]==0xff) 847 - 848 - sub_band="NULL"; 849 - 850 - else 851 - 852 - sub_band=bytes[4]; 853 - 854 - 855 - var bat= (bytes[5]<<8 | bytes[6])/1000; 856 - 857 - 858 - return { 859 - 860 - SENSOR_MODEL:sensor, 861 - 862 - FIRMWARE_VERSION:firm_ver, 863 - 864 - FREQUENCY_BAND:freq_band, 865 - 866 - SUB_BAND:sub_band, 867 - 868 - BAT:bat, 869 - 870 - } 871 - 872 - } 873 - 874 - else if(port==100) 875 - 876 - { 877 - 878 - var datas_sum={}; 879 - 880 - for(var j=0;j<bytes.length;j++) 881 - 882 - { 883 - 884 - var datas= String.fromCharCode(bytes[j]); 885 - 886 - if(j=='0') 887 - 888 - datas_sum.datas_sum=datas; 889 - 890 - else 891 - 892 - datas_sum.datas_sum+=datas; 893 - 894 - } 895 - 896 - 897 - return datas_sum; 898 - 899 - } 900 - 901 - else 902 - 903 - { 904 - 905 - var decode={}; 906 - 907 - decode.EXTI_Trigger= (bytes[0] & 0x80)? "TRUE":"FALSE"; 908 - 909 - decode.BatV= ((bytes[0]<<8 | bytes[1])&0x7FFF)/1000; 910 - 911 - decode.Payver= bytes[2]; 912 - 913 - for(var i=3;i<bytes.length;i++) 914 - 915 - { 916 - 917 - var data= String.fromCharCode(bytes[i]); 918 - 919 - if(i=='3') 920 - 921 - decode.data_sum=data; 922 - 923 - else 924 - 925 - decode.data_sum+=data; 926 - 927 - } 928 - 929 - return decode; 930 - 931 - } 932 - 933 - 934 -} 935 - 936 - 937 -1. 755 +1. 938 938 11. Uplink Interval 939 939 940 940 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: ... ... @@ -943,7 +943,7 @@ 943 943 944 944 945 945 946 -1. 764 +1. 947 947 11. Frequency Plans 948 948 949 949 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. ... ... @@ -953,7 +953,7 @@ 953 953 954 954 955 955 956 -1. 774 +1. 957 957 11. Firmware Change Log 958 958 959 959 **Firmware download link:** ... ... @@ -992,7 +992,7 @@ 992 992 993 993 994 994 995 -1. 813 +1. 996 996 11. Set Transmit Interval Time 997 997 998 998 Feature: Change LoRaWAN End Node Transmit Interval. ... ... @@ -1022,7 +1022,7 @@ 1022 1022 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 1023 1023 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 1024 1024 1025 -1. 843 +1. 1026 1026 11. Set Interrupt Mode 1027 1027 1028 1028 Feature, Set Interrupt mode for GPIO_EXIT. ... ... @@ -1055,7 +1055,7 @@ 1055 1055 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 1056 1056 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 1057 1057 1058 -1. 876 +1. 1059 1059 11. Set the output time 1060 1060 1061 1061 Feature, Control the output 3V3 , 5V or 12V. ... ... @@ -1136,7 +1136,7 @@ 1136 1136 * Example 5: Downlink Payload: 070301F4 -> AT+12VT=500 1137 1137 * Example 6: Downlink Payload: 07030000 -> AT+12VT=0 1138 1138 1139 -1. 957 +1. 1140 1140 11. Set the all data mode 1141 1141 1142 1142 Feature, Set the all data mode. ... ... @@ -1159,7 +1159,7 @@ 1159 1159 * Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 1160 1160 * Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 1161 1161 1162 -1. 980 +1. 1163 1163 11. Set the splicing payload for uplink 1164 1164 1165 1165 Feature, splicing payload for uplink. ... ... @@ -1200,7 +1200,7 @@ 1200 1200 This means that the interval is set to 0x000014=20S 1201 1201 1202 1202 1203 -1. 1021 +1. 1204 1204 11. Set the payload version 1205 1205 1206 1206 Feature, Set the payload version. ... ... @@ -1239,7 +1239,7 @@ 1239 1239 SDI-12-LB: 2.45v ~~ 3.6v 1240 1240 1241 1241 1242 -1. 1060 +1. 1243 1243 11. Replace Battery 1244 1244 1245 1245 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery. ... ... @@ -1248,7 +1248,7 @@ 1248 1248 1249 1249 1250 1250 1251 -1. 1069 +1. 1252 1252 11. Power Consumption Analyze 1253 1253 1254 1254 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. ... ... @@ -1288,14 +1288,14 @@ 1288 1288 1289 1289 1290 1290 1. 1291 -11. 1109 +11. 1292 1292 111. Battery Note 1293 1293 1294 1294 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. 1295 1295 1296 1296 1297 -1. 1298 -11. 1115 +1. 1116 +11. 1299 1299 111. Replace the battery 1300 1300 1301 1301 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. ... ... @@ -1316,7 +1316,7 @@ 1316 1316 [[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/]] 1317 1317 1318 1318 1319 -1. 1137 +1. 1320 1320 11. AT Command Set 1321 1321 1322 1322 1. OTA firmware update ... ... @@ -1349,7 +1349,6 @@ 1349 1349 * Weight / pcs : g 1350 1350 1351 1351 1352 - 1353 1353 1. Support 1354 1354 1355 1355 * 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-20230201091630-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +15.1 KB - Content
- image-20230201091630-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +53.1 KB - Content
- image-20230201091954-12.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +13.8 KB - Content
- image-20230201091954-13.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +46.7 KB - Content
- image-20230201092208-14.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +14.3 KB - Content
- image-20230201092208-15.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +46.6 KB - Content
- image-20230201092355-16.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +21.6 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