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
From version 40.5
edited by Xiaoling
on 2023/02/01 14:57
on 2023/02/01 14:57
Change comment:
There is no comment for this version
To version 47.1
edited by Bei Jinggeng
on 2023/03/20 10:22
on 2023/03/20 10:22
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 2 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.Bei - Content
-
... ... @@ -1,5 +1,5 @@ 1 1 (% style="text-align:center" %) 2 -[[image:image-20230131183542-1.jpeg||height="694" width="694"]] 2 +[[image:image-20230131183542-1.jpeg||_mstalt="470678" height="694" width="694"]] 3 3 4 4 **Table of Contents:** 5 5 ... ... @@ -17,36 +17,45 @@ 17 17 18 18 19 19 20 - 21 21 = 1. Introduction = 22 22 23 23 == 1.1 What is SDI-12 to LoRaWAN Converter == 24 24 25 25 25 +((( 26 26 The Dragino (% style="color:blue" %)**SDI-12-LB**(%%) is a (% style="color:blue" %)**SDI-12 to LoRaWAN Converter **(%%)designed for Smart Agriculture solution. 27 +))) 27 27 29 +((( 28 28 SDI-12 (Serial Digital Interface at 1200 baud) is an asynchronous [[serial communications>>url:https://en.wikipedia.org/wiki/Serial_communication]] protocol for intelligent sensors that monitor environment data. SDI-12 protocol is widely used in Agriculture sensor and Weather Station sensors. 31 +))) 29 29 33 +((( 30 30 SDI-12-LB has SDI-12 interface and support 12v output to power external SDI-12 sensor. It can get the environment data from SDI-12 sensor and sends out the data via LoRaWAN wireless protocol. 35 +))) 31 31 37 +((( 32 32 The LoRa wireless technology used in SDI-12-LB allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. 39 +))) 33 33 41 +((( 34 34 SDI-12-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years. 43 +))) 35 35 45 +((( 36 36 Each SDI-12-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on. 47 +))) 37 37 38 38 39 -[[image:image-20230201084414-1.png||height="464" width="1108"]] 50 +[[image:image-20230201084414-1.png||_mstalt="427765" height="464" width="1108"]] 40 40 41 41 42 - 43 - 44 44 == 1.2 Features == 45 45 46 46 47 47 * LoRaWAN 1.0.3 Class A 48 48 * Ultra-low power consumption 49 -* Controllable 5v and 12v output to power external sensor 58 +* Controllable 3.3v, 5v and 12v output to power external sensor 50 50 * SDI-12 Protocol to connect to SDI-12 Sensor 51 51 * Monitor Battery Level 52 52 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865 ... ... @@ -68,6 +68,8 @@ 68 68 (% style="color:#037691" %)**Common DC Characteristics:** 69 69 70 70 * Supply Voltage: 2.5v ~~ 3.6v 80 +* Support current: 5V 300mA 81 + 12V 100mA 71 71 * Operating Temperature: -40 ~~ 85°C 72 72 73 73 (% style="color:#037691" %)**LoRa Spec:** ... ... @@ -106,7 +106,7 @@ 106 106 107 107 108 108 109 -[[image:1675212538524-889.png]] 120 +[[image:1675212538524-889.png||_mstalt="298272"]] 110 110 111 111 112 112 == 1.5 Sleep mode and working mode == ... ... @@ -120,27 +120,26 @@ 120 120 == 1.6 Button & LEDs == 121 121 122 122 123 -[[image:1675212633011-651.png]] 134 +[[image:1675212633011-651.png||_mstalt="291538"]] 124 124 125 125 126 - 127 127 (% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 128 -|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 1 17px;" %)**Function**|=(% style="width: 225px;" %)**Action**129 -|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:1 17px" %)Send an uplink|(% style="width:225px" %)(((138 +|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 109px;" %)**Function**|=(% style="width: 231px;" %)**Action** 139 +|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:109px" %)Send an uplink|(% style="width:231px" %)((( 130 130 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 131 131 Meanwhile, BLE module will be active and user can connect via BLE to configure device. 132 132 ))) 133 -|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:1 17px" %)Active Device|(% style="width:225px" %)(((143 +|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:109px" %)Active Device|(% style="width:231px" %)((( 134 134 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. 135 135 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 136 136 Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network. 137 137 ))) 138 -|(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:1 17px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. MeansPS-LB is in Deep Sleep Mode.148 +|(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:109px" %)Deactivate Device|(% style="width:231px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means SDI-12-LB is in Deep Sleep Mode. 139 139 140 140 == 1.7 Pin Mapping == 141 141 142 142 143 -[[image:1675213198663-754.png]] 153 +[[image:1675213198663-754.png||_mstalt="297167"]] 144 144 145 145 146 146 == 1.8 BLE connection == ... ... @@ -160,11 +160,11 @@ 160 160 == 1.9 Mechanical == 161 161 162 162 163 -[[image:image-20230201090139-2.png]] 173 +[[image:image-20230201090139-2.png||_mstalt="428623"]] 164 164 165 -[[image:image-20230201090139-3.png]] 175 +[[image:image-20230201090139-3.png||_mstalt="428987"]] 166 166 167 -[[image:image-20230201090139-4.png]] 177 +[[image:image-20230201090139-4.png||_mstalt="429351"]] 168 168 169 169 170 170 = 2. Configure SDI-12 to connect to LoRaWAN network = ... ... @@ -181,7 +181,7 @@ 181 181 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. 182 182 183 183 184 -[[image:image-20230201090528-5.png||height="465" width="1111"]] 194 +[[image:image-20230201090528-5.png||_mstalt="430300" height="465" width="1111"]] 185 185 186 186 187 187 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. ... ... @@ -192,35 +192,32 @@ 192 192 Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 193 193 194 194 195 -[[image:image-202301 31134744-2.jpeg]]205 +[[image:image-20230201152430-20.jpeg||_mstalt="492245"]] 196 196 197 197 198 - 199 - 200 - 201 201 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 202 202 203 203 204 204 (% style="color:blue" %)**Register the device** 205 205 206 -[[image:1675213652444-622.png]] 213 +[[image:1675213652444-622.png||_mstalt="293657"]] 207 207 208 208 209 209 (% style="color:blue" %)**Add APP EUI and DEV EUI** 210 210 211 211 212 -[[image:1675213661769-223.png]] 219 +[[image:1675213661769-223.png||_mstalt="295217"]] 213 213 214 214 215 215 (% style="color:blue" %)**Add APP EUI in the application** 216 216 217 217 218 -[[image:1675213675852-577.png]] 225 +[[image:1675213675852-577.png||_mstalt="297947"]] 219 219 220 220 221 221 (% style="color:blue" %)**Add APP KEY** 222 222 223 -[[image:1675213686734-883.png]] 230 +[[image:1675213686734-883.png||_mstalt="298064"]] 224 224 225 225 226 226 (% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB ... ... @@ -228,11 +228,10 @@ 228 228 229 229 Press the button for 5 seconds to activate the SDI-12-LB. 230 230 231 - 232 232 (% 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. 233 233 234 234 235 -[[image:1675213704414-644.png]] 241 +[[image:1675213704414-644.png||_mstalt="293748"]] 236 236 237 237 238 238 == 2.3 SDI-12 Related Commands == ... ... @@ -251,11 +251,11 @@ 251 251 The following is the display information on the serial port and the server. 252 252 253 253 260 +[[image:image-20230201091027-6.png||_mstalt="429065"]] 254 254 255 -[[image:image-20230201091027-6.png]] 256 256 263 +[[image:image-20230201091027-7.png||_mstalt="429429" height="261" width="1179"]] 257 257 258 -[[image:image-20230201091027-7.png||height="261" width="1179"]] 259 259 260 260 261 261 ==== (% style="color:blue" %)**al! ~-~- Get SDI-12 sensor Identification**(%%) ==== ... ... @@ -266,16 +266,16 @@ 266 266 267 267 (% style="color:#037691" %)**Parameter: **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command) 268 268 269 -(% style="color:blue" %)**Example : **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 275 +(% style="color:blue" %)**Example : **(%%)AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 270 270 271 271 272 272 The following is the display information on the serial port and the server. 273 273 274 274 275 -[[image:image-20230201091257-8.png]] 281 +[[image:image-20230201091257-8.png||_mstalt="431392"]] 276 276 277 277 278 -[[image:image-20230201091257-9.png||height="225" width="1242"]] 284 +[[image:image-20230201091257-9.png||_mstalt="431756" height="225" width="1242"]] 279 279 280 280 281 281 ==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%) ==== ... ... @@ -302,16 +302,16 @@ 302 302 303 303 (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 304 304 305 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return. 311 +(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return. 306 306 307 307 308 308 The following is the display information on the serial port and the server. 309 309 310 310 311 -[[image:image-20230201091630-10.png]] 317 +[[image:image-20230201091630-10.png||_mstalt="449995"]] 312 312 313 313 314 -[[image:image-20230201091630-11.png||height="247" width="1165"]] 320 +[[image:image-20230201091630-11.png||_mstalt="450372" height="247" width="1165"]] 315 315 316 316 317 317 ... ... @@ -339,16 +339,16 @@ 339 339 340 340 (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 341 341 342 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return. 348 +(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%)__ __to get return. 343 343 344 344 345 345 The following is the display information on the serial port and the server. 346 346 347 347 348 -[[image:image-20230201091954-12.png]] 354 +[[image:image-20230201091954-12.png||_mstalt="453687"]] 349 349 350 350 351 -[[image:image-20230201091954-13.png||height="203" width="1117"]] 357 +[[image:image-20230201091954-13.png||_mstalt="454064" height="203" width="1117"]] 352 352 353 353 354 354 ... ... @@ -372,19 +372,18 @@ 372 372 373 373 (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 374 374 375 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return. 381 +(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return. 376 376 377 377 378 378 The following is the display information on the serial port and the server. 379 379 380 380 387 +[[image:image-20230201092208-14.png||_mstalt="452283"]] 381 381 382 -[[image:image-20230201092208-14.png]] 383 383 390 +[[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]] 384 384 385 -[[image:image-20230201092208-15.png||height="214" width="1140"]] 386 386 387 - 388 388 === 2.3.2 Advance SDI-12 Debug command === 389 389 390 390 ... ... @@ -414,10 +414,10 @@ 414 414 The following is the display information on the serial port and the server. 415 415 416 416 417 -[[image:image-20230201092355-16.png]] 422 +[[image:image-20230201092355-16.png||_mstalt="453960"]] 418 418 419 419 420 -[[image:image-20230201092355-17.png||height="426" width="1135"]] 425 +[[image:image-20230201092355-17.png||_mstalt="454337" height="426" width="1135"]] 421 421 422 422 423 423 === 2.3.3 Convert ASCII to String === ... ... @@ -432,12 +432,12 @@ 432 432 433 433 1) AT+CONVFORM=0, string Convert String from String to ASCII 434 434 435 -[[image:1675214845056-885.png]] 440 +[[image:1675214845056-885.png||_mstalt="297622"]] 436 436 437 437 438 438 2) AT+CONVFORM=1, ASCII Convert ASCII to String. 439 439 440 -[[image:1675214856590-846.png]] 445 +[[image:1675214856590-846.png||_mstalt="297739"]] 441 441 442 442 443 443 === 2.3.4 Define periodically SDI-12 commands and uplink. === ... ... @@ -458,13 +458,13 @@ 458 458 459 459 (% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. 460 460 461 -(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2retries.466 +(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 3 retries. 462 462 463 463 (% style="color:red" %)**0 **(%%) No validation check; 464 464 465 465 (% style="color:red" %)**1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E); 466 466 467 -(% style="color: #red" %)**2**(%%) Check if there is return from SDI-12 sensor472 +(% style="color:red" %)**2**(%%) Check if there is return from SDI-12 sensor 468 468 469 469 (% style="color:red" %)**3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request); 470 470 ... ... @@ -485,14 +485,14 @@ 485 485 **c**: define the position for valid value. 486 486 ))) 487 487 488 -For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895” , Below AT+DATACUT1 will get different result to combine payload: 493 +For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895<CR><LF>” , Below AT+DATACUT1 will get different result to combine payload: 489 489 490 490 491 491 (% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 492 -|(% style="width:1 70px" %)**AT+DATACUT1 value**|(% style="width:338px" %)**Final Result to combine Payload**493 -|(% style="width:1 70px" %)34,1,1+2+3|(% style="width:338px" %)0D 00 01 30 31 33494 -|(% style="width:1 70px" %)34,2,1~~8+12~~16|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32495 -|(% style="width:1 70px" %)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 0A497 +|=(% style="width: 164px;" %)**AT+DATACUT1 value**|=(% style="width: 344px;" %)**Final Result to combine Payload** 498 +|(% style="width:164px" %)34,1,1+2+3|(% style="width:344px" %)0D 00 01 30 31 33 499 +|(% style="width:164px" %)34,2,1~~8+12~~16|(% style="width:344px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32 500 +|(% style="width:164px" %)34,2,1~~34|(% style="width:344px" %)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 496 496 497 497 * (% style="color:blue" %)** Downlink Payload:** 498 498 ... ... @@ -507,16 +507,17 @@ 507 507 Where: 508 508 509 509 * (% style="color:#037691" %)**MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 510 -* (% style="color:#037691" %)**NN **(%%): 1: set the AT+ DATACUTvalue ; 2: set the AT+DATACUT value.515 +* (% style="color:#037691" %)**NN **(%%): 1: set the AT+COMMAND value ; 2: set the AT+DATACUT value. 511 511 * (% style="color:#037691" %)**LL **(%%): The length of AT+COMMAND or AT+DATACUT command 512 512 * (% style="color:#037691" %)**XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command 513 -* (% style="color:#037691" %)**YY **(%%): If YY=0, RS485-LNwill execute the downlink command without uplink; if YY=1,RS485-LNwill execute an uplink after got this command.518 +* (% style="color:#037691" %)**YY **(%%): If YY=0, SDI-12-LB will execute the downlink command without uplink; if YY=1, SDI-12-LB will execute an uplink after got this command. 514 514 515 515 (% style="color:blue" %)**Example:** 516 516 517 -[[image:image-20230201094129-18.png]] 522 +[[image:image-20230201094129-18.png||_mstalt="455065"]] 518 518 519 519 525 + 520 520 (% style="color:blue" %)**Clear SDI12 Command** 521 521 522 522 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. ... ... @@ -540,7 +540,7 @@ 540 540 541 541 Below shows a screen shot how the results combines together to a uplink payload. 542 542 543 -[[image:1675215745275-920.png]] 549 +[[image:1675215745275-920.png||_mstalt="295334"]] 544 544 545 545 546 546 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. ... ... @@ -548,10 +548,10 @@ 548 548 (% style="color:blue" %)**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. 549 549 550 550 551 -(% style="color:#4f81bd" %)**For example: ** as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result. 557 +(% style="color:#4f81bd" %)**For example: **(%%) as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result. 552 552 553 553 554 -[[image:1675215782925-448.png]] 560 +[[image:1675215782925-448.png||_mstalt="297466"]] 555 555 556 556 557 557 If AT+ALLDATAMOD=1, (% style="color:#4f81bd" %)**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. ... ... @@ -560,27 +560,24 @@ 560 560 561 561 (% style="color:blue" %)**Compose Uplink** 562 562 563 - 564 564 (% style="color:#4f81bd" %)**AT+DATAUP=0** 565 565 566 -Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK. 571 +Compose the uplink payload with value returns in sequence and send with **__A SIGNLE UPLINK__**. 567 567 568 -Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx 573 +Final Payload is **__Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx__** 569 569 570 570 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 571 571 572 572 573 -[[image:1675215828102-844.png]] 578 +[[image:1675215828102-844.png||_mstalt="294645"]] 574 574 575 575 576 576 (% style="color:#4f81bd" %)**AT+DATAUP=1** 577 577 578 -Compose the uplink payload with value returns in sequence and send with Multiply UPLINKs. 583 +Compose the uplink payload with value returns in sequence and send with **__Multiply UPLINKs__**. 579 579 580 -Final Payload is 585 +Final Payload is __**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__ 581 581 582 -__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__ 583 - 584 584 1. Battery Info (2 bytes): Battery voltage 585 585 1. PAYVER (1 byte): Defined by AT+PAYVER 586 586 1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. ... ... @@ -587,7 +587,7 @@ 587 587 1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 588 588 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 589 589 590 -[[image:1675215848113-696.png]] 593 +[[image:1675215848113-696.png||_mstalt="296998"]] 591 591 592 592 593 593 (% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** ... ... @@ -602,17 +602,8 @@ 602 602 (% style="color:red" %)**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 604 605 -== 2.4 Uplink Payload ==608 +== 2.4 Uplink Payload == 606 606 607 - 608 -Uplink payloads have two types: 609 - 610 -* Distance Value: Use FPORT=2 611 -* Other control commands: Use other FPORT fields. 612 - 613 -The application server should parse the correct value based on FPORT settings. 614 - 615 - 616 616 === 2.4.1 Device Payload, FPORT~=5 === 617 617 618 618 ... ... @@ -620,14 +620,14 @@ 620 620 621 621 Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink. 622 622 623 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:4 37px" %)617 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:420px" %) 624 624 |(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)** 625 -|(% style="width:1 02px" %)**Size67px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:52px" %)**1**|(% style="width:44px" %)**2**626 -|(% style="width:1 02px" %)**Value**|(% style="width:67px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:89px" %)Frequency Band|(% style="width:52px" %)Sub-band|(% style="width:44px" %)BAT619 +|(% style="width:114px" %)**Size(bytes)**|(% style="width:39px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:59px" %)**1**|(% style="width:37px" %)**2** 620 +|(% style="width:114px" %)**Value**|(% style="width:39px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:89px" %)Frequency Band|(% style="width:59px" %)Sub-band|(% style="width:37px" %)BAT 627 627 628 628 Example parse in TTNv3 629 629 630 -[[image:1675215946738-635.png]] 624 +[[image:1675215946738-635.png||_mstalt="297778"]] 631 631 632 632 633 633 (% style="color:#037691" %)**Sensor Model**(%%): For SDI-12-LB, this value is 0x17 ... ... @@ -692,20 +692,20 @@ 692 692 693 693 * Periodically Uplink: FPORT=2 694 694 695 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:5 10px" %)696 -|(% style="width:9 3px" %)(((689 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:500px" %) 690 +|=(% style="width: 90px;" %)((( 697 697 **Size(bytes)** 698 -)))|(% style="width:8 3px" %)**2**|(% style="width:70px" %)**1**|(% style="width:234px" %)**Length depends on the return from the commands**692 +)))|=(% style="width: 80px;" %)**2**|=(% style="width: 90px;" %)**1**|=(% style="width: 240px;" %)**Length depends on the return from the commands** 699 699 |(% style="width:93px" %)**Value**|(% style="width:83px" %)((( 700 700 Battery(mV) 701 701 & 702 702 Interrupt_Flag 703 -)))|(% style="width: 70px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:234px" %)(((697 +)))|(% style="width:91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)((( 704 704 If the valid payload is too long and exceed the maximum support. 705 705 Payload length in server,server will show payload not provided in the LoRaWAN server. 706 706 ))) 707 707 708 -[[image:1675216282284-923.png]] 702 +[[image:1675216282284-923.png||_mstalt="295633"]] 709 709 710 710 711 711 === 2.4.3 Battery Info === ... ... @@ -732,6 +732,7 @@ 732 732 733 733 === 2.4.5 Payload version === 734 734 729 +The version number of the payload, mainly used for decoding. The default is 01. 735 735 736 736 737 737 === 2.4.6 Decode payload in The Things Network === ... ... @@ -739,7 +739,7 @@ 739 739 740 740 While using TTN network, you can add the payload format to decode the payload. 741 741 742 -[[image:1675216779406-595.png]] 737 +[[image:1675216779406-595.png||_mstalt="298376"]] 743 743 744 744 745 745 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. ... ... @@ -752,25 +752,91 @@ 752 752 753 753 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: 754 754 755 -[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval]] ]]750 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval]] 756 756 757 757 753 +== 2.6 Examples To Set SDI commands. == 758 758 755 +=== 2.6.1 Examples 1 === 759 759 760 -== 2.6 Frequency Plans == 761 761 758 +COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication. 762 762 760 +[[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]] 761 + 762 + 763 +(% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:** 764 + 765 +a. Send the first command and get the first reply: 766 + 767 +(% style="color:#037691" %)**AT+COMMANDx=1I!,0,0,1** 768 + 769 +b. Send the second command and get the second reply: 770 + 771 +(% style="color:#037691" %)**AT+COMMANDx=2I!,0,0,1** 772 + 773 +c. Send the third command and get the third reply: 774 + 775 +(% style="color:#037691" %)**AT+COMMANDx=3I!,0,0,1** 776 + 777 +d. Send the fourth command and get the fourth reply: 778 + 779 +(% style="color:#037691" %)**AT+COMMANDx=4I!,0,0,1** 780 + 781 +e. Send the fifth command plus the sixth command, get the sixth reply: 782 + 783 +(% style="color:#037691" %)**AT+COMMANDx=1M!,2,1,1** 784 + 785 +f. Send the seventh command plus the eighth command, get the eighth reply: 786 + 787 +(% style="color:#037691" %)**AT+COMMANDx=2M!,2,1,1** 788 + 789 +g. Send the ninth command plus the tenth command, get the tenth reply: 790 + 791 +(% style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1** 792 + 793 +h. Send the eleventh command plus the twelfth command, get the twelfth reply: 794 + 795 +(% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1** 796 + 797 + 798 +(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:** 799 + 800 +a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>” 801 + 802 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %); 803 + 804 +b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>” 805 + 806 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 807 + 808 +c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>” 809 + 810 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 811 + 812 +d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>” 813 + 814 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %); 815 + 816 +e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>” 817 + 818 +Partial cut, the cut sensor address and the first two parameters:(% style="color:#037691" %)**AT+DATACUTx=25,2,1~~12, cut out the character field ” 4+30.8+22.84”**. 819 + 820 + 821 +== 2.7 Frequency Plans == 822 + 823 + 763 763 The SDI-12-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. 764 764 765 765 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 766 766 767 767 768 -== 2. 7Firmware Change Log ==829 +== 2.8 Firmware Change Log == 769 769 770 770 771 771 **Firmware download link:** 772 772 773 -[[https:~~/~~/www.dropbox.com/sh/g f1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]834 +[[https:~~/~~/www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]] 774 774 775 775 776 776 = 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink = ... ... @@ -778,12 +778,12 @@ 778 778 779 779 Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink. 780 780 781 -* AT Command Connection: See [[FAQ>> path:#AT_COMMAND]].842 +* AT Command Connection: See [[FAQ>>||anchor="H7.FAQ"]]. 782 782 * LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 783 783 784 784 There are two kinds of commands to configure SDI-12-LB, they are: 785 785 786 -* **(% style="color:blue" %)General Commands**.847 +* (% style="color:blue" %)**General Commands**. 787 787 788 788 These commands are to configure: 789 789 ... ... @@ -795,12 +795,12 @@ 795 795 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]] 796 796 797 797 798 -* **(% style="color:blue" %)Commands special design for SDI-12-LB**859 +* (% style="color:blue" %)**Commands special design for SDI-12-LB** 799 799 800 800 These commands only valid for SDI-12-LB, as below: 801 801 802 802 803 -== 3.1 Set Transmit Interval Time ==864 +== 3.1 Set Transmit Interval Time == 804 804 805 805 806 806 Feature: Change LoRaWAN End Node Transmit Interval. ... ... @@ -829,9 +829,6 @@ 829 829 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 830 830 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 831 831 832 - 833 - 834 - 835 835 == 3.2 Set Interrupt Mode == 836 836 837 837 ... ... @@ -844,14 +844,14 @@ 844 844 |(% style="width:156px" %)AT+INTMOD=?|(% style="width:187px" %)Show current interrupt mode|(% style="width:165px" %)((( 845 845 0 846 846 OK 847 -the mode is 0 = Nointerruption905 +the mode is 0 = Disable Interrupt 848 848 ))) 849 849 |(% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)((( 850 850 Set Transmit Interval 851 - ~1. (Disable Interrupt),852 - 2. (Trigger by rising and falling edge)853 - 3. (Trigger by falling edge)854 - 4. (Trigger by rising edge)909 +0. (Disable Interrupt), 910 +~1. (Trigger by rising and falling edge) 911 +2. (Trigger by falling edge) 912 +3. (Trigger by rising edge) 855 855 )))|(% style="width:165px" %)OK 856 856 857 857 (% style="color:blue" %)**Downlink Command: 0x06** ... ... @@ -863,9 +863,6 @@ 863 863 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 864 864 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 865 865 866 - 867 - 868 - 869 869 == 3.3 Set the output time == 870 870 871 871 ... ... @@ -935,9 +935,6 @@ 935 935 * Example 5: Downlink Payload: 070301F4 **~-~-->** AT+12VT=500 936 936 * Example 6: Downlink Payload: 07030000 **~-~-->** AT+12VT=0 937 937 938 - 939 - 940 - 941 941 == 3.4 Set the all data mode == 942 942 943 943 ... ... @@ -960,9 +960,6 @@ 960 960 * Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 961 961 * Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 962 962 963 - 964 - 965 - 966 966 == 3.5 Set the splicing payload for uplink == 967 967 968 968 ... ... @@ -999,6 +999,7 @@ 999 999 1000 1000 == 3.6 Set the payload version == 1001 1001 1051 + 1002 1002 Feature, Set the payload version. 1003 1003 1004 1004 (% style="color:blue" %)**AT Command: AT+PAYVER** ... ... @@ -1018,9 +1018,6 @@ 1018 1018 * Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1 1019 1019 * Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1020 1020 1021 - 1022 - 1023 - 1024 1024 = 4. Battery & how to replace = 1025 1025 1026 1026 == 4.1 Battery Type == ... ... @@ -1031,7 +1031,7 @@ 1031 1031 1032 1032 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance. 1033 1033 1034 -[[image:1675234124233-857.png]] 1081 +[[image:1675234124233-857.png||_mstalt="295035"]] 1035 1035 1036 1036 1037 1037 Minimum Working Voltage for the SDI-12-LB: ... ... @@ -1065,7 +1065,7 @@ 1065 1065 And the Life expectation in difference case will be shown on the right. 1066 1066 1067 1067 1068 -[[image:1675234155374-163.png]] 1115 +[[image:1675234155374-163.png||_mstalt="294411"]] 1069 1069 1070 1070 1071 1071 The battery related documents as below: ... ... @@ -1074,10 +1074,9 @@ 1074 1074 * [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]] 1075 1075 * [[Lithium-ion Battery-Capacitor datasheet>>https://www.dropbox.com/s/791gjes2lcbfi1p/SPC_1520_datasheet.jpg?dl=0]], [[Tech Spec>>https://www.dropbox.com/s/4pkepr9qqqvtzf2/SPC1520%20Technical%20Specification20171123.pdf?dl=0]] 1076 1076 1124 +[[image:image-20230201145019-19.png||_mstalt="453947"]] 1077 1077 1078 -[[image:image-20230201145019-19.png]] 1079 1079 1080 - 1081 1081 === 4.3.1 Battery Note === 1082 1082 1083 1083 ... ... @@ -1136,33 +1136,34 @@ 1136 1136 = 8. Order Info = 1137 1137 1138 1138 1139 -**(% style="color:blue" %)Part Number: SDI-12-LB-XXX** 1185 +((( 1186 +(% style="color:blue" %)**Part Number: SDI-12-LB-XXX** 1187 +))) 1140 1140 1189 +((( 1141 1141 XXX: The default frequency band 1191 +))) 1142 1142 1143 -**(% style="color:red" %)AS923**(%%): LoRaWAN AS923 band 1144 -**(% style="color:red" %)AU915**(%%): LoRaWAN AU915 band 1145 -**(% style="color:red" %)EU433**(%%): LoRaWAN EU433 band 1146 -**(% style="color:red" %)EU868**(%%): LoRaWAN EU868 band 1147 -**(% style="color:red" %)KR920**(%%): LoRaWAN KR920 band 1148 -**(% style="color:red" %)US915**(%%): LoRaWAN US915 band 1149 -**(% style="color:red" %)IN865**(%%): LoRaWAN IN865 band 1150 -**(% style="color:red" %)CN470**(%%): LoRaWAN CN470 band 1193 +((( 1194 +(% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 1195 +(% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 1196 +(% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band 1197 +(% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band 1198 +(% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band 1199 +(% style="color:red" %)**US915**(%%): LoRaWAN US915 band 1200 +(% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 1201 +(% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 1202 +))) 1151 1151 1152 1152 1153 - 1154 - 1155 - 1156 - 1157 - 1158 1158 = 9. Packing Info = 1159 1159 1160 1160 1161 - **(% style="color:#037691" %)Package Includes**:1208 +(% style="color:#037691" %)**Package Includes**: 1162 1162 1163 1163 * SDI-12-LB SDI-12 to LoRaWAN Converter x 1 1164 1164 1165 - **(% style="color:#037691" %)Dimension and weight**:1212 +(% style="color:#037691" %)**Dimension and weight**: 1166 1166 1167 1167 * Device Size: cm 1168 1168 * Device Weight: g ... ... @@ -1169,9 +1169,6 @@ 1169 1169 * Package Size / pcs : cm 1170 1170 * Weight / pcs : g 1171 1171 1172 - 1173 - 1174 - 1175 1175 = 10. Support = 1176 1176 1177 1177
- image-20230201152430-20.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +16.5 KB - Content
- image-20230222143809-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +322.1 KB - Content