Last modified by Mengting Qiu on 2025/07/03 15:42

From version 48.17
edited by Xiaoling
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
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +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. Means PS-LB-NA is in Deep Sleep Mode.
148 +|(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:109px" %)Deactivate Device|(% style="width:231px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means SDI-12-LB is in Deep Sleep Mode.
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 33
505 -|(% 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 32
506 -|(% 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 0A
496 +(% 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" %)**Size (bytes)**|(% style="background-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" %)BAT
617 +(% 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:#f2f2f2; 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: 160px; 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: 154px;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" %)OK
913 +)))|(% 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" %)OK
988 -|(% 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" %)OK
1006 +|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" %)OK
1050 -|(% 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" %)OK
1036 +)))|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" %)OK
1062 +|(% 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 -[[**Battery Info & Power Consumption 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  via UART to 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