Changes for page SDI-12-LB/LS -- SDI-12 to LoRaWAN Converter User Manual
Last modified by Xiaoling on 2025/04/25 08:58
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -114,9 +114,9 @@ 114 114 == 1.5 Sleep mode and working mode == 115 115 116 116 117 -** (% style="color:blue" %)Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.117 +**Deep Sleep Mode: **Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life. 118 118 119 -** (% style="color:blue" %)Working Mode: **(%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.119 +**Working Mode: **In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode. 120 120 121 121 122 122 == 1.6 Button & LEDs == ... ... @@ -139,7 +139,6 @@ 139 139 ))) 140 140 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB is in Deep Sleep Mode. 141 141 142 - 143 143 == 1.7 Pin Mapping == 144 144 145 145 ... ... @@ -163,6 +163,9 @@ 163 163 == 1.9 Mechanical == 164 164 165 165 165 + 166 + 167 + 166 166 [[image:image-20230201090139-2.png]] 167 167 168 168 [[image:image-20230201090139-3.png]] ... ... @@ -175,7 +175,7 @@ 175 175 == 2.1 How it works == 176 176 177 177 178 -The SDI-12-LB is configured as ** (% style="color:#037691" %)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.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. 179 179 180 180 181 181 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == ... ... @@ -190,7 +190,7 @@ 190 190 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. 191 191 192 192 193 -** (% style="color:blue" %)Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB.195 +**Step 1**: Create a device in TTN with the OTAA keys from SDI-12-LB. 194 194 195 195 Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 196 196 ... ... @@ -204,35 +204,35 @@ 204 204 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 205 205 206 206 207 -** (% style="color:blue" %)Register the device**209 +**Register the device** 208 208 209 209 [[image:1675213652444-622.png]] 210 210 211 211 212 -** (% style="color:blue" %)Add APP EUI and DEV EUI**214 +**Add APP EUI and DEV EUI** 213 213 214 214 215 215 [[image:1675213661769-223.png]] 216 216 217 217 218 -** (% style="color:blue" %)Add APP EUI in the application**220 +**Add APP EUI in the application** 219 219 220 220 221 221 [[image:1675213675852-577.png]] 222 222 223 223 224 -** (% style="color:blue" %)Add APP KEY**226 +**Add APP KEY** 225 225 226 226 [[image:1675213686734-883.png]] 227 227 228 228 229 -** (% style="color:blue" %)Step 2**(%%): Activate on SDI-12-LB231 +**Step 2**: Activate on SDI-12-LB 230 230 231 231 232 232 Press the button for 5 seconds to activate the SDI-12-LB. 233 233 234 234 235 -** (% style="color:green" %)Green led**(%%)will fast blink 5 times, device will enter **(% style="color:blue" %)OTA mode**(%%)for 3 seconds. And then start to JOIN LoRaWAN network. **(% style="color:green" %)Green led**(%%)will solidly turn on for 5 seconds after joined in network.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. 236 236 237 237 238 238 [[image:1675213704414-644.png]] ... ... @@ -261,15 +261,15 @@ 261 261 [[image:image-20230201091027-7.png||height="261" width="1179"]] 262 262 263 263 264 -==== ** (% style="color:blue" %)al! ~-~- Get SDI-12 sensor Identification** ====266 +==== **al! ~-~- Get SDI-12 sensor Identification** ==== 265 265 266 266 267 267 * AT Command: AT+ADDRI=aa 268 268 * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa 269 269 270 -** (% style="color:#037691" %)Parameter: **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command)272 +**Parameter: **aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command) 271 271 272 -** (% style="color:blue" %)Example : **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)274 +**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. ... ... @@ -281,31 +281,30 @@ 281 281 [[image:image-20230201091257-9.png||height="225" width="1242"]] 282 282 283 283 284 -==== ** (% style="color:blue" %)aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ====286 +==== **aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ==== 285 285 286 286 287 -** (% style="color:red" %)aM! **(%%): Start Non-Concurrent Measurement289 +**aM! **: Start Non-Concurrent Measurement 288 288 289 -** (% style="color:red" %)aMC! **(%%): Start Non-Concurrent Measurement – Request CRC291 +**aMC! **: Start Non-Concurrent Measurement – Request CRC 290 290 291 -** (% style="color:red" %)aM1!- aM9! **(%%): Additional Measurements293 +**aM1!- aM9! **: Additional Measurements 292 292 293 -** (% style="color:red" %)aMC1!- aMC9!**(%%): Additional Measurements – Request CRC295 +**aMC1!- aMC9!** : Additional Measurements – Request CRC 294 294 295 295 296 296 * AT Command : AT+ADDRM=0,1,0,1 297 - 298 298 * LoRaWAN Downlink(prefix 0xAA01): 0xAA 01 30 01 00 01 299 299 300 300 Downlink:AA 01 aa bb cc dd 301 301 302 -** (% style="color:#037691" %)aa**(%%): SDI-12 sensor address.303 +**aa**: SDI-12 sensor address. 303 303 304 -** (% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC305 +**bb**: 0: no CRC, 1: request CRC 305 305 306 -** (% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement307 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 307 307 308 -** (% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%)to get return.309 +**dd**: delay (in second) to send **aD0!** to get return. 309 309 310 310 311 311 The following is the display information on the serial port and the server. ... ... @@ -318,16 +318,16 @@ 318 318 319 319 320 320 321 -==== ** (% style="color:blue" %)aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! ** ====322 +==== **aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! ** ==== 322 322 323 323 324 -** (% style="color:red" %)aC!**(%%): Start Concurrent Measurement325 +**aC!** : Start Concurrent Measurement 325 325 326 -** (% style="color:red" %)aCC!**(%%): Start Concurrent Measurement – Request CRC327 +**aCC!** : Start Concurrent Measurement – Request CRC 327 327 328 -** (% style="color:red" %)aC1!- aC9!**(%%): Start Additional Concurrent Measurements329 +**aC1!- aC9!** : Start Additional Concurrent Measurements 329 329 330 -** (% style="color:red" %)aCC1!- aCC9!**(%%): Start Additional Concurrent Measurements – Request CRC331 +**aCC1!- aCC9!** : Start Additional Concurrent Measurements – Request CRC 331 331 332 332 333 333 * AT Command : AT+ADDRC=0,1,0,1 ... ... @@ -336,13 +336,13 @@ 336 336 337 337 Downlink: AA 02 aa bb cc dd 338 338 339 -** (% style="color:#037691" %)aa**(%%): SDI-12 sensor address.340 +**aa**: SDI-12 sensor address. 340 340 341 -** (% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC342 +**bb**: 0: no CRC, 1: request CRC 342 342 343 -** (% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement344 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 344 344 345 -** (% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%)to get return.346 +**dd**: delay (in second) to send **aD0!** to get return. 346 346 347 347 348 348 The following is the display information on the serial port and the server. ... ... @@ -354,11 +354,11 @@ 354 354 [[image:image-20230201091954-13.png||height="203" width="1117"]] 355 355 356 356 358 +(% style="display:none" %) (%%) 357 357 360 +==== **aR0!- aR9!, aRC0!- aRC9!** ==== 358 358 359 -==== **(% style="color:blue" %)aR0!- aR9!, aRC0!- aRC9!** ==== 360 360 361 - 362 362 Start Continuous Measurement 363 363 364 364 Start Continuous Measurement – Request CRC ... ... @@ -369,13 +369,13 @@ 369 369 370 370 Downlink: AA 03 aa bb cc dd 371 371 372 -** (% style="color:#037691" %)aa**(%%): SDI-12 sensor address.373 +**aa**: SDI-12 sensor address. 373 373 374 -** (% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC375 +**bb**: 0: no CRC, 1: request CRC 375 375 376 -** (% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement377 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 377 377 378 -** (% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%)to get return.379 +**dd**: delay (in second) to send **aD0!** to get return. 379 379 380 380 381 381 The following is the display information on the serial port and the server. ... ... @@ -396,20 +396,20 @@ 396 396 397 397 LoRaWAN Downlink: A8 aa xx xx xx xx bb cc 398 398 399 -** (% style="color:#037691" %)aa **(%%): total SDI-12 command length400 +**aa **: total SDI-12 command length 400 400 401 -** (% style="color:#037691" %)xx **(%%): SDI-12 command402 +**xx **: SDI-12 command 402 402 403 -** (% style="color:#037691" %)bb **(%%): Delay to wait for return404 +**bb **: Delay to wait for return 404 404 405 -** (% style="color:#037691" %)cc**(%%): 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100406 +**cc **: 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100 406 406 407 407 408 -** (% style="color:blue" %)Example: **(%%)AT+CFGDEV =0RC0!,1409 +**Example: **AT+CFGDEV =0RC0!,1 409 409 410 -** (% style="color:#037691" %)0RC0! **(%%): SDI-12 Command,411 +**0RC0! **: SDI-12 Command, 411 411 412 -** (% style="color:#037691"%)1**(%%): Delay 1 second. ( 0: 810 mini-second)413 +**1 **: Delay 1 second. ( 0: 810 mini-second) 413 413 414 414 Equal Downlink: 0xA8 05 30 52 43 30 21 01 01 415 415 ... ... @@ -431,7 +431,7 @@ 431 431 AT+CONVFORM ( Max length: 80 bytes) 432 432 433 433 434 -** (% style="color:blue" %)Example:**435 +**Example:** 435 435 436 436 1) AT+CONVFORM=0, string Convert String from String to ASCII 437 437 ... ... @@ -451,31 +451,31 @@ 451 451 User can define max 15 SDI-12 Commands (AT+COMMAND1 ~~ AT+COMMANDF). On each uplink period (TDC time, default 20 minutes), SDI-12-LB will send these SDI-12 commands and wait for return from SDI-12 sensors. SDI-12-LB will then combine these returns and uplink via LoRaWAN. 452 452 453 453 454 -* ** (% style="color:blue" %)AT Command:**455 +* ** AT Command:** 455 455 456 -** (% style="color:#037691" %)AT+COMMANDx=var1,var2,var3,var4.**457 +**AT+COMMANDx=var1,var2,var3,var4.** 457 457 458 -** (% style="color:red" %)var1**(%%): SDI-12 command , for example: 0RC0!459 +**var1**: SDI-12 command , for example: 0RC0! 459 459 460 -** (% style="color:red" %)var2**(%%): Wait timeout for return. (unit: second)461 +**var2**: Wait timeout for return. (unit: second) 461 461 462 -** (% style="color:red" %)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!//. 463 463 464 -** (% style="color:red" %)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. 465 465 466 -** (% style="color:red" %)0 **(%%)No validation check;467 +**0 ** No validation check; 467 467 468 -** (% style="color:red" %)1**(%%)Check if return chars are printable char(0x20 ~~ 0x7E);469 +**1** Check if return chars are printable char(0x20 ~~ 0x7E); 469 469 470 -** (% style="color:#red" %)2**(%%)Check if there is return from SDI-12 sensor471 +**2** Check if there is return from SDI-12 sensor 471 471 472 -** (% style="color:red" %)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); 473 473 474 474 475 -Each AT+COMMANDx is followed by a ** (% style="color:blue" %)AT+DATACUT**(%%)command. AT+DATACUT command is used to take the useful string from the SDI-12 sensor so the final payload will have the minimum length to uplink.476 +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. 476 476 477 477 478 -** (% style="color:blue" %)AT+DATACUTx**(%%): This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.479 +**AT+DATACUTx** : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 479 479 480 480 (% border="1" style="background-color:#f7faff; width:436px" %) 481 481 |(% style="width:433px" %)((( ... ... @@ -483,7 +483,7 @@ 483 483 484 484 **a**: length for the return of AT+COMMAND 485 485 486 -**b**: 487 +**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections. 487 487 488 488 **c**: define the position for valid value. 489 489 ))) ... ... @@ -497,49 +497,49 @@ 497 497 |(% style="width:170px" %)34,2,1~~8+12~~16|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32 498 498 |(% style="width:170px" %)34,2,1~~34|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A 499 499 500 -* ** (%style="color:blue" %)Downlink Payload:**501 +* ** Downlink Payload:** 501 501 502 -** (% style="color:blue" %)0xAF**(%%)downlink command can be used to set AT+COMMANDx or AT+DATACUTx.503 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 503 503 504 504 505 -** (% style="color:red" %)Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**506 +**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.** 506 506 507 507 508 -Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY**509 +Format: ** AF MM NN LL XX XX XX XX YY** 509 509 510 510 Where: 511 511 512 -* ** (% style="color:#037691" %)MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,513 -* ** (% style="color:#037691" %)NN **(%%): 1: set the AT+DATACUT value ; 2: set the AT+DATACUT value.514 -* ** (% style="color:#037691" %)LL **(%%): The length of AT+COMMAND or AT+DATACUT command515 -* ** (% style="color:#037691" %)XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command516 -* ** (% style="color:#037691" %)YY **(%%): If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command.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. 517 517 518 -** (% style="color:blue" %)Example:**519 +**Example:** 519 519 520 520 [[image:image-20230201094129-18.png]] 521 521 522 522 523 -** (% style="color:blue" %)Clear SDI12 Command**524 +**Clear SDI12 Command** 524 524 525 525 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 526 526 527 527 528 -* ** (% style="color:#037691" %)AT Command:**529 +* ** AT Command:** 529 529 530 -** (%style="color:#4F81BD" %)AT+CMDEAR=mm,nn**(%%)mm: start position of erase ,nn: stop position of erase531 +**~ AT+CMDEAR=mm,nn** mm: start position of erase ,nn: stop position of erase 531 531 532 532 533 533 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 534 534 535 535 536 -* ** (%style="color:#037691" %)Downlink Payload:**537 +* ** Downlink Payload:** 537 537 538 -** (%style="color:#4F81BD" %)0x09 aa bb**(%%)same as AT+CMDEAR=aa,bb539 +**~ 0x09 aa bb** same as AT+CMDEAR=aa,bb 539 539 540 540 541 541 542 -** (% style="color:blue" %)command combination**543 +**command combination** 543 543 544 544 Below shows a screen shot how the results combines together to a uplink payload. 545 545