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 43.1
edited by Bei Jinggeng
on 2023/02/22 14:42
on 2023/02/22 14:42
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. Bei1 +XWiki.Xiaoling - 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 ... ... @@ -47,7 +47,7 @@ 47 47 ))) 48 48 49 49 50 -[[image:image-20230201084414-1.png||height="464" width="1108"]] 50 +[[image:image-20230201084414-1.png||_mstalt="427765" height="464" width="1108"]] 51 51 52 52 53 53 == 1.2 Features == ... ... @@ -66,6 +66,7 @@ 66 66 * 8500mAh Battery for long term use 67 67 68 68 69 + 69 69 == 1.3 Specification == 70 70 71 71 ... ... @@ -78,6 +78,8 @@ 78 78 (% style="color:#037691" %)**Common DC Characteristics:** 79 79 80 80 * Supply Voltage: 2.5v ~~ 3.6v 82 +* Support current: 5V 300mA 83 + 12V 100mA 81 81 * Operating Temperature: -40 ~~ 85°C 82 82 83 83 (% style="color:#037691" %)**LoRa Spec:** ... ... @@ -113,11 +113,12 @@ 113 113 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 114 114 115 115 119 + 116 116 == 1.4 Connect to SDI-12 Sensor == 117 117 118 118 119 119 120 -[[image:1675212538524-889.png]] 124 +[[image:1675212538524-889.png||_mstalt="298272"]] 121 121 122 122 123 123 == 1.5 Sleep mode and working mode == ... ... @@ -131,7 +131,7 @@ 131 131 == 1.6 Button & LEDs == 132 132 133 133 134 -[[image:1675212633011-651.png]] 138 +[[image:1675212633011-651.png||_mstalt="291538"]] 135 135 136 136 137 137 (% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) ... ... @@ -148,10 +148,11 @@ 148 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. 149 149 150 150 155 + 151 151 == 1.7 Pin Mapping == 152 152 153 153 154 -[[image:1675213198663-754.png]] 159 +[[image:1675213198663-754.png||_mstalt="297167"]] 155 155 156 156 157 157 == 1.8 BLE connection == ... ... @@ -171,11 +171,11 @@ 171 171 == 1.9 Mechanical == 172 172 173 173 174 -[[image:image-20230201090139-2.png]] 179 +[[image:image-20230201090139-2.png||_mstalt="428623"]] 175 175 176 -[[image:image-20230201090139-3.png]] 181 +[[image:image-20230201090139-3.png||_mstalt="428987"]] 177 177 178 -[[image:image-20230201090139-4.png]] 183 +[[image:image-20230201090139-4.png||_mstalt="429351"]] 179 179 180 180 181 181 = 2. Configure SDI-12 to connect to LoRaWAN network = ... ... @@ -192,7 +192,7 @@ 192 192 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. 193 193 194 194 195 -[[image:image-20230201090528-5.png||height="465" width="1111"]] 200 +[[image:image-20230201090528-5.png||_mstalt="430300" height="465" width="1111"]] 196 196 197 197 198 198 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. ... ... @@ -203,7 +203,7 @@ 203 203 Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 204 204 205 205 206 -[[image:image-20230201152430-20.jpeg]] 211 +[[image:image-20230201152430-20.jpeg||_mstalt="492245"]] 207 207 208 208 209 209 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: ... ... @@ -211,24 +211,24 @@ 211 211 212 212 (% style="color:blue" %)**Register the device** 213 213 214 -[[image:1675213652444-622.png]] 219 +[[image:1675213652444-622.png||_mstalt="293657"]] 215 215 216 216 217 217 (% style="color:blue" %)**Add APP EUI and DEV EUI** 218 218 219 219 220 -[[image:1675213661769-223.png]] 225 +[[image:1675213661769-223.png||_mstalt="295217"]] 221 221 222 222 223 223 (% style="color:blue" %)**Add APP EUI in the application** 224 224 225 225 226 -[[image:1675213675852-577.png]] 231 +[[image:1675213675852-577.png||_mstalt="297947"]] 227 227 228 228 229 229 (% style="color:blue" %)**Add APP KEY** 230 230 231 -[[image:1675213686734-883.png]] 236 +[[image:1675213686734-883.png||_mstalt="298064"]] 232 232 233 233 234 234 (% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB ... ... @@ -239,7 +239,7 @@ 239 239 (% 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. 240 240 241 241 242 -[[image:1675213704414-644.png]] 247 +[[image:1675213704414-644.png||_mstalt="293748"]] 243 243 244 244 245 245 == 2.3 SDI-12 Related Commands == ... ... @@ -258,10 +258,10 @@ 258 258 The following is the display information on the serial port and the server. 259 259 260 260 261 -[[image:image-20230201091027-6.png]] 266 +[[image:image-20230201091027-6.png||_mstalt="429065"]] 262 262 263 263 264 -[[image:image-20230201091027-7.png||height="261" width="1179"]] 269 +[[image:image-20230201091027-7.png||_mstalt="429429" height="261" width="1179"]] 265 265 266 266 267 267 ... ... @@ -279,10 +279,10 @@ 279 279 The following is the display information on the serial port and the server. 280 280 281 281 282 -[[image:image-20230201091257-8.png]] 287 +[[image:image-20230201091257-8.png||_mstalt="431392"]] 283 283 284 284 285 -[[image:image-20230201091257-9.png||height="225" width="1242"]] 290 +[[image:image-20230201091257-9.png||_mstalt="431756" height="225" width="1242"]] 286 286 287 287 288 288 ==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%) ==== ... ... @@ -315,10 +315,10 @@ 315 315 The following is the display information on the serial port and the server. 316 316 317 317 318 -[[image:image-20230201091630-10.png]] 323 +[[image:image-20230201091630-10.png||_mstalt="449995"]] 319 319 320 320 321 -[[image:image-20230201091630-11.png||height="247" width="1165"]] 326 +[[image:image-20230201091630-11.png||_mstalt="450372" height="247" width="1165"]] 322 322 323 323 324 324 ... ... @@ -352,10 +352,10 @@ 352 352 The following is the display information on the serial port and the server. 353 353 354 354 355 -[[image:image-20230201091954-12.png]] 360 +[[image:image-20230201091954-12.png||_mstalt="453687"]] 356 356 357 357 358 -[[image:image-20230201091954-13.png||height="203" width="1117"]] 363 +[[image:image-20230201091954-13.png||_mstalt="454064" height="203" width="1117"]] 359 359 360 360 361 361 ... ... @@ -385,10 +385,10 @@ 385 385 The following is the display information on the serial port and the server. 386 386 387 387 388 -[[image:image-20230201092208-14.png]] 393 +[[image:image-20230201092208-14.png||_mstalt="452283"]] 389 389 390 390 391 -[[image:image-20230201092208-15.png||height="214" width="1140"]] 396 +[[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]] 392 392 393 393 394 394 === 2.3.2 Advance SDI-12 Debug command === ... ... @@ -420,10 +420,10 @@ 420 420 The following is the display information on the serial port and the server. 421 421 422 422 423 -[[image:image-20230201092355-16.png]] 428 +[[image:image-20230201092355-16.png||_mstalt="453960"]] 424 424 425 425 426 -[[image:image-20230201092355-17.png||height="426" width="1135"]] 431 +[[image:image-20230201092355-17.png||_mstalt="454337" height="426" width="1135"]] 427 427 428 428 429 429 === 2.3.3 Convert ASCII to String === ... ... @@ -438,12 +438,12 @@ 438 438 439 439 1) AT+CONVFORM=0, string Convert String from String to ASCII 440 440 441 -[[image:1675214845056-885.png]] 446 +[[image:1675214845056-885.png||_mstalt="297622"]] 442 442 443 443 444 444 2) AT+CONVFORM=1, ASCII Convert ASCII to String. 445 445 446 -[[image:1675214856590-846.png]] 451 +[[image:1675214856590-846.png||_mstalt="297739"]] 447 447 448 448 449 449 === 2.3.4 Define periodically SDI-12 commands and uplink. === ... ... @@ -464,7 +464,7 @@ 464 464 465 465 (% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. 466 466 467 -(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 4retries.472 +(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 3 retries. 468 468 469 469 (% style="color:red" %)**0 **(%%) No validation check; 470 470 ... ... @@ -520,7 +520,7 @@ 520 520 521 521 (% style="color:blue" %)**Example:** 522 522 523 -[[image:image-20230201094129-18.png]] 528 +[[image:image-20230201094129-18.png||_mstalt="455065"]] 524 524 525 525 526 526 ... ... @@ -547,7 +547,7 @@ 547 547 548 548 Below shows a screen shot how the results combines together to a uplink payload. 549 549 550 -[[image:1675215745275-920.png]] 555 +[[image:1675215745275-920.png||_mstalt="295334"]] 551 551 552 552 553 553 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. ... ... @@ -558,7 +558,7 @@ 558 558 (% 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. 559 559 560 560 561 -[[image:1675215782925-448.png]] 566 +[[image:1675215782925-448.png||_mstalt="297466"]] 562 562 563 563 564 564 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. ... ... @@ -576,7 +576,7 @@ 576 576 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 577 577 578 578 579 -[[image:1675215828102-844.png]] 584 +[[image:1675215828102-844.png||_mstalt="294645"]] 580 580 581 581 582 582 (% style="color:#4f81bd" %)**AT+DATAUP=1** ... ... @@ -591,7 +591,7 @@ 591 591 1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 592 592 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 593 593 594 -[[image:1675215848113-696.png]] 599 +[[image:1675215848113-696.png||_mstalt="296998"]] 595 595 596 596 597 597 (% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** ... ... @@ -622,7 +622,7 @@ 622 622 623 623 Example parse in TTNv3 624 624 625 -[[image:1675215946738-635.png]] 630 +[[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 ... ... @@ -700,7 +700,7 @@ 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]] 708 +[[image:1675216282284-923.png||_mstalt="295633"]] 704 704 705 705 706 706 === 2.4.3 Battery Info === ... ... @@ -735,7 +735,7 @@ 735 735 736 736 While using TTN network, you can add the payload format to decode the payload. 737 737 738 -[[image:1675216779406-595.png]] 743 +[[image:1675216779406-595.png||_mstalt="298376"]] 739 739 740 740 741 741 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. ... ... @@ -748,7 +748,7 @@ 748 748 749 749 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: 750 750 751 -[[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 +[[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]] 752 752 753 753 754 754 == 2.6 Examples To Set SDI commands. == ... ... @@ -755,69 +755,69 @@ 755 755 756 756 === 2.6.1 Examples 1 === 757 757 763 + 758 758 COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication. 759 759 760 -[[image:image-20230222143809-1.png||height="564" width="729"]] 766 +[[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]] 761 761 762 -1)The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor: 763 763 764 - a.Sendthefirstcommand andget thefirstreply: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:** 765 765 766 - AT+COMMANDx=1I!,0,0,1771 +a. Send the first command and get the first reply: 767 767 768 - b.Sendthesecond command and getthesecond reply:773 +(% style="color:#037691" %)**AT+COMMANDx=1I!,0,0,1** 769 769 770 - AT+COMMANDx=2I!,0,0,1775 +b. Send the second command and get the second reply: 771 771 772 - c.Sendthethirdcommand and get the thirdreply:777 +(% style="color:#037691" %)**AT+COMMANDx=2I!,0,0,1** 773 773 774 - AT+COMMANDx=3I!,0,0,1779 +c. Send the third command and get the third reply: 775 775 776 - d.Sendthefourthcommand and get the fourthreply:781 +(% style="color:#037691" %)**AT+COMMANDx=3I!,0,0,1** 777 777 778 - AT+COMMANDx=4I!,0,0,1783 +d. Send the fourth command and get the fourth reply: 779 779 780 - e.Sendthefifthcommand plus the sixth command,get the sixth reply:785 +(% style="color:#037691" %)**AT+COMMANDx=4I!,0,0,1** 781 781 782 - AT+COMMANDx=1M!,2,1,1787 +e. Send the fifth command plus the sixth command, get the sixth reply: 783 783 784 - f.Sendtheseventh command plus theeighthcommand, get the eighth reply:789 +(% style="color:#037691" %)**AT+COMMANDx=1M!,2,1,1** 785 785 786 - AT+COMMANDx=2M!,2,1,1791 +f. Send the seventh command plus the eighth command, get the eighth reply: 787 787 788 - g.Sendtheninthcommand plus the tenth command, get the tenthreply:793 +(% style="color:#037691" %)**AT+COMMANDx=2M!,2,1,1** 789 789 790 - AT+COMMANDx=3M!,1,1,1795 +g. Send the ninth command plus the tenth command, get the tenth reply: 791 791 792 - h.Sendthe eleventhcommand plus the twelfth command, get the twelfthreply:797 +(% style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1** 793 793 794 - AT+COMMANDx=4M!,1,1,1799 +h. Send the eleventh command plus the twelfth command, get the twelfth reply: 795 795 801 +(% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1** 796 796 797 -2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor: 798 798 799 - a.Thefirst reply, all34characters: ”113TRUEBNERSMT100038220303182331<CR><LF>”804 +(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:** 800 800 801 - Cutout all characters:AT+ALLDATAMOD=1or AT+DATACUTx=34,2,1~~34;806 +a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>” 802 802 808 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %); 809 + 803 803 b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>” 804 804 805 -Cut out all characters: AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31; 812 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 806 806 807 807 c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>” 808 808 809 -Cut out all characters: AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31; 816 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 810 810 811 811 d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>” 812 812 813 -Cut out all characters: AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15; 820 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %); 814 814 815 815 e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>” 816 816 817 -Partial cut, the cut sensor address and the first two parameters:AT+DATACUTx=25,2,1~~12, cut out the character field ” 4+30.8+22.84”. 824 +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”**. 818 818 819 -(% class="wikigeneratedid" %) 820 -== == 821 821 822 822 == 2.7 Frequency Plans == 823 823 ... ... @@ -892,6 +892,7 @@ 892 892 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 893 893 894 894 900 + 895 895 == 3.2 Set Interrupt Mode == 896 896 897 897 ... ... @@ -924,6 +924,7 @@ 924 924 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 925 925 926 926 933 + 927 927 == 3.3 Set the output time == 928 928 929 929 ... ... @@ -994,6 +994,7 @@ 994 994 * Example 6: Downlink Payload: 07030000 **~-~-->** AT+12VT=0 995 995 996 996 1004 + 997 997 == 3.4 Set the all data mode == 998 998 999 999 ... ... @@ -1017,6 +1017,7 @@ 1017 1017 * Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 1018 1018 1019 1019 1028 + 1020 1020 == 3.5 Set the splicing payload for uplink == 1021 1021 1022 1022 ... ... @@ -1074,6 +1074,7 @@ 1074 1074 * Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1075 1075 1076 1076 1086 + 1077 1077 = 4. Battery & how to replace = 1078 1078 1079 1079 == 4.1 Battery Type == ... ... @@ -1084,7 +1084,7 @@ 1084 1084 1085 1085 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance. 1086 1086 1087 -[[image:1675234124233-857.png]] 1097 +[[image:1675234124233-857.png||_mstalt="295035"]] 1088 1088 1089 1089 1090 1090 Minimum Working Voltage for the SDI-12-LB: ... ... @@ -1118,7 +1118,7 @@ 1118 1118 And the Life expectation in difference case will be shown on the right. 1119 1119 1120 1120 1121 -[[image:1675234155374-163.png]] 1131 +[[image:1675234155374-163.png||_mstalt="294411"]] 1122 1122 1123 1123 1124 1124 The battery related documents as below: ... ... @@ -1127,7 +1127,7 @@ 1127 1127 * [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]] 1128 1128 * [[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]] 1129 1129 1130 -[[image:image-20230201145019-19.png]] 1140 +[[image:image-20230201145019-19.png||_mstalt="453947"]] 1131 1131 1132 1132 1133 1133 === 4.3.1 Battery Note === ... ... @@ -1208,6 +1208,7 @@ 1208 1208 ))) 1209 1209 1210 1210 1221 + 1211 1211 = 9. Packing Info = 1212 1212 1213 1213 ... ... @@ -1223,6 +1223,7 @@ 1223 1223 * Weight / pcs : g 1224 1224 1225 1225 1237 + 1226 1226 = 10. Support = 1227 1227 1228 1228