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

From version 41.4
edited by Xiaoling
on 2023/02/01 15:27
Change comment: There is no comment for this version
To version 48.5
edited by Xiaoling
on 2023/04/03 11:12
Change comment: There is no comment for this version

Summary

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  
... ... @@ -22,30 +22,40 @@
22 22  == 1.1 ​What is SDI-12 to LoRaWAN Converter ==
23 23  
24 24  
25 +(((
25 25  The Dragino (% style="color:blue" %)**SDI-12-LB**(%%) is a (% style="color:blue" %)**SDI-12 to LoRaWAN Converter **(%%)designed for Smart Agriculture solution.
27 +)))
26 26  
29 +(((
27 27  SDI-12 (Serial Digital Interface at 1200 baud) is an asynchronous [[serial communications>>url:https://en.wikipedia.org/wiki/Serial_communication]] protocol for intelligent sensors that monitor environment data. SDI-12 protocol is widely used in Agriculture sensor and Weather Station sensors.
31 +)))
28 28  
33 +(((
29 29  SDI-12-LB has SDI-12 interface and support 12v output to power external SDI-12 sensor. It can get the environment data from SDI-12 sensor and sends out the data via LoRaWAN wireless protocol.
35 +)))
30 30  
37 +(((
31 31  The LoRa wireless technology used in SDI-12-LB allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption.
39 +)))
32 32  
41 +(((
33 33  SDI-12-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
43 +)))
34 34  
45 +(((
35 35  Each SDI-12-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on.
47 +)))
36 36  
37 37  
38 -[[image:image-20230201084414-1.png||height="464" width="1108"]]
50 +[[image:image-20230201084414-1.png||_mstalt="427765" height="464" width="1108"]]
39 39  
40 40  
41 -
42 -
43 43  == ​1.2 Features ==
44 44  
45 45  
46 46  * LoRaWAN 1.0.3 Class A
47 47  * Ultra-low power consumption
48 -* Controllable 5v and 12v output to power external sensor
58 +* Controllable 3.3v, 5v and 12v output to power external sensor
49 49  * SDI-12 Protocol to connect to SDI-12 Sensor
50 50  * Monitor Battery Level
51 51  * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
... ... @@ -55,6 +55,7 @@
55 55  * Downlink to change configure
56 56  * 8500mAh Battery for long term use
57 57  
68 +
58 58  == 1.3 Specification ==
59 59  
60 60  
... ... @@ -67,6 +67,8 @@
67 67  (% style="color:#037691" %)**Common DC Characteristics:**
68 68  
69 69  * Supply Voltage: 2.5v ~~ 3.6v
81 +* Support current: 5V 300mA
82 + 12V 100mA
70 70  * Operating Temperature: -40 ~~ 85°C
71 71  
72 72  (% style="color:#037691" %)**LoRa Spec:**
... ... @@ -101,11 +101,12 @@
101 101  * Sleep Mode: 5uA @ 3.3v
102 102  * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
103 103  
117 +
104 104  == 1.4 Connect to SDI-12 Sensor ==
105 105  
106 106  
107 107  
108 -[[image:1675212538524-889.png]]
122 +[[image:1675212538524-889.png||_mstalt="298272"]]
109 109  
110 110  
111 111  == 1.5 Sleep mode and working mode ==
... ... @@ -119,27 +119,27 @@
119 119  == 1.6 Button & LEDs ==
120 120  
121 121  
122 -[[image:1675212633011-651.png]]
136 +[[image:1675212633011-651.png||_mstalt="291538"]]
123 123  
124 124  
125 -
126 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %)
127 -|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 117px;" %)**Function**|=(% style="width: 225px;" %)**Action**
128 -|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
139 +(% border="1" cellspacing="4" style="width:510px" %)
140 +|=(% 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**
141 +|(% 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" %)(((
129 129  If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
130 130  Meanwhile, BLE module will be active and user can connect via BLE to configure device.
131 131  )))
132 -|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
133 -(% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network.
134 -(% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
145 +|(% 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" %)(((
146 +(% 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.
147 +(% style="background-color:#f2f2f2; color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
135 135  Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network.
136 136  )))
137 -|(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB is in Deep Sleep Mode.
150 +|(% 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.
138 138  
152 +
139 139  == 1.7 Pin Mapping ==
140 140  
141 141  
142 -[[image:1675213198663-754.png]]
156 +[[image:1675213198663-754.png||_mstalt="297167"]]
143 143  
144 144  
145 145  == 1.8 BLE connection ==
... ... @@ -159,11 +159,11 @@
159 159  == 1.9 Mechanical ==
160 160  
161 161  
162 -[[image:image-20230201090139-2.png]]
176 +[[image:image-20230201090139-2.png||_mstalt="428623"]]
163 163  
164 -[[image:image-20230201090139-3.png]]
178 +[[image:image-20230201090139-3.png||_mstalt="428987"]]
165 165  
166 -[[image:image-20230201090139-4.png]]
180 +[[image:image-20230201090139-4.png||_mstalt="429351"]]
167 167  
168 168  
169 169  = 2. Configure SDI-12 to connect to LoRaWAN network =
... ... @@ -180,7 +180,7 @@
180 180  Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
181 181  
182 182  
183 -[[image:image-20230201090528-5.png||height="465" width="1111"]]
197 +[[image:image-20230201090528-5.png||_mstalt="430300" height="465" width="1111"]]
184 184  
185 185  
186 186  The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
... ... @@ -191,7 +191,7 @@
191 191  Each SDI-12-LB is shipped with a sticker with the default device EUI as below:
192 192  
193 193  
194 -[[image:image-20230201152430-20.jpeg]]
208 +[[image:image-20230201152430-20.jpeg||_mstalt="492245"]]
195 195  
196 196  
197 197  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
... ... @@ -199,24 +199,24 @@
199 199  
200 200  (% style="color:blue" %)**Register the device**
201 201  
202 -[[image:1675213652444-622.png]]
216 +[[image:1675213652444-622.png||_mstalt="293657"]]
203 203  
204 204  
205 205  (% style="color:blue" %)**Add APP EUI and DEV EUI**
206 206  
207 207  
208 -[[image:1675213661769-223.png]]
222 +[[image:1675213661769-223.png||_mstalt="295217"]]
209 209  
210 210  
211 211  (% style="color:blue" %)**Add APP EUI in the application**
212 212  
213 213  
214 -[[image:1675213675852-577.png]]
228 +[[image:1675213675852-577.png||_mstalt="297947"]]
215 215  
216 216  
217 217  (% style="color:blue" %)**Add APP KEY**
218 218  
219 -[[image:1675213686734-883.png]]
233 +[[image:1675213686734-883.png||_mstalt="298064"]]
220 220  
221 221  
222 222  (% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB
... ... @@ -227,7 +227,7 @@
227 227  (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode** (%%)for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
228 228  
229 229  
230 -[[image:1675213704414-644.png]]
244 +[[image:1675213704414-644.png||_mstalt="293748"]]
231 231  
232 232  
233 233  == ​2.3 SDI-12 Related Commands ==
... ... @@ -246,10 +246,10 @@
246 246  The following is the display information on the serial port and the server.
247 247  
248 248  
249 -[[image:image-20230201091027-6.png]]
263 +[[image:image-20230201091027-6.png||_mstalt="429065"]]
250 250  
251 251  
252 -[[image:image-20230201091027-7.png||height="261" width="1179"]]
266 +[[image:image-20230201091027-7.png||_mstalt="429429" height="261" width="1179"]]
253 253  
254 254  
255 255  
... ... @@ -267,10 +267,10 @@
267 267  The following is the display information on the serial port and the server.
268 268  
269 269  
270 -[[image:image-20230201091257-8.png]]
284 +[[image:image-20230201091257-8.png||_mstalt="431392"]]
271 271  
272 272  
273 -[[image:image-20230201091257-9.png||height="225" width="1242"]]
287 +[[image:image-20230201091257-9.png||_mstalt="431756" height="225" width="1242"]]
274 274  
275 275  
276 276  ==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%) ====
... ... @@ -297,16 +297,16 @@
297 297  
298 298  (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
299 299  
300 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return.
314 +(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return.
301 301  
302 302  
303 303  The following is the display information on the serial port and the server.
304 304  
305 305  
306 -[[image:image-20230201091630-10.png]]
320 +[[image:image-20230201091630-10.png||_mstalt="449995"]]
307 307  
308 308  
309 -[[image:image-20230201091630-11.png||height="247" width="1165"]]
323 +[[image:image-20230201091630-11.png||_mstalt="450372" height="247" width="1165"]]
310 310  
311 311  
312 312  
... ... @@ -334,16 +334,16 @@
334 334  
335 335  (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
336 336  
337 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return.
351 +(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%)__ __to get return.
338 338  
339 339  
340 340  The following is the display information on the serial port and the server.
341 341  
342 342  
343 -[[image:image-20230201091954-12.png]]
357 +[[image:image-20230201091954-12.png||_mstalt="453687"]]
344 344  
345 345  
346 -[[image:image-20230201091954-13.png||height="203" width="1117"]]
360 +[[image:image-20230201091954-13.png||_mstalt="454064" height="203" width="1117"]]
347 347  
348 348  
349 349  
... ... @@ -367,19 +367,18 @@
367 367  
368 368  (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
369 369  
370 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return.
384 +(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return.
371 371  
372 372  
373 373  The following is the display information on the serial port and the server.
374 374  
375 375  
390 +[[image:image-20230201092208-14.png||_mstalt="452283"]]
376 376  
377 -[[image:image-20230201092208-14.png]]
378 378  
393 +[[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]]
379 379  
380 -[[image:image-20230201092208-15.png||height="214" width="1140"]]
381 381  
382 -
383 383  === 2.3.2 Advance SDI-12 Debug command ===
384 384  
385 385  
... ... @@ -409,10 +409,10 @@
409 409  The following is the display information on the serial port and the server.
410 410  
411 411  
412 -[[image:image-20230201092355-16.png]]
425 +[[image:image-20230201092355-16.png||_mstalt="453960"]]
413 413  
414 414  
415 -[[image:image-20230201092355-17.png||height="426" width="1135"]]
428 +[[image:image-20230201092355-17.png||_mstalt="454337" height="426" width="1135"]]
416 416  
417 417  
418 418  === 2.3.3 Convert ASCII to String ===
... ... @@ -427,12 +427,12 @@
427 427  
428 428  1) AT+CONVFORM=0, string Convert String from String to ASCII
429 429  
430 -[[image:1675214845056-885.png]]
443 +[[image:1675214845056-885.png||_mstalt="297622"]]
431 431  
432 432  
433 433  2) AT+CONVFORM=1, ASCII Convert ASCII to String.
434 434  
435 -[[image:1675214856590-846.png]]
448 +[[image:1675214856590-846.png||_mstalt="297739"]]
436 436  
437 437  
438 438  === 2.3.4 Define periodically SDI-12 commands and uplink. ===
... ... @@ -453,13 +453,13 @@
453 453  
454 454  (% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//.
455 455  
456 -(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries.
469 +(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 3 retries.
457 457  
458 458  (% style="color:red" %)**0 **(%%) No validation check;
459 459  
460 460  (% style="color:red" %)**1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E);
461 461  
462 -(% style="color:#red" %)**2**(%%)  Check if there is return from SDI-12 sensor
475 +(% style="color:red" %)**2**(%%)  Check if there is return from SDI-12 sensor
463 463  
464 464  (% style="color:red" %)**3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request);
465 465  
... ... @@ -469,9 +469,9 @@
469 469  
470 470  (% style="color:blue" %)**AT+DATACUTx**(%%) : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.
471 471  
472 -(% border="1" style="background-color:#f7faff; width:436px" %)
473 -|(% style="width:433px" %)(((
474 -**AT+DATACUTx=a,b,c**
485 +(% border="1" style="width:436px" %)
486 +|(% style="width:433px;background-color:#F2F2F2 %)(((
487 +**(% style="color:#0070C0" %)AT+DATACUTx=a,b,c**
475 475  
476 476  **a**:  length for the return of AT+COMMAND
477 477  
... ... @@ -480,14 +480,14 @@
480 480  **c**:  define the position for valid value. 
481 481  )))
482 482  
483 -For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895” , Below AT+DATACUT1 will get different result to combine payload:
496 +For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895<CR><LF>” , Below AT+DATACUT1 will get different result to combine payload:
484 484  
485 485  
486 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
487 -|(% style="width:170px" %)**AT+DATACUT1 value**|(% style="width:338px" %)**Final Result to combine Payload**
488 -|(% style="width:170px" %)34,1,1+2+3|(% style="width:338px" %)0D 00 01 30 31 33
489 -|(% style="width:170px" %)34,2,1~~8+12~~16|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32
490 -|(% style="width:170px" %)34,2,1~~34|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A
499 +(% border="1" cellspacing="4" style="width:510px" %)
500 +|=(% style="width: 164px;background-color:#D9E2F3;color:#0070C0" %)**AT+DATACUT1 value**|=(% style="width: 344px;background-color:#D9E2F3;color:#0070C0" %)**Final Result to combine Payload**
501 +|(% style="width:164px;background-color:#F2F2F2" %)34,1,1+2+3|(% style="width:344px;background-color:#F2F2F2" %)0D 00 01 30 31 33
502 +|(% style="width:164px;background-color:#F2F2F2" %)34,2,1~~8+12~~16|(% style="width:344px;background-color:#F2F2F2" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32
503 +|(% style="width:164px;background-color:#F2F2F2" %)34,2,1~~34|(% style="width:344px;background-color:#F2F2F2" %)0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A
491 491  
492 492  * (% style="color:blue" %)** Downlink Payload:**
493 493  
... ... @@ -502,16 +502,17 @@
502 502  Where:
503 503  
504 504  * (% style="color:#037691" %)**MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
505 -* (% style="color:#037691" %)**NN **(%%):  1: set the AT+DATACUT value ; 2: set the AT+DATACUT value.
518 +* (% style="color:#037691" %)**NN **(%%):  1: set the AT+COMMAND value ; 2: set the AT+DATACUT value.
506 506  * (% style="color:#037691" %)**LL **(%%):  The length of AT+COMMAND or AT+DATACUT command
507 507  * (% style="color:#037691" %)**XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command
508 -* (% style="color:#037691" %)**YY **(%%):  If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 
521 +* (% style="color:#037691" %)**YY **(%%):  If YY=0, SDI-12-LB will execute the downlink command without uplink; if YY=1, SDI-12-LB will execute an uplink after got this command. 
509 509  
510 510  (% style="color:blue" %)**Example:**
511 511  
512 -[[image:image-20230201094129-18.png]]
525 +[[image:image-20230201094129-18.png||_mstalt="455065"]]
513 513  
514 514  
528 +
515 515  (% style="color:blue" %)**Clear SDI12 Command**
516 516  
517 517  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
... ... @@ -535,7 +535,7 @@
535 535  
536 536  Below shows a screen shot how the results combines together to a uplink payload.
537 537  
538 -[[image:1675215745275-920.png]]
552 +[[image:1675215745275-920.png||_mstalt="295334"]]
539 539  
540 540  
541 541  If user don't want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1.
... ... @@ -543,10 +543,10 @@
543 543  (% style="color:blue" %)**AT+ALLDATAMOD**(%%) will simply get all return and don't do CRC check as result for SDI-12 command. AT+DATACUTx command has higher priority, if AT+DATACUTx has been set, AT+ALLDATAMOD will be ignore for this SDI-12 command.
544 544  
545 545  
546 -(% style="color:#4f81bd" %)**For example: ** as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result.
560 +(% style="color:#4f81bd" %)**For example: **(%%) as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result.
547 547  
548 548  
549 -[[image:1675215782925-448.png]]
563 +[[image:1675215782925-448.png||_mstalt="297466"]]
550 550  
551 551  
552 552  If AT+ALLDATAMOD=1, (% style="color:#4f81bd" %)**FX,X**(%%) will be added in the payload, FX specify which command is used and X specify the length of return. for example in above screen, F1 05 means the return is from AT+COMMAND1 and the return is 5 bytes.
... ... @@ -555,27 +555,24 @@
555 555  
556 556  (% style="color:blue" %)**Compose Uplink**
557 557  
558 -
559 559  (% style="color:#4f81bd" %)**AT+DATAUP=0**
560 560  
561 -Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK.
574 +Compose the uplink payload with value returns in sequence and send with **__A SIGNLE UPLINK__**.
562 562  
563 -Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
576 +Final Payload is **__Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx__**
564 564  
565 565  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
566 566  
567 567  
568 -[[image:1675215828102-844.png]]
581 +[[image:1675215828102-844.png||_mstalt="294645"]]
569 569  
570 570  
571 571  (% style="color:#4f81bd" %)**AT+DATAUP=1**
572 572  
573 -Compose the uplink payload with value returns in sequence and send with Multiply UPLINKs.
586 +Compose the uplink payload with value returns in sequence and send with **__Multiply UPLINKs__**.
574 574  
575 -Final Payload is
588 +Final Payload is __**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__
576 576  
577 -__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__
578 -
579 579  1. Battery Info (2 bytes): Battery voltage
580 580  1. PAYVER (1 byte): Defined by AT+PAYVER
581 581  1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
... ... @@ -582,7 +582,7 @@
582 582  1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
583 583  1. DATA: Valid value: max 6 bytes(US915 version here, Notice*!) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes
584 584  
585 -[[image:1675215848113-696.png]]
596 +[[image:1675215848113-696.png||_mstalt="296998"]]
586 586  
587 587  
588 588  (% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**
... ... @@ -599,15 +599,6 @@
599 599  
600 600  == 2.4 Uplink Payload ==
601 601  
602 -
603 -Uplink payloads have two types:
604 -
605 -* Distance Value: Use FPORT=2
606 -* Other control commands: Use other FPORT fields.
607 -
608 -The application server should parse the correct value based on FPORT settings.
609 -
610 -
611 611  === 2.4.1 Device Payload, FPORT~=5 ===
612 612  
613 613  
... ... @@ -615,14 +615,14 @@
615 615  
616 616  Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink.
617 617  
618 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
619 -|(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)**
620 -|(% style="width:102px" %)**Size (bytes)**|(% style="width:67px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:52px" %)**1**|(% style="width:44px" %)**2**
621 -|(% style="width:102px" %)**Value**|(% style="width:67px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:89px" %)Frequency Band|(% style="width:52px" %)Sub-band|(% style="width:44px" %)BAT
620 +(% border="1" cellspacing="4" style="width:510px" %)
621 +|(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
622 +|(% 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**
623 +|(% 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
622 622  
623 623  Example parse in TTNv3
624 624  
625 -[[image:1675215946738-635.png]]
627 +[[image:1675215946738-635.png||_mstalt="297778"]]
626 626  
627 627  
628 628  (% style="color:#037691" %)**Sensor Model**(%%): For SDI-12-LB, this value is 0x17
... ... @@ -687,20 +687,20 @@
687 687  
688 688  * Periodically Uplink: FPORT=2
689 689  
690 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
691 -|(% style="width:93px" %)(((
692 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:500px" %)
693 +|=(% style="width: 90px;" %)(((
692 692  **Size(bytes)**
693 -)))|(% style="width:83px" %)**2**|(% style="width:70px" %)**1**|(% style="width:234px" %)**Length depends on the return from the commands**
695 +)))|=(% style="width: 80px;" %)**2**|=(% style="width: 90px;" %)**1**|=(% style="width: 240px;" %)**Length depends on the return from the commands**
694 694  |(% style="width:93px" %)**Value**|(% style="width:83px" %)(((
695 695  Battery(mV)
696 696  &
697 697  Interrupt_Flag
698 -)))|(% style="width:70px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:234px" %)(((
700 +)))|(% style="width:91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)(((
699 699  If the valid payload is too long and exceed the maximum support.
700 700  Payload length in server,server will show payload not provided in the LoRaWAN server.
701 701  )))
702 702  
703 -[[image:1675216282284-923.png]]
705 +[[image:1675216282284-923.png||_mstalt="295633"]]
704 704  
705 705  
706 706  === 2.4.3 Battery Info ===
... ... @@ -727,6 +727,7 @@
727 727  
728 728  === 2.4.5 Payload version ===
729 729  
732 +The version number of the payload, mainly used for decoding. The default is 01.
730 730  
731 731  
732 732  === 2.4.6 ​Decode payload in The Things Network ===
... ... @@ -734,7 +734,7 @@
734 734  
735 735  While using TTN network, you can add the payload format to decode the payload.
736 736  
737 -[[image:1675216779406-595.png]]
740 +[[image:1675216779406-595.png||_mstalt="298376"]]
738 738  
739 739  
740 740  There is no fix payload decoder in LoRaWAN server because the SDI-12 sensors returns are different. User need to write the decoder themselves for their case.
... ... @@ -747,25 +747,91 @@
747 747  
748 748  The SDI-12-LB by default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link:
749 749  
750 -[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval]]]]
753 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval]]
751 751  
752 752  
756 +== 2.6 Examples To Set SDI commands. ==
753 753  
758 +=== 2.6.1 Examples 1 ===
754 754  
755 -== 2.6 Frequency Plans ==
756 756  
761 +COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication.
757 757  
763 +[[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]]
764 +
765 +
766 +(% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:**
767 +
768 +a. Send the first command and get the first reply:
769 +
770 +(% style="color:#037691" %)**AT+COMMANDx=1I!,0,0,1**
771 +
772 +b. Send the second command and get the second reply:
773 +
774 +(% style="color:#037691" %)**AT+COMMANDx=2I!,0,0,1**
775 +
776 +c. Send the third command and get the third reply:
777 +
778 +(% style="color:#037691" %)**AT+COMMANDx=3I!,0,0,1**
779 +
780 +d. Send the fourth command and get the fourth reply:
781 +
782 +(% style="color:#037691" %)**AT+COMMANDx=4I!,0,0,1**
783 +
784 +e. Send the fifth command plus the sixth command, get the sixth reply:
785 +
786 +(% style="color:#037691" %)**AT+COMMANDx=1M!,2,1,1**
787 +
788 +f. Send the seventh command plus the eighth command, get the eighth reply:
789 +
790 +(% style="color:#037691" %)**AT+COMMANDx=2M!,2,1,1**
791 +
792 +g. Send the ninth command plus the tenth command, get the tenth reply:
793 +
794 +(% style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1**
795 +
796 +h. Send the eleventh command plus the twelfth command, get the twelfth reply:
797 +
798 +(% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1**
799 +
800 +
801 +(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:**
802 +
803 +a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>”
804 +
805 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %);
806 +
807 +b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>”
808 +
809 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);
810 +
811 +c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>”
812 +
813 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);
814 +
815 +d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>”
816 +
817 +Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %);
818 +
819 +e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>”
820 +
821 +Partial cut, the cut sensor address and the first two parameters:(% style="color:#037691" %)**AT+DATACUTx=25,2,1~~12, cut out the character field ” 4+30.8+22.84”**.
822 +
823 +
824 +== 2.7 Frequency Plans ==
825 +
826 +
758 758  The SDI-12-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
759 759  
760 760  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
761 761  
762 762  
763 -== 2.7 Firmware Change Log ==
832 +== 2.8 Firmware Change Log ==
764 764  
765 765  
766 766  **Firmware download link:**
767 767  
768 -[[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]
837 +[[https:~~/~~/www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]]
769 769  
770 770  
771 771  = 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink =
... ... @@ -795,7 +795,7 @@
795 795  These commands only valid for SDI-12-LB, as below:
796 796  
797 797  
798 -== ​​​​​​​3.1 Set Transmit Interval Time ==
867 +== 3.1 Set Transmit Interval Time ==
799 799  
800 800  
801 801  Feature: Change LoRaWAN End Node Transmit Interval.
... ... @@ -824,6 +824,7 @@
824 824  * Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
825 825  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
826 826  
896 +
827 827  == 3.2 Set Interrupt Mode ==
828 828  
829 829  
... ... @@ -836,14 +836,14 @@
836 836  |(% style="width:156px" %)AT+INTMOD=?|(% style="width:187px" %)Show current interrupt mode|(% style="width:165px" %)(((
837 837  0
838 838  OK
839 -the mode is 0 = No interruption
909 +the mode is 0 = Disable Interrupt
840 840  )))
841 841  |(% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)(((
842 842  Set Transmit Interval
843 -~1. (Disable Interrupt),
844 -2. (Trigger by rising and falling edge)
845 -3. (Trigger by falling edge)
846 -4. (Trigger by rising edge)
913 +0. (Disable Interrupt),
914 +~1. (Trigger by rising and falling edge)
915 +2. (Trigger by falling edge)
916 +3. (Trigger by rising edge)
847 847  )))|(% style="width:165px" %)OK
848 848  
849 849  (% style="color:blue" %)**Downlink Command: 0x06**
... ... @@ -855,6 +855,7 @@
855 855  * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
856 856  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
857 857  
928 +
858 858  == 3.3 Set the output time ==
859 859  
860 860  
... ... @@ -924,6 +924,7 @@
924 924  * Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
925 925  * Example 6: Downlink Payload: 07030000  **~-~-->**  AT+12VT=0
926 926  
998 +
927 927  == 3.4 Set the all data mode ==
928 928  
929 929  
... ... @@ -946,6 +946,7 @@
946 946  * Example 1: Downlink Payload: AB 00  ~/~/  AT+ALLDATAMOD=0
947 947  * Example 2: Downlink Payload: AB 01  ~/~/  AT+ALLDATAMOD=1
948 948  
1021 +
949 949  == 3.5 Set the splicing payload for uplink ==
950 950  
951 951  
... ... @@ -982,6 +982,7 @@
982 982  
983 983  == 3.6 Set the payload version ==
984 984  
1058 +
985 985  Feature, Set the payload version.
986 986  
987 987  (% style="color:blue" %)**AT Command: AT+PAYVER**
... ... @@ -1001,6 +1001,7 @@
1001 1001  * Example 1: Downlink Payload: AE 01  ~/~/  AT+PAYVER=1
1002 1002  * Example 2: Downlink Payload: AE 05  ~/~/  AT+PAYVER=5
1003 1003  
1078 +
1004 1004  = 4. Battery & how to replace =
1005 1005  
1006 1006  == 4.1 Battery Type ==
... ... @@ -1011,7 +1011,7 @@
1011 1011  
1012 1012  The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1013 1013  
1014 -[[image:1675234124233-857.png]]
1089 +[[image:1675234124233-857.png||_mstalt="295035"]]
1015 1015  
1016 1016  
1017 1017  Minimum Working Voltage for the SDI-12-LB:
... ... @@ -1045,7 +1045,7 @@
1045 1045  And the Life expectation in difference case will be shown on the right.
1046 1046  
1047 1047  
1048 -[[image:1675234155374-163.png]]
1123 +[[image:1675234155374-163.png||_mstalt="294411"]]
1049 1049  
1050 1050  
1051 1051  The battery related documents as below:
... ... @@ -1054,7 +1054,7 @@
1054 1054  * [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]]
1055 1055  * [[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]]
1056 1056  
1057 -[[image:image-20230201145019-19.png]]
1132 +[[image:image-20230201145019-19.png||_mstalt="453947"]]
1058 1058  
1059 1059  
1060 1060  === 4.3.1 ​Battery Note ===
... ... @@ -1093,7 +1093,7 @@
1093 1093  
1094 1094  = 7. FAQ =
1095 1095  
1096 -== 7.1 How to use AT Command to access device? ==
1171 +== 7.1 How to use AT Command  via UART to access device? ==
1097 1097  
1098 1098  
1099 1099  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]]
... ... @@ -1115,10 +1115,15 @@
1115 1115  = 8. ​Order Info =
1116 1116  
1117 1117  
1193 +(((
1118 1118  (% style="color:blue" %)**Part Number: SDI-12-LB-XXX**
1195 +)))
1119 1119  
1197 +(((
1120 1120  XXX: The default frequency band
1199 +)))
1121 1121  
1201 +(((
1122 1122  (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1123 1123  (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1124 1124  (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
... ... @@ -1127,13 +1127,10 @@
1127 1127  (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1128 1128  (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1129 1129  (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1210 +)))
1130 1130  
1131 1131  
1132 1132  
1133 -
1134 -
1135 -
1136 -
1137 1137  = 9. Packing Info =
1138 1138  
1139 1139  
... ... @@ -1148,6 +1148,7 @@
1148 1148  * Package Size / pcs : cm
1149 1149  * Weight / pcs : g
1150 1150  
1228 +
1151 1151  = 10. ​Support =
1152 1152  
1153 1153  
image-20230222143809-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Bei
Size
... ... @@ -1,0 +1,1 @@
1 +322.1 KB
Content