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

From version 71.1
edited by Edwin Chen
on 2023/06/03 12:38
Change comment: There is no comment for this version
To version 34.1
edited by Xiaoling
on 2023/02/01 09:44
Change comment: Uploaded new attachment "1675215848113-696.png", version {1}

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Edwin
1 +XWiki.Xiaoling
Content
... ... @@ -1,9 +1,8 @@
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  
6 -{{toc/}}
7 7  
8 8  
9 9  
... ... @@ -22,40 +22,32 @@
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 -)))
24 +The Dragino **SDI-12-LB** is a **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 -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 -)))
28 +**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.
36 36  
37 -(((
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 -)))
30 +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.
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 -)))
32 +**SDI-12-LB** is powered by **8500mAh Li-SOCI2 battery**, it is designed for long term use up to 5 years.
44 44  
45 -(((
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 -)))
34 +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.
48 48  
49 49  
50 -[[image:image-20230201084414-1.png||_mstalt="427765" height="464" width="1108"]]
37 +[[image:image-20230201084414-1.png||height="464" width="1108"]]
51 51  
52 52  
40 +
41 +
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
... ... @@ -68,20 +68,18 @@
68 68  == 1.3 Specification ==
69 69  
70 70  
71 -(% style="color:#037691" %)**Micro Controller:**
62 +**Micro Controller:**
72 72  
73 73  * MCU: 48Mhz ARM
74 74  * Flash: 256KB
75 75  * RAM: 64KB
76 76  
77 -(% style="color:#037691" %)**Common DC Characteristics:**
68 +**Common DC Characteristics:**
78 78  
79 79  * Supply Voltage: 2.5v ~~ 3.6v
80 -* Support current: 5V 300mA
81 - 12V 100mA
82 82  * Operating Temperature: -40 ~~ 85°C
83 83  
84 -(% style="color:#037691" %)**LoRa Spec:**
73 +**LoRa Spec:**
85 85  
86 86  * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
87 87  * Max +22 dBm constant RF output vs.
... ... @@ -88,19 +88,19 @@
88 88  * RX sensitivity: down to -139 dBm.
89 89  * Excellent blocking immunity
90 90  
91 -(% style="color:#037691" %)**Current Input Measuring :**
80 +**Current Input Measuring :**
92 92  
93 93  * Range: 0 ~~ 20mA
94 94  * Accuracy: 0.02mA
95 95  * Resolution: 0.001mA
96 96  
97 -(% style="color:#037691" %)**Voltage Input Measuring:**
86 +**Voltage Input Measuring:**
98 98  
99 99  * Range: 0 ~~ 30v
100 100  * Accuracy: 0.02v
101 101  * Resolution: 0.001v
102 102  
103 -(% style="color:#037691" %)**Battery:**
92 +**Battery:**
104 104  
105 105  * Li/SOCI2 un-chargeable battery
106 106  * Capacity: 8500mAh
... ... @@ -108,7 +108,7 @@
108 108  * Max continuously current: 130mA
109 109  * Max boost current: 2A, 1 second
110 110  
111 -(% style="color:#037691" %)**Power Consumption**
100 +**Power Consumption**
112 112  
113 113  * Sleep Mode: 5uA @ 3.3v
114 114  * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
... ... @@ -117,40 +117,41 @@
117 117  
118 118  
119 119  
120 -[[image:1675212538524-889.png||_mstalt="298272"]]
109 +[[image:1675212538524-889.png]]
121 121  
122 122  
123 123  == 1.5 Sleep mode and working mode ==
124 124  
125 125  
126 -(% 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.
115 +**Deep Sleep Mode: **Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
127 127  
128 -(% 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.
117 +**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.
129 129  
130 130  
131 131  == 1.6 Button & LEDs ==
132 132  
133 133  
134 -[[image:1675212633011-651.png||_mstalt="291538"]]
123 +[[image:1675212633011-651.png]]
135 135  
136 136  
137 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
138 -|=(% 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**
139 -|(% 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" %)(((
126 +
127 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %)
128 +|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 117px;" %)**Function**|=(% style="width: 225px;" %)**Action**
129 +|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
140 140  If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
141 141  Meanwhile, BLE module will be active and user can connect via BLE to configure device.
142 142  )))
143 -|(% 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" %)(((
144 -(% 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.
145 -(% style="background-color:#f2f2f2; color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
133 +|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
134 +(% 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.
135 +(% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
146 146  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.
147 147  )))
148 -|(% style="background-color:#f2f2f2; width:167px" %)Fast press ACT 5 times.|(% style="background-color:#f2f2f2; width:117px" %)Deactivate Device|(% style="background-color:#f2f2f2; width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB-NA is in Deep Sleep Mode.
138 +|(% 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.
149 149  
150 150  == 1.7 Pin Mapping ==
151 151  
152 152  
153 -[[image:1675213198663-754.png||_mstalt="297167"]]
143 +[[image:1675213198663-754.png]]
154 154  
155 155  
156 156  == 1.8 BLE connection ==
... ... @@ -170,19 +170,22 @@
170 170  == 1.9 Mechanical ==
171 171  
172 172  
173 -[[image:image-20230201090139-2.png||_mstalt="428623"]]
174 174  
175 -[[image:image-20230201090139-3.png||_mstalt="428987"]]
176 176  
177 -[[image:image-20230201090139-4.png||_mstalt="429351"]]
178 178  
166 +[[image:image-20230201090139-2.png]]
179 179  
168 +[[image:image-20230201090139-3.png]]
169 +
170 +[[image:image-20230201090139-4.png]]
171 +
172 +
180 180  = 2. Configure SDI-12 to connect to LoRaWAN network =
181 181  
182 182  == 2.1 How it works ==
183 183  
184 184  
185 -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 **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.
186 186  
187 187  
188 188  == 2.2 Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -191,56 +191,60 @@
191 191  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.
192 192  
193 193  
194 -[[image:image-20230201090528-5.png||_mstalt="430300" height="465" width="1111"]]
187 +[[image:image-20230201090528-5.png||height="465" width="1111"]]
195 195  
196 196  
197 197  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.
198 198  
199 199  
200 -(% style="color:blue" %)**Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB.
193 +**Step 1**: Create a device in TTN with the OTAA keys from SDI-12-LB.
201 201  
202 202  Each SDI-12-LB is shipped with a sticker with the default device EUI as below:
203 203  
204 204  
205 -[[image:image-20230426084456-1.png||height="241" width="519"]]
198 +[[image:image-20230131134744-2.jpeg]]
206 206  
207 207  
201 +
202 +
203 +
208 208  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
209 209  
210 210  
211 -(% style="color:blue" %)**Register the device**
207 +**Register the device**
212 212  
213 -[[image:1675213652444-622.png||_mstalt="293657"]]
209 +[[image:1675213652444-622.png]]
214 214  
215 215  
216 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
212 +**Add APP EUI and DEV EUI**
217 217  
218 218  
219 -[[image:1675213661769-223.png||_mstalt="295217"]]
215 +[[image:1675213661769-223.png]]
220 220  
221 221  
222 -(% style="color:blue" %)**Add APP EUI in the application**
218 +**Add APP EUI in the application**
223 223  
224 224  
225 -[[image:1675213675852-577.png||_mstalt="297947"]]
221 +[[image:1675213675852-577.png]]
226 226  
227 227  
228 -(% style="color:blue" %)**Add APP KEY**
224 +**Add APP KEY**
229 229  
230 -[[image:1675213686734-883.png||_mstalt="298064"]]
226 +[[image:1675213686734-883.png]]
231 231  
232 232  
233 -(% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB
229 +**Step 2**: Activate on SDI-12-LB
234 234  
235 235  
236 236  Press the button for 5 seconds to activate the SDI-12-LB.
237 237  
238 -(% 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.
239 239  
235 +**Green led** will fast blink 5 times, device will enter **OTA mode** for 3 seconds. And then start to JOIN LoRaWAN network. **Green led** will solidly turn on for 5 seconds after joined in network.
240 240  
241 -[[image:1675213704414-644.png||_mstalt="293748"]]
242 242  
238 +[[image:1675213704414-644.png]]
243 243  
240 +
244 244  == ​2.3 SDI-12 Related Commands ==
245 245  
246 246  
... ... @@ -257,80 +257,79 @@
257 257  The following is the display information on the serial port and the server.
258 258  
259 259  
260 -[[image:image-20230201091027-6.png||_mstalt="429065"]]
261 261  
258 +[[image:image-20230201091027-6.png]]
262 262  
263 -[[image:image-20230201091027-7.png||_mstalt="429429" height="261" width="1179"]]
264 264  
261 +[[image:image-20230201091027-7.png||height="261" width="1179"]]
265 265  
266 266  
267 -==== (% style="color:blue" %)**al!  ~-~- Get SDI-12 sensor Identification**(%%) ====
264 +==== **al!  ~-~- Get SDI-12 sensor Identification** ====
268 268  
269 269  
270 270  * AT Command: AT+ADDRI=aa
271 271  * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa
272 272  
273 -(% style="color:#037691" %)**Parameter:  **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command)
270 +**Parameter:  **aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command)
274 274  
275 -(% style="color:blue" %)**Example :   **(%%)AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)
272 +**Example :  **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)
276 276  
277 277  
278 278  The following is the display information on the serial port and the server.
279 279  
280 280  
281 -[[image:image-20230201091257-8.png||_mstalt="431392"]]
278 +[[image:image-20230201091257-8.png]]
282 282  
283 283  
284 -[[image:image-20230201091257-9.png||_mstalt="431756" height="225" width="1242"]]
281 +[[image:image-20230201091257-9.png||height="225" width="1242"]]
285 285  
286 286  
287 -==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%) ====
284 +==== **aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ====
288 288  
289 289  
290 -(% style="color:red" %)**aM! **(%%): Start Non-Concurrent Measurement
287 +**aM! **: Start Non-Concurrent Measurement
291 291  
292 -(% style="color:red" %)**aMC! **(%%): Start Non-Concurrent Measurement – Request CRC
289 +**aMC! **: Start Non-Concurrent Measurement – Request CRC
293 293  
294 -(% style="color:red" %)**aM1!- aM9! **(%%): Additional Measurements
291 +**aM1!- aM9! **: Additional Measurements
295 295  
296 -(% style="color:red" %)**aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC
293 +**aMC1!- aMC9!** : Additional Measurements – Request CRC
297 297  
298 298  
299 299  * AT Command : AT+ADDRM=0,1,0,1
300 -
301 301  * LoRaWAN Downlink(prefix 0xAA01): 0xAA 01 30 01 00 01
302 302  
303 303  Downlink:AA 01 aa bb cc dd
304 304  
305 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
301 +**aa**: SDI-12 sensor address.
306 306  
307 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
303 +**bb**: 0: no CRC, 1: request CRC
308 308  
309 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
305 +**cc**: 1-9: Additional Measurement, 0: no additional measurement
310 310  
311 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return.
307 +**dd**: delay (in second) to send **aD0!** to get return.
312 312  
313 313  
314 314  The following is the display information on the serial port and the server.
315 315  
316 316  
317 -[[image:image-20230201091630-10.png||_mstalt="449995"]]
313 +[[image:image-20230201091630-10.png]]
318 318  
319 319  
320 -[[image:image-20230201091630-11.png||_mstalt="450372" height="247" width="1165"]]
316 +[[image:image-20230201091630-11.png||height="247" width="1165"]]
321 321  
322 322  
323 323  
324 -==== (% style="color:blue" %)**aC!, aCC!,  aC1!- aC9!,  aCC1!- aCC9! **(%%) ====
320 +==== **aC!, aCC!,  aC1!- aC9!,  aCC1!- aCC9! ** ====
325 325  
326 326  
327 -(% style="color:red" %)**aC!**(%%) : Start Concurrent Measurement
323 +**aC!** : Start Concurrent Measurement
328 328  
329 -(% style="color:red" %)**aCC!** (%%): Start Concurrent Measurement – Request CRC
325 +**aCC!** : Start Concurrent Measurement – Request CRC
330 330  
331 -(% style="color:red" %)**aC1!- aC9!**(%%) : Start Additional Concurrent Measurements
327 +**aC1!- aC9!** : Start Additional Concurrent Measurements
332 332  
333 -(% style="color:red" %)**aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC
329 +**aCC1!- aCC9!** : Start Additional Concurrent Measurements – Request CRC
334 334  
335 335  
336 336  * AT Command : AT+ADDRC=0,1,0,1 
... ... @@ -339,29 +339,29 @@
339 339  
340 340  Downlink: AA 02 aa bb cc dd
341 341  
342 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
338 +**aa**: SDI-12 sensor address.
343 343  
344 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
340 +**bb**: 0: no CRC, 1: request CRC
345 345  
346 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
342 +**cc**: 1-9: Additional Measurement, 0: no additional measurement
347 347  
348 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%)__ __to get return.
344 +**dd**: delay (in second) to send **aD0!** to get return.
349 349  
350 350  
351 351  The following is the display information on the serial port and the server.
352 352  
353 353  
354 -[[image:image-20230201091954-12.png||_mstalt="453687"]]
350 +[[image:image-20230201091954-12.png]]
355 355  
356 356  
357 -[[image:image-20230201091954-13.png||_mstalt="454064" height="203" width="1117"]]
353 +[[image:image-20230201091954-13.png||height="203" width="1117"]]
358 358  
359 359  
356 +(% style="display:none" %) (%%)
360 360  
358 +==== **aR0!- aR9!,  aRC0!- aRC9!** ====
361 361  
362 -==== (% style="color:blue" %)**aR0!- aR9!,  aRC0!- aRC9!**(%%) ====
363 363  
364 -
365 365  Start Continuous Measurement
366 366  
367 367  Start Continuous Measurement – Request CRC
... ... @@ -372,46 +372,47 @@
372 372  
373 373  Downlink: AA 03 aa bb cc dd
374 374  
375 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
371 +**aa**: SDI-12 sensor address.
376 376  
377 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
373 +**bb**: 0: no CRC, 1: request CRC
378 378  
379 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
375 +**cc**: 1-9: Additional Measurement, 0: no additional measurement
380 380  
381 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return.
377 +**dd**: delay (in second) to send **aD0!** to get return.
382 382  
383 383  
384 384  The following is the display information on the serial port and the server.
385 385  
386 386  
387 -[[image:image-20230201092208-14.png||_mstalt="452283"]]
388 388  
384 +[[image:image-20230201092208-14.png]]
389 389  
390 -[[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]]
391 391  
387 +[[image:image-20230201092208-15.png||height="214" width="1140"]]
392 392  
393 -=== 2.3.2 Advance SDI-12 Debug command ===
394 394  
390 +=== ​​​​​​​2.3.2 Advance SDI-12 Debug command ===
395 395  
392 +
396 396  This command can be used to debug all SDI-12 command.
397 397  
398 398  
399 399  LoRaWAN Downlink: A8 aa xx xx xx xx bb cc
400 400  
401 -(% style="color:#037691" %)**aa **(%%): total SDI-12 command length
398 +**aa **: total SDI-12 command length
402 402  
403 -(% style="color:#037691" %)**xx **(%%): SDI-12 command
400 +**xx **: SDI-12 command
404 404  
405 -(% style="color:#037691" %)**bb **(%%): Delay to wait for return
402 +**bb **: Delay to wait for return
406 406  
407 -(% style="color:#037691" %)**cc **(%%): 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100
404 +**cc **: 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100
408 408  
409 409  
410 -(% style="color:blue" %)**Example: **(%%) AT+CFGDEV =0RC0!,1
407 +**Example: **AT+CFGDEV =0RC0!,1
411 411  
412 -(% style="color:#037691" %)**0RC0! **(%%): SDI-12 Command,
409 +**0RC0! **: SDI-12 Command,
413 413  
414 -(% style="color:#037691" %)**1 **(%%): Delay 1 second.  ( 0: 810 mini-second)
411 +**1 **: Delay 1 second.  ( 0: 810 mini-second)
415 415  
416 416  Equal Downlink: 0xA8 05 30 52 43 30 21 01 01
417 417  
... ... @@ -419,12 +419,14 @@
419 419  The following is the display information on the serial port and the server.
420 420  
421 421  
422 -[[image:image-20230201092355-16.png||_mstalt="453960"]]
419 +[[image:image-20230201092355-16.png]]
423 423  
424 424  
425 -[[image:image-20230201092355-17.png||_mstalt="454337" height="426" width="1135"]]
422 +​​​​​​​[[image:image-20230201092355-17.png||height="426" width="1135"]]
426 426  
427 427  
425 +​​​​​​​
426 +
428 428  === 2.3.3 Convert ASCII to String ===
429 429  
430 430  
... ... @@ -433,18 +433,22 @@
433 433  AT+CONVFORM ( Max length: 80 bytes)
434 434  
435 435  
436 -(% style="color:blue" %)**Example:**
435 +**Example:**
437 437  
438 438  1) AT+CONVFORM=0, string Convert String from String to ASCII
439 439  
440 -[[image:1675214845056-885.png||_mstalt="297622"]]
439 +[[image:1675214845056-885.png]]
441 441  
442 442  
443 443  2) AT+CONVFORM=1, ASCII Convert ASCII to String.
444 444  
445 -[[image:1675214856590-846.png||_mstalt="297739"]]
444 +[[image:1675214856590-846.png]]
446 446  
447 447  
447 +
448 +
449 +​​​​​​​
450 +
448 448  === 2.3.4 Define periodically SDI-12 commands and uplink. ===
449 449  
450 450  
... ... @@ -453,137 +453,142 @@
453 453  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.
454 454  
455 455  
456 -* (% style="color:blue" %)**AT Command:**
459 +* ** AT Command:**
457 457  
458 -(% style="color:#037691" %)**AT+COMMANDx=var1,var2,var3,var4.**
461 +**AT+COMMANDx=var1,var2,var3,var4.**
459 459  
460 -(% style="color:red" %)**var1**(%%): SDI-12 command , for example: 0RC0!
463 +**var1**: SDI-12 command , for example: 0RC0!
461 461  
462 -(% style="color:red" %)**var2**(%%): Wait timeout for return. (unit: second)
465 +**var2**: Wait timeout for return. (unit: second)
463 463  
464 -(% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//.
467 +**var3**: Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//.
465 465  
466 -(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 3 retries.
469 +**var4**: validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries.
467 467  
468 -(% style="color:red" %)**0 **(%%) No validation check;
471 +**0 ** No validation check;
469 469  
470 -(% style="color:red" %)**1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E);
473 +**1**  Check if return chars are printable char(0x20 ~~ 0x7E);
471 471  
472 -(% style="color:red" %)**2**(%%)  Check if there is return from SDI-12 sensor
475 +**2**  Check if there is return from SDI-12 sensor
473 473  
474 -(% style="color:red" %)**3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request);
477 +**3**  Check if return pass CRC check ( SDI-12 command var1 must include CRC request);
475 475  
476 476  
477 -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.
480 +Each AT+COMMANDx is followed by a **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.
478 478  
479 479  
480 -(% style="color:blue" %)**AT+DATACUTx**(%%) : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.
483 +**AT+DATACUTx** : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.
481 481  
482 -(% border="1" style="width:436px" %)
483 -|(% style="background-color:#f2f2f2; width:433px" %)(((
484 -(% style="color:#0070c0" %)**AT+DATACUTx=a,b,c**
485 +(% border="1" style="background-color:#f7faff; width:436px" %)
486 +|(% style="width:433px" %)(((
487 +AT+DATACUTx=a,b,c
485 485  
486 486  **a**:  length for the return of AT+COMMAND
487 487  
488 -**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.
491 +**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.
489 489  
490 490  **c**:  define the position for valid value. 
491 491  )))
492 492  
493 -For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895<CR><LF>” , Below AT+DATACUT1 will get different result to combine payload:
496 +For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895” ,. Below AT+DATACUT1 will get different result to combine payload:
494 494  
495 495  
496 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
497 -|=(% style="width: 164px;background-color:#D9E2F3;color:#0070C0" %)**AT+DATACUT1 value**|=(% style="width: 344px;background-color:#D9E2F3;color:#0070C0" %)**Final Result to combine Payload**
498 -|(% style="background-color:#f2f2f2; width:164px" %)34,1,1+2+3|(% style="background-color:#f2f2f2; width:344px" %)0D 00 01 30 31 33
499 -|(% 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
500 -|(% 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
499 +|AT+DATACUT1 value|Final Result to combine Payload
500 +|34,1,1+2+3|0D 00 01 30 31 33
501 +|34,2,1~~8+12~~16|0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32
502 +|34,2,1~~34|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
501 501  
502 -* (% style="color:blue" %)** Downlink Payload:**
504 +* ** Downlink Payload:**
503 503  
504 -(% style="color:blue" %)**0xAF**(%%)  downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
506 +**0xAF**  downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
505 505  
506 506  
507 -(% style="color:red" %)**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**
509 +**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**
508 508  
509 509  
510 -Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY(%%)**
512 +Format: ** AF MM NN LL XX XX XX XX YY**
511 511  
512 512  Where:
513 513  
514 -* (% style="color:#037691" %)**MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
515 -* (% style="color:#037691" %)**NN **(%%):  1: set the AT+COMMAND value ; 2: set the AT+DATACUT value.
516 -* (% style="color:#037691" %)**LL **(%%):  The length of AT+COMMAND or AT+DATACUT command
517 -* (% style="color:#037691" %)**XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command
518 -* (% 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. 
516 +* MM: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
517 +* NN:  1: set the AT+DATACUT value ; 2: set the AT+DATACUT value.
518 +* LL:  The length of AT+COMMAND or AT+DATACUT command
519 +* XX XX XX XX: AT+COMMAND or AT+DATACUT command
520 +* 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. 
519 519  
520 -(% style="color:blue" %)**Example:**
522 +Example:
521 521  
522 -[[image:image-20230201094129-18.png||_mstalt="455065"]]
524 +**AF 03 01 07 30 4D 43 21 01 01 01 00**: Same as AT+COMMAND3=**0MC!**,** 1**,** 1**,** 1**
523 523  
526 +**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10**
524 524  
528 +**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10**
525 525  
526 -(% style="color:blue" %)**Clear SDI12 Command**
527 527  
531 +**Clear SDI12 Command**
532 +
528 528  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
529 529  
530 530  
531 -* (% style="color:#037691" %)**AT Command:**
536 +* ** AT Command:**
532 532  
533 -(% style="color:#4f81bd" %)**AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase
538 +**~ AT+CMDEAR=mm,nn**   mm: start position of erase ,nn: stop position of erase
534 534  
535 535  
536 536  Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
537 537  
538 538  
539 -* (% style="color:#037691" %)** Downlink Payload:**
544 +* ** Downlink Payload:**
540 540  
541 -(% style="color:#4f81bd" %)**0x09 aa bb**(%%)  same as AT+CMDEAR=aa,bb
546 +**~ 0x09 aa bb**  same as AT+CMDEAR=aa,bb
542 542  
543 543  
544 544  
545 -(% style="color:blue" %)**command combination**
546 546  
551 +**command combination**
552 +
547 547  Below shows a screen shot how the results combines together to a uplink payload.
548 548  
549 -[[image:1675215745275-920.png||_mstalt="295334"]]
555 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image029.png]]
550 550  
551 551  
552 -If user don't want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1.
558 +If user dont want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1.
553 553  
554 -(% 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.
560 +**AT+ALLDATAMOD** will simply get all return and dont 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.
555 555  
556 556  
557 -(% 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.
563 +For example: as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result.
558 558  
559 559  
560 -[[image:1675215782925-448.png||_mstalt="297466"]]
566 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png]]
561 561  
562 562  
563 -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.
569 +If AT+ALLDATAMOD=1, **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.
564 564  
565 565  
566 566  
567 -(% style="color:blue" %)**Compose Uplink**
573 +**Compose Uplink**
568 568  
569 -(% style="color:#4f81bd" %)**AT+DATAUP=0**
575 +**AT+DATAUP=0**
570 570  
571 -Compose the uplink payload with value returns in sequence and send with **__A SIGNLE UPLINK__**.
577 +Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK.
572 572  
573 -Final Payload is **__Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx__**
579 +Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
574 574  
575 575  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
576 576  
577 577  
578 -[[image:1675215828102-844.png||_mstalt="294645"]]
584 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image031.png]]
579 579  
580 580  
581 -(% style="color:#4f81bd" %)**AT+DATAUP=1**
587 +**AT+DATAUP=1**
582 582  
583 -Compose the uplink payload with value returns in sequence and send with **__Multiply UPLINKs__**.
589 +Compose the uplink payload with value returns in sequence and send with Multiply UPLINKs.
584 584  
585 -Final Payload is __**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__
591 +Final Payload is
586 586  
593 +**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
594 +
587 587  1. Battery Info (2 bytes): Battery voltage
588 588  1. PAYVER (1 byte): Defined by AT+PAYVER
589 589  1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling.
... ... @@ -590,46 +590,58 @@
590 590  1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
591 591  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
592 592  
593 -[[image:1675215848113-696.png||_mstalt="296998"]]
601 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png]]
594 594  
595 595  
596 -(% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**
604 +**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**
597 597  
598 -* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
599 -* For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
600 -* For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
601 -* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
606 + ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
602 602  
603 -(% style="color:red" %)**When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**
608 + * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
604 604  
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.**
610 + * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
606 606  
612 + ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
607 607  
608 -== 2.4 Uplink Payload ==
614 + *** When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**
609 609  
610 -=== 2.4.1 Device Payload, FPORT~=5 ===
616 +**~ When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.**
611 611  
618 +1.
619 +11. Uplink Payload
612 612  
621 +Uplink payloads have two types:
622 +
623 +* Distance Value: Use FPORT=2
624 +* Other control commands: Use other FPORT fields.
625 +
626 +The application server should parse the correct value based on FPORT settings.
627 +
628 +
629 +1.
630 +11.
631 +111. Device Payload, FPORT=5
632 +
613 613  Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server.
614 614  
635 +
615 615  Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink.
616 616  
617 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
618 -|(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
619 -|(% 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**
620 -|(% 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
621 621  
639 +|(% colspan="6" %)**Device Status (FPORT=5)**
640 +|**Size (bytes)**|**1**|**2**|**1**|**1**|**2**
641 +|**Value**|Sensor Model|Firmware Version|Frequency Band|Sub-band|BAT
642 +
622 622  Example parse in TTNv3
623 623  
624 -[[image:1675215946738-635.png||_mstalt="297778"]]
645 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png]]
625 625  
647 +**Sensor Model**: For SDI-12-LB, this value is 0x17
626 626  
627 -(% style="color:#037691" %)**Sensor Model**(%%): For SDI-12-LB, this value is 0x17
649 +**Firmware Version**: 0x0100, Means: v1.0.0 version
628 628  
629 -(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
651 +**Frequency Band**:
630 630  
631 -(% style="color:#037691" %)**Frequency Band**:
632 -
633 633  *0x01: EU868
634 634  
635 635  *0x02: US915
... ... @@ -659,7 +659,7 @@
659 659  *0x0e: MA869
660 660  
661 661  
662 -(% style="color:#037691" %)**Sub-Band**:
682 +**Sub-Band**:
663 663  
664 664  AU915 and US915:value 0x00 ~~ 0x08
665 665  
... ... @@ -668,7 +668,7 @@
668 668  Other Bands: Always 0x00
669 669  
670 670  
671 -(% style="color:#037691" %)**Battery Info**:
691 +**Battery Info**:
672 672  
673 673  Check the battery voltage.
674 674  
... ... @@ -677,9 +677,10 @@
677 677  Ex2: 0x0B49 = 2889mV
678 678  
679 679  
680 -=== 2.4.2 Uplink Payload, FPORT~=2 ===
700 +1.
701 +11.
702 +111. Uplink Payload, FPORT=2
681 681  
682 -
683 683  There are different cases for uplink. See below
684 684  
685 685  * SDI-12 Debug Command return: FPORT=100
... ... @@ -686,24 +686,30 @@
686 686  
687 687  * Periodically Uplink: FPORT=2
688 688  
689 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
690 -|=(% style="width: 90px;background-color:#D9E2F3" %)(((
691 -**Size(bytes)**
692 -)))|=(% 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**
693 -|(% style="width:93px" %)**Value**|(% style="width:83px" %)(((
710 +|(((
711 +**Size**
712 +
713 +**(bytes)**
714 +)))|**2**|**1**|**Length depends on the return from the commands**
715 +|**Value**|(((
694 694  Battery(mV)
717 +
695 695  &
719 +
696 696  Interrupt_Flag
697 -)))|(% style="width:91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)(((
698 -If the valid payload is too long and exceed the maximum support.
721 +)))|[[PAYLOAD_VER>>path:#Probe_Model]]|(((
722 +If the valid payload is too long and exceed the maximum support
723 +
699 699  Payload length in server,server will show payload not provided in the LoRaWAN server.
700 700  )))
701 701  
702 -[[image:1675216282284-923.png||_mstalt="295633"]]
727 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]]
703 703  
704 704  
705 -=== 2.4.3 Battery Info ===
706 706  
731 +1.
732 +11.
733 +111. Battery Info
707 707  
708 708  Check the battery voltage for SDI-12-LB.
709 709  
... ... @@ -712,12 +712,14 @@
712 712  Ex2: 0x0B49 = 2889mV
713 713  
714 714  
715 -=== 2.4.4 Interrupt Pin ===
742 +1.
743 +11.
744 +111. Interrupt Pin
716 716  
746 +This data field shows if this packet is generated by **Interrupt Pin** or not. [[Click here>>path:#Int_mod]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>path:#pins]].
717 717  
718 -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"]].
719 719  
720 -**Example:**
749 +Example:
721 721  
722 722  Ex1: 0x0B45:0x0B&0x80= 0x00    Normal uplink packet.
723 723  
... ... @@ -724,269 +724,242 @@
724 724  Ex2: 0x8B49:0x8B&0x80= 0x80    Interrupt Uplink Packet.
725 725  
726 726  
727 -=== 2.4.5 Payload version ===
756 +1.
757 +11.
758 +111. Payload version
728 728  
729 729  
730 -The version number of the payload, mainly used for decoding. The default is 01.
731 731  
732 732  
733 -=== 2.4.6 ​Decode payload in The Things Network ===
734 734  
764 +1.
765 +11.
766 +111. ​Decode payload in The Things Network
735 735  
736 736  While using TTN network, you can add the payload format to decode the payload.
737 737  
738 -[[image:1675216779406-595.png||_mstalt="298376"]]
770 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]]
739 739  
740 740  
741 741  There is no fix payload decoder in LoRaWAN server because the SDI-12 sensors returns are different. User need to write the decoder themselves for their case.
742 742  
743 -SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
744 744  
776 +下面的解码生成超链接放进去.
745 745  
746 -== 2.5 Uplink Interval ==
778 +function Decoder(bytes, port) {
747 747  
780 + if(port==5)
748 748  
749 -The SDI-12-LB by default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link:
782 + {
750 750  
751 -[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval]]
784 + var freq_band;
752 752  
786 + var sub_band;
753 753  
754 -== 2.6 Examples To Set SDI commands ==
788 + var sensor;
755 755  
756 -=== 2.6.1 Examples 1 ~-~- General Example ===
757 757  
791 + if(bytes[0]==0x17)
758 758  
759 -COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication.
793 + sensor= "SDI12-LB";
760 760  
761 -[[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]]
762 762  
796 + var firm_ver= (bytes[1]&0x0f)+'.'+(bytes[2]>>4&0x0f)+'.'+(bytes[2]&0x0f);
763 763  
764 -(% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:**
765 765  
766 -a. Send the first command and get the first reply:
799 + if(bytes[3]==0x01)
767 767  
768 -(% style="color:#037691" %)**AT+COMMANDx=1I!,0,0,1**
801 + freq_band="EU868";
769 769  
770 -b. Send the second command and get the second reply
803 + else if(bytes[3]==0x02)
771 771  
772 -(% style="color:#037691" %)**AT+COMMANDx=2I!,0,0,1**
805 + freq_band="US915";
773 773  
774 -c. Send the third command and get the third reply
807 + else if(bytes[3]==0x03)
775 775  
776 -(% style="color:#037691" %)**AT+COMMANDx=3I!,0,0,1**
809 + freq_band="IN865";
777 777  
778 -d. Send the fourth command and get the fourth reply:
811 + else if(bytes[3]==0x04)
779 779  
780 -(% style="color:#037691" %)**AT+COMMANDx=4I!,0,0,1**
813 + freq_band="AU915";
781 781  
782 -e. Send the fifth command plus the sixth command, get the sixth reply:
815 + else if(bytes[3]==0x05)
783 783  
784 -(% style="color:#037691" %)**AT+COMMANDx=1M!,2,1,1**
817 + freq_band="KZ865";
785 785  
786 -f. Send the seventh command plus the eighth command, get the eighth reply:
819 + else if(bytes[3]==0x06)
787 787  
788 -(% style="color:#037691" %)**AT+COMMANDx=2M!,2,1,1**
821 + freq_band="RU864";
789 789  
790 -g. Send the ninth command plus the tenth command, get the tenth reply:
823 + else if(bytes[3]==0x07)
791 791  
792 -(% style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1**
825 + freq_band="AS923";
793 793  
794 -h. Send the eleventh command plus the twelfth command, get the twelfth reply:
827 + else if(bytes[3]==0x08)
795 795  
796 -(% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1**
829 + freq_band="AS923_1";
797 797  
831 + else if(bytes[3]==0x09)
798 798  
799 -(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:**
833 + freq_band="AS923_2";
800 800  
801 -a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>”
835 + else if(bytes[3]==0x0A)
802 802  
803 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %);
837 + freq_band="AS923_3";
804 804  
805 -b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>”
839 + else if(bytes[3]==0x0F)
806 806  
807 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);
841 + freq_band="AS923_4";
808 808  
809 -c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>”
843 + else if(bytes[3]==0x0B)
810 810  
811 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);
845 + freq_band="CN470";
812 812  
813 -d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>”
847 + else if(bytes[3]==0x0C)
814 814  
815 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %);
849 + freq_band="EU433";
816 816  
817 -e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>”
851 + else if(bytes[3]==0x0D)
818 818  
819 -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”**.
853 + freq_band="KR920";
820 820  
855 + else if(bytes[3]==0x0E)
821 821  
822 -=== 2.6.2 Example 2 ~-~- Connect to Hygrovue10 ===
857 + freq_band="MA869";
823 823  
824 -==== 2.6.2.1 Reference Manual and Command ====
825 825  
826 -* [[Hygrovue10 Product Page>>https://www.campbellsci.com/hygrovue10]]
827 -* Commands to be used in PC and output.
860 + if(bytes[4]==0xff)
828 828  
829 -1.check device address
862 + sub_band="NULL";
830 830  
831 -2.change device address
864 + else
832 832  
833 -3.check device ID
866 + sub_band=bytes[4];
834 834  
835 -4.start measure
836 836  
837 -5.Get Meausre result
869 + var bat= (bytes[5]<<8 | bytes[6])/1000;
838 838  
839 -[[image:image-20230603120209-2.png||height="281" width="267"]]
840 840  
872 + return {
841 841  
842 -==== 2.6.2.2 Hardware Connection to SDI-12-LB ====
874 + SENSOR_MODEL:sensor,
843 843  
844 -[[image:image-20230603120515-3.png]]
876 + FIRMWARE_VERSION:firm_ver,
845 845  
878 + FREQUENCY_BAND:freq_band,
846 846  
847 -==== 2.6.2.3 Commands set in SDI-12-LB and uplink payload ====
880 + SUB_BAND:sub_band,
848 848  
849 -[[image:image-20230603120648-4.png]]
882 + BAT:bat,
850 850  
851 -[[image:image-20230603120726-5.png]]
884 + }
852 852  
853 -Data in TTN:
886 + }
854 854  
855 -[[image:image-20230603120859-6.png||height="118" width="1285"]]
888 + else if(port==100)
856 856  
890 + {
857 857  
858 -=== (% id="cke_bm_1172015S" style="display:none" %) (%%)2.6.3 Example 3 ~-~- Connect to SIL-400 ===
892 + var datas_sum={};
859 859  
860 -==== 2.6.3.1 Reference Manual and Command ====
894 + for(var j=0;j<bytes.length;j++)
861 861  
862 -* [[SIL-400 Product Page>>https://www.apogeeinstruments.com/sil-411-commercial-grade-sdi-12-digital-output-standard-field-of-view-infrared-radiometer-sensor/]]
863 -* Commands to be used in PC and output.
896 + {
864 864  
865 -1.check device address
898 + var datas= String.fromCharCode(bytes[j]);
866 866  
867 -2.change device address
900 + if(j=='0')
868 868  
869 -3.check device ID
902 + datas_sum.datas_sum=datas;
870 870  
871 -4.start measure
904 + else
872 872  
873 -5.Get Meausre result
906 + datas_sum.datas_sum+=datas;
874 874  
875 -[[image:image-20230603121606-7.png||height="242" width="307"]]
908 + }
876 876  
877 877  
878 -==== 2.6.3.2 Hardware Connection to SDI-12-LB ====
911 + return datas_sum;
879 879  
880 -[[image:image-20230603121643-8.png||height="442" width="656"]]
913 + }
881 881  
915 + else
882 882  
883 -==== 2.6.3.3 Commands set in SDI-12-LB and uplink payload ====
917 + {
884 884  
885 -[[image:image-20230603121721-9.png]]
919 + var decode={};
886 886  
887 -[[image:image-20230603121752-10.png]]
921 + decode.EXTI_Trigger= (bytes[0] & 0x80)? "TRUE":"FALSE";  
888 888  
889 -Data in TTN:
923 + decode.BatV= ((bytes[0]<<8 | bytes[1])&0x7FFF)/1000;
890 890  
891 -[[image:image-20230603121826-11.png||height="155" width="1104"]]
925 + decode.Payver= bytes[2];
892 892  
927 + for(var i=3;i<bytes.length;i++)
893 893  
929 + {
894 894  
895 -=== (% id="cke_bm_1172015S" style="display:none" %) (%%)2.6.4 Example 4 ~-~- Connect to TEROS-12 ===
931 + var data= String.fromCharCode(bytes[i]);
896 896  
933 + if(i=='3')
897 897  
898 -==== 2.6.4.1 Reference Manual and Command ====
935 + decode.data_sum=data;
899 899  
900 -* [[TEROS-12 Product Page>>https://www.metergroup.com/en/meter-environment/products/teros-12-soil-moisture-sensor]]
901 -* Commands to be used in PC and output.
937 + else
902 902  
903 -1.check device address
939 + decode.data_sum+=data;
904 904  
905 -2.change device address
941 + }
906 906  
907 -3.check device ID
943 + return decode
908 908  
909 -4.start measure
945 + }
910 910  
911 -5.Get Meausre result
912 912  
913 -[[image:image-20230603122248-16.png||height="196" width="198"]]
948 +}
914 914  
915 915  
916 -==== 2.6.4.2 Hardware Connection to SDI-12-LB ====
951 +1.
952 +11. Uplink Interval
917 917  
918 -[[image:image-20230603122212-15.png||height="502" width="667"]]
954 +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:
919 919  
956 +[[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands#Change_Uplink_Interval>>url:http://wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands#Change_Uplink_Interval]]
920 920  
921 -==== 2.6.4.3 Commands set in SDI-12-LB and uplink payload ====
922 922  
923 -[[image:image-20230603122040-12.png]]
924 924  
925 -[[image:image-20230603122109-13.png||height="469" width="762"]]
960 +1.
961 +11. Frequency Plans
926 926  
927 -Data in TTN:
963 +The SDI12-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.
928 928  
929 -[[image:image-20230603122139-14.png||height="148" width="1128"]]
930 930  
966 +[[https:~~/~~/wiki.dragino.com/index.php?title=End_Device_Frequency_Band>>url:https://wiki.dragino.com/index.php?title=End_Device_Frequency_Band]]
931 931  
932 932  
933 -=== (% id="cke_bm_1489640S" style="display: none; display: none" %) (% id="cke_bm_1172015S" style="display:none" %) (%%)2.6.5 Example 5 ~-~- Connect to SIL-400/TEROS-12 & Hygrovue10 ===
934 934  
935 -==== 2.6.3.1 Important Notice! ====
970 +1.
971 +11. Firmware Change Log
936 936  
937 -* The product page and reference command see above example 2,3,4
938 -* All of these SDI-12 sensors use the same address (address 0) by default. So we need to change their address to different address, by using **aAb!** command. See above example.
939 -* The sensor needs to be powered to a steady statue. So the 12VT time need to be set to the maximum stable time for the sensors. in this example, it is 13 seconds.
940 -* If these SDI-12 sensors are powered by external power source. It will add 300uA in the total current in SDI-12-LB.
941 -
942 -
943 -
944 -==== 2.6.3.2 Hardware Connection to SDI-12-LB ====
945 -
946 -[[image:image-20230603122508-17.png||height="526" width="742"]]
947 -
948 -
949 -==== 2.6.3.3 Commands set in SDI-12-LB and uplink payload ====
950 -
951 -[[image:image-20230603122549-18.png]]
952 -
953 -[[image:image-20230603122623-19.png||height="483" width="1121"]]
954 -
955 -Data in TTN:
956 -
957 -[[image:image-20230603122719-20.png||height="151" width="1179"]]
958 -
959 -
960 -
961 -
962 -
963 -== 2.7 Frequency Plans ==
964 -
965 -
966 -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.
967 -
968 -[[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/]]
969 -
970 -
971 -== 2.8 Firmware Change Log ==
972 -
973 -
974 974  **Firmware download link:**
975 975  
976 -[[https:~~/~~/www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]]
975 +[[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]
977 977  
978 978  
979 -= 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink =
980 980  
979 +1. Configure SDI-12-LB via AT Command or LoRaWAN Downlink
981 981  
982 982  Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink.
983 983  
984 -* AT Command Connection: See [[FAQ>>||anchor="H7.FAQ"]].
985 -* LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
983 +* AT Command Connection: See [[FAQ>>path:#AT_COMMAND]].
984 +* LoRaWAN Downlink instruction for different platforms:
986 986  
986 +[[http:~~/~~/wiki.dragino.com/index.php?title=Main_Page#Use_Note_for_Server>>url:http://wiki.dragino.com/index.php?title=Main_Page#Use_Note_for_Server]]
987 +
988 +
987 987  There are two kinds of commands to configure SDI-12-LB, they are:
988 988  
989 -* (% style="color:blue" %)**General Commands**.
991 +* **General Commands**.
990 990  
991 991  These commands are to configure:
992 992  
... ... @@ -995,310 +995,378 @@
995 995  
996 996  They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
997 997  
998 -[[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/]]
1000 +[[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_Downlink_Command>>url:http://wiki.dragino.com/index.php?title=End_Device_Downlink_Command]]
999 999  
1000 1000  
1001 -* (% style="color:blue" %)**Commands special design for SDI-12-LB**
1003 +* **Commands special design for SDI-12-LB**
1002 1002  
1003 1003  These commands only valid for SDI-12-LB, as below:
1004 1004  
1005 1005  
1006 -== 3.1 Set Transmit Interval Time ==
1007 1007  
1009 +1.
1010 +11. Set Transmit Interval Time
1008 1008  
1009 1009  Feature: Change LoRaWAN End Node Transmit Interval.
1010 1010  
1011 -(% style="color:blue" %)**AT Command: AT+TDC**
1014 +**AT Command: AT+TDC**
1012 1012  
1013 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1014 -|=(% 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**
1015 -|(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2; width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)(((
1016 +|**Command Example**|**Function**|**Response**
1017 +|AT+TDC=?|Show current transmit Interval|(((
1016 1016  30000
1019 +
1017 1017  OK
1021 +
1018 1018  the interval is 30000ms = 30s
1019 1019  )))
1020 -|(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=60000|(% style="background-color:#f2f2f2; width:166px" %)Set Transmit Interval|(% style="background-color:#f2f2f2" %)(((
1024 +|AT+TDC=60000|Set Transmit Interval|(((
1021 1021  OK
1026 +
1022 1022  Set transmit interval to 60000ms = 60 seconds
1023 1023  )))
1024 1024  
1025 -(% style="color:blue" %)**Downlink Command: 0x01**
1030 +**Downlink Command: 0x01**
1026 1026  
1027 -
1028 1028  Format: Command Code (0x01) followed by 3 bytes time value.
1029 1029  
1030 -If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
1034 +If the downlink payload=0100003C, it means set the END Nodes Transmit Interval to 0x00003C=60(S), while type code is 01.
1031 1031  
1032 -* Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
1033 -* Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
1036 +* Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds
1037 +* Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds
1034 1034  
1035 -== 3.2 Set Interrupt Mode ==
1039 +1.
1040 +11. Set Interrupt Mode
1036 1036  
1037 -
1038 1038  Feature, Set Interrupt mode for GPIO_EXIT.
1039 1039  
1040 -(% style="color:blue" %)**AT Command: AT+INTMOD**
1044 +**AT Command: AT+INTMOD**
1041 1041  
1042 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1043 -|=(% 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**
1044 -|(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=?|(% style="background-color:#f2f2f2; width:196px" %)Show current interrupt mode|(% style="background-color:#f2f2f2; width:157px" %)(((
1046 +|**Command Example**|**Function**|**Response**
1047 +|AT+INTMOD=?|Show current interrupt mode|(((
1045 1045  0
1049 +
1046 1046  OK
1047 -the mode is 0 =Disable Interrupt
1051 +
1052 +the mode is 0 = No interruption
1048 1048  )))
1049 -|(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=2|(% style="background-color:#f2f2f2; width:196px" %)(((
1054 +|AT+INTMOD=2|(((
1050 1050  Set Transmit Interval
1051 -0. (Disable Interrupt),
1052 -~1. (Trigger by rising and falling edge)
1053 -2. (Trigger by falling edge)
1054 -3. (Trigger by rising edge)
1055 -)))|(% style="background-color:#f2f2f2; width:157px" %)OK
1056 1056  
1057 -(% style="color:blue" %)**Downlink Command: 0x06**
1057 +1. (Disable Interrupt),
1058 +1. (Trigger by rising and falling edge),
1059 +1. (Trigger by falling edge)
1060 +1. (Trigger by rising edge)
1061 +)))|OK
1058 1058  
1063 +**Downlink Command: 0x06**
1064 +
1059 1059  Format: Command Code (0x06) followed by 3 bytes.
1060 1060  
1061 1061  This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1062 1062  
1063 -* Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
1064 -* Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1069 +* Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode
1070 +* Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger
1065 1065  
1066 -== 3.3 Set the output time ==
1072 +1.
1073 +11. Set the output time
1067 1067  
1068 -
1069 1069  Feature, Control the output 3V3 , 5V or 12V.
1070 1070  
1071 -(% style="color:blue" %)**AT Command: AT+3V3T**
1077 +**AT Command: AT+3V3T**
1072 1072  
1073 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:474px" %)
1074 -|=(% 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**
1075 -|(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=?|(% style="background-color:#f2f2f2; width:201px" %)Show 3V3 open time.|(% style="background-color:#f2f2f2; width:116px" %)(((
1079 +|**Command Example**|**Function**|**Response**
1080 +|AT+3V3T=?|Show 3V3 open time.|(((
1076 1076  0
1082 +
1077 1077  OK
1078 1078  )))
1079 -|(% 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" %)(((
1085 +|AT+3V3T=0|Normally open 3V3 power supply.|(((
1080 1080  OK
1087 +
1081 1081  default setting
1082 1082  )))
1083 -|(% 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" %)(((
1090 +|AT+3V3T=1000|Close after a delay of 1000 milliseconds.|(((
1084 1084  OK
1092 +
1093 +
1085 1085  )))
1086 -|(% 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" %)(((
1095 +|AT+3V3T=65535|Normally closed 3V3 power supply.|(((
1087 1087  OK
1097 +
1098 +
1088 1088  )))
1089 1089  
1090 -(% style="color:blue" %)**AT Command: AT+5VT**
1101 +**AT Command: AT+5VT**
1091 1091  
1092 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:470px" %)
1093 -|=(% 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**
1094 -|(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=?|(% style="background-color:#f2f2f2; width:196px" %)Show 5V open time.|(% style="background-color:#f2f2f2; width:114px" %)(((
1103 +|**Command Example**|**Function**|**Response**
1104 +|AT+5VT=?|Show 5V open time.|(((
1095 1095  0
1106 +
1096 1096  OK
1097 1097  )))
1098 -|(% 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" %)(((
1109 +|AT+5VT=0|Normally closed 5V power supply.|(((
1099 1099  OK
1111 +
1100 1100  default setting
1101 1101  )))
1102 -|(% 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" %)(((
1114 +|AT+5VT=1000|Close after a delay of 1000 milliseconds.|(((
1103 1103  OK
1116 +
1117 +
1104 1104  )))
1105 -|(% 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" %)(((
1119 +|AT+5VT=65535|Normally open 5V power supply.|(((
1106 1106  OK
1121 +
1122 +
1107 1107  )))
1108 1108  
1109 -(% style="color:blue" %)**AT Command: AT+12VT**
1125 +**AT Command: AT+12VT**
1110 1110  
1111 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:443px" %)
1112 -|=(% 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**
1113 -|(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=?|(% style="background-color:#f2f2f2; width:199px" %)Show 12V open time.|(% style="background-color:#f2f2f2; width:83px" %)(((
1127 +|**Command Example**|**Function**|**Response**
1128 +|AT+12VT=?|Show 12V open time.|(((
1114 1114  0
1130 +
1115 1115  OK
1116 1116  )))
1117 -|(% 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
1118 -|(% 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" %)(((
1133 +|AT+12VT=0|Normally closed 12V power supply.|OK
1134 +|AT+12VT=500|Close after a delay of 500 milliseconds.|(((
1119 1119  OK
1136 +
1137 +
1120 1120  )))
1121 1121  
1122 -(% style="color:blue" %)**Downlink Command: 0x07**
1140 +**Downlink Command: 0x07**
1123 1123  
1124 1124  Format: Command Code (0x07) followed by 3 bytes.
1125 1125  
1126 1126  The first byte is which power, the second and third bytes are the time to turn on.
1127 1127  
1128 -* Example 1: Downlink Payload: 070101F4  **~-~-->**  AT+3V3T=500
1129 -* Example 2: Downlink Payload: 0701FFFF   **~-~-->**  AT+3V3T=65535
1130 -* Example 3: Downlink Payload: 070203E8  **~-~-->**  AT+5VT=1000
1131 -* Example 4: Downlink Payload: 07020000  **~-~-->**  AT+5VT=0
1132 -* Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
1133 -* Example 6: Downlink Payload: 07030000  **~-~-->**  AT+12VT=0
1146 +* Example 1: Downlink Payload: 070101F4  -> AT+3V3T=500
1147 +* Example 2: Downlink Payload: 0701FFFF   -> AT+3V3T=65535
1148 +* Example 3: Downlink Payload: 070203E8  -> AT+5VT=1000
1149 +* Example 4: Downlink Payload: 07020000  -> AT+5VT=0
1150 +* Example 5: Downlink Payload: 070301F4  -> AT+12VT=500
1151 +* Example 6: Downlink Payload: 07030000  -> AT+12VT=0
1134 1134  
1135 -== 3.4 Set the all data mode ==
1153 +1.
1154 +11. Set the all data mode
1136 1136  
1137 -
1138 1138  Feature, Set the all data mode.
1139 1139  
1140 -(% style="color:blue" %)**AT Command: AT+ALLDATAMOD**
1158 +**AT Command: AT+ALLDATAMOD**
1141 1141  
1142 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:437px" %)
1143 -|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
1144 -|(% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=?|(% style="background-color:#f2f2f2" %)Show current all data mode|(% style="background-color:#f2f2f2" %)(((
1160 +|**Command Example**|**Function**|**Response**
1161 +|AT+ALLDATAMOD=?|Show current all data mode|(((
1145 1145  0
1163 +
1164 +
1146 1146  OK
1147 1147  )))
1148 -|(% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=1|(% style="background-color:#f2f2f2" %)Set all data mode is 1.|(% style="background-color:#f2f2f2" %)OK
1167 +|AT+ALLDATAMOD=1|Set all data mode is 1.|OK
1149 1149  
1150 -(% style="color:blue" %)**Downlink Command: 0xAB**
1169 +**Downlink Command: 0xAB**
1151 1151  
1152 1152  Format: Command Code (0xAB) followed by 1 bytes.
1153 1153  
1154 -* Example 1: Downlink Payload: AB 00  ~/~/  AT+ALLDATAMOD=0
1155 -* Example 2: Downlink Payload: AB 01  ~/~/  AT+ALLDATAMOD=1
1173 +* Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0
1174 +* Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1
1156 1156  
1157 -== 3.5 Set the splicing payload for uplink ==
1176 +1.
1177 +11. Set the splicing payload for uplink
1158 1158  
1159 -
1160 1160  Feature, splicing payload for uplink.
1161 1161  
1162 -(% style="color:blue" %)**AT Command: AT+DATAUP**
1181 +**AT Command: AT+DATAUP**
1163 1163  
1164 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1165 -|=(% 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**
1166 -|(% 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" %)(((
1183 +|**Command Example**|**Function**|**Response**
1184 +|AT+DATAUP =?|Show current splicing payload for uplink mode|(((
1167 1167  0
1186 +
1187 +
1168 1168  OK
1169 1169  )))
1170 -|(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =0|(% style="background-color:#f2f2f2; width:266px" %)(((
1190 +|AT+DATAUP =0|(((
1171 1171  Set splicing payload for uplink mode is 0.
1172 -)))|(% style="background-color:#f2f2f2" %)(((
1192 +
1193 +
1194 +)))|(((
1173 1173  OK
1196 +
1197 +
1174 1174  )))
1175 -|(% 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
1176 -|(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =1,20000|(% style="background-color:#f2f2f2; width:266px" %)(((
1177 -Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds.
1178 -)))|(% style="background-color:#f2f2f2" %)OK
1199 +|AT+DATAUP =1|Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|OK
1200 +|AT+DATAUP =1,20000|(((
1201 +Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds.
1179 1179  
1180 -(% style="color:blue" %)**Downlink Command: 0xAD**
1203 +
1204 +)))|OK
1181 1181  
1206 +**Downlink Command: 0xAD**
1207 +
1182 1182  Format: Command Code (0xAD) followed by 1 bytes or 5 bytes.
1183 1183  
1184 -* Example 1: Downlink Payload: AD 00  ~/~/  AT+DATAUP=0
1185 -* Example 2: Downlink Payload: AD 01  ~/~/  AT+DATAUP =1
1186 -* Example 3: Downlink Payload: AD 01 00 00 14  ~/~/  AT+DATAUP =1,20000
1210 +* Example 1: Downlink Payload: AD 00 ~/~/ AT+DATAUP=0
1211 +* Example 2: Downlink Payload: AD 01 ~/~/ AT+DATAUP =1
1212 +* Example 3: Downlink Payload: AD 01 00 00 14~/~/ AT+DATAUP =1,20000
1187 1187  
1188 1188  This means that the interval is set to 0x000014=20S
1189 1189  
1190 1190  
1191 -== 3.6 Set the payload version ==
1217 +1.
1218 +11. Set the payload version
1192 1192  
1193 -
1194 1194  Feature, Set the payload version.
1195 1195  
1196 -(% style="color:blue" %)**AT Command: AT+PAYVER**
1222 +**AT Command: AT+PAYVER**
1197 1197  
1198 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:437px" %)
1199 -|=(% 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**
1200 -|(% style="background-color:#f2f2f2; width:158px" %)AT+PAYVER=?|(% style="background-color:#f2f2f2; width:192px" %)Show current payload version|(% style="background-color:#f2f2f2" %)(((
1224 +|**Command Example**|**Function**|**Response**
1225 +|AT+PAYVER=?|Show current payload version|(((
1201 1201  1
1227 +
1228 +
1202 1202  OK
1203 1203  )))
1204 -|(% 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
1231 +|AT+PAYVER=5|Set payload version is 5.|OK
1205 1205  
1206 -(% style="color:blue" %)**Downlink Command: 0xAE**
1233 +**Downlink Command: 0xAE**
1207 1207  
1208 1208  Format: Command Code (0xAE) followed by 1 bytes.
1209 1209  
1210 -* Example 1: Downlink Payload: AE 01  ~/~/  AT+PAYVER=1
1211 -* Example 2: Downlink Payload: AE 05  ~/~/  AT+PAYVER=5
1237 +* Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1
1238 +* Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5
1212 1212  
1213 -= 4. Battery & Power Consumption =
1240 +1. Battery & how to replace
1241 +11. Battery Type
1214 1214  
1243 +SDI-12-LB is equipped with a [[8500mAH ER26500 Li-SOCI2 battery>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]. 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.
1215 1215  
1216 -SDI-12-LB uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1217 1217  
1218 -[[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1246 +The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1219 1219  
1248 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png]]
1220 1220  
1221 -= 5. Remote Configure device =
1222 1222  
1223 -== 5.1 Connect via BLE ==
1251 +Minimum Working Voltage for the SDI-12-LB:
1224 1224  
1253 +SDI-12-LB:  2.45v ~~ 3.6v
1225 1225  
1226 -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/]]
1227 1227  
1256 +1.
1257 +11. Replace Battery
1228 1228  
1229 -== 5.2 AT Command Set ==
1259 +Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery.
1230 1230  
1261 +And make sure the positive and negative pins match.
1231 1231  
1232 1232  
1233 -= 6. OTA firmware update =
1234 1234  
1265 +1.
1266 +11. Power Consumption Analyze
1235 1235  
1236 -Please see this link for how to do OTA firmware update.
1268 +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.
1237 1237  
1238 -[[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/]]
1239 1239  
1271 +Instruction to use as below:
1240 1240  
1241 -= 7. FAQ =
1242 1242  
1243 -== 7.1 How to use AT Command  via UART to access device? ==
1274 +Step 1: Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from:
1244 1244  
1276 +[[https:~~/~~/www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]]
1245 1245  
1246 -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]]
1247 1247  
1279 +Step 2: Open it and choose
1248 1248  
1249 -== 7.2 How to update firmware via UART port? ==
1281 +* Product Model
1282 +* Uplink Interval
1283 +* Working Mode
1250 1250  
1285 +And the Life expectation in difference case will be shown on the right.
1251 1251  
1252 -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]]
1287 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image037.png]]
1253 1253  
1254 1254  
1255 -== 7.3 How to change the LoRa Frequency Bands/Region? ==
1290 +The battery related documents as below:
1256 1256  
1292 +* [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/&file=LSN50-Battery-Dimension.pdf]],
1293 +* [[Lithium-Thionyl Chloride Battery>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/ER18505_datasheet-EN.pdf]] datasheet, [[Tech Spec>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/ER18505_datasheet_PM-ER18505-S-02-LF_EN.pdf]]
1294 +* [[Lithium-ion Battery-Capacitor datasheet>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/SPC_1520_datasheet.jpg]], [[Tech Spec>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/SPC1520%20Technical%20Specification20171123.pdf]]
1257 1257  
1258 -You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]].
1259 -When downloading the images, choose the required image file for download. ​
1296 +|(((
1297 +JST-XH-2P connector
1298 +)))
1260 1260  
1300 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image038.png]]
1261 1261  
1262 -= 8. ​Order Info =
1263 1263  
1264 1264  
1265 -(((
1266 -(% style="color:blue" %)**Part Number: SDI-12-LB-XXX**
1267 -)))
1304 +1.
1305 +11.
1306 +111. ​Battery Note
1268 1268  
1269 -(((
1270 -XXX: The default frequency band
1271 -)))
1308 +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.
1272 1272  
1273 -(((
1274 -(% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1275 -(% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1276 -(% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1277 -(% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1278 -(% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1279 -(% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1280 -(% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1281 -(% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1282 -)))
1283 1283  
1311 +1.
1312 +11.
1313 +111. ​Replace the battery
1284 1284  
1285 -= 9. Packing Info =
1315 +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.
1286 1286  
1287 1287  
1288 -(% style="color:#037691" %)**Package Includes**:
1318 +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)
1289 1289  
1290 -* SDI-12-LB SDI-12 to LoRaWAN Converter x 1
1291 1291  
1292 -(% style="color:#037691" %)**Dimension and weight**:
1293 1293  
1322 +
1323 +
1324 +
1325 +1. Remote Configure device
1326 +11. Connect via BLE
1327 +
1328 +Please see this instruction for how to configure via BLE:
1329 +
1330 +[[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/]]
1331 +
1332 +
1333 +1.
1334 +11. AT Command Set
1335 +
1336 +1. OTA firmware update
1337 +
1338 +Please see this link for how to do OTA firmware update.
1339 +
1340 +[[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/]]
1341 +
1342 +
1343 +
1344 +
1345 +
1346 +
1347 +
1348 +
1349 +
1350 +
1351 +
1352 +1. ​Order Info
1353 +
1354 +**Package Includes**:
1355 +
1356 +* SDI-12-LB SDI-12 to LoRaWAN Converter
1357 +
1358 +**Dimension and weight**:
1359 +
1294 1294  * Device Size: cm
1295 1295  * Device Weight: g
1296 1296  * Package Size / pcs : cm
1297 1297  * Weight / pcs : g
1298 1298  
1299 -= 10. ​Support =
1300 1300  
1301 1301  
1367 +1. ​Support
1368 +
1302 1302  * 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.
1370 +* 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
1303 1303  
1304 -* 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]]
1372 +[[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]]
1373 +
1374 +
1675215946738-635.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -38.4 KB
Content
1675216282284-923.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -47.0 KB
Content
1675216779406-595.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -59.2 KB
Content
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
image-20230603120127-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -5.7 KB
Content
image-20230603120209-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -22.8 KB
Content
image-20230603120515-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -489.3 KB
Content
image-20230603120648-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -100.8 KB
Content
image-20230603120726-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -133.2 KB
Content
image-20230603120859-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -55.9 KB
Content
image-20230603121606-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -24.4 KB
Content
image-20230603121643-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -889.7 KB
Content
image-20230603121721-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -105.4 KB
Content
image-20230603121752-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -160.0 KB
Content
image-20230603121826-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -52.8 KB
Content
image-20230603122040-12.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -128.1 KB
Content
image-20230603122109-13.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -271.1 KB
Content
image-20230603122139-14.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -70.4 KB
Content
image-20230603122212-15.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -818.3 KB
Content
image-20230603122248-16.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -12.7 KB
Content
image-20230603122508-17.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -980.2 KB
Content
image-20230603122549-18.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -90.9 KB
Content
image-20230603122623-19.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -139.5 KB
Content
image-20230603122719-20.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -83.8 KB
Content