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 41.3
edited by Xiaoling
on 2023/02/01 15:24
on 2023/02/01 15:24
Change comment:
There is no comment for this version
To version 48.1
edited by Bei Jinggeng
on 2023/03/24 10:15
on 2023/03/24 10:15
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 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 ... ... @@ -22,30 +22,40 @@ 22 22 == 1.1 What is SDI-12 to LoRaWAN Converter == 23 23 24 24 25 +((( 25 25 The Dragino (% style="color:blue" %)**SDI-12-LB**(%%) is a (% style="color:blue" %)**SDI-12 to LoRaWAN Converter **(%%)designed for Smart Agriculture solution. 27 +))) 26 26 29 +((( 27 27 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 +))) 28 28 33 +((( 29 29 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 +))) 30 30 37 +((( 31 31 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 +))) 32 32 41 +((( 33 33 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 +))) 34 34 45 +((( 35 35 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 +))) 36 36 37 37 38 -[[image:image-20230201084414-1.png||height="464" width="1108"]] 50 +[[image:image-20230201084414-1.png||_mstalt="427765" height="464" width="1108"]] 39 39 40 40 41 - 42 - 43 43 == 1.2 Features == 44 44 45 45 46 46 * LoRaWAN 1.0.3 Class A 47 47 * Ultra-low power consumption 48 -* Controllable 5v and 12v output to power external sensor 58 +* Controllable 3.3v, 5v and 12v output to power external sensor 49 49 * SDI-12 Protocol to connect to SDI-12 Sensor 50 50 * Monitor Battery Level 51 51 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865 ... ... @@ -55,6 +55,7 @@ 55 55 * Downlink to change configure 56 56 * 8500mAh Battery for long term use 57 57 68 + 58 58 == 1.3 Specification == 59 59 60 60 ... ... @@ -67,6 +67,8 @@ 67 67 (% style="color:#037691" %)**Common DC Characteristics:** 68 68 69 69 * Supply Voltage: 2.5v ~~ 3.6v 81 +* Support current: 5V 300mA 82 + 12V 100mA 70 70 * Operating Temperature: -40 ~~ 85°C 71 71 72 72 (% style="color:#037691" %)**LoRa Spec:** ... ... @@ -101,11 +101,12 @@ 101 101 * Sleep Mode: 5uA @ 3.3v 102 102 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 103 103 117 + 104 104 == 1.4 Connect to SDI-12 Sensor == 105 105 106 106 107 107 108 -[[image:1675212538524-889.png]] 122 +[[image:1675212538524-889.png||_mstalt="298272"]] 109 109 110 110 111 111 == 1.5 Sleep mode and working mode == ... ... @@ -119,27 +119,27 @@ 119 119 == 1.6 Button & LEDs == 120 120 121 121 122 -[[image:1675212633011-651.png]] 136 +[[image:1675212633011-651.png||_mstalt="291538"]] 123 123 124 124 125 - 126 126 (% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 127 -|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 1 17px;" %)**Function**|=(% style="width: 225px;" %)**Action**128 -|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:1 17px" %)Send an uplink|(% style="width:225px" %)(((140 +|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 109px;" %)**Function**|=(% style="width: 231px;" %)**Action** 141 +|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:109px" %)Send an uplink|(% style="width:231px" %)((( 129 129 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 130 130 Meanwhile, BLE module will be active and user can connect via BLE to configure device. 131 131 ))) 132 -|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:1 17px" %)Active Device|(% style="width:225px" %)(((145 +|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:109px" %)Active Device|(% style="width:231px" %)((( 133 133 (% 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. 134 134 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 135 135 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. 136 136 ))) 137 -|(% 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.150 +|(% 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. 138 138 152 + 139 139 == 1.7 Pin Mapping == 140 140 141 141 142 -[[image:1675213198663-754.png]] 156 +[[image:1675213198663-754.png||_mstalt="297167"]] 143 143 144 144 145 145 == 1.8 BLE connection == ... ... @@ -159,11 +159,11 @@ 159 159 == 1.9 Mechanical == 160 160 161 161 162 -[[image:image-20230201090139-2.png]] 176 +[[image:image-20230201090139-2.png||_mstalt="428623"]] 163 163 164 -[[image:image-20230201090139-3.png]] 178 +[[image:image-20230201090139-3.png||_mstalt="428987"]] 165 165 166 -[[image:image-20230201090139-4.png]] 180 +[[image:image-20230201090139-4.png||_mstalt="429351"]] 167 167 168 168 169 169 = 2. Configure SDI-12 to connect to LoRaWAN network = ... ... @@ -180,7 +180,7 @@ 180 180 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. 181 181 182 182 183 -[[image:image-20230201090528-5.png||height="465" width="1111"]] 197 +[[image:image-20230201090528-5.png||_mstalt="430300" height="465" width="1111"]] 184 184 185 185 186 186 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,7 +191,7 @@ 191 191 Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 192 192 193 193 194 -[[image:image-20230201152430-20.jpeg]] 208 +[[image:image-20230201152430-20.jpeg||_mstalt="492245"]] 195 195 196 196 197 197 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: ... ... @@ -199,24 +199,24 @@ 199 199 200 200 (% style="color:blue" %)**Register the device** 201 201 202 -[[image:1675213652444-622.png]] 216 +[[image:1675213652444-622.png||_mstalt="293657"]] 203 203 204 204 205 205 (% style="color:blue" %)**Add APP EUI and DEV EUI** 206 206 207 207 208 -[[image:1675213661769-223.png]] 222 +[[image:1675213661769-223.png||_mstalt="295217"]] 209 209 210 210 211 211 (% style="color:blue" %)**Add APP EUI in the application** 212 212 213 213 214 -[[image:1675213675852-577.png]] 228 +[[image:1675213675852-577.png||_mstalt="297947"]] 215 215 216 216 217 217 (% style="color:blue" %)**Add APP KEY** 218 218 219 -[[image:1675213686734-883.png]] 233 +[[image:1675213686734-883.png||_mstalt="298064"]] 220 220 221 221 222 222 (% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB ... ... @@ -227,7 +227,7 @@ 227 227 (% 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. 228 228 229 229 230 -[[image:1675213704414-644.png]] 244 +[[image:1675213704414-644.png||_mstalt="293748"]] 231 231 232 232 233 233 == 2.3 SDI-12 Related Commands == ... ... @@ -246,11 +246,11 @@ 246 246 The following is the display information on the serial port and the server. 247 247 248 248 263 +[[image:image-20230201091027-6.png||_mstalt="429065"]] 249 249 250 -[[image:image-20230201091027-6.png]] 251 251 266 +[[image:image-20230201091027-7.png||_mstalt="429429" height="261" width="1179"]] 252 252 253 -[[image:image-20230201091027-7.png||height="261" width="1179"]] 254 254 255 255 256 256 ==== (% style="color:blue" %)**al! ~-~- Get SDI-12 sensor Identification**(%%) ==== ... ... @@ -261,16 +261,16 @@ 261 261 262 262 (% style="color:#037691" %)**Parameter: **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command) 263 263 264 -(% style="color:blue" %)**Example : **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 278 +(% style="color:blue" %)**Example : **(%%)AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 265 265 266 266 267 267 The following is the display information on the serial port and the server. 268 268 269 269 270 -[[image:image-20230201091257-8.png]] 284 +[[image:image-20230201091257-8.png||_mstalt="431392"]] 271 271 272 272 273 -[[image:image-20230201091257-9.png||height="225" width="1242"]] 287 +[[image:image-20230201091257-9.png||_mstalt="431756" height="225" width="1242"]] 274 274 275 275 276 276 ==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%) ==== ... ... @@ -297,16 +297,16 @@ 297 297 298 298 (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 299 299 300 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return. 314 +(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return. 301 301 302 302 303 303 The following is the display information on the serial port and the server. 304 304 305 305 306 -[[image:image-20230201091630-10.png]] 320 +[[image:image-20230201091630-10.png||_mstalt="449995"]] 307 307 308 308 309 -[[image:image-20230201091630-11.png||height="247" width="1165"]] 323 +[[image:image-20230201091630-11.png||_mstalt="450372" height="247" width="1165"]] 310 310 311 311 312 312 ... ... @@ -334,16 +334,16 @@ 334 334 335 335 (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 336 336 337 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return. 351 +(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%)__ __to get return. 338 338 339 339 340 340 The following is the display information on the serial port and the server. 341 341 342 342 343 -[[image:image-20230201091954-12.png]] 357 +[[image:image-20230201091954-12.png||_mstalt="453687"]] 344 344 345 345 346 -[[image:image-20230201091954-13.png||height="203" width="1117"]] 360 +[[image:image-20230201091954-13.png||_mstalt="454064" height="203" width="1117"]] 347 347 348 348 349 349 ... ... @@ -367,19 +367,18 @@ 367 367 368 368 (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 369 369 370 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return. 384 +(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return. 371 371 372 372 373 373 The following is the display information on the serial port and the server. 374 374 375 375 390 +[[image:image-20230201092208-14.png||_mstalt="452283"]] 376 376 377 -[[image:image-20230201092208-14.png]] 378 378 393 +[[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]] 379 379 380 -[[image:image-20230201092208-15.png||height="214" width="1140"]] 381 381 382 - 383 383 === 2.3.2 Advance SDI-12 Debug command === 384 384 385 385 ... ... @@ -409,10 +409,10 @@ 409 409 The following is the display information on the serial port and the server. 410 410 411 411 412 -[[image:image-20230201092355-16.png]] 425 +[[image:image-20230201092355-16.png||_mstalt="453960"]] 413 413 414 414 415 -[[image:image-20230201092355-17.png||height="426" width="1135"]] 428 +[[image:image-20230201092355-17.png||_mstalt="454337" height="426" width="1135"]] 416 416 417 417 418 418 === 2.3.3 Convert ASCII to String === ... ... @@ -427,12 +427,12 @@ 427 427 428 428 1) AT+CONVFORM=0, string Convert String from String to ASCII 429 429 430 -[[image:1675214845056-885.png]] 443 +[[image:1675214845056-885.png||_mstalt="297622"]] 431 431 432 432 433 433 2) AT+CONVFORM=1, ASCII Convert ASCII to String. 434 434 435 -[[image:1675214856590-846.png]] 448 +[[image:1675214856590-846.png||_mstalt="297739"]] 436 436 437 437 438 438 === 2.3.4 Define periodically SDI-12 commands and uplink. === ... ... @@ -453,13 +453,13 @@ 453 453 454 454 (% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. 455 455 456 -(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2retries.469 +(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 3 retries. 457 457 458 458 (% style="color:red" %)**0 **(%%) No validation check; 459 459 460 460 (% style="color:red" %)**1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E); 461 461 462 -(% style="color: #red" %)**2**(%%) Check if there is return from SDI-12 sensor475 +(% style="color:red" %)**2**(%%) Check if there is return from SDI-12 sensor 463 463 464 464 (% style="color:red" %)**3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request); 465 465 ... ... @@ -480,14 +480,14 @@ 480 480 **c**: define the position for valid value. 481 481 ))) 482 482 483 -For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895” , Below AT+DATACUT1 will get different result to combine payload: 496 +For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895<CR><LF>” , Below AT+DATACUT1 will get different result to combine payload: 484 484 485 485 486 486 (% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 487 -|(% style="width:1 70px" %)**AT+DATACUT1 value**|(% style="width:338px" %)**Final Result to combine Payload**488 -|(% style="width:1 70px" %)34,1,1+2+3|(% style="width:338px" %)0D 00 01 30 31 33489 -|(% 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 32490 -|(% 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 0A500 +|=(% style="width: 164px;" %)**AT+DATACUT1 value**|=(% style="width: 344px;" %)**Final Result to combine Payload** 501 +|(% style="width:164px" %)34,1,1+2+3|(% style="width:344px" %)0D 00 01 30 31 33 502 +|(% 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 503 +|(% 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 491 491 492 492 * (% style="color:blue" %)** Downlink Payload:** 493 493 ... ... @@ -502,16 +502,17 @@ 502 502 Where: 503 503 504 504 * (% style="color:#037691" %)**MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 505 -* (% style="color:#037691" %)**NN **(%%): 1: set the AT+ DATACUTvalue ; 2: set the AT+DATACUT value.518 +* (% style="color:#037691" %)**NN **(%%): 1: set the AT+COMMAND value ; 2: set the AT+DATACUT value. 506 506 * (% style="color:#037691" %)**LL **(%%): The length of AT+COMMAND or AT+DATACUT command 507 507 * (% style="color:#037691" %)**XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command 508 -* (% 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.521 +* (% 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. 509 509 510 510 (% style="color:blue" %)**Example:** 511 511 512 -[[image:image-20230201094129-18.png]] 525 +[[image:image-20230201094129-18.png||_mstalt="455065"]] 513 513 514 514 528 + 515 515 (% style="color:blue" %)**Clear SDI12 Command** 516 516 517 517 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. ... ... @@ -535,7 +535,7 @@ 535 535 536 536 Below shows a screen shot how the results combines together to a uplink payload. 537 537 538 -[[image:1675215745275-920.png]] 552 +[[image:1675215745275-920.png||_mstalt="295334"]] 539 539 540 540 541 541 If user don't want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1. ... ... @@ -543,10 +543,10 @@ 543 543 (% 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. 544 544 545 545 546 -(% 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. 560 +(% 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. 547 547 548 548 549 -[[image:1675215782925-448.png]] 563 +[[image:1675215782925-448.png||_mstalt="297466"]] 550 550 551 551 552 552 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. ... ... @@ -555,27 +555,24 @@ 555 555 556 556 (% style="color:blue" %)**Compose Uplink** 557 557 558 - 559 559 (% style="color:#4f81bd" %)**AT+DATAUP=0** 560 560 561 -Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK. 574 +Compose the uplink payload with value returns in sequence and send with **__A SIGNLE UPLINK__**. 562 562 563 -Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx 576 +Final Payload is **__Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx__** 564 564 565 565 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 566 566 567 567 568 -[[image:1675215828102-844.png]] 581 +[[image:1675215828102-844.png||_mstalt="294645"]] 569 569 570 570 571 571 (% style="color:#4f81bd" %)**AT+DATAUP=1** 572 572 573 -Compose the uplink payload with value returns in sequence and send with Multiply UPLINKs. 586 +Compose the uplink payload with value returns in sequence and send with **__Multiply UPLINKs__**. 574 574 575 -Final Payload is 588 +Final Payload is __**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__ 576 576 577 -__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__ 578 - 579 579 1. Battery Info (2 bytes): Battery voltage 580 580 1. PAYVER (1 byte): Defined by AT+PAYVER 581 581 1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. ... ... @@ -582,7 +582,7 @@ 582 582 1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 583 583 1. DATA: Valid value: max 6 bytes(US915 version here, Notice*!) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes 584 584 585 -[[image:1675215848113-696.png]] 596 +[[image:1675215848113-696.png||_mstalt="296998"]] 586 586 587 587 588 588 (% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** ... ... @@ -599,15 +599,6 @@ 599 599 600 600 == 2.4 Uplink Payload == 601 601 602 - 603 -Uplink payloads have two types: 604 - 605 -* Distance Value: Use FPORT=2 606 -* Other control commands: Use other FPORT fields. 607 - 608 -The application server should parse the correct value based on FPORT settings. 609 - 610 - 611 611 === 2.4.1 Device Payload, FPORT~=5 === 612 612 613 613 ... ... @@ -615,14 +615,14 @@ 615 615 616 616 Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink. 617 617 618 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:4 37px" %)620 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:420px" %) 619 619 |(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)** 620 -|(% style="width:1 02px" %)**Size67px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:52px" %)**1**|(% style="width:44px" %)**2**621 -|(% 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" %)BAT622 +|(% 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** 623 +|(% 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 622 622 623 623 Example parse in TTNv3 624 624 625 -[[image:1675215946738-635.png]] 627 +[[image:1675215946738-635.png||_mstalt="297778"]] 626 626 627 627 628 628 (% style="color:#037691" %)**Sensor Model**(%%): For SDI-12-LB, this value is 0x17 ... ... @@ -687,20 +687,20 @@ 687 687 688 688 * Periodically Uplink: FPORT=2 689 689 690 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:5 10px" %)691 -|(% style="width:9 3px" %)(((692 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:500px" %) 693 +|=(% style="width: 90px;" %)((( 692 692 **Size(bytes)** 693 -)))|(% style="width:8 3px" %)**2**|(% style="width:70px" %)**1**|(% style="width:234px" %)**Length depends on the return from the commands**695 +)))|=(% style="width: 80px;" %)**2**|=(% style="width: 90px;" %)**1**|=(% style="width: 240px;" %)**Length depends on the return from the commands** 694 694 |(% style="width:93px" %)**Value**|(% style="width:83px" %)((( 695 695 Battery(mV) 696 696 & 697 697 Interrupt_Flag 698 -)))|(% style="width: 70px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:234px" %)(((700 +)))|(% style="width:91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)((( 699 699 If the valid payload is too long and exceed the maximum support. 700 700 Payload length in server,server will show payload not provided in the LoRaWAN server. 701 701 ))) 702 702 703 -[[image:1675216282284-923.png]] 705 +[[image:1675216282284-923.png||_mstalt="295633"]] 704 704 705 705 706 706 === 2.4.3 Battery Info === ... ... @@ -727,6 +727,7 @@ 727 727 728 728 === 2.4.5 Payload version === 729 729 732 +The version number of the payload, mainly used for decoding. The default is 01. 730 730 731 731 732 732 === 2.4.6 Decode payload in The Things Network === ... ... @@ -734,7 +734,7 @@ 734 734 735 735 While using TTN network, you can add the payload format to decode the payload. 736 736 737 -[[image:1675216779406-595.png]] 740 +[[image:1675216779406-595.png||_mstalt="298376"]] 738 738 739 739 740 740 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. ... ... @@ -747,25 +747,91 @@ 747 747 748 748 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: 749 749 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]] ]]753 +[[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]] 751 751 752 752 756 +== 2.6 Examples To Set SDI commands. == 753 753 758 +=== 2.6.1 Examples 1 === 754 754 755 -== 2.6 Frequency Plans == 756 756 761 +COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication. 757 757 763 +[[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]] 764 + 765 + 766 +(% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:** 767 + 768 +a. Send the first command and get the first reply: 769 + 770 +(% style="color:#037691" %)**AT+COMMANDx=1I!,0,0,1** 771 + 772 +b. Send the second command and get the second reply: 773 + 774 +(% style="color:#037691" %)**AT+COMMANDx=2I!,0,0,1** 775 + 776 +c. Send the third command and get the third reply: 777 + 778 +(% style="color:#037691" %)**AT+COMMANDx=3I!,0,0,1** 779 + 780 +d. Send the fourth command and get the fourth reply: 781 + 782 +(% style="color:#037691" %)**AT+COMMANDx=4I!,0,0,1** 783 + 784 +e. Send the fifth command plus the sixth command, get the sixth reply: 785 + 786 +(% style="color:#037691" %)**AT+COMMANDx=1M!,2,1,1** 787 + 788 +f. Send the seventh command plus the eighth command, get the eighth reply: 789 + 790 +(% style="color:#037691" %)**AT+COMMANDx=2M!,2,1,1** 791 + 792 +g. Send the ninth command plus the tenth command, get the tenth reply: 793 + 794 +(% style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1** 795 + 796 +h. Send the eleventh command plus the twelfth command, get the twelfth reply: 797 + 798 +(% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1** 799 + 800 + 801 +(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:** 802 + 803 +a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>” 804 + 805 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %); 806 + 807 +b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>” 808 + 809 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 810 + 811 +c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>” 812 + 813 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 814 + 815 +d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>” 816 + 817 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %); 818 + 819 +e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>” 820 + 821 +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”**. 822 + 823 + 824 +== 2.7 Frequency Plans == 825 + 826 + 758 758 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. 759 759 760 760 [[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/]] 761 761 762 762 763 -== 2. 7Firmware Change Log ==832 +== 2.8 Firmware Change Log == 764 764 765 765 766 766 **Firmware download link:** 767 767 768 -[[https:~~/~~/www.dropbox.com/sh/g f1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]837 +[[https:~~/~~/www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]] 769 769 770 770 771 771 = 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink = ... ... @@ -795,7 +795,7 @@ 795 795 These commands only valid for SDI-12-LB, as below: 796 796 797 797 798 -== 3.1 Set Transmit Interval Time ==867 +== 3.1 Set Transmit Interval Time == 799 799 800 800 801 801 Feature: Change LoRaWAN End Node Transmit Interval. ... ... @@ -837,14 +837,14 @@ 837 837 |(% style="width:156px" %)AT+INTMOD=?|(% style="width:187px" %)Show current interrupt mode|(% style="width:165px" %)((( 838 838 0 839 839 OK 840 -the mode is 0 = Nointerruption909 +the mode is 0 = Disable Interrupt 841 841 ))) 842 842 |(% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)((( 843 843 Set Transmit Interval 844 - ~1. (Disable Interrupt),845 - 2. (Trigger by rising and falling edge)846 - 3. (Trigger by falling edge)847 - 4. (Trigger by rising edge)913 +0. (Disable Interrupt), 914 +~1. (Trigger by rising and falling edge) 915 +2. (Trigger by falling edge) 916 +3. (Trigger by rising edge) 848 848 )))|(% style="width:165px" %)OK 849 849 850 850 (% style="color:blue" %)**Downlink Command: 0x06** ... ... @@ -986,6 +986,7 @@ 986 986 987 987 == 3.6 Set the payload version == 988 988 1058 + 989 989 Feature, Set the payload version. 990 990 991 991 (% style="color:blue" %)**AT Command: AT+PAYVER** ... ... @@ -1016,7 +1016,7 @@ 1016 1016 1017 1017 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance. 1018 1018 1019 -[[image:1675234124233-857.png]] 1089 +[[image:1675234124233-857.png||_mstalt="295035"]] 1020 1020 1021 1021 1022 1022 Minimum Working Voltage for the SDI-12-LB: ... ... @@ -1050,7 +1050,7 @@ 1050 1050 And the Life expectation in difference case will be shown on the right. 1051 1051 1052 1052 1053 -[[image:1675234155374-163.png]] 1123 +[[image:1675234155374-163.png||_mstalt="294411"]] 1054 1054 1055 1055 1056 1056 The battery related documents as below: ... ... @@ -1059,7 +1059,7 @@ 1059 1059 * [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]] 1060 1060 * [[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]] 1061 1061 1062 -[[image:image-20230201145019-19.png]] 1132 +[[image:image-20230201145019-19.png||_mstalt="453947"]] 1063 1063 1064 1064 1065 1065 === 4.3.1 Battery Note === ... ... @@ -1098,7 +1098,7 @@ 1098 1098 1099 1099 = 7. FAQ = 1100 1100 1101 -== 7.1 How to use AT Command to access device? == 1171 +== 7.1 How to use AT Command via UART to access device? == 1102 1102 1103 1103 1104 1104 See: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]] ... ... @@ -1120,10 +1120,15 @@ 1120 1120 = 8. Order Info = 1121 1121 1122 1122 1193 +((( 1123 1123 (% style="color:blue" %)**Part Number: SDI-12-LB-XXX** 1195 +))) 1124 1124 1197 +((( 1125 1125 XXX: The default frequency band 1199 +))) 1126 1126 1201 +((( 1127 1127 (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 1128 1128 (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 1129 1129 (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band ... ... @@ -1132,13 +1132,10 @@ 1132 1132 (% style="color:red" %)**US915**(%%): LoRaWAN US915 band 1133 1133 (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 1134 1134 (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 1210 +))) 1135 1135 1136 1136 1137 1137 1138 - 1139 - 1140 - 1141 - 1142 1142 = 9. Packing Info = 1143 1143 1144 1144
- image-20230222143809-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +322.1 KB - Content