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

From version 73.3
edited by Xiaoling
on 2023/06/27 10:28
Change comment: There is no comment for this version
To version 1.1
edited by Xiaoling
on 2023/01/30 10:48
Change comment: There is no comment for this version

Summary

Details

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