<
From version < 37.1 >
edited by Xiaoling
on 2023/02/01 09:59
To version < 38.1 >
edited by Xiaoling
on 2023/02/01 14:48
>
Change comment: Uploaded new attachment "1675234124233-857.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -3,6 +3,7 @@
3 3  
4 4  **Table of Contents:**
5 5  
6 +{{toc/}}
6 6  
7 7  
8 8  
... ... @@ -16,22 +16,23 @@
16 16  
17 17  
18 18  
20 +
19 19  = 1. Introduction =
20 20  
21 21  == 1.1 ​What is SDI-12 to LoRaWAN Converter ==
22 22  
23 23  
24 -The Dragino **SDI-12-LB** is a **SDI-12 to LoRaWAN Converter **designed for Smart Agriculture solution.
26 +The Dragino **(% style="color:blue" %)SDI-12-LB**(%%) is a **(% style="color:blue" %)SDI-12 to LoRaWAN Converter **(%%)designed for Smart Agriculture solution.
25 25  
26 26  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.
27 27  
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.
30 +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.
29 29  
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.
32 +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.
31 31  
32 -**SDI-12-LB** is powered by **8500mAh Li-SOCI2 battery**, it is designed for long term use up to 5 years.
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.
33 33  
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.
36 +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.
35 35  
36 36  
37 37  [[image:image-20230201084414-1.png||height="464" width="1108"]]
... ... @@ -39,8 +39,6 @@
39 39  
40 40  
41 41  
42 -
43 -
44 44  == ​1.2 Features ==
45 45  
46 46  
... ... @@ -56,21 +56,22 @@
56 56  * Downlink to change configure
57 57  * 8500mAh Battery for long term use
58 58  
59 +
59 59  == 1.3 Specification ==
60 60  
61 61  
62 -**Micro Controller:**
63 +**(% style="color:#037691" %)Micro Controller:**
63 63  
64 64  * MCU: 48Mhz ARM
65 65  * Flash: 256KB
66 66  * RAM: 64KB
67 67  
68 -**Common DC Characteristics:**
69 +**(% style="color:#037691" %)Common DC Characteristics:**
69 69  
70 70  * Supply Voltage: 2.5v ~~ 3.6v
71 71  * Operating Temperature: -40 ~~ 85°C
72 72  
73 -**LoRa Spec:**
74 +**(% style="color:#037691" %)LoRa Spec:**
74 74  
75 75  * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
76 76  * Max +22 dBm constant RF output vs.
... ... @@ -77,19 +77,19 @@
77 77  * RX sensitivity: down to -139 dBm.
78 78  * Excellent blocking immunity
79 79  
80 -**Current Input Measuring :**
81 +**(% style="color:#037691" %)Current Input Measuring :**
81 81  
82 82  * Range: 0 ~~ 20mA
83 83  * Accuracy: 0.02mA
84 84  * Resolution: 0.001mA
85 85  
86 -**Voltage Input Measuring:**
87 +**(% style="color:#037691" %)Voltage Input Measuring:**
87 87  
88 88  * Range: 0 ~~ 30v
89 89  * Accuracy: 0.02v
90 90  * Resolution: 0.001v
91 91  
92 -**Battery:**
93 +**(% style="color:#037691" %)Battery:**
93 93  
94 94  * Li/SOCI2 un-chargeable battery
95 95  * Capacity: 8500mAh
... ... @@ -97,11 +97,12 @@
97 97  * Max continuously current: 130mA
98 98  * Max boost current: 2A, 1 second
99 99  
100 -**Power Consumption**
101 +**(% style="color:#037691" %)Power Consumption**
101 101  
102 102  * Sleep Mode: 5uA @ 3.3v
103 103  * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
104 104  
106 +
105 105  == 1.4 Connect to SDI-12 Sensor ==
106 106  
107 107  
... ... @@ -112,9 +112,9 @@
112 112  == 1.5 Sleep mode and working mode ==
113 113  
114 114  
115 -**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.
116 116  
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.
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.
118 118  
119 119  
120 120  == 1.6 Button & LEDs ==
... ... @@ -137,6 +137,7 @@
137 137  )))
138 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.
139 139  
142 +
140 140  == 1.7 Pin Mapping ==
141 141  
142 142  
... ... @@ -160,9 +160,6 @@
160 160  == 1.9 Mechanical ==
161 161  
162 162  
163 -
164 -
165 -
166 166  [[image:image-20230201090139-2.png]]
167 167  
168 168  [[image:image-20230201090139-3.png]]
... ... @@ -175,7 +175,7 @@
175 175  == 2.1 How it works ==
176 176  
177 177  
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.
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.
179 179  
180 180  
181 181  == 2.2 Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -190,7 +190,7 @@
190 190  The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
191 191  
192 192  
193 -**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.
194 194  
195 195  Each SDI-12-LB is shipped with a sticker with the default device EUI as below:
196 196  
... ... @@ -204,35 +204,35 @@
204 204  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
205 205  
206 206  
207 -**Register the device**
207 +**(% style="color:blue" %)Register the device**
208 208  
209 209  [[image:1675213652444-622.png]]
210 210  
211 211  
212 -**Add APP EUI and DEV EUI**
212 +**(% style="color:blue" %)Add APP EUI and DEV EUI**
213 213  
214 214  
215 215  [[image:1675213661769-223.png]]
216 216  
217 217  
218 -**Add APP EUI in the application**
218 +**(% style="color:blue" %)Add APP EUI in the application**
219 219  
220 220  
221 221  [[image:1675213675852-577.png]]
222 222  
223 223  
224 -**Add APP KEY**
224 +**(% style="color:blue" %)Add APP KEY**
225 225  
226 226  [[image:1675213686734-883.png]]
227 227  
228 228  
229 -**Step 2**: Activate on SDI-12-LB
229 +**(% style="color:blue" %)Step 2**(%%): Activate on SDI-12-LB
230 230  
231 231  
232 232  Press the button for 5 seconds to activate the SDI-12-LB.
233 233  
234 234  
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.
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.
236 236  
237 237  
238 238  [[image:1675213704414-644.png]]
... ... @@ -261,15 +261,15 @@
261 261  [[image:image-20230201091027-7.png||height="261" width="1179"]]
262 262  
263 263  
264 -==== **al!  ~-~- Get SDI-12 sensor Identification** ====
264 +==== **(% style="color:blue" %)al!  ~-~- Get SDI-12 sensor Identification** ====
265 265  
266 266  
267 267  * AT Command: AT+ADDRI=aa
268 268  * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa
269 269  
270 -**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)
271 271  
272 -**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)
273 273  
274 274  
275 275  The following is the display information on the serial port and the server.
... ... @@ -281,30 +281,31 @@
281 281  [[image:image-20230201091257-9.png||height="225" width="1242"]]
282 282  
283 283  
284 -==== **aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ====
284 +==== **(% style="color:blue" %)aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ====
285 285  
286 286  
287 -**aM! **: Start Non-Concurrent Measurement
287 +**(% style="color:red" %)aM! **(%%): Start Non-Concurrent Measurement
288 288  
289 -**aMC! **: Start Non-Concurrent Measurement – Request CRC
289 +**(% style="color:red" %)aMC! **(%%): Start Non-Concurrent Measurement – Request CRC
290 290  
291 -**aM1!- aM9! **: Additional Measurements
291 +**(% style="color:red" %)aM1!- aM9! **(%%): Additional Measurements
292 292  
293 -**aMC1!- aMC9!** : Additional Measurements – Request CRC
293 +**(% style="color:red" %)aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC
294 294  
295 295  
296 296  * AT Command : AT+ADDRM=0,1,0,1
297 +
297 297  * LoRaWAN Downlink(prefix 0xAA01): 0xAA 01 30 01 00 01
298 298  
299 299  Downlink:AA 01 aa bb cc dd
300 300  
301 -**aa**: SDI-12 sensor address.
302 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address.
302 302  
303 -**bb**: 0: no CRC, 1: request CRC
304 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC
304 304  
305 -**cc**: 1-9: Additional Measurement, 0: no additional measurement
306 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
306 306  
307 -**dd**: delay (in second) to send **aD0!** to get return.
308 +**(% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%) to get return.
308 308  
309 309  
310 310  The following is the display information on the serial port and the server.
... ... @@ -317,16 +317,16 @@
317 317  
318 318  
319 319  
320 -==== **aC!, aCC!,  aC1!- aC9!,  aCC1!- aCC9! ** ====
321 +==== **(% style="color:blue" %)aC!, aCC!,  aC1!- aC9!,  aCC1!- aCC9! ** ====
321 321  
322 322  
323 -**aC!** : Start Concurrent Measurement
324 +**(% style="color:red" %)aC!**(%%) : Start Concurrent Measurement
324 324  
325 -**aCC!** : Start Concurrent Measurement – Request CRC
326 +**(% style="color:red" %)aCC!** (%%): Start Concurrent Measurement – Request CRC
326 326  
327 -**aC1!- aC9!** : Start Additional Concurrent Measurements
328 +**(% style="color:red" %)aC1!- aC9!**(%%) : Start Additional Concurrent Measurements
328 328  
329 -**aCC1!- aCC9!** : Start Additional Concurrent Measurements – Request CRC
330 +**(% style="color:red" %)aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC
330 330  
331 331  
332 332  * AT Command : AT+ADDRC=0,1,0,1 
... ... @@ -335,13 +335,13 @@
335 335  
336 336  Downlink: AA 02 aa bb cc dd
337 337  
338 -**aa**: SDI-12 sensor address.
339 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address.
339 339  
340 -**bb**: 0: no CRC, 1: request CRC
341 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC
341 341  
342 -**cc**: 1-9: Additional Measurement, 0: no additional measurement
343 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
343 343  
344 -**dd**: delay (in second) to send **aD0!** to get return.
345 +**(% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%) to get return.
345 345  
346 346  
347 347  The following is the display information on the serial port and the server.
... ... @@ -353,11 +353,11 @@
353 353  [[image:image-20230201091954-13.png||height="203" width="1117"]]
354 354  
355 355  
356 -(% style="display:none" %) (%%)
357 357  
358 -==== **aR0!- aR9!,  aRC0!- aRC9!** ====
359 359  
359 +==== **(% style="color:blue" %)aR0!- aR9!,  aRC0!- aRC9!** ====
360 360  
361 +
361 361  Start Continuous Measurement
362 362  
363 363  Start Continuous Measurement – Request CRC
... ... @@ -368,13 +368,13 @@
368 368  
369 369  Downlink: AA 03 aa bb cc dd
370 370  
371 -**aa**: SDI-12 sensor address.
372 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address.
372 372  
373 -**bb**: 0: no CRC, 1: request CRC
374 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC
374 374  
375 -**cc**: 1-9: Additional Measurement, 0: no additional measurement
376 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
376 376  
377 -**dd**: delay (in second) to send **aD0!** to get return.
378 +**(% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%) to get return.
378 378  
379 379  
380 380  The following is the display information on the serial port and the server.
... ... @@ -387,7 +387,7 @@
387 387  [[image:image-20230201092208-15.png||height="214" width="1140"]]
388 388  
389 389  
390 -=== ​​​​​​​2.3.2 Advance SDI-12 Debug command ===
391 +=== 2.3.2 Advance SDI-12 Debug command ===
391 391  
392 392  
393 393  This command can be used to debug all SDI-12 command.
... ... @@ -395,20 +395,20 @@
395 395  
396 396  LoRaWAN Downlink: A8 aa xx xx xx xx bb cc
397 397  
398 -**aa **: total SDI-12 command length
399 +**(% style="color:#037691" %)aa **(%%): total SDI-12 command length
399 399  
400 -**xx **: SDI-12 command
401 +**(% style="color:#037691" %)xx **(%%): SDI-12 command
401 401  
402 -**bb **: Delay to wait for return
403 +**(% style="color:#037691" %)bb **(%%): Delay to wait for return
403 403  
404 -**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
405 405  
406 406  
407 -**Example: **AT+CFGDEV =0RC0!,1
408 +**(% style="color:blue" %)Example: **(%%) AT+CFGDEV =0RC0!,1
408 408  
409 -**0RC0! **: SDI-12 Command,
410 +**(% style="color:#037691" %)0RC0! **(%%): SDI-12 Command,
410 410  
411 -**1 **: Delay 1 second.  ( 0: 810 mini-second)
412 +**(% style="color:#037691" %)1 **(%%): Delay 1 second.  ( 0: 810 mini-second)
412 412  
413 413  Equal Downlink: 0xA8 05 30 52 43 30 21 01 01
414 414  
... ... @@ -419,11 +419,9 @@
419 419  [[image:image-20230201092355-16.png]]
420 420  
421 421  
422 -​​​​​​​[[image:image-20230201092355-17.png||height="426" width="1135"]]
423 +[[image:image-20230201092355-17.png||height="426" width="1135"]]
423 423  
424 424  
425 -​​​​​​​
426 -
427 427  === 2.3.3 Convert ASCII to String ===
428 428  
429 429  
... ... @@ -432,7 +432,7 @@
432 432  AT+CONVFORM ( Max length: 80 bytes)
433 433  
434 434  
435 -**Example:**
434 +**(% style="color:blue" %)Example:**
436 436  
437 437  1) AT+CONVFORM=0, string Convert String from String to ASCII
438 438  
... ... @@ -444,10 +444,6 @@
444 444  [[image:1675214856590-846.png]]
445 445  
446 446  
447 -
448 -
449 -​​​​​​​
450 -
451 451  === 2.3.4 Define periodically SDI-12 commands and uplink. ===
452 452  
453 453  
... ... @@ -456,31 +456,31 @@
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 -* ** AT Command:**
454 +* ** (% style="color:blue" %)AT Command:**
460 460  
461 -**AT+COMMANDx=var1,var2,var3,var4.**
456 +**(% style="color:#037691" %)AT+COMMANDx=var1,var2,var3,var4.**
462 462  
463 -**var1**: SDI-12 command , for example: 0RC0!
458 +**(% style="color:red" %)var1**(%%): SDI-12 command , for example: 0RC0!
464 464  
465 -**var2**: Wait timeout for return. (unit: second)
460 +**(% style="color:red" %)var2**(%%): Wait timeout for return. (unit: second)
466 466  
467 -**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 -**var4**: validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 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 -**0 ** No validation check;
466 +**(% style="color:red" %)0 **(%%) No validation check;
472 472  
473 -**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 -**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 -**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 **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 -**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 485  (% border="1" style="background-color:#f7faff; width:436px" %)
486 486  |(% style="width:433px" %)(((
... ... @@ -488,7 +488,7 @@
488 488  
489 489  **a**:  length for the return of AT+COMMAND
490 490  
491 -**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.
486 +**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.
492 492  
493 493  **c**:  define the position for valid value. 
494 494  )))
... ... @@ -502,50 +502,49 @@
502 502  |(% 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
503 503  |(% 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 -* ** Downlink Payload:**
500 +* **(% style="color:blue" %) Downlink Payload:**
506 506  
507 -**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 -**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: ** 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 -* **MM **: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
518 -* **NN **:  1: set the AT+DATACUT value ; 2: set the AT+DATACUT value.
519 -* **LL **:  The length of AT+COMMAND or AT+DATACUT command
520 -* **XX XX XX XX **: AT+COMMAND or AT+DATACUT command
521 -* **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. 
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  
518 +**(% style="color:blue" %)Example:**
523 523  
524 -**Example:**
525 -
526 526  [[image:image-20230201094129-18.png]]
527 527  
528 528  
529 -**Clear SDI12 Command**
523 +**(% style="color:blue" %)Clear SDI12 Command**
530 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 -* ** AT Command:**
528 +* ** (% style="color:#037691" %)AT Command:**
535 535  
536 -**~ 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 -* ** Downlink Payload:**
536 +* **(% style="color:#037691" %) Downlink Payload:**
543 543  
544 -**~ 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 -**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  
... ... @@ -554,23 +554,24 @@
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 -**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.
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 -**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 563  [[image:1675215782925-448.png]]
564 564  
565 565  
566 -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.
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 -**Compose Uplink**
564 +**(% style="color:blue" %)Compose Uplink**
571 571  
572 -**AT+DATAUP=0**
573 573  
567 +**(% style="color:#4F81BD" %)AT+DATAUP=0**
568 +
574 574  Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK.
575 575  
576 576  Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
... ... @@ -581,7 +581,7 @@
581 581  [[image:1675215828102-844.png]]
582 582  
583 583  
584 -**AT+DATAUP=1**
579 +**(% style="color:#4F81BD" %)AT+DATAUP=1**
585 585  
586 586  Compose the uplink payload with value returns in sequence and send with Multiply UPLINKs.
587 587  
... ... @@ -598,7 +598,7 @@
598 598  [[image:1675215848113-696.png]]
599 599  
600 600  
601 -**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:**
602 602  
603 603  * For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
604 604  * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
... ... @@ -605,9 +605,9 @@
605 605  * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
606 606  * For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
607 607  
608 -**~ 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;**
609 609  
610 -**~ 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.**
611 611  
612 612  
613 613  == ​​​​​​​2.4 Uplink Payload ==
... ... @@ -621,14 +621,13 @@
621 621  The application server should parse the correct value based on FPORT settings.
622 622  
623 623  
624 -2.4.1 Device Payload, FPORT=5
619 +=== 2.4.1 Device Payload, FPORT~=5 ===
625 625  
621 +
626 626  Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server.
627 627  
628 -
629 629  Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink.
630 630  
631 -
632 632  (% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
633 633  |(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)**
634 634  |(% 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**
... ... @@ -638,12 +638,13 @@
638 638  
639 639  [[image:1675215946738-635.png]]
640 640  
641 -**Sensor Model**: For SDI-12-LB, this value is 0x17
642 642  
643 -**Firmware Version**: 0x0100, Means: v1.0.0 version
636 +**(% style="color:#037691" %)Sensor Model**(%%): For SDI-12-LB, this value is 0x17
644 644  
645 -**Frequency Band**:
638 +**(% style="color:#037691" %)Firmware Version**(%%): 0x0100, Means: v1.0.0 version
646 646  
640 +**(% style="color:#037691" %)Frequency Band**:
641 +
647 647  *0x01: EU868
648 648  
649 649  *0x02: US915
... ... @@ -673,7 +673,7 @@
673 673  *0x0e: MA869
674 674  
675 675  
676 -**Sub-Band**:
671 +**(% style="color:#037691" %)Sub-Band**:
677 677  
678 678  AU915 and US915:value 0x00 ~~ 0x08
679 679  
... ... @@ -682,7 +682,7 @@
682 682  Other Bands: Always 0x00
683 683  
684 684  
685 -**Battery Info**:
680 +**(% style="color:#037691" %)Battery Info**:
686 686  
687 687  Check the battery voltage.
688 688  
... ... @@ -691,10 +691,9 @@
691 691  Ex2: 0x0B49 = 2889mV
692 692  
693 693  
694 -1.
695 -11.
696 -111. Uplink Payload, FPORT=2
689 +=== 2.4.2 Uplink Payload, FPORT~=2 ===
697 697  
691 +
698 698  There are different cases for uplink. See below
699 699  
700 700  * SDI-12 Debug Command return: FPORT=100
... ... @@ -701,30 +701,24 @@
701 701  
702 702  * Periodically Uplink: FPORT=2
703 703  
704 -|(((
705 -**Size**
706 -
707 -**(bytes)**
708 -)))|**2**|**1**|**Length depends on the return from the commands**
709 -|**Value**|(((
698 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
699 +|(% style="width:93px" %)(((
700 +**Size(bytes)**
701 +)))|(% style="width:83px" %)**2**|(% style="width:70px" %)**1**|(% style="width:234px" %)**Length depends on the return from the commands**
702 +|(% style="width:93px" %)**Value**|(% style="width:83px" %)(((
710 710  Battery(mV)
711 -
712 712  &
713 -
714 714  Interrupt_Flag
715 -)))|[[PAYLOAD_VER>>path:#Probe_Model]]|(((
716 -If the valid payload is too long and exceed the maximum support
717 -
706 +)))|(% style="width:70px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:234px" %)(((
707 +If the valid payload is too long and exceed the maximum support.
718 718  Payload length in server,server will show payload not provided in the LoRaWAN server.
719 719  )))
720 720  
721 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]]
711 +[[image:1675216282284-923.png]]
722 722  
723 723  
714 +=== 2.4.3 Battery Info ===
724 724  
725 -1.
726 -11.
727 -111. Battery Info
728 728  
729 729  Check the battery voltage for SDI-12-LB.
730 730  
... ... @@ -733,14 +733,12 @@
733 733  Ex2: 0x0B49 = 2889mV
734 734  
735 735  
736 -1.
737 -11.
738 -111. Interrupt Pin
724 +=== 2.4.4 Interrupt Pin ===
739 739  
740 -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]].
741 741  
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"]].
742 742  
743 -Example:
729 +**Example:**
744 744  
745 745  Ex1: 0x0B45:0x0B&0x80= 0x00    Normal uplink packet.
746 746  
... ... @@ -747,239 +747,58 @@
747 747  Ex2: 0x8B49:0x8B&0x80= 0x80    Interrupt Uplink Packet.
748 748  
749 749  
750 -1.
751 -11.
752 -111. Payload version
736 +=== 2.4.5 Payload version ===
753 753  
754 754  
755 755  
740 +=== 2.4.6 ​Decode payload in The Things Network ===
756 756  
757 757  
758 -1.
759 -11.
760 -111. ​Decode payload in The Things Network
761 -
762 762  While using TTN network, you can add the payload format to decode the payload.
763 763  
764 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]]
745 +[[image:1675216779406-595.png]]
765 765  
766 766  
767 767  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.
768 768  
750 +SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
769 769  
770 -下面的解码生成超链接放进去.
771 771  
772 -function Decoder(bytes, port) {
753 +== 2.5 Uplink Interval ==
773 773  
774 - if(port==5)
775 775  
776 - {
756 +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:
777 777  
778 - var freq_band;
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]]
779 779  
780 - var sub_band;
781 781  
782 - var sensor;
783 783  
784 784  
785 - if(bytes[0]==0x17)
763 +== 2.6 Frequency Plans ==
786 786  
787 - sensor= "SDI12-LB";
788 788  
766 +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.
789 789  
790 - var firm_ver= (bytes[1]&0x0f)+'.'+(bytes[2]>>4&0x0f)+'.'+(bytes[2]&0x0f);
768 +[[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/]]
791 791  
792 792  
793 - if(bytes[3]==0x01)
794 794  
795 - freq_band="EU868";
772 +== 2.7 Firmware Change Log ==
796 796  
797 - else if(bytes[3]==0x02)
798 798  
799 - freq_band="US915";
800 -
801 - else if(bytes[3]==0x03)
802 -
803 - freq_band="IN865";
804 -
805 - else if(bytes[3]==0x04)
806 -
807 - freq_band="AU915";
808 -
809 - else if(bytes[3]==0x05)
810 -
811 - freq_band="KZ865";
812 -
813 - else if(bytes[3]==0x06)
814 -
815 - freq_band="RU864";
816 -
817 - else if(bytes[3]==0x07)
818 -
819 - freq_band="AS923";
820 -
821 - else if(bytes[3]==0x08)
822 -
823 - freq_band="AS923_1";
824 -
825 - else if(bytes[3]==0x09)
826 -
827 - freq_band="AS923_2";
828 -
829 - else if(bytes[3]==0x0A)
830 -
831 - freq_band="AS923_3";
832 -
833 - else if(bytes[3]==0x0F)
834 -
835 - freq_band="AS923_4";
836 -
837 - else if(bytes[3]==0x0B)
838 -
839 - freq_band="CN470";
840 -
841 - else if(bytes[3]==0x0C)
842 -
843 - freq_band="EU433";
844 -
845 - else if(bytes[3]==0x0D)
846 -
847 - freq_band="KR920";
848 -
849 - else if(bytes[3]==0x0E)
850 -
851 - freq_band="MA869";
852 -
853 -
854 - if(bytes[4]==0xff)
855 -
856 - sub_band="NULL";
857 -
858 - else
859 -
860 - sub_band=bytes[4];
861 -
862 -
863 - var bat= (bytes[5]<<8 | bytes[6])/1000;
864 -
865 -
866 - return {
867 -
868 - SENSOR_MODEL:sensor,
869 -
870 - FIRMWARE_VERSION:firm_ver,
871 -
872 - FREQUENCY_BAND:freq_band,
873 -
874 - SUB_BAND:sub_band,
875 -
876 - BAT:bat,
877 -
878 - }
879 -
880 - }
881 -
882 - else if(port==100)
883 -
884 - {
885 -
886 - var datas_sum={};
887 -
888 - for(var j=0;j<bytes.length;j++)
889 -
890 - {
891 -
892 - var datas= String.fromCharCode(bytes[j]);
893 -
894 - if(j=='0')
895 -
896 - datas_sum.datas_sum=datas;
897 -
898 - else
899 -
900 - datas_sum.datas_sum+=datas;
901 -
902 - }
903 -
904 -
905 - return datas_sum;
906 -
907 - }
908 -
909 - else
910 -
911 - {
912 -
913 - var decode={};
914 -
915 - decode.EXTI_Trigger= (bytes[0] & 0x80)? "TRUE":"FALSE";  
916 -
917 - decode.BatV= ((bytes[0]<<8 | bytes[1])&0x7FFF)/1000;
918 -
919 - decode.Payver= bytes[2];
920 -
921 - for(var i=3;i<bytes.length;i++)
922 -
923 - {
924 -
925 - var data= String.fromCharCode(bytes[i]);
926 -
927 - if(i=='3')
928 -
929 - decode.data_sum=data;
930 -
931 - else
932 -
933 - decode.data_sum+=data;
934 -
935 - }
936 -
937 - return decode; 
938 -
939 - }
940 -
941 -
942 -}
943 -
944 -
945 -1.
946 -11. Uplink Interval
947 -
948 -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:
949 -
950 -[[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]]
951 -
952 -
953 -
954 -1.
955 -11. Frequency Plans
956 -
957 -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.
958 -
959 -
960 -[[https:~~/~~/wiki.dragino.com/index.php?title=End_Device_Frequency_Band>>url:https://wiki.dragino.com/index.php?title=End_Device_Frequency_Band]]
961 -
962 -
963 -
964 -1.
965 -11. Firmware Change Log
966 -
967 967  **Firmware download link:**
968 968  
969 969  [[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]
970 970  
971 971  
780 += 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink =
972 972  
973 -1. Configure SDI-12-LB via AT Command or LoRaWAN Downlink
974 974  
975 975  Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink.
976 976  
977 977  * AT Command Connection: See [[FAQ>>path:#AT_COMMAND]].
978 -* LoRaWAN Downlink instruction for different platforms:
786 +* LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
979 979  
980 -[[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]]
981 -
982 -
983 983  There are two kinds of commands to configure SDI-12-LB, they are:
984 984  
985 985  * **General Commands**.
... ... @@ -999,247 +999,223 @@
999 999  These commands only valid for SDI-12-LB, as below:
1000 1000  
1001 1001  
807 +== ​​​​​​​3.1 Set Transmit Interval Time ==
1002 1002  
1003 -1.
1004 -11. Set Transmit Interval Time
1005 1005  
1006 1006  Feature: Change LoRaWAN End Node Transmit Interval.
1007 1007  
1008 -**AT Command: AT+TDC**
812 +(% style="color:blue" %)**AT Command: AT+TDC**
1009 1009  
1010 -|**Command Example**|**Function**|**Response**
1011 -|AT+TDC=?|Show current transmit Interval|(((
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|(((
1012 1012  30000
1013 -
1014 1014  OK
1015 -
1016 1016  the interval is 30000ms = 30s
1017 1017  )))
1018 -|AT+TDC=60000|Set Transmit Interval|(((
821 +|(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
1019 1019  OK
1020 -
1021 1021  Set transmit interval to 60000ms = 60 seconds
1022 1022  )))
1023 1023  
1024 -**Downlink Command: 0x01**
826 +(% style="color:blue" %)**Downlink Command: 0x01**
1025 1025  
828 +
1026 1026  Format: Command Code (0x01) followed by 3 bytes time value.
1027 1027  
1028 -If the downlink payload=0100003C, it means set the END Nodes Transmit Interval to 0x00003C=60(S), while type code is 01.
831 +If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
1029 1029  
1030 -* Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds
1031 -* Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds
833 +* Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
834 +* Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
1032 1032  
1033 -1.
1034 -11. Set Interrupt Mode
836 +== 3.2 Set Interrupt Mode ==
1035 1035  
838 +
1036 1036  Feature, Set Interrupt mode for GPIO_EXIT.
1037 1037  
1038 -**AT Command: AT+INTMOD**
841 +(% style="color:blue" %)**AT Command: AT+INTMOD**
1039 1039  
1040 -|**Command Example**|**Function**|**Response**
1041 -|AT+INTMOD=?|Show current interrupt mode|(((
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" %)(((
1042 1042  0
1043 -
1044 1044  OK
1045 -
1046 1046  the mode is 0 = No interruption
1047 1047  )))
1048 -|AT+INTMOD=2|(((
850 +|(% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)(((
1049 1049  Set Transmit Interval
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
1050 1050  
1051 -1. (Disable Interrupt),
1052 -1. (Trigger by rising and falling edge),
1053 -1. (Trigger by falling edge)
1054 -1. (Trigger by rising edge)
1055 -)))|OK
858 +(% style="color:blue" %)**Downlink Command: 0x06**
1056 1056  
1057 -**Downlink Command: 0x06**
1058 -
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
864 +* Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
865 +* Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1065 1065  
1066 -1.
1067 -11. Set the output time
867 +== 3.3 Set the output time ==
1068 1068  
869 +
1069 1069  Feature, Control the output 3V3 , 5V or 12V.
1070 1070  
1071 -**AT Command: AT+3V3T**
872 +(% style="color:blue" %)**AT Command: AT+3V3T**
1072 1072  
1073 -|**Command Example**|**Function**|**Response**
1074 -|AT+3V3T=?|Show 3V3 open time.|(((
874 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:474px" %)
875 +|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 201px;" %)**Function**|=(% style="width: 116px;" %)**Response**
876 +|(% style="width:154px" %)AT+3V3T=?|(% style="width:201px" %)Show 3V3 open time.|(% style="width:116px" %)(((
1075 1075  0
1076 -
1077 1077  OK
1078 1078  )))
1079 -|AT+3V3T=0|Normally open 3V3 power supply.|(((
880 +|(% style="width:154px" %)AT+3V3T=0|(% style="width:201px" %)Normally open 3V3 power supply.|(% style="width:116px" %)(((
1080 1080  OK
1081 -
1082 1082  default setting
1083 1083  )))
1084 -|AT+3V3T=1000|Close after a delay of 1000 milliseconds.|(((
884 +|(% style="width:154px" %)AT+3V3T=1000|(% style="width:201px" %)Close after a delay of 1000 milliseconds.|(% style="width:116px" %)(((
1085 1085  OK
1086 -
1087 -
1088 1088  )))
1089 -|AT+3V3T=65535|Normally closed 3V3 power supply.|(((
887 +|(% style="width:154px" %)AT+3V3T=65535|(% style="width:201px" %)Normally closed 3V3 power supply.|(% style="width:116px" %)(((
1090 1090  OK
1091 -
1092 -
1093 1093  )))
1094 1094  
1095 -**AT Command: AT+5VT**
891 +(% style="color:blue" %)**AT Command: AT+5VT**
1096 1096  
1097 -|**Command Example**|**Function**|**Response**
1098 -|AT+5VT=?|Show 5V open time.|(((
893 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:470px" %)
894 +|=(% style="width: 155px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 114px;" %)**Response**
895 +|(% style="width:155px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:114px" %)(((
1099 1099  0
1100 -
1101 1101  OK
1102 1102  )))
1103 -|AT+5VT=0|Normally closed 5V power supply.|(((
899 +|(% style="width:155px" %)AT+5VT=0|(% style="width:196px" %)Normally closed 5V power supply.|(% style="width:114px" %)(((
1104 1104  OK
1105 -
1106 1106  default setting
1107 1107  )))
1108 -|AT+5VT=1000|Close after a delay of 1000 milliseconds.|(((
903 +|(% style="width:155px" %)AT+5VT=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:114px" %)(((
1109 1109  OK
1110 -
1111 -
1112 1112  )))
1113 -|AT+5VT=65535|Normally open 5V power supply.|(((
906 +|(% style="width:155px" %)AT+5VT=65535|(% style="width:196px" %)Normally open 5V power supply.|(% style="width:114px" %)(((
1114 1114  OK
1115 -
1116 -
1117 1117  )))
1118 1118  
1119 -**AT Command: AT+12VT**
910 +(% style="color:blue" %)**AT Command: AT+12VT**
1120 1120  
1121 -|**Command Example**|**Function**|**Response**
1122 -|AT+12VT=?|Show 12V open time.|(((
912 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:443px" %)
913 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 199px;" %)**Function**|=(% style="width: 83px;" %)**Response**
914 +|(% style="width:156px" %)AT+12VT=?|(% style="width:199px" %)Show 12V open time.|(% style="width:83px" %)(((
1123 1123  0
1124 -
1125 1125  OK
1126 1126  )))
1127 -|AT+12VT=0|Normally closed 12V power supply.|OK
1128 -|AT+12VT=500|Close after a delay of 500 milliseconds.|(((
918 +|(% style="width:156px" %)AT+12VT=0|(% style="width:199px" %)Normally closed 12V power supply.|(% style="width:83px" %)OK
919 +|(% style="width:156px" %)AT+12VT=500|(% style="width:199px" %)Close after a delay of 500 milliseconds.|(% style="width:83px" %)(((
1129 1129  OK
1130 -
1131 -
1132 1132  )))
1133 1133  
1134 -**Downlink Command: 0x07**
923 +(% style="color:blue" %)**Downlink Command: 0x07**
1135 1135  
1136 1136  Format: Command Code (0x07) followed by 3 bytes.
1137 1137  
1138 1138  The first byte is which power, the second and third bytes are the time to turn on.
1139 1139  
1140 -* Example 1: Downlink Payload: 070101F4  -> AT+3V3T=500
1141 -* Example 2: Downlink Payload: 0701FFFF   -> AT+3V3T=65535
1142 -* Example 3: Downlink Payload: 070203E8  -> AT+5VT=1000
1143 -* Example 4: Downlink Payload: 07020000  -> AT+5VT=0
1144 -* Example 5: Downlink Payload: 070301F4  -> AT+12VT=500
1145 -* Example 6: Downlink Payload: 07030000  -> AT+12VT=0
929 +* Example 1: Downlink Payload: 070101F4  **~-~-->**  AT+3V3T=500
930 +* Example 2: Downlink Payload: 0701FFFF   **~-~-->**  AT+3V3T=65535
931 +* Example 3: Downlink Payload: 070203E8  **~-~-->**  AT+5VT=1000
932 +* Example 4: Downlink Payload: 07020000  **~-~-->**  AT+5VT=0
933 +* Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
934 +* Example 6: Downlink Payload: 07030000  **~-~-->**  AT+12VT=0
1146 1146  
1147 -1.
1148 -11. Set the all data mode
936 +== 3.4 Set the all data mode ==
1149 1149  
938 +
1150 1150  Feature, Set the all data mode.
1151 1151  
1152 -**AT Command: AT+ALLDATAMOD**
941 +(% style="color:blue" %)**AT Command: AT+ALLDATAMOD**
1153 1153  
1154 -|**Command Example**|**Function**|**Response**
943 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
944 +|=**Command Example**|=**Function**|=**Response**
1155 1155  |AT+ALLDATAMOD=?|Show current all data mode|(((
1156 1156  0
1157 -
1158 -
1159 1159  OK
1160 1160  )))
1161 1161  |AT+ALLDATAMOD=1|Set all data mode is 1.|OK
1162 1162  
1163 -**Downlink Command: 0xAB**
951 +(% style="color:blue" %)**Downlink Command: 0xAB**
1164 1164  
1165 1165  Format: Command Code (0xAB) followed by 1 bytes.
1166 1166  
1167 -* Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0
1168 -* Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1
955 +* Example 1: Downlink Payload: AB 00  ~/~/  AT+ALLDATAMOD=0
956 +* Example 2: Downlink Payload: AB 01  ~/~/  AT+ALLDATAMOD=1
1169 1169  
1170 -1.
1171 -11. Set the splicing payload for uplink
958 +== 3.5 Set the splicing payload for uplink ==
1172 1172  
960 +
1173 1173  Feature, splicing payload for uplink.
1174 1174  
1175 -**AT Command: AT+DATAUP**
963 +(% style="color:blue" %)**AT Command: AT+DATAUP**
1176 1176  
1177 -|**Command Example**|**Function**|**Response**
1178 -|AT+DATAUP =?|Show current splicing payload for uplink mode|(((
965 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
966 +|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 266px;" %)**Function**|=**Response**
967 +|(% style="width:154px" %)AT+DATAUP =?|(% style="width:266px" %)Show current splicing payload for uplink mode|(((
1179 1179  0
1180 -
1181 -
1182 1182  OK
1183 1183  )))
1184 -|AT+DATAUP =0|(((
971 +|(% style="width:154px" %)AT+DATAUP =0|(% style="width:266px" %)(((
1185 1185  Set splicing payload for uplink mode is 0.
1186 -
1187 -
1188 1188  )))|(((
1189 1189  OK
1190 -
1191 -
1192 1192  )))
1193 -|AT+DATAUP =1|Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|OK
1194 -|AT+DATAUP =1,20000|(((
1195 -Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds.
1196 -
1197 -
976 +|(% style="width:154px" %)AT+DATAUP =1|(% style="width:266px" %)Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|OK
977 +|(% style="width:154px" %)AT+DATAUP =1,20000|(% style="width:266px" %)(((
978 +Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds.
1198 1198  )))|OK
1199 1199  
1200 -**Downlink Command: 0xAD**
981 +(% style="color:blue" %)**Downlink Command: 0xAD**
1201 1201  
1202 1202  Format: Command Code (0xAD) followed by 1 bytes or 5 bytes.
1203 1203  
1204 -* Example 1: Downlink Payload: AD 00 ~/~/ AT+DATAUP=0
1205 -* Example 2: Downlink Payload: AD 01 ~/~/ AT+DATAUP =1
1206 -* Example 3: Downlink Payload: AD 01 00 00 14~/~/ AT+DATAUP =1,20000
985 +* Example 1: Downlink Payload: AD 00  ~/~/  AT+DATAUP=0
986 +* Example 2: Downlink Payload: AD 01  ~/~/  AT+DATAUP =1
987 +* Example 3: Downlink Payload: AD 01 00 00 14  ~/~/  AT+DATAUP =1,20000
1207 1207  
1208 1208  This means that the interval is set to 0x000014=20S
1209 1209  
1210 1210  
1211 -1.
1212 -11. Set the payload version
992 +== 3.6 Set the payload version ==
1213 1213  
1214 1214  Feature, Set the payload version.
1215 1215  
1216 -**AT Command: AT+PAYVER**
996 +(% style="color:blue" %)**AT Command: AT+PAYVER**
1217 1217  
1218 -|**Command Example**|**Function**|**Response**
1219 -|AT+PAYVER=?|Show current payload version|(((
998 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
999 +|=(% style="width: 158px;" %)**Command Example**|=(% style="width: 192px;" %)**Function**|=**Response**
1000 +|(% style="width:158px" %)AT+PAYVER=?|(% style="width:192px" %)Show current payload version|(((
1220 1220  1
1221 -
1222 -
1223 1223  OK
1224 1224  )))
1225 -|AT+PAYVER=5|Set payload version is 5.|OK
1004 +|(% style="width:158px" %)AT+PAYVER=5|(% style="width:192px" %)Set payload version is 5.|OK
1226 1226  
1227 -**Downlink Command: 0xAE**
1006 +(% style="color:blue" %)**Downlink Command: 0xAE**
1228 1228  
1229 1229  Format: Command Code (0xAE) followed by 1 bytes.
1230 1230  
1231 -* Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1
1232 -* Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5
1010 +* Example 1: Downlink Payload: AE 01  ~/~/  AT+PAYVER=1
1011 +* Example 2: Downlink Payload: AE 05  ~/~/  AT+PAYVER=5
1233 1233  
1234 -1. Battery & how to replace
1235 -11. Battery Type
1013 += 4. Battery & how to replace =
1236 1236  
1237 -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.
1015 +== 4.1 Battery Type ==
1238 1238  
1239 1239  
1018 +SDI-12-LB is equipped with a [[8500mAH ER26500 Li-SOCI2 battery>>https://www.dropbox.com/sh/w9l2oa3ytpculph/AAAPtt-apH4lYfCj-2Y6lHvQa?dl=0]]. The battery is un-rechargeable battery with low discharge rate targeting for 8~~10 years use. This type of battery is commonly used in IoT target for long-term running, such as water meter.
1019 +
1020 +
1240 1240  The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1241 1241  
1242 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png]]
1023 +[[image:1675146710956-626.png]]
1243 1243  
1244 1244  
1245 1245  Minimum Working Voltage for the SDI-12-LB:
... ... @@ -1247,31 +1247,25 @@
1247 1247  SDI-12-LB:  2.45v ~~ 3.6v
1248 1248  
1249 1249  
1250 -1.
1251 -11. Replace Battery
1031 +== 4.2 Replace Battery ==
1252 1252  
1033 +
1253 1253  Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery.
1254 1254  
1255 1255  And make sure the positive and negative pins match.
1256 1256  
1257 1257  
1039 +== 4.3 Power Consumption Analyze ==
1258 1258  
1259 -1.
1260 -11. Power Consumption Analyze
1261 1261  
1262 1262  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.
1263 1263  
1264 -
1265 1265  Instruction to use as below:
1266 1266  
1046 +(% style="color:blue" %)**Step 1:**(%%) Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: [[https:~~/~~/www.dropbox.com/sh/zwex6i331j5oeq2/AACIMf9f_v2qsJ39CuMQ5Py_a?dl=0>>https://www.dropbox.com/sh/zwex6i331j5oeq2/AACIMf9f_v2qsJ39CuMQ5Py_a?dl=0]]
1267 1267  
1268 -Step 1: Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from:
1048 +(% style="color:blue" %)**Step 2:**(%%) Open it and choose
1269 1269  
1270 -[[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/]]
1271 -
1272 -
1273 -Step 2: Open it and choose
1274 -
1275 1275  * Product Model
1276 1276  * Uplink Interval
1277 1277  * Working Mode
... ... @@ -1278,57 +1278,48 @@
1278 1278  
1279 1279  And the Life expectation in difference case will be shown on the right.
1280 1280  
1281 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image037.png]]
1056 +[[image:1675146895108-304.png]]
1282 1282  
1283 1283  
1284 1284  The battery related documents as below:
1285 1285  
1286 -* [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/&file=LSN50-Battery-Dimension.pdf]],
1287 -* [[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]]
1288 -* [[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]]
1061 +* [[Battery Dimension>>https://www.dropbox.com/s/ox5g9njwjle7aw3/LSN50-Battery-Dimension.pdf?dl=0]],
1062 +* [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]]
1063 +* [[Lithium-ion Battery-Capacitor datasheet>>https://www.dropbox.com/s/791gjes2lcbfi1p/SPC_1520_datasheet.jpg?dl=0]], [[Tech Spec>>https://www.dropbox.com/s/4pkepr9qqqvtzf2/SPC1520%20Technical%20Specification20171123.pdf?dl=0]]
1289 1289  
1290 -|(((
1291 -JST-XH-2P connector
1292 -)))
1065 +[[image:image-20230131145708-3.png]]
1293 1293  
1294 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image038.png]]
1295 1295  
1068 +=== 4.3.1 ​Battery Note ===
1296 1296  
1297 1297  
1298 -1.
1299 -11.
1300 -111. ​Battery Note
1301 -
1302 1302  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.
1303 1303  
1304 1304  
1305 -1.
1306 -11.
1307 -111. ​Replace the battery
1074 +=== 4.3.2 Replace the battery ===
1308 1308  
1309 -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.
1310 1310  
1077 +You can change the battery in the SDI-12-LB.The type of battery is not limited as long as the output is between 3v to 3.6v. On the main board, there is a diode (D1) between the battery and the main circuit. If you need to use a battery with less than 3.3v, please remove the D1 and shortcut the two pads of it so there won't be voltage drop between battery and main board.
1311 1311  
1312 -The default battery pack of SDI-12-LB includes a ER26500 plus super capacitor. If user cant 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)
1079 +The default battery pack of SDI-12-LB includes a ER26500 plus super capacitor. If user can't find this pack locally, they can find ER26500 or equivalence, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes)
1313 1313  
1314 1314  
1315 1315  
1083 += 5. Remote Configure device =
1316 1316  
1085 +== 5.1 Connect via BLE ==
1317 1317  
1318 1318  
1319 -1. Remote Configure device
1320 -11. Connect via BLE
1088 +Please see this instruction for how to configure via BLE: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]
1321 1321  
1322 -Please see this instruction for how to configure via BLE:
1323 1323  
1324 -[[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/]]
1091 +== 5.2 AT Command Set ==
1325 1325  
1326 1326  
1327 -1.
1328 -11. AT Command Set
1329 1329  
1330 -1. OTA firmware update
1095 += 6. OTA firmware update =
1331 1331  
1097 +
1332 1332  Please see this link for how to do OTA firmware update.
1333 1333  
1334 1334  [[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/]]
... ... @@ -1335,19 +1335,33 @@
1335 1335  
1336 1336  
1337 1337  
1104 += 7. ​Order Info =
1338 1338  
1339 1339  
1107 +Part Number: SDI-12-LB-XXX
1108 +XXX: The default frequency band
1340 1340  
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
1341 1341  
1342 1342  
1343 1343  
1344 1344  
1345 1345  
1346 -1. ​Order Info
1347 1347  
1124 +
1125 += 8. Packing Info =
1126 +
1127 +
1348 1348  **Package Includes**:
1349 1349  
1350 -* SDI-12-LB SDI-12 to LoRaWAN Converter
1130 +* SDI-12-LB SDI-12 to LoRaWAN Converter x 1
1351 1351  
1352 1352  **Dimension and weight**:
1353 1353  
... ... @@ -1356,13 +1356,11 @@
1356 1356  * Package Size / pcs : cm
1357 1357  * Weight / pcs : g
1358 1358  
1139 += 9. ​Support =
1359 1359  
1360 1360  
1361 -1. ​Support
1362 -
1363 1363  * 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.
1364 -* 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
1365 1365  
1366 -[[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]]
1144 +* 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]]
1367 1367  
1368 1368  
1675234124233-857.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +75.8 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0