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 48.17
edited by Xiaoling
on 2023/04/03 13:41
on 2023/04/03 13:41
Change comment:
There is no comment for this version
To version 46.1
edited by Bei Jinggeng
on 2023/03/20 10:20
on 2023/03/20 10:20
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 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|| _mstalt="470678"height="694" width="694"]]2 +[[image:image-20230131183542-1.jpeg||height="694" width="694"]] 3 3 4 4 **Table of Contents:** 5 5 ... ... @@ -47,7 +47,7 @@ 47 47 ))) 48 48 49 49 50 -[[image:image-20230201084414-1.png|| _mstalt="427765"height="464" width="1108"]]50 +[[image:image-20230201084414-1.png||height="464" width="1108"]] 51 51 52 52 53 53 == 1.2 Features == ... ... @@ -65,8 +65,6 @@ 65 65 * Downlink to change configure 66 66 * 8500mAh Battery for long term use 67 67 68 - 69 - 70 70 == 1.3 Specification == 71 71 72 72 ... ... @@ -115,13 +115,11 @@ 115 115 * Sleep Mode: 5uA @ 3.3v 116 116 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 117 117 118 - 119 - 120 120 == 1.4 Connect to SDI-12 Sensor == 121 121 122 122 123 123 124 -[[image:1675212538524-889.png ||_mstalt="298272"]]120 +[[image:1675212538524-889.png]] 125 125 126 126 127 127 == 1.5 Sleep mode and working mode == ... ... @@ -135,28 +135,26 @@ 135 135 == 1.6 Button & LEDs == 136 136 137 137 138 -[[image:1675212633011-651.png ||_mstalt="291538"]]134 +[[image:1675212633011-651.png]] 139 139 140 140 141 -(% border="1" cellspacing="4" style="width:510px" %) 142 -|=(% style="width: 167px; background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action**143 -|(% style=" background-color:#f2f2f2;width:167px" %)Pressing ACT between 1s < time < 3s|(% style="background-color:#f2f2f2;width:117px" %)Send an uplink|(% style="background-color:#f2f2f2;width:225px" %)(((137 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 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" %)((( 144 144 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 145 145 Meanwhile, BLE module will be active and user can connect via BLE to configure device. 146 146 ))) 147 -|(% style=" background-color:#f2f2f2;width:167px" %)Pressing ACT for more than 3s|(% style="background-color:#f2f2f2;width:117px" %)Active Device|(% style="background-color:#f2f2f2;width:225px" %)(((148 -(% style=" background-color:#f2f2f2; 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.149 -(% style=" background-color:#f2f2f2; color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.143 +|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:109px" %)Active Device|(% style="width:231px" %)((( 144 +(% 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. 145 +(% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 150 150 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. 151 151 ))) 152 -|(% style=" background-color:#f2f2f2;width:167px" %)Fast press ACT 5 times.|(% style="background-color:#f2f2f2;width:117px" %)Deactivate Device|(% style="background-color:#f2f2f2;width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. MeansPS-LB-NAis 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. 153 153 154 - 155 - 156 156 == 1.7 Pin Mapping == 157 157 158 158 159 -[[image:1675213198663-754.png ||_mstalt="297167"]]153 +[[image:1675213198663-754.png]] 160 160 161 161 162 162 == 1.8 BLE connection == ... ... @@ -176,11 +176,11 @@ 176 176 == 1.9 Mechanical == 177 177 178 178 179 -[[image:image-20230201090139-2.png ||_mstalt="428623"]]173 +[[image:image-20230201090139-2.png]] 180 180 181 -[[image:image-20230201090139-3.png ||_mstalt="428987"]]175 +[[image:image-20230201090139-3.png]] 182 182 183 -[[image:image-20230201090139-4.png ||_mstalt="429351"]]177 +[[image:image-20230201090139-4.png]] 184 184 185 185 186 186 = 2. Configure SDI-12 to connect to LoRaWAN network = ... ... @@ -197,7 +197,7 @@ 197 197 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. 198 198 199 199 200 -[[image:image-20230201090528-5.png|| _mstalt="430300"height="465" width="1111"]]194 +[[image:image-20230201090528-5.png||height="465" width="1111"]] 201 201 202 202 203 203 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. ... ... @@ -208,7 +208,7 @@ 208 208 Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 209 209 210 210 211 -[[image:image-20230201152430-20.jpeg ||_mstalt="492245"]]205 +[[image:image-20230201152430-20.jpeg]] 212 212 213 213 214 214 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: ... ... @@ -216,24 +216,24 @@ 216 216 217 217 (% style="color:blue" %)**Register the device** 218 218 219 -[[image:1675213652444-622.png ||_mstalt="293657"]]213 +[[image:1675213652444-622.png]] 220 220 221 221 222 222 (% style="color:blue" %)**Add APP EUI and DEV EUI** 223 223 224 224 225 -[[image:1675213661769-223.png ||_mstalt="295217"]]219 +[[image:1675213661769-223.png]] 226 226 227 227 228 228 (% style="color:blue" %)**Add APP EUI in the application** 229 229 230 230 231 -[[image:1675213675852-577.png ||_mstalt="297947"]]225 +[[image:1675213675852-577.png]] 232 232 233 233 234 234 (% style="color:blue" %)**Add APP KEY** 235 235 236 -[[image:1675213686734-883.png ||_mstalt="298064"]]230 +[[image:1675213686734-883.png]] 237 237 238 238 239 239 (% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB ... ... @@ -244,7 +244,7 @@ 244 244 (% 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. 245 245 246 246 247 -[[image:1675213704414-644.png ||_mstalt="293748"]]241 +[[image:1675213704414-644.png]] 248 248 249 249 250 250 == 2.3 SDI-12 Related Commands == ... ... @@ -263,10 +263,10 @@ 263 263 The following is the display information on the serial port and the server. 264 264 265 265 266 -[[image:image-20230201091027-6.png ||_mstalt="429065"]]260 +[[image:image-20230201091027-6.png]] 267 267 268 268 269 -[[image:image-20230201091027-7.png|| _mstalt="429429"height="261" width="1179"]]263 +[[image:image-20230201091027-7.png||height="261" width="1179"]] 270 270 271 271 272 272 ... ... @@ -284,10 +284,10 @@ 284 284 The following is the display information on the serial port and the server. 285 285 286 286 287 -[[image:image-20230201091257-8.png ||_mstalt="431392"]]281 +[[image:image-20230201091257-8.png]] 288 288 289 289 290 -[[image:image-20230201091257-9.png|| _mstalt="431756"height="225" width="1242"]]284 +[[image:image-20230201091257-9.png||height="225" width="1242"]] 291 291 292 292 293 293 ==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%) ==== ... ... @@ -320,10 +320,10 @@ 320 320 The following is the display information on the serial port and the server. 321 321 322 322 323 -[[image:image-20230201091630-10.png ||_mstalt="449995"]]317 +[[image:image-20230201091630-10.png]] 324 324 325 325 326 -[[image:image-20230201091630-11.png|| _mstalt="450372"height="247" width="1165"]]320 +[[image:image-20230201091630-11.png||height="247" width="1165"]] 327 327 328 328 329 329 ... ... @@ -357,10 +357,10 @@ 357 357 The following is the display information on the serial port and the server. 358 358 359 359 360 -[[image:image-20230201091954-12.png ||_mstalt="453687"]]354 +[[image:image-20230201091954-12.png]] 361 361 362 362 363 -[[image:image-20230201091954-13.png|| _mstalt="454064"height="203" width="1117"]]357 +[[image:image-20230201091954-13.png||height="203" width="1117"]] 364 364 365 365 366 366 ... ... @@ -390,10 +390,10 @@ 390 390 The following is the display information on the serial port and the server. 391 391 392 392 393 -[[image:image-20230201092208-14.png ||_mstalt="452283"]]387 +[[image:image-20230201092208-14.png]] 394 394 395 395 396 -[[image:image-20230201092208-15.png|| _mstalt="452660"height="214" width="1140"]]390 +[[image:image-20230201092208-15.png||height="214" width="1140"]] 397 397 398 398 399 399 === 2.3.2 Advance SDI-12 Debug command === ... ... @@ -425,10 +425,10 @@ 425 425 The following is the display information on the serial port and the server. 426 426 427 427 428 -[[image:image-20230201092355-16.png ||_mstalt="453960"]]422 +[[image:image-20230201092355-16.png]] 429 429 430 430 431 -[[image:image-20230201092355-17.png|| _mstalt="454337"height="426" width="1135"]]425 +[[image:image-20230201092355-17.png||height="426" width="1135"]] 432 432 433 433 434 434 === 2.3.3 Convert ASCII to String === ... ... @@ -443,12 +443,12 @@ 443 443 444 444 1) AT+CONVFORM=0, string Convert String from String to ASCII 445 445 446 -[[image:1675214845056-885.png ||_mstalt="297622"]]440 +[[image:1675214845056-885.png]] 447 447 448 448 449 449 2) AT+CONVFORM=1, ASCII Convert ASCII to String. 450 450 451 -[[image:1675214856590-846.png ||_mstalt="297739"]]445 +[[image:1675214856590-846.png]] 452 452 453 453 454 454 === 2.3.4 Define periodically SDI-12 commands and uplink. === ... ... @@ -485,9 +485,9 @@ 485 485 486 486 (% style="color:blue" %)**AT+DATACUTx**(%%) : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 487 487 488 -(% border="1" style="width:436px" %) 489 -|(% style=" background-color:#f2f2f2;width:433px" %)(((490 - (% style="color:#0070c0" %)**AT+DATACUTx=a,b,c**482 +(% border="1" style="background-color:#f7faff; width:436px" %) 483 +|(% style="width:433px" %)((( 484 +**AT+DATACUTx=a,b,c** 491 491 492 492 **a**: length for the return of AT+COMMAND 493 493 ... ... @@ -499,11 +499,11 @@ 499 499 For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895<CR><LF>” , Below AT+DATACUT1 will get different result to combine payload: 500 500 501 501 502 -(% border="1" cellspacing="4" style="width:510px" %) 503 -|=(% style="width: 164px; background-color:#D9E2F3;color:#0070C0" %)**AT+DATACUT1 value**|=(% style="width: 344px;background-color:#D9E2F3;color:#0070C0" %)**Final Result to combine Payload**504 -|(% style=" background-color:#f2f2f2;width:164px" %)34,1,1+2+3|(% style="background-color:#f2f2f2;width:344px" %)0D 00 01 30 31 33505 -|(% style=" background-color:#f2f2f2;width:164px" %)34,2,1~~8+12~~16|(% style="background-color:#f2f2f2;width:344px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32506 -|(% style=" background-color:#f2f2f2;width:164px" %)34,2,1~~34|(% style="background-color:#f2f2f2;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 0A496 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 497 +|=(% 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 507 507 508 508 * (% style="color:blue" %)** Downlink Payload:** 509 509 ... ... @@ -525,7 +525,7 @@ 525 525 526 526 (% style="color:blue" %)**Example:** 527 527 528 -[[image:image-20230201094129-18.png ||_mstalt="455065"]]522 +[[image:image-20230201094129-18.png]] 529 529 530 530 531 531 ... ... @@ -552,7 +552,7 @@ 552 552 553 553 Below shows a screen shot how the results combines together to a uplink payload. 554 554 555 -[[image:1675215745275-920.png ||_mstalt="295334"]]549 +[[image:1675215745275-920.png]] 556 556 557 557 558 558 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. ... ... @@ -563,7 +563,7 @@ 563 563 (% 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. 564 564 565 565 566 -[[image:1675215782925-448.png ||_mstalt="297466"]]560 +[[image:1675215782925-448.png]] 567 567 568 568 569 569 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. ... ... @@ -581,7 +581,7 @@ 581 581 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 582 582 583 583 584 -[[image:1675215828102-844.png ||_mstalt="294645"]]578 +[[image:1675215828102-844.png]] 585 585 586 586 587 587 (% style="color:#4f81bd" %)**AT+DATAUP=1** ... ... @@ -596,7 +596,7 @@ 596 596 1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 597 597 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 598 598 599 -[[image:1675215848113-696.png ||_mstalt="296998"]]593 +[[image:1675215848113-696.png]] 600 600 601 601 602 602 (% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** ... ... @@ -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="width: 510px" %)624 -|(% colspan="6" style=" background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**625 -|(% style=" background-color:#f2f2f2;width:103px" %)**Sizebackground-color:#f2f2f2;width:72px" %)**1**|(% style="background-color:#f2f2f2" %)**2**|(% style="background-color:#f2f2f2;width:91px" %)**1**|(% style="background-color:#f2f2f2;width:86px" %)**1**|(% style="background-color:#f2f2f2;width:44px" %)**2**626 -|(% style=" background-color:#f2f2f2;width:103px" %)**Value**|(% style="background-color:#f2f2f2;width:72px" %)Sensor Model|(% style="background-color:#f2f2f2" %)Firmware Version|(% style="background-color:#f2f2f2;width:91px" %)Frequency Band|(% style="background-color:#f2f2f2;width:86px" %)Sub-band|(% style="background-color:#f2f2f2;width:44px" %)BAT617 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:420px" %) 618 +|(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)** 619 +|(% 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 ||_mstalt="297778"]]624 +[[image:1675215946738-635.png]] 631 631 632 632 633 633 (% style="color:#037691" %)**Sensor Model**(%%): For SDI-12-LB, this value is 0x17 ... ... @@ -692,7 +692,7 @@ 692 692 693 693 * Periodically Uplink: FPORT=2 694 694 695 -(% border="1" cellspacing="4" style="background-color:#f 2f2f2; width:500px" %)689 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:500px" %) 696 696 |=(% style="width: 90px;" %)((( 697 697 **Size(bytes)** 698 698 )))|=(% style="width: 80px;" %)**2**|=(% style="width: 90px;" %)**1**|=(% style="width: 240px;" %)**Length depends on the return from the commands** ... ... @@ -705,7 +705,7 @@ 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 ||_mstalt="295633"]]702 +[[image:1675216282284-923.png]] 709 709 710 710 711 711 === 2.4.3 Battery Info === ... ... @@ -740,7 +740,7 @@ 740 740 741 741 While using TTN network, you can add the payload format to decode the payload. 742 742 743 -[[image:1675216779406-595.png ||_mstalt="298376"]]737 +[[image:1675216779406-595.png]] 744 744 745 745 746 746 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. ... ... @@ -763,7 +763,7 @@ 763 763 764 764 COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication. 765 765 766 -[[image:image-20230222143809-1.png|| _mstalt="429962"height="564" width="729"]]760 +[[image:image-20230222143809-1.png||height="564" width="729"]] 767 767 768 768 769 769 (% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:** ... ... @@ -805,19 +805,19 @@ 805 805 806 806 a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>” 807 807 808 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %);802 +Cut out all characters: (% style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**; 809 809 810 810 b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>” 811 811 812 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);806 +Cut out all characters: (% style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**; 813 813 814 814 c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>” 815 815 816 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);810 +Cut out all characters: (% style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**; 817 817 818 818 d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>” 819 819 820 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %);814 +Cut out all characters: (% style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**; 821 821 822 822 e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>” 823 823 ... ... @@ -874,14 +874,14 @@ 874 874 875 875 (% style="color:blue" %)**AT Command: AT+TDC** 876 876 877 -(% border="1" cellspacing="4" style="width:510px" %) 878 -|=(% style="width: 16 0px;background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Command Example**|=(% style="width: 160px;background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)**Response**879 -|(% style=" background-color:#f2f2f2;width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2;width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)(((871 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 872 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 137px;" %)**Function**|=**Response** 873 +|(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 880 880 30000 881 881 OK 882 882 the interval is 30000ms = 30s 883 883 ))) 884 -|(% style=" background-color:#f2f2f2;width:157px" %)AT+TDC=60000|(% style="background-color:#f2f2f2;width:166px" %)Set Transmit Interval|(% style="background-color:#f2f2f2" %)(((878 +|(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|((( 885 885 OK 886 886 Set transmit interval to 60000ms = 60 seconds 887 887 ))) ... ... @@ -896,8 +896,6 @@ 896 896 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 897 897 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 898 898 899 - 900 - 901 901 == 3.2 Set Interrupt Mode == 902 902 903 903 ... ... @@ -905,20 +905,20 @@ 905 905 906 906 (% style="color:blue" %)**AT Command: AT+INTMOD** 907 907 908 -(% border="1" cellspacing="4" style="width:510px" %) 909 -|=(% style="width: 15 4px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3;color:#0070C0" %)**Response**910 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+INTMOD=?|(% style="background-color:#f2f2f2;width:196px" %)Show current interrupt mode|(% style="background-color:#f2f2f2;width:157px" %)(((900 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 901 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 187px;" %)**Function**|=(% style="width: 165px;" %)**Response** 902 +|(% style="width:156px" %)AT+INTMOD=?|(% style="width:187px" %)Show current interrupt mode|(% style="width:165px" %)((( 911 911 0 912 912 OK 913 -the mode is 0 =Disable Interrupt 905 +the mode is 0 = Disable Interrupt 914 914 ))) 915 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+INTMOD=2|(% style="background-color:#f2f2f2;width:196px" %)(((907 +|(% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)((( 916 916 Set Transmit Interval 917 917 0. (Disable Interrupt), 918 918 ~1. (Trigger by rising and falling edge) 919 919 2. (Trigger by falling edge) 920 920 3. (Trigger by rising edge) 921 -)))|(% style=" background-color:#f2f2f2;width:157px" %)OK913 +)))|(% style="width:165px" %)OK 922 922 923 923 (% style="color:blue" %)**Downlink Command: 0x06** 924 924 ... ... @@ -929,8 +929,6 @@ 929 929 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 930 930 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 931 931 932 - 933 - 934 934 == 3.3 Set the output time == 935 935 936 936 ... ... @@ -938,54 +938,52 @@ 938 938 939 939 (% style="color:blue" %)**AT Command: AT+3V3T** 940 940 941 -(% border="1" cellspacing="4" style="width:474px" %) 942 -|=(% style="width: 154px; background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 201px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 116px;background-color:#D9E2F3;color:#0070C0" %)**Response**943 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+3V3T=?|(% style="background-color:#f2f2f2;width:201px" %)Show 3V3 open time.|(% style="background-color:#f2f2f2;width:116px" %)(((931 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:474px" %) 932 +|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 201px;" %)**Function**|=(% style="width: 116px;" %)**Response** 933 +|(% style="width:154px" %)AT+3V3T=?|(% style="width:201px" %)Show 3V3 open time.|(% style="width:116px" %)((( 944 944 0 945 945 OK 946 946 ))) 947 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+3V3T=0|(% style="background-color:#f2f2f2;width:201px" %)Normally open 3V3 power supply.|(% style="background-color:#f2f2f2;width:116px" %)(((937 +|(% style="width:154px" %)AT+3V3T=0|(% style="width:201px" %)Normally open 3V3 power supply.|(% style="width:116px" %)((( 948 948 OK 949 949 default setting 950 950 ))) 951 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+3V3T=1000|(% style="background-color:#f2f2f2;width:201px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2;width:116px" %)(((941 +|(% style="width:154px" %)AT+3V3T=1000|(% style="width:201px" %)Close after a delay of 1000 milliseconds.|(% style="width:116px" %)((( 952 952 OK 953 953 ))) 954 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+3V3T=65535|(% style="background-color:#f2f2f2;width:201px" %)Normally closed 3V3 power supply.|(% style="background-color:#f2f2f2;width:116px" %)(((944 +|(% style="width:154px" %)AT+3V3T=65535|(% style="width:201px" %)Normally closed 3V3 power supply.|(% style="width:116px" %)((( 955 955 OK 956 956 ))) 957 957 958 - 959 959 (% style="color:blue" %)**AT Command: AT+5VT** 960 960 961 -(% border="1" cellspacing="4" style="width:470px" %) 962 -|=(% style="width: 155px; background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 114px;background-color:#D9E2F3;color:#0070C0" %)**Response**963 -|(% style=" background-color:#f2f2f2;width:155px" %)AT+5VT=?|(% style="background-color:#f2f2f2;width:196px" %)Show 5V open time.|(% style="background-color:#f2f2f2;width:114px" %)(((950 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:470px" %) 951 +|=(% style="width: 155px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 114px;" %)**Response** 952 +|(% style="width:155px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:114px" %)((( 964 964 0 965 965 OK 966 966 ))) 967 -|(% style=" background-color:#f2f2f2;width:155px" %)AT+5VT=0|(% style="background-color:#f2f2f2;width:196px" %)Normally closed 5V power supply.|(% style="background-color:#f2f2f2;width:114px" %)(((956 +|(% style="width:155px" %)AT+5VT=0|(% style="width:196px" %)Normally closed 5V power supply.|(% style="width:114px" %)((( 968 968 OK 969 969 default setting 970 970 ))) 971 -|(% style=" background-color:#f2f2f2;width:155px" %)AT+5VT=1000|(% style="background-color:#f2f2f2;width:196px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2;width:114px" %)(((960 +|(% style="width:155px" %)AT+5VT=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:114px" %)((( 972 972 OK 973 973 ))) 974 -|(% style=" background-color:#f2f2f2;width:155px" %)AT+5VT=65535|(% style="background-color:#f2f2f2;width:196px" %)Normally open 5V power supply.|(% style="background-color:#f2f2f2;width:114px" %)(((963 +|(% style="width:155px" %)AT+5VT=65535|(% style="width:196px" %)Normally open 5V power supply.|(% style="width:114px" %)((( 975 975 OK 976 976 ))) 977 977 978 - 979 979 (% style="color:blue" %)**AT Command: AT+12VT** 980 980 981 -(% border="1" cellspacing="4" style="width:443px" %) 982 -|=(% style="width: 156px; background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 199px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 83px;background-color:#D9E2F3;color:#0070C0" %)**Response**983 -|(% style=" background-color:#f2f2f2;width:156px" %)AT+12VT=?|(% style="background-color:#f2f2f2;width:199px" %)Show 12V open time.|(% style="background-color:#f2f2f2;width:83px" %)(((969 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:443px" %) 970 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 199px;" %)**Function**|=(% style="width: 83px;" %)**Response** 971 +|(% style="width:156px" %)AT+12VT=?|(% style="width:199px" %)Show 12V open time.|(% style="width:83px" %)((( 984 984 0 985 985 OK 986 986 ))) 987 -|(% style=" background-color:#f2f2f2;width:156px" %)AT+12VT=0|(% style="background-color:#f2f2f2;width:199px" %)Normally closed 12V power supply.|(% style="background-color:#f2f2f2;width:83px" %)OK988 -|(% style=" background-color:#f2f2f2;width:156px" %)AT+12VT=500|(% style="background-color:#f2f2f2;width:199px" %)Close after a delay of 500 milliseconds.|(% style="background-color:#f2f2f2;width:83px" %)(((975 +|(% style="width:156px" %)AT+12VT=0|(% style="width:199px" %)Normally closed 12V power supply.|(% style="width:83px" %)OK 976 +|(% style="width:156px" %)AT+12VT=500|(% style="width:199px" %)Close after a delay of 500 milliseconds.|(% style="width:83px" %)((( 989 989 OK 990 990 ))) 991 991 ... ... @@ -1002,8 +1002,6 @@ 1002 1002 * Example 5: Downlink Payload: 070301F4 **~-~-->** AT+12VT=500 1003 1003 * Example 6: Downlink Payload: 07030000 **~-~-->** AT+12VT=0 1004 1004 1005 - 1006 - 1007 1007 == 3.4 Set the all data mode == 1008 1008 1009 1009 ... ... @@ -1011,13 +1011,13 @@ 1011 1011 1012 1012 (% style="color:blue" %)**AT Command: AT+ALLDATAMOD** 1013 1013 1014 -(% border="1" cellspacing="4" style="width:437px" %) 1015 -|= (% style="background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**1016 -| (% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=?|(% style="background-color:#f2f2f2" %)Show current all data mode|(% style="background-color:#f2f2f2" %)(((1000 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 1001 +|=**Command Example**|=**Function**|=**Response** 1002 +|AT+ALLDATAMOD=?|Show current all data mode|((( 1017 1017 0 1018 1018 OK 1019 1019 ))) 1020 -| (% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=1|(% style="background-color:#f2f2f2" %)Set all data mode is 1.|(% style="background-color:#f2f2f2" %)OK1006 +|AT+ALLDATAMOD=1|Set all data mode is 1.|OK 1021 1021 1022 1022 (% style="color:blue" %)**Downlink Command: 0xAB** 1023 1023 ... ... @@ -1026,8 +1026,6 @@ 1026 1026 * Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 1027 1027 * Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 1028 1028 1029 - 1030 - 1031 1031 == 3.5 Set the splicing payload for uplink == 1032 1032 1033 1033 ... ... @@ -1035,21 +1035,21 @@ 1035 1035 1036 1036 (% style="color:blue" %)**AT Command: AT+DATAUP** 1037 1037 1038 -(% border="1" cellspacing="4" style="width:510px" %) 1039 -|=(% style="width: 154px; background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 266px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**1040 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+DATAUP =?|(% style="background-color:#f2f2f2;width:266px" %)Show current splicing payload for uplink mode|(% style="background-color:#f2f2f2" %)(((1022 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 1023 +|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 266px;" %)**Function**|=**Response** 1024 +|(% style="width:154px" %)AT+DATAUP =?|(% style="width:266px" %)Show current splicing payload for uplink mode|((( 1041 1041 0 1042 1042 OK 1043 1043 ))) 1044 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+DATAUP =0|(% style="background-color:#f2f2f2;width:266px" %)(((1028 +|(% style="width:154px" %)AT+DATAUP =0|(% style="width:266px" %)((( 1045 1045 Set splicing payload for uplink mode is 0. 1046 -)))|( % style="background-color:#f2f2f2" %)(((1030 +)))|((( 1047 1047 OK 1048 1048 ))) 1049 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+DATAUP =1|(% style="background-color:#f2f2f2;width:266px" %)Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|(% style="background-color:#f2f2f2" %)OK1050 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+DATAUP =1,20000|(% style="background-color:#f2f2f2;width:266px" %)(((1033 +|(% style="width:154px" %)AT+DATAUP =1|(% style="width:266px" %)Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|OK 1034 +|(% style="width:154px" %)AT+DATAUP =1,20000|(% style="width:266px" %)((( 1051 1051 Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds. 1052 -)))| (% style="background-color:#f2f2f2" %)OK1036 +)))|OK 1053 1053 1054 1054 (% style="color:blue" %)**Downlink Command: 0xAD** 1055 1055 ... ... @@ -1069,13 +1069,13 @@ 1069 1069 1070 1070 (% style="color:blue" %)**AT Command: AT+PAYVER** 1071 1071 1072 -(% border="1" cellspacing="4" style="width:437px" %) 1073 -|=(% style="width: 158px; background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 192px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**1074 -|(% style=" background-color:#f2f2f2;width:158px" %)AT+PAYVER=?|(% style="background-color:#f2f2f2;width:192px" %)Show current payload version|(% style="background-color:#f2f2f2" %)(((1056 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 1057 +|=(% style="width: 158px;" %)**Command Example**|=(% style="width: 192px;" %)**Function**|=**Response** 1058 +|(% style="width:158px" %)AT+PAYVER=?|(% style="width:192px" %)Show current payload version|((( 1075 1075 1 1076 1076 OK 1077 1077 ))) 1078 -|(% style=" background-color:#f2f2f2;width:158px" %)AT+PAYVER=5|(% style="background-color:#f2f2f2;width:192px" %)Set payload version is 5.|(% style="background-color:#f2f2f2" %)OK1062 +|(% style="width:158px" %)AT+PAYVER=5|(% style="width:192px" %)Set payload version is 5.|OK 1079 1079 1080 1080 (% style="color:blue" %)**Downlink Command: 0xAE** 1081 1081 ... ... @@ -1084,16 +1084,76 @@ 1084 1084 * Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1 1085 1085 * Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1086 1086 1071 += 4. Battery & how to replace = 1087 1087 1073 +== 4.1 Battery Type == 1088 1088 1089 -= 4. Battery & Power Consumption = 1090 1090 1076 +SDI-12-LB is equipped with a [[8500mAH ER26500 Li-SOCI2 battery>>https://www.dropbox.com/sh/w9l2oa3ytpculph/AAAPtt-apH4lYfCj-2Y6lHvQa?dl=0]]. The battery is un-rechargeable battery with low discharge rate targeting for 8~~10 years use. This type of battery is commonly used in IoT target for long-term running, such as water meter. 1091 1091 1092 -SDI-12-LB uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace. 1093 1093 1094 - [[**BatteryInfo& PowerConsumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]].1079 +The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance. 1095 1095 1081 +[[image:1675234124233-857.png]] 1096 1096 1083 + 1084 +Minimum Working Voltage for the SDI-12-LB: 1085 + 1086 +SDI-12-LB: 2.45v ~~ 3.6v 1087 + 1088 + 1089 +== 4.2 Replace Battery == 1090 + 1091 + 1092 +Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery. 1093 + 1094 +And make sure the positive and negative pins match. 1095 + 1096 + 1097 +== 4.3 Power Consumption Analyze == 1098 + 1099 + 1100 +Dragino Battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval. 1101 + 1102 +Instruction to use as below: 1103 + 1104 +(% style="color:blue" %)**Step 1:**(%%) Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: [[https:~~/~~/www.dropbox.com/sh/zwex6i331j5oeq2/AACIMf9f_v2qsJ39CuMQ5Py_a?dl=0>>https://www.dropbox.com/sh/zwex6i331j5oeq2/AACIMf9f_v2qsJ39CuMQ5Py_a?dl=0]] 1105 + 1106 +(% style="color:blue" %)**Step 2:**(%%) Open it and choose 1107 + 1108 +* Product Model 1109 +* Uplink Interval 1110 +* Working Mode 1111 + 1112 +And the Life expectation in difference case will be shown on the right. 1113 + 1114 + 1115 +[[image:1675234155374-163.png]] 1116 + 1117 + 1118 +The battery related documents as below: 1119 + 1120 +* [[Battery Dimension>>https://www.dropbox.com/s/ox5g9njwjle7aw3/LSN50-Battery-Dimension.pdf?dl=0]], 1121 +* [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]] 1122 +* [[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]] 1123 + 1124 +[[image:image-20230201145019-19.png]] 1125 + 1126 + 1127 +=== 4.3.1 Battery Note === 1128 + 1129 + 1130 +The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased. 1131 + 1132 + 1133 +=== 4.3.2 Replace the battery === 1134 + 1135 + 1136 +You can change the battery in the SDI-12-LB.The type of battery is not limited as long as the output is between 3v to 3.6v. On the main board, there is a diode (D1) between the battery and the main circuit. If you need to use a battery with less than 3.3v, please remove the D1 and shortcut the two pads of it so there won't be voltage drop between battery and main board. 1137 + 1138 +The default battery pack of SDI-12-LB includes a ER26500 plus super capacitor. If user can't find this pack locally, they can find ER26500 or equivalence, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes) 1139 + 1140 + 1097 1097 = 5. Remote Configure device = 1098 1098 1099 1099 == 5.1 Connect via BLE == ... ... @@ -1116,7 +1116,7 @@ 1116 1116 1117 1117 = 7. FAQ = 1118 1118 1119 -== 7.1 How to use AT Command viaUARTto access device? ==1163 +== 7.1 How to use AT Command to access device? == 1120 1120 1121 1121 1122 1122 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]] ... ... @@ -1158,7 +1158,6 @@ 1158 1158 ))) 1159 1159 1160 1160 1161 - 1162 1162 = 9. Packing Info = 1163 1163 1164 1164 ... ... @@ -1173,8 +1173,6 @@ 1173 1173 * Package Size / pcs : cm 1174 1174 * Weight / pcs : g 1175 1175 1176 - 1177 - 1178 1178 = 10. Support = 1179 1179 1180 1180