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, 0 added, 11 removed)
Details
- Page properties
-
- Content
-
... ... @@ -170,21 +170,23 @@ 170 170 [[image:image-20230201090139-4.png]] 171 171 172 172 173 -= 2. Configure SDI-12 to connect to LoRaWAN network = 174 174 175 -== 2.1 How it works == 176 176 177 177 178 -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 177 +1. Configure SDI-12 to connect to LoRaWAN network 178 +11. How it works 180 180 181 - ==2.2Quickguide to connect to LoRaWAN server(OTAA)==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. 182 182 183 183 183 +1. 184 +11. Quick guide to connect to LoRaWAN server (OTAA) 185 + 184 184 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. 185 185 186 186 187 -[[image:image -20230201090528-5.png||height="465" width="1111"]]189 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png]] 188 188 189 189 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. ... ... @@ -195,7 +195,7 @@ 195 195 Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 196 196 197 197 198 -[[image:image -20230131134744-2.jpeg]]200 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image009.png]] 199 199 200 200 201 201 ... ... @@ -206,24 +206,24 @@ 206 206 207 207 **Register the device** 208 208 209 -[[image: 1675213652444-622.png]]211 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image010.png]] 210 210 211 211 212 212 **Add APP EUI and DEV EUI** 213 213 214 214 215 -[[image: 1675213661769-223.png]]217 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png]] 216 216 217 217 218 218 **Add APP EUI in the application** 219 219 220 220 221 -[[image: 1675213675852-577.png]]223 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png]] 222 222 223 223 224 224 **Add APP KEY** 225 225 226 -[[image: 1675213686734-883.png]]228 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png]] 227 227 228 228 229 229 **Step 2**: Activate on SDI-12-LB ... ... @@ -235,100 +235,97 @@ 235 235 **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 -[[image: 1675213704414-644.png]]240 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png]] 239 239 240 240 241 -== 2.3 SDI-12 Related Commands == 242 242 243 243 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 +1. 247 +11. SDI-12 Related Commands 246 246 247 - ===2.3.1Basic SDI-12debugcommand===249 +User need to configure SDI-12-LB to communicate with SDI-12 sensors otherwise the uplink payload will only include a few bytes. 248 248 249 249 252 +1. 253 +11. 254 +111. Basic SDI-12 debug command 255 + 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. 251 251 258 + 252 252 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. 253 253 261 + 254 254 The following is the display information on the serial port and the server. 255 255 264 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png]] 256 256 266 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png]] 257 257 258 - [[image:image-20230201091027-6.png]]268 +al! ~-~- Get SDI-12 sensor Identification 259 259 260 - 261 -[[image:image-20230201091027-7.png||height="261" width="1179"]] 262 - 263 - 264 -==== **al! ~-~- Get SDI-12 sensor Identification** ==== 265 - 266 - 267 267 * AT Command: AT+ADDRI=aa 268 268 * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa 269 269 270 - **Parameter:**aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command)273 +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)275 +Example : AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 273 273 274 274 278 + 275 275 The following is the display information on the serial port and the server. 276 276 277 277 278 -[[image:image -20230201091257-8.png]]282 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png]] 279 279 284 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png]] 280 280 281 -[[image:image-20230201091257-9.png||height="225" width="1242"]] 282 282 287 +aM!,aMC!, aM1!- aM9!, aMC1!- aMC9! 283 283 284 - ==== **aM!,aMC!,aM1!-aM9!, aMC1!-aMC9!**====289 +aM!: Start Non-Concurrent Measurement 285 285 291 +aMC!: Start Non-Concurrent Measurement – Request CRC 286 286 287 - **aM!**:Start Non-ConcurrentMeasurement293 +aM1!- aM9!: Additional Measurements 288 288 289 - **aMC!**:Start Non-ConcurrentMeasurement – Request CRC295 +aMC1!- aMC9!: Additional Measurements – Request CRC 290 290 291 -**aM1!- aM9! **: Additional Measurements 292 292 293 -**aMC1!- aMC9!** : Additional Measurements – Request CRC 294 - 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.303 +aa: SDI-12 sensor address. 302 302 303 - **bb**: 0: no CRC, 1: request CRC305 +bb: 0: no CRC, 1: request CRC 304 304 305 - **cc**: 1-9: Additional Measurement, 0: no additional measurement307 +cc: 1-9: Additional Measurement, 0: no additional measurement 306 306 307 - **dd**: delay (in second) to send **aD0!** to get return.309 +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 314 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]] 312 312 313 -[[image:image -20230201091630-10.png]]316 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]] 314 314 315 315 316 -[[image:image-20230201091630-11.png||height="247" width="1165"]] 317 317 320 +aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! 318 318 322 +aC!: Start Concurrent Measurement 319 319 320 - ==== **aC!, aCC!,aC1!-aC9!,aCC1!-aCC9!**====324 +aCC!: Start Concurrent Measurement – Request CRC 321 321 326 +aC1!- aC9!: Start Additional Concurrent Measurements 322 322 323 - **aC!**: Start Concurrent Measurement328 +aCC1!- aCC9!: Start Additional Concurrent Measurements – Request CRC 324 324 325 -**aCC!** : Start Concurrent Measurement – Request CRC 326 326 327 -**aC1!- aC9!** : Start Additional Concurrent Measurements 328 - 329 -**aCC1!- aCC9!** : Start Additional Concurrent Measurements – Request CRC 330 - 331 - 332 332 * AT Command : AT+ADDRC=0,1,0,1 333 333 334 334 * LoRaWAN Downlink(0xAA02): 0xAA 02 30 01 00 01 ... ... @@ -335,29 +335,24 @@ 335 335 336 336 Downlink: AA 02 aa bb cc dd 337 337 338 - **aa**: SDI-12 sensor address.337 +aa: SDI-12 sensor address. 339 339 340 - **bb**: 0: no CRC, 1: request CRC339 +bb: 0: no CRC, 1: request CRC 341 341 342 - **cc**: 1-9: Additional Measurement, 0: no additional measurement341 +cc: 1-9: Additional Measurement, 0: no additional measurement 343 343 344 - **dd**: delay (in second) to send **aD0!** to get return.343 +dd: delay (in second) to send **aD0!** to get return. 345 345 346 346 347 347 The following is the display information on the serial port and the server. 348 348 348 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]] 349 349 350 -[[image:image -20230201091954-12.png]]350 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]] 351 351 352 352 353 - [[image:image-20230201091954-13.png||height="203"width="1117"]]353 +aR0!- aR9!, aRC0!- aRC9! 354 354 355 - 356 -(% style="display:none" %) (%%) 357 - 358 -==== **aR0!- aR9!, aRC0!- aRC9!** ==== 359 - 360 - 361 361 Start Continuous Measurement 362 362 363 363 Start Continuous Measurement – Request CRC ... ... @@ -368,48 +368,46 @@ 368 368 369 369 Downlink: AA 03 aa bb cc dd 370 370 371 - **aa**: SDI-12 sensor address.365 +aa: SDI-12 sensor address. 372 372 373 - **bb**: 0: no CRC, 1: request CRC367 +bb: 0: no CRC, 1: request CRC 374 374 375 - **cc**: 1-9: Additional Measurement, 0: no additional measurement369 +cc: 1-9: Additional Measurement, 0: no additional measurement 376 376 377 - **dd**: delay (in second) to send **aD0!** to get return.371 +dd: delay (in second) to send **aD0!** to get return. 378 378 379 379 380 380 The following is the display information on the serial port and the server. 381 381 376 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]] 382 382 378 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]] 383 383 384 -[[image:image-20230201092208-14.png]] 380 +1. 381 +11. 382 +111. Advance SDI-12 Debug command 385 385 386 - 387 -[[image:image-20230201092208-15.png||height="214" width="1140"]] 388 - 389 - 390 -=== 2.3.2 Advance SDI-12 Debug command === 391 - 392 - 393 393 This command can be used to debug all SDI-12 command. 394 394 395 395 396 396 LoRaWAN Downlink: A8 aa xx xx xx xx bb cc 397 397 398 - **aa**: total SDI-12 command length389 +(aa: total SDI-12 command length) 399 399 400 - **xx**: SDI-12 command391 +(xx: SDI-12 command) 401 401 402 - **bb**: Delay to wait for return393 +(bb: Delay to wait for return) 403 403 404 - **cc**: 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100395 +(cc: 0: don’t uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100) 405 405 406 406 407 - **Example:**AT+CFGDEV =0RC0!,1398 +Example: AT+CFGDEV =0RC0!,1 408 408 409 - **0RC0!**: SDI-12 Command,400 +0RC0!: SDI-12 Command, 410 410 411 - **1**: Delay 1 second. ( 0: 810 mini-second)402 +1: Delay 1 second. ( 0: 810 mini-second) 412 412 404 + 413 413 Equal Downlink: 0xA8 05 30 52 43 30 21 01 01 414 414 415 415 ... ... @@ -416,41 +416,36 @@ 416 416 The following is the display information on the serial port and the server. 417 417 418 418 419 -[[image:image -20230201092355-16.png]]411 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]] 420 420 413 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]] 421 421 422 -[[image:image-20230201092355-17.png||height="426" width="1135"]] 415 +1. 416 +11. 417 +111. Convert ASCII to String 423 423 424 - 425 - 426 - 427 -=== 2.3.3 Convert ASCII to String === 428 - 429 - 430 430 This command is used to convert between ASCII and String format. 431 431 421 + 432 432 AT+CONVFORM ( Max length: 80 bytes) 433 433 424 +Example: 434 434 435 - **Example:**426 +1)AT+CONVFORM=0,string Convert String from String to ASCII 436 436 437 - 1) AT+CONVFORM=0, stringonvertString fromStringto ASCII428 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]] 438 438 439 -[[image:1675214845056-885.png]] 440 440 431 +2)AT+CONVFORM=1,ASCII Convert ASCII to String. 441 441 442 - 2) AT+CONVFORM=1, ASCII ConvertASCIItoString.433 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png]] 443 443 444 -[[image:1675214856590-846.png]] 445 445 446 446 437 +1. 438 +11. 439 +111. Define periodically SDI-12 commands and uplink. 447 447 448 - 449 - 450 - 451 -=== 2.3.4 Define periodically SDI-12 commands and uplink. === 452 - 453 - 454 454 AT+COMMANDx & AT+DATACUTx 455 455 456 456 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. ... ... @@ -460,21 +460,21 @@ 460 460 461 461 **AT+COMMANDx=var1,var2,var3,var4.** 462 462 463 - **var1**: SDI-12 command , for example: 0RC0!450 +var1: SDI-12 command , for example: 0RC0! 464 464 465 - **var2**: Wait timeout for return. (unit: second)452 +var2: Wait timeout for return. (unit: second) 466 466 467 - **var3**: Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0!454 +var3: Whether to send //addrD0!// to get return after var2 timeout. 0: Don’t Send //addrD0!//; 1: Send //addrD0!//. 468 468 469 - **var4**: validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries.456 +var4: validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries. 470 470 471 - **0**No validation check;458 +0 No validation check; 472 472 473 - **1**Check if return chars are printable char(0x20 ~~ 0x7E);460 +1 Check if return chars are printable char(0x20 ~~ 0x7E); 474 474 475 - **2**Check if there is return from SDI-12 sensor462 +2 Check if there is return from SDI-12 sensor 476 476 477 - **3**Check if return pass CRC check ( SDI-12 command var1 must include CRC request);464 +3 Check if return pass CRC check ( SDI-12 command var1 must include CRC request); 478 478 479 479 480 480 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. ... ... @@ -482,15 +482,14 @@ 482 482 483 483 **AT+DATACUTx** : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 484 484 485 -(% border="1" style="background-color:#f7faff; width:436px" %) 486 -|(% style="width:433px" %)((( 472 +|((( 487 487 AT+DATACUTx=a,b,c 488 488 489 - **a**:475 +a: length for the return of AT+COMMAND 490 490 491 - **b**:477 +b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections. 492 492 493 - **c**:479 +c: define the position for valid value. 494 494 ))) 495 495 496 496 For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895” ,. Below AT+DATACUT1 will get different result to combine payload:
- 1675214845056-885.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -20.4 KB - Content
- 1675214856590-846.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -18.6 KB - Content
- image-20230201091630-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -15.1 KB - Content
- image-20230201091630-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -53.1 KB - Content
- image-20230201091954-12.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -13.8 KB - Content
- image-20230201091954-13.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -46.7 KB - Content
- image-20230201092208-14.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -14.3 KB - Content
- image-20230201092208-15.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -46.6 KB - Content
- image-20230201092355-16.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -21.6 KB - Content
- image-20230201092355-17.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -80.0 KB - Content
- image-20230201094129-18.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -12.8 KB - Content