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
To version 47.1
edited by Bei Jinggeng
on 2023/03/20 10:22
on 2023/03/20 10:22
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- 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 == ... ... @@ -65,7 +65,6 @@ 65 65 * Downlink to change configure 66 66 * 8500mAh Battery for long term use 67 67 68 - 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 80 +* Support current: 5V 300mA 81 + 12V 100mA 81 81 * Operating Temperature: -40 ~~ 85°C 82 82 83 83 (% style="color:#037691" %)**LoRa Spec:** ... ... @@ -112,12 +112,11 @@ 112 112 * Sleep Mode: 5uA @ 3.3v 113 113 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 114 114 115 - 116 116 == 1.4 Connect to SDI-12 Sensor == 117 117 118 118 119 119 120 -[[image:1675212538524-889.png]] 120 +[[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]] 134 +[[image:1675212633011-651.png||_mstalt="291538"]] 135 135 136 136 137 137 (% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) ... ... @@ -147,11 +147,10 @@ 147 147 ))) 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 - 151 151 == 1.7 Pin Mapping == 152 152 153 153 154 -[[image:1675213198663-754.png]] 153 +[[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]] 173 +[[image:image-20230201090139-2.png||_mstalt="428623"]] 175 175 176 -[[image:image-20230201090139-3.png]] 175 +[[image:image-20230201090139-3.png||_mstalt="428987"]] 177 177 178 -[[image:image-20230201090139-4.png]] 177 +[[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"]] 194 +[[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]] 205 +[[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]] 213 +[[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]] 219 +[[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]] 225 +[[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]] 230 +[[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]] 241 +[[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]] 260 +[[image:image-20230201091027-6.png||_mstalt="429065"]] 262 262 263 263 264 -[[image:image-20230201091027-7.png||height="261" width="1179"]] 263 +[[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]] 281 +[[image:image-20230201091257-8.png||_mstalt="431392"]] 283 283 284 284 285 -[[image:image-20230201091257-9.png||height="225" width="1242"]] 284 +[[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]] 317 +[[image:image-20230201091630-10.png||_mstalt="449995"]] 319 319 320 320 321 -[[image:image-20230201091630-11.png||height="247" width="1165"]] 320 +[[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]] 354 +[[image:image-20230201091954-12.png||_mstalt="453687"]] 356 356 357 357 358 -[[image:image-20230201091954-13.png||height="203" width="1117"]] 357 +[[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]] 387 +[[image:image-20230201092208-14.png||_mstalt="452283"]] 389 389 390 390 391 -[[image:image-20230201092208-15.png||height="214" width="1140"]] 390 +[[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]] 422 +[[image:image-20230201092355-16.png||_mstalt="453960"]] 424 424 425 425 426 -[[image:image-20230201092355-17.png||height="426" width="1135"]] 425 +[[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]] 440 +[[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]] 445 +[[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.466 +(% 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]] 522 +[[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]] 549 +[[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]] 560 +[[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]] 578 +[[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]] 593 +[[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]] 624 +[[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]] 702 +[[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]] 737 +[[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]] ]]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]] 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 757 + 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"]] 760 +[[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:763 +(% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:** 765 765 766 - AT+COMMANDx=1I!,0,0,1765 +a. Send the first command and get the first reply: 767 767 768 - b.Sendthesecond command and getthesecond reply:767 +(% style="color:#037691" %)**AT+COMMANDx=1I!,0,0,1** 769 769 770 - AT+COMMANDx=2I!,0,0,1769 +b. Send the second command and get the second reply: 771 771 772 - c.Sendthethirdcommand and get the thirdreply:771 +(% style="color:#037691" %)**AT+COMMANDx=2I!,0,0,1** 773 773 774 - AT+COMMANDx=3I!,0,0,1773 +c. Send the third command and get the third reply: 775 775 776 - d.Sendthefourthcommand and get the fourthreply:775 +(% style="color:#037691" %)**AT+COMMANDx=3I!,0,0,1** 777 777 778 - AT+COMMANDx=4I!,0,0,1777 +d. Send the fourth command and get the fourth reply: 779 779 780 - e.Sendthefifthcommand plus the sixth command,get the sixth reply:779 +(% style="color:#037691" %)**AT+COMMANDx=4I!,0,0,1** 781 781 782 - AT+COMMANDx=1M!,2,1,1781 +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:783 +(% style="color:#037691" %)**AT+COMMANDx=1M!,2,1,1** 785 785 786 - AT+COMMANDx=2M!,2,1,1785 +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:787 +(% style="color:#037691" %)**AT+COMMANDx=2M!,2,1,1** 789 789 790 - AT+COMMANDx=3M!,1,1,1789 +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:791 +(% style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1** 793 793 794 - AT+COMMANDx=4M!,1,1,1793 +h. Send the eleventh command plus the twelfth command, get the twelfth reply: 795 795 795 +(% 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>”798 +(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:** 800 800 801 - Cutout all characters:AT+ALLDATAMOD=1or AT+DATACUTx=34,2,1~~34;800 +a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>” 802 802 802 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %); 803 + 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; 806 +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; 810 +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; 814 +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”. 818 +Partial cut, the cut sensor address and the first two parameters:(% style="color:#037691" %)**AT+DATACUTx=25,2,1~~12, cut out the character field ” 4+30.8+22.84”**. 818 818 819 -(% class="wikigeneratedid" %) 820 -== == 821 821 822 822 == 2.7 Frequency Plans == 823 823 ... ... @@ -891,7 +891,6 @@ 891 891 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 892 892 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 893 893 894 - 895 895 == 3.2 Set Interrupt Mode == 896 896 897 897 ... ... @@ -923,7 +923,6 @@ 923 923 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 924 924 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 925 925 926 - 927 927 == 3.3 Set the output time == 928 928 929 929 ... ... @@ -993,7 +993,6 @@ 993 993 * Example 5: Downlink Payload: 070301F4 **~-~-->** AT+12VT=500 994 994 * Example 6: Downlink Payload: 07030000 **~-~-->** AT+12VT=0 995 995 996 - 997 997 == 3.4 Set the all data mode == 998 998 999 999 ... ... @@ -1016,7 +1016,6 @@ 1016 1016 * Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 1017 1017 * Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 1018 1018 1019 - 1020 1020 == 3.5 Set the splicing payload for uplink == 1021 1021 1022 1022 ... ... @@ -1073,7 +1073,6 @@ 1073 1073 * Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1 1074 1074 * Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1075 1075 1076 - 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]] 1081 +[[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]] 1115 +[[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]] 1124 +[[image:image-20230201145019-19.png||_mstalt="453947"]] 1131 1131 1132 1132 1133 1133 === 4.3.1 Battery Note === ... ... @@ -1222,7 +1222,6 @@ 1222 1222 * Package Size / pcs : cm 1223 1223 * Weight / pcs : g 1224 1224 1225 - 1226 1226 = 10. Support = 1227 1227 1228 1228