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

From version 48.8
edited by Xiaoling
on 2023/04/03 11:38
Change comment: There is no comment for this version
To version 40.1
edited by Xiaoling
on 2023/02/01 14:50
Change comment: Uploaded new attachment "image-20230201145019-19.png", version {1}

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
... ... @@ -69,20 +69,18 @@
69 69  == 1.3 Specification ==
70 70  
71 71  
72 -(% style="color:#037691" %)**Micro Controller:**
63 +**(% style="color:#037691" %)Micro Controller:**
73 73  
74 74  * MCU: 48Mhz ARM
75 75  * Flash: 256KB
76 76  * RAM: 64KB
77 77  
78 -(% style="color:#037691" %)**Common DC Characteristics:**
69 +**(% style="color:#037691" %)Common DC Characteristics:**
79 79  
80 80  * Supply Voltage: 2.5v ~~ 3.6v
81 -* Support current: 5V 300mA
82 - 12V 100mA
83 83  * Operating Temperature: -40 ~~ 85°C
84 84  
85 -(% style="color:#037691" %)**LoRa Spec:**
74 +**(% style="color:#037691" %)LoRa Spec:**
86 86  
87 87  * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
88 88  * Max +22 dBm constant RF output vs.
... ... @@ -89,19 +89,19 @@
89 89  * RX sensitivity: down to -139 dBm.
90 90  * Excellent blocking immunity
91 91  
92 -(% style="color:#037691" %)**Current Input Measuring :**
81 +**(% style="color:#037691" %)Current Input Measuring :**
93 93  
94 94  * Range: 0 ~~ 20mA
95 95  * Accuracy: 0.02mA
96 96  * Resolution: 0.001mA
97 97  
98 -(% style="color:#037691" %)**Voltage Input Measuring:**
87 +**(% style="color:#037691" %)Voltage Input Measuring:**
99 99  
100 100  * Range: 0 ~~ 30v
101 101  * Accuracy: 0.02v
102 102  * Resolution: 0.001v
103 103  
104 -(% style="color:#037691" %)**Battery:**
93 +**(% style="color:#037691" %)Battery:**
105 105  
106 106  * Li/SOCI2 un-chargeable battery
107 107  * Capacity: 8500mAh
... ... @@ -109,7 +109,7 @@
109 109  * Max continuously current: 130mA
110 110  * Max boost current: 2A, 1 second
111 111  
112 -(% style="color:#037691" %)**Power Consumption**
101 +**(% style="color:#037691" %)Power Consumption**
113 113  
114 114  * Sleep Mode: 5uA @ 3.3v
115 115  * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
... ... @@ -119,41 +119,42 @@
119 119  
120 120  
121 121  
122 -[[image:1675212538524-889.png||_mstalt="298272"]]
111 +[[image:1675212538524-889.png]]
123 123  
124 124  
125 125  == 1.5 Sleep mode and working mode ==
126 126  
127 127  
128 -(% 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.
129 129  
130 -(% 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.
131 131  
132 132  
133 133  == 1.6 Button & LEDs ==
134 134  
135 135  
136 -[[image:1675212633011-651.png||_mstalt="291538"]]
125 +[[image:1675212633011-651.png]]
137 137  
138 138  
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" %)(((
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" %)(((
142 142  If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
143 143  Meanwhile, BLE module will be active and user can connect via BLE to configure device.
144 144  )))
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 +|(% 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.
148 148  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.
149 149  )))
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.
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.
151 151  
152 152  
153 153  == 1.7 Pin Mapping ==
154 154  
155 155  
156 -[[image:1675213198663-754.png||_mstalt="297167"]]
146 +[[image:1675213198663-754.png]]
157 157  
158 158  
159 159  == 1.8 BLE connection ==
... ... @@ -173,11 +173,11 @@
173 173  == 1.9 Mechanical ==
174 174  
175 175  
176 -[[image:image-20230201090139-2.png||_mstalt="428623"]]
166 +[[image:image-20230201090139-2.png]]
177 177  
178 -[[image:image-20230201090139-3.png||_mstalt="428987"]]
168 +[[image:image-20230201090139-3.png]]
179 179  
180 -[[image:image-20230201090139-4.png||_mstalt="429351"]]
170 +[[image:image-20230201090139-4.png]]
181 181  
182 182  
183 183  = 2. Configure SDI-12 to connect to LoRaWAN network =
... ... @@ -185,7 +185,7 @@
185 185  == 2.1 How it works ==
186 186  
187 187  
188 -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.
189 189  
190 190  
191 191  == 2.2 Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -194,56 +194,60 @@
194 194  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.
195 195  
196 196  
197 -[[image:image-20230201090528-5.png||_mstalt="430300" height="465" width="1111"]]
187 +[[image:image-20230201090528-5.png||height="465" width="1111"]]
198 198  
199 199  
200 200  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.
201 201  
202 202  
203 -(% 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.
204 204  
205 205  Each SDI-12-LB is shipped with a sticker with the default device EUI as below:
206 206  
207 207  
208 -[[image:image-20230201152430-20.jpeg||_mstalt="492245"]]
198 +[[image:image-20230131134744-2.jpeg]]
209 209  
210 210  
201 +
202 +
203 +
211 211  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
212 212  
213 213  
214 -(% style="color:blue" %)**Register the device**
207 +**(% style="color:blue" %)Register the device**
215 215  
216 -[[image:1675213652444-622.png||_mstalt="293657"]]
209 +[[image:1675213652444-622.png]]
217 217  
218 218  
219 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
212 +**(% style="color:blue" %)Add APP EUI and DEV EUI**
220 220  
221 221  
222 -[[image:1675213661769-223.png||_mstalt="295217"]]
215 +[[image:1675213661769-223.png]]
223 223  
224 224  
225 -(% style="color:blue" %)**Add APP EUI in the application**
218 +**(% style="color:blue" %)Add APP EUI in the application**
226 226  
227 227  
228 -[[image:1675213675852-577.png||_mstalt="297947"]]
221 +[[image:1675213675852-577.png]]
229 229  
230 230  
231 -(% style="color:blue" %)**Add APP KEY**
224 +**(% style="color:blue" %)Add APP KEY**
232 232  
233 -[[image:1675213686734-883.png||_mstalt="298064"]]
226 +[[image:1675213686734-883.png]]
234 234  
235 235  
236 -(% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB
229 +**(% style="color:blue" %)Step 2**(%%): Activate on SDI-12-LB
237 237  
238 238  
239 239  Press the button for 5 seconds to activate the SDI-12-LB.
240 240  
241 -(% 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.
242 242  
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.
243 243  
244 -[[image:1675213704414-644.png||_mstalt="293748"]]
245 245  
238 +[[image:1675213704414-644.png]]
246 246  
240 +
247 247  == ​2.3 SDI-12 Related Commands ==
248 248  
249 249  
... ... @@ -260,43 +260,43 @@
260 260  The following is the display information on the serial port and the server.
261 261  
262 262  
263 -[[image:image-20230201091027-6.png||_mstalt="429065"]]
264 264  
258 +[[image:image-20230201091027-6.png]]
265 265  
266 -[[image:image-20230201091027-7.png||_mstalt="429429" height="261" width="1179"]]
267 267  
261 +[[image:image-20230201091027-7.png||height="261" width="1179"]]
268 268  
269 269  
270 -==== (% style="color:blue" %)**al!  ~-~- Get SDI-12 sensor Identification**(%%) ====
264 +==== **(% style="color:blue" %)al!  ~-~- Get SDI-12 sensor Identification** ====
271 271  
272 272  
273 273  * AT Command: AT+ADDRI=aa
274 274  * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa
275 275  
276 -(% 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)
277 277  
278 -(% 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)
279 279  
280 280  
281 281  The following is the display information on the serial port and the server.
282 282  
283 283  
284 -[[image:image-20230201091257-8.png||_mstalt="431392"]]
278 +[[image:image-20230201091257-8.png]]
285 285  
286 286  
287 -[[image:image-20230201091257-9.png||_mstalt="431756" height="225" width="1242"]]
281 +[[image:image-20230201091257-9.png||height="225" width="1242"]]
288 288  
289 289  
290 -==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%) ====
284 +==== **(% style="color:blue" %)aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ====
291 291  
292 292  
293 -(% style="color:red" %)**aM! **(%%): Start Non-Concurrent Measurement
287 +**(% style="color:red" %)aM! **(%%): Start Non-Concurrent Measurement
294 294  
295 -(% style="color:red" %)**aMC! **(%%): Start Non-Concurrent Measurement – Request CRC
289 +**(% style="color:red" %)aMC! **(%%): Start Non-Concurrent Measurement – Request CRC
296 296  
297 -(% style="color:red" %)**aM1!- aM9! **(%%): Additional Measurements
291 +**(% style="color:red" %)aM1!- aM9! **(%%): Additional Measurements
298 298  
299 -(% style="color:red" %)**aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC
293 +**(% style="color:red" %)aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC
300 300  
301 301  
302 302  * AT Command : AT+ADDRM=0,1,0,1
... ... @@ -305,35 +305,35 @@
305 305  
306 306  Downlink:AA 01 aa bb cc dd
307 307  
308 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
302 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address.
309 309  
310 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
304 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC
311 311  
312 -(% 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
313 313  
314 -(% 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.
315 315  
316 316  
317 317  The following is the display information on the serial port and the server.
318 318  
319 319  
320 -[[image:image-20230201091630-10.png||_mstalt="449995"]]
314 +[[image:image-20230201091630-10.png]]
321 321  
322 322  
323 -[[image:image-20230201091630-11.png||_mstalt="450372" height="247" width="1165"]]
317 +[[image:image-20230201091630-11.png||height="247" width="1165"]]
324 324  
325 325  
326 326  
327 -==== (% style="color:blue" %)**aC!, aCC!,  aC1!- aC9!,  aCC1!- aCC9! **(%%) ====
321 +==== **(% style="color:blue" %)aC!, aCC!,  aC1!- aC9!,  aCC1!- aCC9! ** ====
328 328  
329 329  
330 -(% style="color:red" %)**aC!**(%%) : Start Concurrent Measurement
324 +**(% style="color:red" %)aC!**(%%) : Start Concurrent Measurement
331 331  
332 -(% style="color:red" %)**aCC!** (%%): Start Concurrent Measurement – Request CRC
326 +**(% style="color:red" %)aCC!** (%%): Start Concurrent Measurement – Request CRC
333 333  
334 -(% style="color:red" %)**aC1!- aC9!**(%%) : Start Additional Concurrent Measurements
328 +**(% style="color:red" %)aC1!- aC9!**(%%) : Start Additional Concurrent Measurements
335 335  
336 -(% style="color:red" %)**aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC
330 +**(% style="color:red" %)aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC
337 337  
338 338  
339 339  * AT Command : AT+ADDRC=0,1,0,1 
... ... @@ -342,27 +342,27 @@
342 342  
343 343  Downlink: AA 02 aa bb cc dd
344 344  
345 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
339 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address.
346 346  
347 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
341 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC
348 348  
349 -(% 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
350 350  
351 -(% 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.
352 352  
353 353  
354 354  The following is the display information on the serial port and the server.
355 355  
356 356  
357 -[[image:image-20230201091954-12.png||_mstalt="453687"]]
351 +[[image:image-20230201091954-12.png]]
358 358  
359 359  
360 -[[image:image-20230201091954-13.png||_mstalt="454064" height="203" width="1117"]]
354 +[[image:image-20230201091954-13.png||height="203" width="1117"]]
361 361  
362 362  
363 363  
364 364  
365 -==== (% style="color:blue" %)**aR0!- aR9!,  aRC0!- aRC9!**(%%) ====
359 +==== **(% style="color:blue" %)aR0!- aR9!,  aRC0!- aRC9!** ====
366 366  
367 367  
368 368  Start Continuous Measurement
... ... @@ -375,24 +375,25 @@
375 375  
376 376  Downlink: AA 03 aa bb cc dd
377 377  
378 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
372 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address.
379 379  
380 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
374 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC
381 381  
382 -(% 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
383 383  
384 -(% 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.
385 385  
386 386  
387 387  The following is the display information on the serial port and the server.
388 388  
389 389  
390 -[[image:image-20230201092208-14.png||_mstalt="452283"]]
391 391  
385 +[[image:image-20230201092208-14.png]]
392 392  
393 -[[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]]
394 394  
388 +[[image:image-20230201092208-15.png||height="214" width="1140"]]
395 395  
390 +
396 396  === 2.3.2 Advance SDI-12 Debug command ===
397 397  
398 398  
... ... @@ -401,20 +401,20 @@
401 401  
402 402  LoRaWAN Downlink: A8 aa xx xx xx xx bb cc
403 403  
404 -(% style="color:#037691" %)**aa **(%%): total SDI-12 command length
399 +**(% style="color:#037691" %)aa **(%%): total SDI-12 command length
405 405  
406 -(% style="color:#037691" %)**xx **(%%): SDI-12 command
401 +**(% style="color:#037691" %)xx **(%%): SDI-12 command
407 407  
408 -(% style="color:#037691" %)**bb **(%%): Delay to wait for return
403 +**(% style="color:#037691" %)bb **(%%): Delay to wait for return
409 409  
410 -(% 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
411 411  
412 412  
413 -(% style="color:blue" %)**Example: **(%%) AT+CFGDEV =0RC0!,1
408 +**(% style="color:blue" %)Example: **(%%) AT+CFGDEV =0RC0!,1
414 414  
415 -(% style="color:#037691" %)**0RC0! **(%%): SDI-12 Command,
410 +**(% style="color:#037691" %)0RC0! **(%%): SDI-12 Command,
416 416  
417 -(% style="color:#037691" %)**1 **(%%): Delay 1 second.  ( 0: 810 mini-second)
412 +**(% style="color:#037691" %)1 **(%%): Delay 1 second.  ( 0: 810 mini-second)
418 418  
419 419  Equal Downlink: 0xA8 05 30 52 43 30 21 01 01
420 420  
... ... @@ -422,10 +422,10 @@
422 422  The following is the display information on the serial port and the server.
423 423  
424 424  
425 -[[image:image-20230201092355-16.png||_mstalt="453960"]]
420 +[[image:image-20230201092355-16.png]]
426 426  
427 427  
428 -[[image:image-20230201092355-17.png||_mstalt="454337" height="426" width="1135"]]
423 +[[image:image-20230201092355-17.png||height="426" width="1135"]]
429 429  
430 430  
431 431  === 2.3.3 Convert ASCII to String ===
... ... @@ -436,16 +436,16 @@
436 436  AT+CONVFORM ( Max length: 80 bytes)
437 437  
438 438  
439 -(% style="color:blue" %)**Example:**
434 +**(% style="color:blue" %)Example:**
440 440  
441 441  1) AT+CONVFORM=0, string Convert String from String to ASCII
442 442  
443 -[[image:1675214845056-885.png||_mstalt="297622"]]
438 +[[image:1675214845056-885.png]]
444 444  
445 445  
446 446  2) AT+CONVFORM=1, ASCII Convert ASCII to String.
447 447  
448 -[[image:1675214856590-846.png||_mstalt="297739"]]
443 +[[image:1675214856590-846.png]]
449 449  
450 450  
451 451  === 2.3.4 Define periodically SDI-12 commands and uplink. ===
... ... @@ -456,35 +456,35 @@
456 456  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.
457 457  
458 458  
459 -* (% style="color:blue" %)**AT Command:**
454 +* ** (% style="color:blue" %)AT Command:**
460 460  
461 -(% style="color:#037691" %)**AT+COMMANDx=var1,var2,var3,var4.**
456 +**(% style="color:#037691" %)AT+COMMANDx=var1,var2,var3,var4.**
462 462  
463 -(% style="color:red" %)**var1**(%%): SDI-12 command , for example: 0RC0!
458 +**(% style="color:red" %)var1**(%%): SDI-12 command , for example: 0RC0!
464 464  
465 -(% style="color:red" %)**var2**(%%): Wait timeout for return. (unit: second)
460 +**(% style="color:red" %)var2**(%%): Wait timeout for return. (unit: second)
466 466  
467 -(% 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!//.
468 468  
469 -(% 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.
470 470  
471 -(% style="color:red" %)**0 **(%%) No validation check;
466 +**(% style="color:red" %)0 **(%%) No validation check;
472 472  
473 -(% 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);
474 474  
475 -(% 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
476 476  
477 -(% 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);
478 478  
479 479  
480 -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.
481 481  
482 482  
483 -(% 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.
484 484  
485 -(% border="1" style="width:436px" %)
486 -|(% style="width:433px;background-color:#F2F2F2 %)(((
487 -**(% 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**
488 488  
489 489  **a**:  length for the return of AT+COMMAND
490 490  
... ... @@ -493,100 +493,102 @@
493 493  **c**:  define the position for valid value. 
494 494  )))
495 495  
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:
491 +For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895” , Below AT+DATACUT1 will get different result to combine payload:
497 497  
498 498  
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
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
504 504  
505 -* (% style="color:blue" %)** Downlink Payload:**
500 +* **(% style="color:blue" %) Downlink Payload:**
506 506  
507 -(% 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.
508 508  
509 509  
510 -(% 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.**
511 511  
512 512  
513 -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**
514 514  
515 515  Where:
516 516  
517 -* (% style="color:#037691" %)**MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
518 -* (% style="color:#037691" %)**NN **(%%):  1: set the AT+COMMAND value ; 2: set the AT+DATACUT value.
519 -* (% style="color:#037691" %)**LL **(%%):  The length of AT+COMMAND or AT+DATACUT command
520 -* (% style="color:#037691" %)**XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT 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. 
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. 
522 522  
523 -(% style="color:blue" %)**Example:**
518 +**(% style="color:blue" %)Example:**
524 524  
525 -[[image:image-20230201094129-18.png||_mstalt="455065"]]
520 +[[image:image-20230201094129-18.png]]
526 526  
527 527  
523 +**(% style="color:blue" %)Clear SDI12 Command**
528 528  
529 -(% style="color:blue" %)**Clear SDI12 Command**
530 -
531 531  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
532 532  
533 533  
534 -* (% style="color:#037691" %)**AT Command:**
528 +* ** (% style="color:#037691" %)AT Command:**
535 535  
536 -(% 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
537 537  
538 538  
539 539  Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
540 540  
541 541  
542 -* (% style="color:#037691" %)** Downlink Payload:**
536 +* **(% style="color:#037691" %) Downlink Payload:**
543 543  
544 -(% 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
545 545  
546 546  
547 547  
548 -(% style="color:blue" %)**command combination**
542 +**(% style="color:blue" %)command combination**
549 549  
550 550  Below shows a screen shot how the results combines together to a uplink payload.
551 551  
552 -[[image:1675215745275-920.png||_mstalt="295334"]]
546 +[[image:1675215745275-920.png]]
553 553  
554 554  
555 555  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.
556 556  
557 -(% 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.
558 558  
559 559  
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.
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.
561 561  
562 562  
563 -[[image:1675215782925-448.png||_mstalt="297466"]]
557 +[[image:1675215782925-448.png]]
564 564  
565 565  
566 -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.
567 567  
568 568  
569 569  
570 -(% style="color:blue" %)**Compose Uplink**
564 +**(% style="color:blue" %)Compose Uplink**
571 571  
572 -(% style="color:#4f81bd" %)**AT+DATAUP=0**
573 573  
574 -Compose the uplink payload with value returns in sequence and send with **__A SIGNLE UPLINK__**.
567 +**(% style="color:#4F81BD" %)AT+DATAUP=0**
575 575  
576 -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.
577 577  
571 +Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
572 +
578 578  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
579 579  
580 580  
581 -[[image:1675215828102-844.png||_mstalt="294645"]]
576 +[[image:1675215828102-844.png]]
582 582  
583 583  
584 -(% style="color:#4f81bd" %)**AT+DATAUP=1**
579 +**(% style="color:#4F81BD" %)AT+DATAUP=1**
585 585  
586 -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.
587 587  
588 -Final Payload is __**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__
583 +Final Payload is
589 589  
585 +__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__
586 +
590 590  1. Battery Info (2 bytes): Battery voltage
591 591  1. PAYVER (1 byte): Defined by AT+PAYVER
592 592  1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
... ... @@ -593,10 +593,10 @@
593 593  1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
594 594  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
595 595  
596 -[[image:1675215848113-696.png||_mstalt="296998"]]
593 +[[image:1675215848113-696.png]]
597 597  
598 598  
599 -(% 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:**
600 600  
601 601  * For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
602 602  * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
... ... @@ -603,13 +603,22 @@
603 603  * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
604 604  * For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
605 605  
606 -(% 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;**
607 607  
608 -(% 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.**
609 609  
610 610  
611 -== 2.4 Uplink Payload ==
608 +== ​​​​​​​2.4 Uplink Payload ==
612 612  
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 +
613 613  === 2.4.1 Device Payload, FPORT~=5 ===
614 614  
615 615  
... ... @@ -617,21 +617,21 @@
617 617  
618 618  Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink.
619 619  
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
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
624 624  
625 625  Example parse in TTNv3
626 626  
627 -[[image:1675215946738-635.png||_mstalt="297778"]]
633 +[[image:1675215946738-635.png]]
628 628  
629 629  
630 -(% 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
631 631  
632 -(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
638 +**(% style="color:#037691" %)Firmware Version**(%%): 0x0100, Means: v1.0.0 version
633 633  
634 -(% style="color:#037691" %)**Frequency Band**:
640 +**(% style="color:#037691" %)Frequency Band**:
635 635  
636 636  *0x01: EU868
637 637  
... ... @@ -662,7 +662,7 @@
662 662  *0x0e: MA869
663 663  
664 664  
665 -(% style="color:#037691" %)**Sub-Band**:
671 +**(% style="color:#037691" %)Sub-Band**:
666 666  
667 667  AU915 and US915:value 0x00 ~~ 0x08
668 668  
... ... @@ -671,7 +671,7 @@
671 671  Other Bands: Always 0x00
672 672  
673 673  
674 -(% style="color:#037691" %)**Battery Info**:
680 +**(% style="color:#037691" %)Battery Info**:
675 675  
676 676  Check the battery voltage.
677 677  
... ... @@ -689,20 +689,20 @@
689 689  
690 690  * Periodically Uplink: FPORT=2
691 691  
692 -(% border="1" cellspacing="4" style="background-color:#F2F2F2; width:500px" %)
693 -|=(% style="width: 90px;" %)(((
698 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
699 +|(% style="width:93px" %)(((
694 694  **Size(bytes)**
695 -)))|=(% style="width: 80px;" %)**2**|=(% style="width: 90px;" %)**1**|=(% style="width: 240px;" %)**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**
696 696  |(% style="width:93px" %)**Value**|(% style="width:83px" %)(((
697 697  Battery(mV)
698 698  &
699 699  Interrupt_Flag
700 -)))|(% style="width:91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)(((
706 +)))|(% style="width:70px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:234px" %)(((
701 701  If the valid payload is too long and exceed the maximum support.
702 702  Payload length in server,server will show payload not provided in the LoRaWAN server.
703 703  )))
704 704  
705 -[[image:1675216282284-923.png||_mstalt="295633"]]
711 +[[image:1675216282284-923.png]]
706 706  
707 707  
708 708  === 2.4.3 Battery Info ===
... ... @@ -718,7 +718,7 @@
718 718  === 2.4.4 Interrupt Pin ===
719 719  
720 720  
721 -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"]].
722 722  
723 723  **Example:**
724 724  
... ... @@ -729,7 +729,6 @@
729 729  
730 730  === 2.4.5 Payload version ===
731 731  
732 -The version number of the payload, mainly used for decoding. The default is 01.
733 733  
734 734  
735 735  === 2.4.6 ​Decode payload in The Things Network ===
... ... @@ -737,7 +737,7 @@
737 737  
738 738  While using TTN network, you can add the payload format to decode the payload.
739 739  
740 -[[image:1675216779406-595.png||_mstalt="298376"]]
745 +[[image:1675216779406-595.png]]
741 741  
742 742  
743 743  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.
... ... @@ -750,91 +750,26 @@
750 750  
751 751  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:
752 752  
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]]
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]]
754 754  
755 755  
756 -== 2.6 Examples To Set SDI commands. ==
757 757  
758 -=== 2.6.1 Examples 1 ===
759 759  
763 +== 2.6 Frequency Plans ==
760 760  
761 -COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication.
762 762  
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 -
827 827  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.
828 828  
829 829  [[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/]]
830 830  
831 831  
832 -== 2.8 Firmware Change Log ==
833 833  
772 +== 2.7 Firmware Change Log ==
834 834  
774 +
835 835  **Firmware download link:**
836 836  
837 -[[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]]
838 838  
839 839  
840 840  = 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink =
... ... @@ -842,12 +842,12 @@
842 842  
843 843  Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink.
844 844  
845 -* AT Command Connection: See [[FAQ>>||anchor="H7.FAQ"]].
785 +* AT Command Connection: See [[FAQ>>path:#AT_COMMAND]].
846 846  * LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
847 847  
848 848  There are two kinds of commands to configure SDI-12-LB, they are:
849 849  
850 -* (% style="color:blue" %)**General Commands**.
790 +* **General Commands**.
851 851  
852 852  These commands are to configure:
853 853  
... ... @@ -856,15 +856,15 @@
856 856  
857 857  They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
858 858  
859 -[[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]]
860 860  
861 861  
862 -* (% style="color:blue" %)**Commands special design for SDI-12-LB**
802 +* **Commands special design for SDI-12-LB**
863 863  
864 864  These commands only valid for SDI-12-LB, as below:
865 865  
866 866  
867 -== 3.1 Set Transmit Interval Time ==
807 +== ​​​​​​​3.1 Set Transmit Interval Time ==
868 868  
869 869  
870 870  Feature: Change LoRaWAN End Node Transmit Interval.
... ... @@ -871,19 +871,18 @@
871 871  
872 872  (% style="color:blue" %)**AT Command: AT+TDC**
873 873  
874 -(% border="1" cellspacing="4" style="width:510px" %)
875 -|=(% 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**
876 -|(% 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|(((
877 877  30000
878 878  OK
879 879  the interval is 30000ms = 30s
880 880  )))
881 -|(% 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|(((
882 882  OK
883 883  Set transmit interval to 60000ms = 60 seconds
884 884  )))
885 885  
886 -
887 887  (% style="color:blue" %)**Downlink Command: 0x01**
888 888  
889 889  
... ... @@ -894,7 +894,6 @@
894 894  * Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
895 895  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
896 896  
897 -
898 898  == 3.2 Set Interrupt Mode ==
899 899  
900 900  
... ... @@ -902,22 +902,21 @@
902 902  
903 903  (% style="color:blue" %)**AT Command: AT+INTMOD**
904 904  
905 -(% border="1" cellspacing="4" style="width:510px" %)
906 -|=(% 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**
907 -|(% 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" %)(((
908 908  0
909 909  OK
910 -the mode is 0 =Disable Interrupt
848 +the mode is 0 = No interruption
911 911  )))
912 -|(% 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" %)(((
913 913  Set Transmit Interval
914 -0. (Disable Interrupt),
915 -~1. (Trigger by rising and falling edge)
916 -2. (Trigger by falling edge)
917 -3. (Trigger by rising edge)
918 -)))|(% 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
919 919  
920 -
921 921  (% style="color:blue" %)**Downlink Command: 0x06**
922 922  
923 923  Format: Command Code (0x06) followed by 3 bytes.
... ... @@ -927,7 +927,6 @@
927 927  * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
928 928  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
929 929  
930 -
931 931  == 3.3 Set the output time ==
932 932  
933 933  
... ... @@ -997,7 +997,6 @@
997 997  * Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
998 998  * Example 6: Downlink Payload: 07030000  **~-~-->**  AT+12VT=0
999 999  
1000 -
1001 1001  == 3.4 Set the all data mode ==
1002 1002  
1003 1003  
... ... @@ -1020,7 +1020,6 @@
1020 1020  * Example 1: Downlink Payload: AB 00  ~/~/  AT+ALLDATAMOD=0
1021 1021  * Example 2: Downlink Payload: AB 01  ~/~/  AT+ALLDATAMOD=1
1022 1022  
1023 -
1024 1024  == 3.5 Set the splicing payload for uplink ==
1025 1025  
1026 1026  
... ... @@ -1057,7 +1057,6 @@
1057 1057  
1058 1058  == 3.6 Set the payload version ==
1059 1059  
1060 -
1061 1061  Feature, Set the payload version.
1062 1062  
1063 1063  (% style="color:blue" %)**AT Command: AT+PAYVER**
... ... @@ -1077,7 +1077,6 @@
1077 1077  * Example 1: Downlink Payload: AE 01  ~/~/  AT+PAYVER=1
1078 1078  * Example 2: Downlink Payload: AE 05  ~/~/  AT+PAYVER=5
1079 1079  
1080 -
1081 1081  = 4. Battery & how to replace =
1082 1082  
1083 1083  == 4.1 Battery Type ==
... ... @@ -1088,7 +1088,7 @@
1088 1088  
1089 1089  The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1090 1090  
1091 -[[image:1675234124233-857.png||_mstalt="295035"]]
1023 +[[image:1675146710956-626.png]]
1092 1092  
1093 1093  
1094 1094  Minimum Working Voltage for the SDI-12-LB:
... ... @@ -1121,10 +1121,9 @@
1121 1121  
1122 1122  And the Life expectation in difference case will be shown on the right.
1123 1123  
1056 +[[image:1675146895108-304.png]]
1124 1124  
1125 -[[image:1675234155374-163.png||_mstalt="294411"]]
1126 1126  
1127 -
1128 1128  The battery related documents as below:
1129 1129  
1130 1130  * [[Battery Dimension>>https://www.dropbox.com/s/ox5g9njwjle7aw3/LSN50-Battery-Dimension.pdf?dl=0]],
... ... @@ -1131,7 +1131,7 @@
1131 1131  * [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]]
1132 1132  * [[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]]
1133 1133  
1134 -[[image:image-20230201145019-19.png||_mstalt="453947"]]
1065 +[[image:image-20230131145708-3.png]]
1135 1135  
1136 1136  
1137 1137  === 4.3.1 ​Battery Note ===
... ... @@ -1148,6 +1148,7 @@
1148 1148  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)
1149 1149  
1150 1150  
1082 +
1151 1151  = 5. Remote Configure device =
1152 1152  
1153 1153  == 5.1 Connect via BLE ==
... ... @@ -1168,59 +1168,36 @@
1168 1168  [[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/]]
1169 1169  
1170 1170  
1171 -= 7. FAQ =
1172 1172  
1173 -== 7.1 How to use AT Command  via UART to access device? ==
1104 += 7. ​Order Info =
1174 1174  
1175 1175  
1176 -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]]
1107 +Part Number: SDI-12-LB-XXX
1108 +XXX: The default frequency band
1177 1177  
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
1178 1178  
1179 -== 7.2 How to update firmware via UART port? ==
1180 1180  
1181 1181  
1182 -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]]
1183 1183  
1184 1184  
1185 -== 7.3 How to change the LoRa Frequency Bands/Region? ==
1186 1186  
1187 1187  
1188 -You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]].
1189 -When downloading the images, choose the required image file for download. ​
1125 += 8. Packing Info =
1190 1190  
1191 1191  
1192 -= 8. ​Order Info =
1128 +**Package Includes**:
1193 1193  
1194 -
1195 -(((
1196 -(% style="color:blue" %)**Part Number: SDI-12-LB-XXX**
1197 -)))
1198 -
1199 -(((
1200 -XXX: The default frequency band
1201 -)))
1202 -
1203 -(((
1204 -(% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1205 -(% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1206 -(% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1207 -(% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1208 -(% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1209 -(% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1210 -(% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1211 -(% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1212 -)))
1213 -
1214 -
1215 -
1216 -= 9. Packing Info =
1217 -
1218 -
1219 -(% style="color:#037691" %)**Package Includes**:
1220 -
1221 1221  * SDI-12-LB SDI-12 to LoRaWAN Converter x 1
1222 1222  
1223 -(% style="color:#037691" %)**Dimension and weight**:
1132 +**Dimension and weight**:
1224 1224  
1225 1225  * Device Size: cm
1226 1226  * Device Weight: g
... ... @@ -1227,10 +1227,9 @@
1227 1227  * Package Size / pcs : cm
1228 1228  * Weight / pcs : g
1229 1229  
1139 += 9. ​Support =
1230 1230  
1231 -= 10. ​Support =
1232 1232  
1233 -
1234 1234  * 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.
1235 1235  
1236 1236  * 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]]
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