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

From version 49.3
edited by Xiaoling
on 2023/04/28 15:57
Change comment: There is no comment for this version
To version 37.13
edited by Xiaoling
on 2023/02/01 14:35
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||_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  
... ... @@ -17,45 +17,36 @@
17 17  
18 18  
19 19  
20 +
20 20  = 1. Introduction =
21 21  
22 22  == 1.1 ​What is SDI-12 to LoRaWAN Converter ==
23 23  
24 24  
25 -(((
26 -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 +The Dragino **(% style="color:blue" %)SDI-12-LB**(%%) is a **(% style="color:blue" %)SDI-12 to LoRaWAN Converter **(%%)designed for Smart Agriculture solution.
28 28  
29 -(((
30 30  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 -)))
32 32  
33 -(((
34 34  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 -)))
36 36  
37 -(((
38 38  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 -)))
40 40  
41 -(((
42 -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 +SDI-12-LB is powered by **(% style="color:blue" %)8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
44 44  
45 -(((
46 46  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 -)))
48 48  
49 49  
50 -[[image:image-20230201084414-1.png||_mstalt="427765" height="464" width="1108"]]
39 +[[image:image-20230201084414-1.png||height="464" width="1108"]]
51 51  
52 52  
42 +
43 +
53 53  == ​1.2 Features ==
54 54  
55 55  
56 56  * LoRaWAN 1.0.3 Class A
57 57  * Ultra-low power consumption
58 -* Controllable 3.3v, 5v and 12v output to power external sensor
49 +* Controllable 5v and 12v output to power external sensor
59 59  * SDI-12 Protocol to connect to SDI-12 Sensor
60 60  * Monitor Battery Level
61 61  * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
... ... @@ -66,24 +66,21 @@
66 66  * 8500mAh Battery for long term use
67 67  
68 68  
69 -
70 70  == 1.3 Specification ==
71 71  
72 72  
73 -(% style="color:#037691" %)**Micro Controller:**
63 +**(% style="color:#037691" %)Micro Controller:**
74 74  
75 75  * MCU: 48Mhz ARM
76 76  * Flash: 256KB
77 77  * RAM: 64KB
78 78  
79 -(% style="color:#037691" %)**Common DC Characteristics:**
69 +**(% style="color:#037691" %)Common DC Characteristics:**
80 80  
81 81  * Supply Voltage: 2.5v ~~ 3.6v
82 -* Support current: 5V 300mA
83 - 12V 100mA
84 84  * Operating Temperature: -40 ~~ 85°C
85 85  
86 -(% style="color:#037691" %)**LoRa Spec:**
74 +**(% style="color:#037691" %)LoRa Spec:**
87 87  
88 88  * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
89 89  * Max +22 dBm constant RF output vs.
... ... @@ -90,19 +90,19 @@
90 90  * RX sensitivity: down to -139 dBm.
91 91  * Excellent blocking immunity
92 92  
93 -(% style="color:#037691" %)**Current Input Measuring :**
81 +**(% style="color:#037691" %)Current Input Measuring :**
94 94  
95 95  * Range: 0 ~~ 20mA
96 96  * Accuracy: 0.02mA
97 97  * Resolution: 0.001mA
98 98  
99 -(% style="color:#037691" %)**Voltage Input Measuring:**
87 +**(% style="color:#037691" %)Voltage Input Measuring:**
100 100  
101 101  * Range: 0 ~~ 30v
102 102  * Accuracy: 0.02v
103 103  * Resolution: 0.001v
104 104  
105 -(% style="color:#037691" %)**Battery:**
93 +**(% style="color:#037691" %)Battery:**
106 106  
107 107  * Li/SOCI2 un-chargeable battery
108 108  * Capacity: 8500mAh
... ... @@ -110,53 +110,52 @@
110 110  * Max continuously current: 130mA
111 111  * Max boost current: 2A, 1 second
112 112  
113 -(% style="color:#037691" %)**Power Consumption**
101 +**(% style="color:#037691" %)Power Consumption**
114 114  
115 115  * Sleep Mode: 5uA @ 3.3v
116 116  * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
117 117  
118 118  
119 -
120 120  == 1.4 Connect to SDI-12 Sensor ==
121 121  
122 122  
123 123  
124 -[[image:1675212538524-889.png||_mstalt="298272"]]
111 +[[image:1675212538524-889.png]]
125 125  
126 126  
127 127  == 1.5 Sleep mode and working mode ==
128 128  
129 129  
130 -(% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
117 +**(% style="color:blue" %)Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
131 131  
132 -(% style="color:blue" %)**Working Mode: **(%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
119 +**(% style="color:blue" %)Working Mode: **(%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
133 133  
134 134  
135 135  == 1.6 Button & LEDs ==
136 136  
137 137  
138 -[[image:1675212633011-651.png||_mstalt="291538"]]
125 +[[image:1675212633011-651.png]]
139 139  
140 140  
141 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; 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" %)(((
128 +
129 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %)
130 +|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 117px;" %)**Function**|=(% style="width: 225px;" %)**Action**
131 +|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
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.
135 +|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
136 +(% 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.
137 +(% 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.
140 +|(% 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.
153 153  
154 154  
155 -
156 156  == 1.7 Pin Mapping ==
157 157  
158 158  
159 -[[image:1675213198663-754.png||_mstalt="297167"]]
146 +[[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"]]
166 +[[image:image-20230201090139-2.png]]
180 180  
181 -[[image:image-20230201090139-3.png||_mstalt="428987"]]
168 +[[image:image-20230201090139-3.png]]
182 182  
183 -[[image:image-20230201090139-4.png||_mstalt="429351"]]
170 +[[image:image-20230201090139-4.png]]
184 184  
185 185  
186 186  = 2. Configure SDI-12 to connect to LoRaWAN network =
... ... @@ -188,7 +188,7 @@
188 188  == 2.1 How it works ==
189 189  
190 190  
191 -The SDI-12-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and activate the SDI-12-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
178 +The SDI-12-LB is configured as **(% style="color:#037691" %)LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and activate the SDI-12-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
192 192  
193 193  
194 194  == 2.2 Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -197,56 +197,60 @@
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"]]
187 +[[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.
204 204  
205 205  
206 -(% style="color:blue" %)**Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB.
193 +**(% style="color:blue" %)Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB.
207 207  
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-20230426084456-1.png||height="241" width="519"]]
198 +[[image:image-20230131134744-2.jpeg]]
212 212  
213 213  
201 +
202 +
203 +
214 214  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
215 215  
216 216  
217 -(% style="color:blue" %)**Register the device**
207 +**(% style="color:blue" %)Register the device**
218 218  
219 -[[image:1675213652444-622.png||_mstalt="293657"]]
209 +[[image:1675213652444-622.png]]
220 220  
221 221  
222 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
212 +**(% style="color:blue" %)Add APP EUI and DEV EUI**
223 223  
224 224  
225 -[[image:1675213661769-223.png||_mstalt="295217"]]
215 +[[image:1675213661769-223.png]]
226 226  
227 227  
228 -(% style="color:blue" %)**Add APP EUI in the application**
218 +**(% style="color:blue" %)Add APP EUI in the application**
229 229  
230 230  
231 -[[image:1675213675852-577.png||_mstalt="297947"]]
221 +[[image:1675213675852-577.png]]
232 232  
233 233  
234 -(% style="color:blue" %)**Add APP KEY**
224 +**(% style="color:blue" %)Add APP KEY**
235 235  
236 -[[image:1675213686734-883.png||_mstalt="298064"]]
226 +[[image:1675213686734-883.png]]
237 237  
238 238  
239 -(% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB
229 +**(% style="color:blue" %)Step 2**(%%): Activate on SDI-12-LB
240 240  
241 241  
242 242  Press the button for 5 seconds to activate the SDI-12-LB.
243 243  
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  
235 +**(% 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.
246 246  
247 -[[image:1675213704414-644.png||_mstalt="293748"]]
248 248  
238 +[[image:1675213704414-644.png]]
249 249  
240 +
250 250  == ​2.3 SDI-12 Related Commands ==
251 251  
252 252  
... ... @@ -263,43 +263,43 @@
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"]]
267 267  
258 +[[image:image-20230201091027-6.png]]
268 268  
269 -[[image:image-20230201091027-7.png||_mstalt="429429" height="261" width="1179"]]
270 270  
261 +[[image:image-20230201091027-7.png||height="261" width="1179"]]
271 271  
272 272  
273 -==== (% style="color:blue" %)**al!  ~-~- Get SDI-12 sensor Identification**(%%) ====
264 +==== **(% style="color:blue" %)al!  ~-~- Get SDI-12 sensor Identification** ====
274 274  
275 275  
276 276  * AT Command: AT+ADDRI=aa
277 277  * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa
278 278  
279 -(% style="color:#037691" %)**Parameter:  **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command)
270 +**(% style="color:#037691" %)Parameter:  **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command)
280 280  
281 -(% style="color:blue" %)**Example :   **(%%)AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)
272 +**(% style="color:blue" %)Example :   **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)
282 282  
283 283  
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"]]
278 +[[image:image-20230201091257-8.png]]
288 288  
289 289  
290 -[[image:image-20230201091257-9.png||_mstalt="431756" height="225" width="1242"]]
281 +[[image:image-20230201091257-9.png||height="225" width="1242"]]
291 291  
292 292  
293 -==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%) ====
284 +==== **(% style="color:blue" %)aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ====
294 294  
295 295  
296 -(% style="color:red" %)**aM! **(%%): Start Non-Concurrent Measurement
287 +**(% style="color:red" %)aM! **(%%): Start Non-Concurrent Measurement
297 297  
298 -(% style="color:red" %)**aMC! **(%%): Start Non-Concurrent Measurement – Request CRC
289 +**(% style="color:red" %)aMC! **(%%): Start Non-Concurrent Measurement – Request CRC
299 299  
300 -(% style="color:red" %)**aM1!- aM9! **(%%): Additional Measurements
291 +**(% style="color:red" %)aM1!- aM9! **(%%): Additional Measurements
301 301  
302 -(% style="color:red" %)**aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC
293 +**(% style="color:red" %)aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC
303 303  
304 304  
305 305  * AT Command : AT+ADDRM=0,1,0,1
... ... @@ -308,35 +308,35 @@
308 308  
309 309  Downlink:AA 01 aa bb cc dd
310 310  
311 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
302 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address.
312 312  
313 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
304 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC
314 314  
315 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
306 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
316 316  
317 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return.
308 +**(% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%) to get return.
318 318  
319 319  
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"]]
314 +[[image:image-20230201091630-10.png]]
324 324  
325 325  
326 -[[image:image-20230201091630-11.png||_mstalt="450372" height="247" width="1165"]]
317 +[[image:image-20230201091630-11.png||height="247" width="1165"]]
327 327  
328 328  
329 329  
330 -==== (% style="color:blue" %)**aC!, aCC!,  aC1!- aC9!,  aCC1!- aCC9! **(%%) ====
321 +==== **(% style="color:blue" %)aC!, aCC!,  aC1!- aC9!,  aCC1!- aCC9! ** ====
331 331  
332 332  
333 -(% style="color:red" %)**aC!**(%%) : Start Concurrent Measurement
324 +**(% style="color:red" %)aC!**(%%) : Start Concurrent Measurement
334 334  
335 -(% style="color:red" %)**aCC!** (%%): Start Concurrent Measurement – Request CRC
326 +**(% style="color:red" %)aCC!** (%%): Start Concurrent Measurement – Request CRC
336 336  
337 -(% style="color:red" %)**aC1!- aC9!**(%%) : Start Additional Concurrent Measurements
328 +**(% style="color:red" %)aC1!- aC9!**(%%) : Start Additional Concurrent Measurements
338 338  
339 -(% style="color:red" %)**aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC
330 +**(% style="color:red" %)aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC
340 340  
341 341  
342 342  * AT Command : AT+ADDRC=0,1,0,1 
... ... @@ -345,27 +345,27 @@
345 345  
346 346  Downlink: AA 02 aa bb cc dd
347 347  
348 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
339 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address.
349 349  
350 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
341 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC
351 351  
352 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
343 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
353 353  
354 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%)__ __to get return.
345 +**(% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%) to get return.
355 355  
356 356  
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"]]
351 +[[image:image-20230201091954-12.png]]
361 361  
362 362  
363 -[[image:image-20230201091954-13.png||_mstalt="454064" height="203" width="1117"]]
354 +[[image:image-20230201091954-13.png||height="203" width="1117"]]
364 364  
365 365  
366 366  
367 367  
368 -==== (% style="color:blue" %)**aR0!- aR9!,  aRC0!- aRC9!**(%%) ====
359 +==== **(% style="color:blue" %)aR0!- aR9!,  aRC0!- aRC9!** ====
369 369  
370 370  
371 371  Start Continuous Measurement
... ... @@ -378,24 +378,25 @@
378 378  
379 379  Downlink: AA 03 aa bb cc dd
380 380  
381 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
372 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address.
382 382  
383 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
374 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC
384 384  
385 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
376 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
386 386  
387 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return.
378 +**(% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%) to get return.
388 388  
389 389  
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"]]
394 394  
385 +[[image:image-20230201092208-14.png]]
395 395  
396 -[[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]]
397 397  
388 +[[image:image-20230201092208-15.png||height="214" width="1140"]]
398 398  
390 +
399 399  === 2.3.2 Advance SDI-12 Debug command ===
400 400  
401 401  
... ... @@ -404,20 +404,20 @@
404 404  
405 405  LoRaWAN Downlink: A8 aa xx xx xx xx bb cc
406 406  
407 -(% style="color:#037691" %)**aa **(%%): total SDI-12 command length
399 +**(% style="color:#037691" %)aa **(%%): total SDI-12 command length
408 408  
409 -(% style="color:#037691" %)**xx **(%%): SDI-12 command
401 +**(% style="color:#037691" %)xx **(%%): SDI-12 command
410 410  
411 -(% style="color:#037691" %)**bb **(%%): Delay to wait for return
403 +**(% style="color:#037691" %)bb **(%%): Delay to wait for return
412 412  
413 -(% style="color:#037691" %)**cc **(%%): 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100
405 +**(% style="color:#037691" %)cc **(%%): 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100
414 414  
415 415  
416 -(% style="color:blue" %)**Example: **(%%) AT+CFGDEV =0RC0!,1
408 +**(% style="color:blue" %)Example: **(%%) AT+CFGDEV =0RC0!,1
417 417  
418 -(% style="color:#037691" %)**0RC0! **(%%): SDI-12 Command,
410 +**(% style="color:#037691" %)0RC0! **(%%): SDI-12 Command,
419 419  
420 -(% style="color:#037691" %)**1 **(%%): Delay 1 second.  ( 0: 810 mini-second)
412 +**(% style="color:#037691" %)1 **(%%): Delay 1 second.  ( 0: 810 mini-second)
421 421  
422 422  Equal Downlink: 0xA8 05 30 52 43 30 21 01 01
423 423  
... ... @@ -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"]]
420 +[[image:image-20230201092355-16.png]]
429 429  
430 430  
431 -[[image:image-20230201092355-17.png||_mstalt="454337" height="426" width="1135"]]
423 +[[image:image-20230201092355-17.png||height="426" width="1135"]]
432 432  
433 433  
434 434  === 2.3.3 Convert ASCII to String ===
... ... @@ -439,16 +439,16 @@
439 439  AT+CONVFORM ( Max length: 80 bytes)
440 440  
441 441  
442 -(% style="color:blue" %)**Example:**
434 +**(% style="color:blue" %)Example:**
443 443  
444 444  1) AT+CONVFORM=0, string Convert String from String to ASCII
445 445  
446 -[[image:1675214845056-885.png||_mstalt="297622"]]
438 +[[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"]]
443 +[[image:1675214856590-846.png]]
452 452  
453 453  
454 454  === 2.3.4 Define periodically SDI-12 commands and uplink. ===
... ... @@ -459,35 +459,35 @@
459 459  User can define max 15 SDI-12 Commands (AT+COMMAND1 ~~ AT+COMMANDF). On each uplink period (TDC time, default 20 minutes), SDI-12-LB will send these SDI-12 commands and wait for return from SDI-12 sensors. SDI-12-LB will then combine these returns and uplink via LoRaWAN.
460 460  
461 461  
462 -* (% style="color:blue" %)**AT Command:**
454 +* ** (% style="color:blue" %)AT Command:**
463 463  
464 -(% style="color:#037691" %)**AT+COMMANDx=var1,var2,var3,var4.**
456 +**(% style="color:#037691" %)AT+COMMANDx=var1,var2,var3,var4.**
465 465  
466 -(% style="color:red" %)**var1**(%%): SDI-12 command , for example: 0RC0!
458 +**(% style="color:red" %)var1**(%%): SDI-12 command , for example: 0RC0!
467 467  
468 -(% style="color:red" %)**var2**(%%): Wait timeout for return. (unit: second)
460 +**(% style="color:red" %)var2**(%%): Wait timeout for return. (unit: second)
469 469  
470 -(% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//.
462 +**(% style="color:red" %)var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//.
471 471  
472 -(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 3 retries.
464 +**(% style="color:red" %)var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries.
473 473  
474 -(% style="color:red" %)**0 **(%%) No validation check;
466 +**(% style="color:red" %)0 **(%%) No validation check;
475 475  
476 -(% style="color:red" %)**1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E);
468 +**(% style="color:red" %)1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E);
477 477  
478 -(% style="color:red" %)**2**(%%)  Check if there is return from SDI-12 sensor
470 +**(% style="color:#red" %)2**(%%)  Check if there is return from SDI-12 sensor
479 479  
480 -(% style="color:red" %)**3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request);
472 +**(% style="color:red" %)3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request);
481 481  
482 482  
483 -Each AT+COMMANDx is followed by a (% style="color:blue" %)**AT+DATACUT**(%%) command. AT+DATACUT command is used to take the useful string from the SDI-12 sensor so the final payload will have the minimum length to uplink.
475 +Each AT+COMMANDx is followed by a **(% style="color:blue" %)AT+DATACUT**(%%) command. AT+DATACUT command is used to take the useful string from the SDI-12 sensor so the final payload will have the minimum length to uplink.
484 484  
485 485  
486 -(% style="color:blue" %)**AT+DATACUTx**(%%) : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.
478 +**(% 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**
480 +(% border="1" style="background-color:#f7faff; width:436px" %)
481 +|(% style="width:433px" %)(((
482 +**AT+DATACUTx=a,b,c**
491 491  
492 492  **a**:  length for the return of AT+COMMAND
493 493  
... ... @@ -496,100 +496,102 @@
496 496  **c**:  define the position for valid value. 
497 497  )))
498 498  
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:
491 +For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895” , Below AT+DATACUT1 will get different result to combine payload:
500 500  
501 501  
502 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; 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
494 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
495 +|(% style="width:170px" %)**AT+DATACUT1 value**|(% style="width:338px" %)**Final Result to combine Payload**
496 +|(% style="width:170px" %)34,1,1+2+3|(% style="width:338px" %)0D 00 01 30 31 33
497 +|(% 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
498 +|(% 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
507 507  
508 -* (% style="color:blue" %)** Downlink Payload:**
500 +* **(% style="color:blue" %) Downlink Payload:**
509 509  
510 -(% style="color:blue" %)**0xAF**(%%)  downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
502 +**(% style="color:blue" %)0xAF**(%%)  downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
511 511  
512 512  
513 -(% style="color:red" %)**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**
505 +**(% style="color:red" %)Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**
514 514  
515 515  
516 -Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY(%%)**
508 +Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY**
517 517  
518 518  Where:
519 519  
520 -* (% style="color:#037691" %)**MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
521 -* (% style="color:#037691" %)**NN **(%%):  1: set the AT+COMMAND value ; 2: set the AT+DATACUT value.
522 -* (% style="color:#037691" %)**LL **(%%):  The length of AT+COMMAND or AT+DATACUT command
523 -* (% style="color:#037691" %)**XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command
524 -* (% 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. 
512 +* **(% style="color:#037691" %)MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
513 +* **(% style="color:#037691" %)NN **(%%):  1: set the AT+DATACUT value ; 2: set the AT+DATACUT value.
514 +* **(% style="color:#037691" %)LL **(%%):  The length of AT+COMMAND or AT+DATACUT command
515 +* **(% style="color:#037691" %)XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command
516 +* **(% 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. 
525 525  
526 -(% style="color:blue" %)**Example:**
518 +**(% style="color:blue" %)Example:**
527 527  
528 -[[image:image-20230201094129-18.png||_mstalt="455065"]]
520 +[[image:image-20230201094129-18.png]]
529 529  
530 530  
523 +**(% style="color:blue" %)Clear SDI12 Command**
531 531  
532 -(% style="color:blue" %)**Clear SDI12 Command**
533 -
534 534  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
535 535  
536 536  
537 -* (% style="color:#037691" %)**AT Command:**
528 +* ** (% style="color:#037691" %)AT Command:**
538 538  
539 -(% style="color:#4f81bd" %)**AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase
530 +**(% style="color:#4F81BD" %)AT+CMDEAR=mm,nn** (%%)  mm: start position of erase ,nn: stop position of erase
540 540  
541 541  
542 542  Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
543 543  
544 544  
545 -* (% style="color:#037691" %)** Downlink Payload:**
536 +* **(% style="color:#037691" %) Downlink Payload:**
546 546  
547 -(% style="color:#4f81bd" %)**0x09 aa bb**(%%)  same as AT+CMDEAR=aa,bb
538 +**(% style="color:#4F81BD" %)0x09 aa bb**(%%)  same as AT+CMDEAR=aa,bb
548 548  
549 549  
550 550  
551 -(% style="color:blue" %)**command combination**
542 +**(% style="color:blue" %)command combination**
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"]]
546 +[[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.
559 559  
560 -(% 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.
551 +**(% 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.
561 561  
562 562  
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.
554 +**(% 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"]]
557 +[[image:1675215782925-448.png]]
567 567  
568 568  
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.
560 +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.
570 570  
571 571  
572 572  
573 -(% style="color:blue" %)**Compose Uplink**
564 +**(% style="color:blue" %)Compose Uplink**
574 574  
575 -(% style="color:#4f81bd" %)**AT+DATAUP=0**
576 576  
577 -Compose the uplink payload with value returns in sequence and send with **__A SIGNLE UPLINK__**.
567 +**(% style="color:#4F81BD" %)AT+DATAUP=0**
578 578  
579 -Final Payload is **__Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx__**
569 +Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK.
580 580  
571 +Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
572 +
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"]]
576 +[[image:1675215828102-844.png]]
585 585  
586 586  
587 -(% style="color:#4f81bd" %)**AT+DATAUP=1**
579 +**(% style="color:#4F81BD" %)AT+DATAUP=1**
588 588  
589 -Compose the uplink payload with value returns in sequence and send with **__Multiply UPLINKs__**.
581 +Compose the uplink payload with value returns in sequence and send with Multiply UPLINKs.
590 590  
591 -Final Payload is __**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__
583 +Final Payload is
592 592  
585 +__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__
586 +
593 593  1. Battery Info (2 bytes): Battery voltage
594 594  1. PAYVER (1 byte): Defined by AT+PAYVER
595 595  1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
... ... @@ -596,10 +596,10 @@
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 -(% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**
596 +**(% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**
603 603  
604 604  * For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
605 605  * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
... ... @@ -606,13 +606,22 @@
606 606  * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
607 607  * For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
608 608  
609 -(% style="color:red" %)**When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**
603 +**(% style="color:red" %)When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**
610 610  
611 -(% style="color:red" %)**When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.**
605 +**(% style="color:red" %)When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.**
612 612  
613 613  
614 -== 2.4 Uplink Payload ==
608 +== ​​​​​​​2.4 Uplink Payload ==
615 615  
610 +
611 +Uplink payloads have two types:
612 +
613 +* Distance Value: Use FPORT=2
614 +* Other control commands: Use other FPORT fields.
615 +
616 +The application server should parse the correct value based on FPORT settings.
617 +
618 +
616 616  === 2.4.1 Device Payload, FPORT~=5 ===
617 617  
618 618  
... ... @@ -620,21 +620,21 @@
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="background-color:#f2f2f2; 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
626 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
627 +|(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)**
628 +|(% 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**
629 +|(% 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
627 627  
628 628  Example parse in TTNv3
629 629  
630 -[[image:1675215946738-635.png||_mstalt="297778"]]
633 +[[image:1675215946738-635.png]]
631 631  
632 632  
633 -(% style="color:#037691" %)**Sensor Model**(%%): For SDI-12-LB, this value is 0x17
636 +**(% style="color:#037691" %)Sensor Model**(%%): For SDI-12-LB, this value is 0x17
634 634  
635 -(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
638 +**(% style="color:#037691" %)Firmware Version**(%%): 0x0100, Means: v1.0.0 version
636 636  
637 -(% style="color:#037691" %)**Frequency Band**:
640 +**(% style="color:#037691" %)Frequency Band**:
638 638  
639 639  *0x01: EU868
640 640  
... ... @@ -665,7 +665,7 @@
665 665  *0x0e: MA869
666 666  
667 667  
668 -(% style="color:#037691" %)**Sub-Band**:
671 +**(% style="color:#037691" %)Sub-Band**:
669 669  
670 670  AU915 and US915:value 0x00 ~~ 0x08
671 671  
... ... @@ -674,7 +674,7 @@
674 674  Other Bands: Always 0x00
675 675  
676 676  
677 -(% style="color:#037691" %)**Battery Info**:
680 +**(% style="color:#037691" %)Battery Info**:
678 678  
679 679  Check the battery voltage.
680 680  
... ... @@ -692,20 +692,20 @@
692 692  
693 693  * Periodically Uplink: FPORT=2
694 694  
695 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
696 -|=(% style="width: 90px;background-color:#D9E2F3" %)(((
698 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
699 +|(% style="width:93px" %)(((
697 697  **Size(bytes)**
698 -)))|=(% style="width: 80px;background-color:#D9E2F3" %)**2**|=(% style="width: 90px;background-color:#D9E2F3" %)**1**|=(% style="width: 240px;background-color:#D9E2F3" %)**Length depends on the return from the commands**
701 +)))|(% style="width:83px" %)**2**|(% style="width:70px" %)**1**|(% style="width:234px" %)**Length depends on the return from the commands**
699 699  |(% style="width:93px" %)**Value**|(% style="width:83px" %)(((
700 700  Battery(mV)
701 701  &
702 702  Interrupt_Flag
703 -)))|(% style="width:91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)(((
706 +)))|(% style="width:70px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:234px" %)(((
704 704  If the valid payload is too long and exceed the maximum support.
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"]]
711 +[[image:1675216282284-923.png]]
709 709  
710 710  
711 711  === 2.4.3 Battery Info ===
... ... @@ -721,7 +721,7 @@
721 721  === 2.4.4 Interrupt Pin ===
722 722  
723 723  
724 -This data field shows if this packet is generated by (% style="color:#037691" %)**Interrupt Pin**(%%) or not. [[Click here>>||anchor="H3.2SetInterruptMode"]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>||anchor="H1.7PinMapping"]].
727 +This data field shows if this packet is generated by **(% style="color:#037691" %)Interrupt Pin**(%%) or not. [[Click here>>||anchor="H3.2SetInterruptMode"]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>||anchor="H1.7PinMapping"]].
725 725  
726 726  **Example:**
727 727  
... ... @@ -733,15 +733,13 @@
733 733  === 2.4.5 Payload version ===
734 734  
735 735  
736 -The version number of the payload, mainly used for decoding. The default is 01.
737 737  
738 -
739 739  === 2.4.6 ​Decode payload in The Things Network ===
740 740  
741 741  
742 742  While using TTN network, you can add the payload format to decode the payload.
743 743  
744 -[[image:1675216779406-595.png||_mstalt="298376"]]
745 +[[image:1675216779406-595.png]]
745 745  
746 746  
747 747  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.
... ... @@ -754,91 +754,26 @@
754 754  
755 755  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:
756 756  
757 -[[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]]
758 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>url:http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval]]
758 758  
759 759  
760 -== 2.6 Examples To Set SDI commands. ==
761 761  
762 -=== 2.6.1 Examples 1 ===
763 763  
763 +== 2.6 Frequency Plans ==
764 764  
765 -COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication.
766 766  
767 -[[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]]
768 -
769 -
770 -(% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:**
771 -
772 -a. Send the first command and get the first reply:
773 -
774 -(% style="color:#037691" %)**AT+COMMANDx=1I!,0,0,1**
775 -
776 -b. Send the second command and get the second reply:
777 -
778 -(% style="color:#037691" %)**AT+COMMANDx=2I!,0,0,1**
779 -
780 -c. Send the third command and get the third reply:
781 -
782 -(% style="color:#037691" %)**AT+COMMANDx=3I!,0,0,1**
783 -
784 -d. Send the fourth command and get the fourth reply:
785 -
786 -(% style="color:#037691" %)**AT+COMMANDx=4I!,0,0,1**
787 -
788 -e. Send the fifth command plus the sixth command, get the sixth reply:
789 -
790 -(% style="color:#037691" %)**AT+COMMANDx=1M!,2,1,1**
791 -
792 -f. Send the seventh command plus the eighth command, get the eighth reply:
793 -
794 -(% style="color:#037691" %)**AT+COMMANDx=2M!,2,1,1**
795 -
796 -g. Send the ninth command plus the tenth command, get the tenth reply:
797 -
798 -(% style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1**
799 -
800 -h. Send the eleventh command plus the twelfth command, get the twelfth reply:
801 -
802 -(% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1**
803 -
804 -
805 -(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:**
806 -
807 -a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>”
808 -
809 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %);
810 -
811 -b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<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 -c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>”
816 -
817 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);
818 -
819 -d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>”
820 -
821 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %);
822 -
823 -e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>”
824 -
825 -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”**.
826 -
827 -
828 -== 2.7 Frequency Plans ==
829 -
830 -
831 831  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.
832 832  
833 833  [[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/]]
834 834  
835 835  
836 -== 2.8 Firmware Change Log ==
837 837  
772 +== 2.7 Firmware Change Log ==
838 838  
774 +
839 839  **Firmware download link:**
840 840  
841 -[[https:~~/~~/www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]]
777 +[[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]
842 842  
843 843  
844 844  = 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink =
... ... @@ -846,12 +846,12 @@
846 846  
847 847  Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink.
848 848  
849 -* AT Command Connection: See [[FAQ>>||anchor="H7.FAQ"]].
785 +* AT Command Connection: See [[FAQ>>path:#AT_COMMAND]].
850 850  * LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
851 851  
852 852  There are two kinds of commands to configure SDI-12-LB, they are:
853 853  
854 -* (% style="color:blue" %)**General Commands**.
790 +* **General Commands**.
855 855  
856 856  These commands are to configure:
857 857  
... ... @@ -860,15 +860,15 @@
860 860  
861 861  They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
862 862  
863 -[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
799 +[[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_Downlink_Command>>url:http://wiki.dragino.com/index.php?title=End_Device_Downlink_Command]]
864 864  
865 865  
866 -* (% style="color:blue" %)**Commands special design for SDI-12-LB**
802 +* **Commands special design for SDI-12-LB**
867 867  
868 868  These commands only valid for SDI-12-LB, as below:
869 869  
870 870  
871 -== 3.1 Set Transmit Interval Time ==
807 +== ​​​​​​​3.1 Set Transmit Interval Time ==
872 872  
873 873  
874 874  Feature: Change LoRaWAN End Node Transmit Interval.
... ... @@ -875,14 +875,14 @@
875 875  
876 876  (% style="color:blue" %)**AT Command: AT+TDC**
877 877  
878 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
879 -|=(% 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**
880 -|(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2; width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)(((
814 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %)
815 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 137px;" %)**Function**|=**Response**
816 +|(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
881 881  30000
882 882  OK
883 883  the interval is 30000ms = 30s
884 884  )))
885 -|(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=60000|(% style="background-color:#f2f2f2; width:166px" %)Set Transmit Interval|(% style="background-color:#f2f2f2" %)(((
821 +|(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
886 886  OK
887 887  Set transmit interval to 60000ms = 60 seconds
888 888  )))
... ... @@ -897,8 +897,6 @@
897 897  * Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
898 898  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
899 899  
900 -
901 -
902 902  == 3.2 Set Interrupt Mode ==
903 903  
904 904  
... ... @@ -906,20 +906,20 @@
906 906  
907 907  (% style="color:blue" %)**AT Command: AT+INTMOD**
908 908  
909 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
910 -|=(% 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**
911 -|(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=?|(% style="background-color:#f2f2f2; width:196px" %)Show current interrupt mode|(% style="background-color:#f2f2f2; width:157px" %)(((
843 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %)
844 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 187px;" %)**Function**|=(% style="width: 165px;" %)**Response**
845 +|(% style="width:156px" %)AT+INTMOD=?|(% style="width:187px" %)Show current interrupt mode|(% style="width:165px" %)(((
912 912  0
913 913  OK
914 -the mode is 0 =Disable Interrupt
848 +the mode is 0 = No interruption
915 915  )))
916 -|(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=2|(% style="background-color:#f2f2f2; width:196px" %)(((
850 +|(% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)(((
917 917  Set Transmit Interval
918 -0. (Disable Interrupt),
919 -~1. (Trigger by rising and falling edge)
920 -2. (Trigger by falling edge)
921 -3. (Trigger by rising edge)
922 -)))|(% style="background-color:#f2f2f2; width:157px" %)OK
852 +~1. (Disable Interrupt),
853 +2. (Trigger by rising and falling edge)
854 +3. (Trigger by falling edge)
855 +4. (Trigger by rising edge)
856 +)))|(% style="width:165px" %)OK
923 923  
924 924  (% style="color:blue" %)**Downlink Command: 0x06**
925 925  
... ... @@ -930,8 +930,6 @@
930 930  * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
931 931  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
932 932  
933 -
934 -
935 935  == 3.3 Set the output time ==
936 936  
937 937  
... ... @@ -939,52 +939,52 @@
939 939  
940 940  (% style="color:blue" %)**AT Command: AT+3V3T**
941 941  
942 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:474px" %)
943 -|=(% 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**
944 -|(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=?|(% style="background-color:#f2f2f2; width:201px" %)Show 3V3 open time.|(% style="background-color:#f2f2f2; width:116px" %)(((
874 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:474px" %)
875 +|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 201px;" %)**Function**|=(% style="width: 116px;" %)**Response**
876 +|(% style="width:154px" %)AT+3V3T=?|(% style="width:201px" %)Show 3V3 open time.|(% style="width:116px" %)(((
945 945  0
946 946  OK
947 947  )))
948 -|(% 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" %)(((
880 +|(% style="width:154px" %)AT+3V3T=0|(% style="width:201px" %)Normally open 3V3 power supply.|(% style="width:116px" %)(((
949 949  OK
950 950  default setting
951 951  )))
952 -|(% 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" %)(((
884 +|(% style="width:154px" %)AT+3V3T=1000|(% style="width:201px" %)Close after a delay of 1000 milliseconds.|(% style="width:116px" %)(((
953 953  OK
954 954  )))
955 -|(% 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" %)(((
887 +|(% style="width:154px" %)AT+3V3T=65535|(% style="width:201px" %)Normally closed 3V3 power supply.|(% style="width:116px" %)(((
956 956  OK
957 957  )))
958 958  
959 959  (% style="color:blue" %)**AT Command: AT+5VT**
960 960  
961 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; 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" %)(((
893 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:470px" %)
894 +|=(% style="width: 155px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 114px;" %)**Response**
895 +|(% 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" %)(((
899 +|(% 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" %)(((
903 +|(% 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" %)(((
906 +|(% 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 978  (% style="color:blue" %)**AT Command: AT+12VT**
979 979  
980 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:443px" %)
981 -|=(% 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**
982 -|(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=?|(% style="background-color:#f2f2f2; width:199px" %)Show 12V open time.|(% style="background-color:#f2f2f2; width:83px" %)(((
912 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:443px" %)
913 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 199px;" %)**Function**|=(% style="width: 83px;" %)**Response**
914 +|(% style="width:156px" %)AT+12VT=?|(% style="width:199px" %)Show 12V open time.|(% style="width:83px" %)(((
983 983  0
984 984  OK
985 985  )))
986 -|(% 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
987 -|(% 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" %)(((
918 +|(% style="width:156px" %)AT+12VT=0|(% style="width:199px" %)Normally closed 12V power supply.|(% style="width:83px" %)OK
919 +|(% style="width:156px" %)AT+12VT=500|(% style="width:199px" %)Close after a delay of 500 milliseconds.|(% style="width:83px" %)(((
988 988  OK
989 989  )))
990 990  
... ... @@ -1001,8 +1001,6 @@
1001 1001  * Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
1002 1002  * Example 6: Downlink Payload: 07030000  **~-~-->**  AT+12VT=0
1003 1003  
1004 -
1005 -
1006 1006  == 3.4 Set the all data mode ==
1007 1007  
1008 1008  
... ... @@ -1010,13 +1010,13 @@
1010 1010  
1011 1011  (% style="color:blue" %)**AT Command: AT+ALLDATAMOD**
1012 1012  
1013 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:437px" %)
1014 -|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
1015 -|(% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=?|(% style="background-color:#f2f2f2" %)Show current all data mode|(% style="background-color:#f2f2f2" %)(((
943 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
944 +|=**Command Example**|=**Function**|=**Response**
945 +|AT+ALLDATAMOD=?|Show current all data mode|(((
1016 1016  0
1017 1017  OK
1018 1018  )))
1019 -|(% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=1|(% style="background-color:#f2f2f2" %)Set all data mode is 1.|(% style="background-color:#f2f2f2" %)OK
949 +|AT+ALLDATAMOD=1|Set all data mode is 1.|OK
1020 1020  
1021 1021  (% style="color:blue" %)**Downlink Command: 0xAB**
1022 1022  
... ... @@ -1025,8 +1025,6 @@
1025 1025  * Example 1: Downlink Payload: AB 00  ~/~/  AT+ALLDATAMOD=0
1026 1026  * Example 2: Downlink Payload: AB 01  ~/~/  AT+ALLDATAMOD=1
1027 1027  
1028 -
1029 -
1030 1030  == 3.5 Set the splicing payload for uplink ==
1031 1031  
1032 1032  
... ... @@ -1034,21 +1034,21 @@
1034 1034  
1035 1035  (% style="color:blue" %)**AT Command: AT+DATAUP**
1036 1036  
1037 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1038 -|=(% 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**
1039 -|(% 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" %)(((
965 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
966 +|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 266px;" %)**Function**|=**Response**
967 +|(% style="width:154px" %)AT+DATAUP =?|(% style="width:266px" %)Show current splicing payload for uplink mode|(((
1040 1040  0
1041 1041  OK
1042 1042  )))
1043 -|(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =0|(% style="background-color:#f2f2f2; width:266px" %)(((
971 +|(% style="width:154px" %)AT+DATAUP =0|(% style="width:266px" %)(((
1044 1044  Set splicing payload for uplink mode is 0.
1045 -)))|(% style="background-color:#f2f2f2" %)(((
973 +)))|(((
1046 1046  OK
1047 1047  )))
1048 -|(% 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
1049 -|(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =1,20000|(% style="background-color:#f2f2f2; width:266px" %)(((
976 +|(% 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
977 +|(% style="width:154px" %)AT+DATAUP =1,20000|(% style="width:266px" %)(((
1050 1050  Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds.
1051 -)))|(% style="background-color:#f2f2f2" %)OK
979 +)))|OK
1052 1052  
1053 1053  (% style="color:blue" %)**Downlink Command: 0xAD**
1054 1054  
... ... @@ -1063,18 +1063,17 @@
1063 1063  
1064 1064  == 3.6 Set the payload version ==
1065 1065  
1066 -
1067 1067  Feature, Set the payload version.
1068 1068  
1069 1069  (% style="color:blue" %)**AT Command: AT+PAYVER**
1070 1070  
1071 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:437px" %)
1072 -|=(% 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**
1073 -|(% style="background-color:#f2f2f2; width:158px" %)AT+PAYVER=?|(% style="background-color:#f2f2f2; width:192px" %)Show current payload version|(% style="background-color:#f2f2f2" %)(((
998 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
999 +|=(% style="width: 158px;" %)**Command Example**|=(% style="width: 192px;" %)**Function**|=**Response**
1000 +|(% style="width:158px" %)AT+PAYVER=?|(% style="width:192px" %)Show current payload version|(((
1074 1074  1
1075 1075  OK
1076 1076  )))
1077 -|(% 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
1004 +|(% style="width:158px" %)AT+PAYVER=5|(% style="width:192px" %)Set payload version is 5.|OK
1078 1078  
1079 1079  (% style="color:blue" %)**Downlink Command: 0xAE**
1080 1080  
... ... @@ -1083,88 +1083,126 @@
1083 1083  * Example 1: Downlink Payload: AE 01  ~/~/  AT+PAYVER=1
1084 1084  * Example 2: Downlink Payload: AE 05  ~/~/  AT+PAYVER=5
1085 1085  
1013 += 4. Battery & how to replace =
1086 1086  
1015 +== 4.1 Battery Type ==
1087 1087  
1088 -= 4. Battery & Power Consumption =
1089 1089  
1018 +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.
1090 1090  
1091 -SDI-12-LB uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1092 1092  
1093 -[[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1021 +The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1094 1094  
1023 +[[image:1675146710956-626.png]]
1095 1095  
1096 -= 5. Remote Configure device =
1097 1097  
1098 -== 5.1 Connect via BLE ==
1026 +Minimum Working Voltage for the SDI-12-LB:
1099 1099  
1028 +SDI-12-LB:  2.45v ~~ 3.6v
1100 1100  
1101 -Please see this instruction for how to configure via BLE: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]
1102 1102  
1031 +== 4.2 Replace Battery ==
1103 1103  
1104 -== 5.2 AT Command Set ==
1105 1105  
1034 +Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery.
1106 1106  
1036 +And make sure the positive and negative pins match.
1107 1107  
1108 -= 6. OTA firmware update =
1109 1109  
1039 +== 4.3 Power Consumption Analyze ==
1110 1110  
1111 -Please see this link for how to do OTA firmware update.
1112 1112  
1113 -[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]
1042 +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.
1114 1114  
1044 +Instruction to use as below:
1115 1115  
1116 -= 7. FAQ =
1046 +(% 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]]
1117 1117  
1118 -== 7.1 How to use AT Command  via UART to access device? ==
1048 +(% style="color:blue" %)**Step 2:**(%%) Open it and choose
1119 1119  
1050 +* Product Model
1051 +* Uplink Interval
1052 +* Working Mode
1120 1120  
1121 -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]]
1054 +And the Life expectation in difference case will be shown on the right.
1122 1122  
1056 +[[image:1675146895108-304.png]]
1123 1123  
1124 -== 7.2 How to update firmware via UART port? ==
1125 1125  
1059 +The battery related documents as below:
1126 1126  
1127 -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]]
1061 +* [[Battery Dimension>>https://www.dropbox.com/s/ox5g9njwjle7aw3/LSN50-Battery-Dimension.pdf?dl=0]],
1062 +* [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]]
1063 +* [[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]]
1128 1128  
1065 +[[image:image-20230131145708-3.png]]
1129 1129  
1130 -== 7.3 How to change the LoRa Frequency Bands/Region? ==
1131 1131  
1068 +=== 4.3.1 ​Battery Note ===
1132 1132  
1133 -You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]].
1134 -When downloading the images, choose the required image file for download. ​
1135 1135  
1071 +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.
1136 1136  
1137 -= 8. ​Order Info =
1138 1138  
1074 +=== 4.3.2 Replace the battery ===
1139 1139  
1140 -(((
1141 -(% style="color:blue" %)**Part Number: SDI-12-LB-XXX**
1142 -)))
1143 1143  
1144 -(((
1077 +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.
1078 +
1079 +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)
1080 +
1081 +
1082 +
1083 += 5. Remote Configure device =
1084 +
1085 +== 5.1 Connect via BLE ==
1086 +
1087 +
1088 +Please see this instruction for how to configure via BLE: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]
1089 +
1090 +
1091 +== 5.2 AT Command Set ==
1092 +
1093 +
1094 +
1095 += 6. OTA firmware update =
1096 +
1097 +
1098 +Please see this link for how to do OTA firmware update.
1099 +
1100 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]
1101 +
1102 +
1103 +
1104 += 7. ​Order Info =
1105 +
1106 +
1107 +Part Number: SDI-12-LB-XXX
1145 1145  XXX: The default frequency band
1146 -)))
1147 1147  
1148 -(((
1149 -(% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1150 -(% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1151 -(% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1152 -(% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1153 -(% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1154 -(% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1155 -(% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1156 -(% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1157 -)))
1110 +AS923: LoRaWAN AS923 band
1111 +AU915: LoRaWAN AU915 band
1112 +EU433: LoRaWAN EU433 band
1113 +EU868: LoRaWAN EU868 band
1114 +KR920: LoRaWAN KR920 band
1115 +US915: LoRaWAN US915 band
1116 +IN865: LoRaWAN IN865 band
1117 +CN470: LoRaWAN CN470 band
1158 1158  
1159 1159  
1160 -= 9. Packing Info =
1161 1161  
1162 1162  
1163 -(% style="color:#037691" %)**Package Includes**:
1164 1164  
1123 +
1124 +
1125 += 8. Packing Info =
1126 +
1127 +
1128 +**Package Includes**:
1129 +
1165 1165  * SDI-12-LB SDI-12 to LoRaWAN Converter x 1
1166 1166  
1167 -(% style="color:#037691" %)**Dimension and weight**:
1132 +**Dimension and weight**:
1168 1168  
1169 1169  * Device Size: cm
1170 1170  * Device Weight: g
... ... @@ -1171,11 +1171,11 @@
1171 1171  * Package Size / pcs : cm
1172 1172  * Weight / pcs : g
1173 1173  
1139 += 9. ​Support =
1174 1174  
1175 1175  
1176 -= 10. ​Support =
1177 -
1178 -
1179 1179  * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
1180 1180  
1181 1181  * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]
1145 +
1146 +
1675234124233-857.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -75.8 KB
Content
1675234155374-163.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -138.2 KB
Content
image-20230201145019-19.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -82.2 KB
Content
image-20230201152430-20.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -16.5 KB
Content
image-20230222143809-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Bei
Size
... ... @@ -1,1 +1,0 @@
1 -322.1 KB
Content
image-20230426084456-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -190.0 KB
Content