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

From version 41.4
edited by Xiaoling
on 2023/02/01 15:27
Change comment: There is no comment for this version
To version 7.1
edited by Xiaoling
on 2023/02/01 09:01
Change comment: Uploaded new attachment "image-20230201090139-2.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -3,7 +3,6 @@
3 3  
4 4  **Table of Contents:**
5 5  
6 -{{toc/}}
7 7  
8 8  
9 9  
... ... @@ -17,32 +17,36 @@
17 17  
18 18  
19 19  
20 -= 1. Introduction =
19 +1. Introduction
20 +11. ​What is LoRaWAN Pressure Sensor
21 21  
22 -== 1.1 ​What is SDI-12 to LoRaWAN Converter ==
22 +The Dragino **SDI-12-LB** is a **SDI-12 to LoRaWAN Convert **designed for Smart Agriculture solution.
23 23  
24 24  
25 -The Dragino (% style="color:blue" %)**SDI-12-LB**(%%) is a (% style="color:blue" %)**SDI-12 to LoRaWAN Converter **(%%)designed for Smart Agriculture solution.
26 -
27 27  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.
28 28  
29 -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 30  
31 -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.
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.
32 32  
33 -SDI-12-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
34 34  
35 -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.
31 +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.
36 36  
37 37  
38 -[[image:image-20230201084414-1.png||height="464" width="1108"]]
34 +**SDI-12-LB** is powered by **8500mAh Li-SOCI2 battery**, it is designed for long term use up to 5 years.
39 39  
40 40  
37 +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.
41 41  
42 42  
43 -== ​1.2 Features ==
44 44  
41 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
45 45  
43 +
44 +
45 +
46 +
47 +*
48 +*1. ​ Features
46 46  * LoRaWAN 1.0.3 Class A
47 47  * Ultra-low power consumption
48 48  * Controllable 5v and 12v output to power external sensor
... ... @@ -55,21 +55,22 @@
55 55  * Downlink to change configure
56 56  * 8500mAh Battery for long term use
57 57  
58 -== 1.3 Specification ==
59 59  
62 +1.
63 +11. Specification
60 60  
61 -(% style="color:#037691" %)**Micro Controller:**
65 +**Micro Controller:**
62 62  
63 63  * MCU: 48Mhz ARM
64 64  * Flash: 256KB
65 65  * RAM: 64KB
66 66  
67 -(% style="color:#037691" %)**Common DC Characteristics:**
71 +**Common DC Characteristics:**
68 68  
69 69  * Supply Voltage: 2.5v ~~ 3.6v
70 70  * Operating Temperature: -40 ~~ 85°C
71 71  
72 -(% style="color:#037691" %)**LoRa Spec:**
76 +**LoRa Spec:**
73 73  
74 74  * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
75 75  * Max +22 dBm constant RF output vs.
... ... @@ -76,20 +76,23 @@
76 76  * RX sensitivity: down to -139 dBm.
77 77  * Excellent blocking immunity
78 78  
79 -(% style="color:#037691" %)**Current Input Measuring :**
80 80  
84 +**Current Input Measuring :**
85 +
81 81  * Range: 0 ~~ 20mA
82 82  * Accuracy: 0.02mA
83 83  * Resolution: 0.001mA
84 84  
85 -(% style="color:#037691" %)**Voltage Input Measuring:**
86 86  
91 +**Voltage Input Measuring:**
92 +
87 87  * Range: 0 ~~ 30v
88 88  * Accuracy: 0.02v
89 89  * Resolution: 0.001v
90 90  
91 -(% style="color:#037691" %)**Battery:**
92 92  
98 +**Battery:**
99 +
93 93  * Li/SOCI2 un-chargeable battery
94 94  * Capacity: 8500mAh
95 95  * Self-Discharge: <1% / Year @ 25°C
... ... @@ -96,57 +96,68 @@
96 96  * Max continuously current: 130mA
97 97  * Max boost current: 2A, 1 second
98 98  
99 -(% style="color:#037691" %)**Power Consumption**
100 100  
107 +**Power Consumption**
108 +
101 101  * Sleep Mode: 5uA @ 3.3v
102 102  * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
103 103  
104 -== 1.4 Connect to SDI-12 Sensor ==
105 105  
113 +1.
114 +11. Connect to SDI-12 Sensor
106 106  
116 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png]]
107 107  
108 -[[image:1675212538524-889.png]]
109 109  
110 110  
111 -== 1.5 Sleep mode and working mode ==
120 +1.
121 +11. Sleep mode and working mode
112 112  
113 113  
114 -(% 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.
124 +**Deep Sleep Mode: Sensor doesnt have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.**
115 115  
116 -(% style="color:blue" %)**Working Mode: **(%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
117 117  
127 +**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 -== 1.6 Button & LEDs ==
120 120  
121 121  
122 -[[image:1675212633011-651.png]]
123 123  
124 124  
133 +1.
134 +11. Button & LEDs
125 125  
126 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %)
127 -|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 117px;" %)**Function**|=(% style="width: 225px;" %)**Action**
128 -|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
129 -If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
136 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png]]
137 +
138 +
139 +
140 +|**Behavior on ACT**|**Function**|**Action**
141 +|Pressing ACT between 1s < time < 3s|Send an uplink|(((
142 +If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, **blue led** will blink once.
143 +
130 130  Meanwhile, BLE module will be active and user can connect via BLE to configure device.
131 131  )))
132 -|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
133 -(% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network.
134 -(% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
146 +|Pressing ACT for more than 3s|Active Device|(((
147 +**Green led** will fast blink 5 times, device will enter **OTA mode** for 3 seconds. And then start to JOIN LoRaWAN network.
148 +
149 +**Green led** will solidly turn on for 5 seconds after joined in network.
150 +
135 135  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.
136 136  )))
137 -|(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB is in Deep Sleep Mode.
153 +|Fast press ACT 5 times.|Deactivate Device|red led will solid on for 5 seconds. Means SDI-12-LB are in Deep Sleep Mode.
138 138  
139 -== 1.7 Pin Mapping ==
140 140  
141 141  
142 -[[image:1675213198663-754.png]]
157 +1.
158 +11. Pin Mapping
143 143  
160 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png]]
144 144  
145 -== 1.8 BLE connection ==
162 +1.
163 +11. BLE connection
146 146  
147 -
148 148  SDI-12-LB support BLE remote configure.
149 149  
167 +
150 150  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:
151 151  
152 152  * Press button to send an uplink
... ... @@ -156,172 +156,175 @@
156 156  If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
157 157  
158 158  
159 -== 1.9 Mechanical ==
160 160  
161 161  
162 -[[image:image-20230201090139-2.png]]
179 +1.
180 +11. Mechanical
163 163  
164 -[[image:image-20230201090139-3.png]]
182 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image005.png]]
165 165  
166 -[[image:image-20230201090139-4.png]]
184 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png]]
167 167  
186 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image007.png]]
168 168  
169 -= 2. Configure SDI-12 to connect to LoRaWAN network =
170 170  
171 -== 2.1 How it works ==
172 172  
173 173  
174 -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 +1. Configure SDI-12 to connect to LoRaWAN network
192 +11. How it works
175 175  
194 +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.
176 176  
177 -== 2.2 Quick guide to connect to LoRaWAN server (OTAA) ==
178 178  
197 +1.
198 +11. ​Quick guide to connect to LoRaWAN server (OTAA)
179 179  
180 180  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.
181 181  
182 182  
183 -[[image:image-20230201090528-5.png||height="465" width="1111"]]
203 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png]]
184 184  
185 185  
186 186  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.
187 187  
188 188  
189 -(% style="color:blue" %)**Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB.
209 +**Step 1**: Create a device in TTN with the OTAA keys from SDI-12-LB.
190 190  
191 191  Each SDI-12-LB is shipped with a sticker with the default device EUI as below:
192 192  
193 193  
194 -[[image:image-20230201152430-20.jpeg]]
214 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image009.png]]
195 195  
196 196  
217 +
218 +
219 +
197 197  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
198 198  
199 199  
200 -(% style="color:blue" %)**Register the device**
223 +**Register the device**
201 201  
202 -[[image:1675213652444-622.png]]
225 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image010.png]]
203 203  
204 204  
205 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
228 +**Add APP EUI and DEV EUI**
206 206  
207 207  
208 -[[image:1675213661769-223.png]]
231 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png]]
209 209  
210 210  
211 -(% style="color:blue" %)**Add APP EUI in the application**
234 +**Add APP EUI in the application**
212 212  
213 213  
214 -[[image:1675213675852-577.png]]
237 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png]]
215 215  
216 216  
217 -(% style="color:blue" %)**Add APP KEY**
240 +**Add APP KEY**
218 218  
219 -[[image:1675213686734-883.png]]
242 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png]]
220 220  
221 221  
222 -(% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB
245 +**Step 2**: Activate on SDI-12-LB
223 223  
224 224  
225 225  Press the button for 5 seconds to activate the SDI-12-LB.
226 226  
227 -(% 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.
228 228  
251 +**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.
229 229  
230 -[[image:1675213704414-644.png]]
231 231  
254 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png]]
232 232  
233 -== ​2.3 SDI-12 Related Commands ==
234 234  
235 235  
236 -User need to configure SDI-12-LB to communicate with SDI-12 sensors otherwise the uplink payload will only include a few bytes.
237 237  
238 238  
239 -=== 2.3.1 Basic SDI-12 debug command ===
260 +1.
261 +11. ​SDI-12 Related Commands
240 240  
241 241  
242 -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.
264 +User need to configure SDI-12-LB to communicate with SDI-12 sensors otherwise the uplink payload will only include a few bytes.
243 243  
244 -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.
245 245  
246 -The following is the display information on the serial port and the server.
267 +1.
268 +11.
269 +111. Basic SDI-12 debug command
247 247  
271 +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.
248 248  
249 -[[image:image-20230201091027-6.png]]
250 250  
274 +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.
251 251  
252 -[[image:image-20230201091027-7.png||height="261" width="1179"]]
253 253  
277 +The following is the display information on the serial port and the server.
254 254  
279 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png]]
255 255  
256 -==== (% style="color:blue" %)**al!  ~-~- Get SDI-12 sensor Identification**(%%) ====
281 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png]]
257 257  
283 +al!  ~-~- Get SDI-12 sensor Identification
258 258  
259 259  * AT Command: AT+ADDRI=aa
260 260  * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa
261 261  
262 -(% style="color:#037691" %)**Parameter:  **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command)
288 +Parameter: aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command)
263 263  
264 -(% style="color:blue" %)**Example :   **(%%)AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)
290 +Example : AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)
265 265  
266 266  
293 +
267 267  The following is the display information on the serial port and the server.
268 268  
269 269  
270 -[[image:image-20230201091257-8.png]]
297 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png]]
271 271  
299 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png]]
272 272  
273 -[[image:image-20230201091257-9.png||height="225" width="1242"]]
274 274  
302 +aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!
275 275  
276 -==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%) ====
304 +aM!: Start Non-Concurrent Measurement
277 277  
306 +aMC!: Start Non-Concurrent Measurement – Request CRC
278 278  
279 -(% style="color:red" %)**aM! **(%%): Start Non-Concurrent Measurement
308 +aM1!- aM9!: Additional Measurements
280 280  
281 -(% style="color:red" %)**aMC! **(%%): Start Non-Concurrent Measurement – Request CRC
310 +aMC1!- aMC9!: Additional Measurements – Request CRC
282 282  
283 -(% style="color:red" %)**aM1!- aM9! **(%%): Additional Measurements
284 284  
285 -(% style="color:red" %)**aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC
286 -
287 -
288 288  * AT Command : AT+ADDRM=0,1,0,1
289 -
290 290  * LoRaWAN Downlink(prefix 0xAA01): 0xAA 01 30 01 00 01
291 291  
292 292  Downlink:AA 01 aa bb cc dd
293 293  
294 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
318 +aa: SDI-12 sensor address.
295 295  
296 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
320 +bb: 0: no CRC, 1: request CRC
297 297  
298 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
322 +cc: 1-9: Additional Measurement, 0: no additional measurement
299 299  
300 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return.
324 +dd: delay (in second) to send **aD0!** to get return.
301 301  
302 302  
303 303  The following is the display information on the serial port and the server.
304 304  
329 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]]
305 305  
306 -[[image:image-20230201091630-10.png]]
331 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]
307 307  
308 308  
309 -[[image:image-20230201091630-11.png||height="247" width="1165"]]
310 310  
335 +aC!, aCC!,  aC1!- aC9!,  aCC1!- aCC9!
311 311  
337 +aC!: Start Concurrent Measurement
312 312  
313 -==== (% style="color:blue" %)**aC!, aCC! aC1!- aC9!,  aCC1!- aCC9! **(%%) ====
339 +aCC!: Start Concurrent Measurement Request CRC
314 314  
341 +aC1!- aC9!: Start Additional Concurrent Measurements
315 315  
316 -(% style="color:red" %)**aC!**(%%) : Start Concurrent Measurement
343 +aCC1!- aCC9!: Start Additional Concurrent Measurements – Request CRC
317 317  
318 -(% style="color:red" %)**aCC!** (%%): Start Concurrent Measurement – Request CRC
319 319  
320 -(% style="color:red" %)**aC1!- aC9!**(%%) : Start Additional Concurrent Measurements
321 -
322 -(% style="color:red" %)**aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC
323 -
324 -
325 325  * AT Command : AT+ADDRC=0,1,0,1 
326 326  
327 327  * LoRaWAN Downlink(0xAA02): 0xAA 02 30 01 00 01
... ... @@ -328,29 +328,24 @@
328 328  
329 329  Downlink: AA 02 aa bb cc dd
330 330  
331 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
352 +aa: SDI-12 sensor address.
332 332  
333 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
354 +bb: 0: no CRC, 1: request CRC
334 334  
335 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
356 +cc: 1-9: Additional Measurement, 0: no additional measurement
336 336  
337 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return.
358 +dd: delay (in second) to send **aD0!** to get return.
338 338  
339 339  
340 340  The following is the display information on the serial port and the server.
341 341  
363 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]]
342 342  
343 -[[image:image-20230201091954-12.png]]
365 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]]
344 344  
345 345  
346 -[[image:image-20230201091954-13.png||height="203" width="1117"]]
368 +aR0!- aR9!,  aRC0!- aRC9!
347 347  
348 -
349 -
350 -
351 -==== (% style="color:blue" %)**aR0!- aR9!,  aRC0!- aRC9!**(%%) ====
352 -
353 -
354 354  Start Continuous Measurement
355 355  
356 356  Start Continuous Measurement – Request CRC
... ... @@ -361,48 +361,46 @@
361 361  
362 362  Downlink: AA 03 aa bb cc dd
363 363  
364 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.
380 +aa: SDI-12 sensor address.
365 365  
366 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC
382 +bb: 0: no CRC, 1: request CRC
367 367  
368 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement
384 +cc: 1-9: Additional Measurement, 0: no additional measurement
369 369  
370 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)**aD0!**(%%) to get return.
386 +dd: delay (in second) to send **aD0!** to get return.
371 371  
372 372  
373 373  The following is the display information on the serial port and the server.
374 374  
391 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
375 375  
393 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]
376 376  
377 -[[image:image-20230201092208-14.png]]
395 +1.
396 +11.
397 +111. Advance SDI-12 Debug command
378 378  
379 -
380 -[[image:image-20230201092208-15.png||height="214" width="1140"]]
381 -
382 -
383 -=== 2.3.2 Advance SDI-12 Debug command ===
384 -
385 -
386 386  This command can be used to debug all SDI-12 command.
387 387  
388 388  
389 389  LoRaWAN Downlink: A8 aa xx xx xx xx bb cc
390 390  
391 -(% style="color:#037691" %)**aa **(%%): total SDI-12 command length
404 +(aa: total SDI-12 command length)
392 392  
393 -(% style="color:#037691" %)**xx **(%%): SDI-12 command
406 +(xx: SDI-12 command)
394 394  
395 -(% style="color:#037691" %)**bb **(%%): Delay to wait for return
408 +(bb: Delay to wait for return)
396 396  
397 -(% style="color:#037691" %)**cc **(%%): 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100
410 +(cc: 0: dont uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100)
398 398  
399 399  
400 -(% style="color:blue" %)**Example: **(%%) AT+CFGDEV =0RC0!,1
413 +Example: AT+CFGDEV =0RC0!,1
401 401  
402 -(% style="color:#037691" %)**0RC0! **(%%): SDI-12 Command,
415 +0RC0!: SDI-12 Command,
403 403  
404 -(% style="color:#037691" %)**1 **(%%): Delay 1 second.  ( 0: 810 mini-second)
417 +1: Delay 1 second.  ( 0: 810 mini-second)
405 405  
419 +
406 406  Equal Downlink: 0xA8 05 30 52 43 30 21 01 01
407 407  
408 408  
... ... @@ -409,155 +409,161 @@
409 409  The following is the display information on the serial port and the server.
410 410  
411 411  
412 -[[image:image-20230201092355-16.png]]
426 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]
413 413  
428 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]]
414 414  
415 -[[image:image-20230201092355-17.png||height="426" width="1135"]]
430 +1.
431 +11.
432 +111. Convert ASCII to String
416 416  
417 -
418 -=== 2.3.3 Convert ASCII to String ===
419 -
420 -
421 421  This command is used to convert between ASCII and String format.
422 422  
436 +
423 423  AT+CONVFORM ( Max length: 80 bytes)
424 424  
439 +Example:
425 425  
426 -(% style="color:blue" %)**Example:**
441 +1)AT+CONVFORM=0,string   Convert String from String to ASCII
427 427  
428 -1) AT+CONVFORM=0, string Convert String from String to ASCII
443 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]]
429 429  
430 -[[image:1675214845056-885.png]]
431 431  
446 +2)AT+CONVFORM=1,ASCII   Convert ASCII to String.
432 432  
433 -2) AT+CONVFORM=1, ASCII Convert ASCII to String.
448 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png]]
434 434  
435 -[[image:1675214856590-846.png]]
436 436  
437 437  
438 -=== 2.3.4 Define periodically SDI-12 commands and uplink. ===
452 +1.
453 +11.
454 +111. Define periodically SDI-12 commands and uplink.
439 439  
440 -
441 441  AT+COMMANDx & AT+DATACUTx
442 442  
443 443  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.
444 444  
445 445  
446 -* (% style="color:blue" %)**AT Command:**
461 +* ** AT Command:**
447 447  
448 -(% style="color:#037691" %)**AT+COMMANDx=var1,var2,var3,var4.**
463 +**AT+COMMANDx=var1,var2,var3,var4.**
449 449  
450 -(% style="color:red" %)**var1**(%%): SDI-12 command , for example: 0RC0!
465 +var1: SDI-12 command , for example: 0RC0!
451 451  
452 -(% style="color:red" %)**var2**(%%): Wait timeout for return. (unit: second)
467 +var2: Wait timeout for return. (unit: second)
453 453  
454 -(% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//.
469 +var3: Whether to send //addrD0!// to get return after var2 timeout. 0: Dont Send //addrD0!//; 1: Send //addrD0!//.
455 455  
456 -(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries.
471 +var4: validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries.
457 457  
458 -(% style="color:red" %)**0 **(%%) No validation check;
473 +0  No validation check;
459 459  
460 -(% style="color:red" %)**1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E);
475 +1  Check if return chars are printable char(0x20 ~~ 0x7E);
461 461  
462 -(% style="color:#red" %)**2**(%%)  Check if there is return from SDI-12 sensor
477 +2  Check if there is return from SDI-12 sensor
463 463  
464 -(% style="color:red" %)**3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request);
479 +3  Check if return pass CRC check ( SDI-12 command var1 must include CRC request);
465 465  
466 466  
467 -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.
482 +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.
468 468  
469 469  
470 -(% style="color:blue" %)**AT+DATACUTx**(%%) : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.
485 +**AT+DATACUTx** : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.
471 471  
472 -(% border="1" style="background-color:#f7faff; width:436px" %)
473 -|(% style="width:433px" %)(((
474 -**AT+DATACUTx=a,b,c**
487 +|(((
488 +AT+DATACUTx=a,b,c
475 475  
476 -**a**:  length for the return of AT+COMMAND
490 +a: length for the return of AT+COMMAND
477 477  
478 -**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.
492 +b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.
479 479  
480 -**c**:  define the position for valid value. 
494 +c: define the position for valid value. 
481 481  )))
482 482  
483 -For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895” , Below AT+DATACUT1 will get different result to combine payload:
484 484  
498 +For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895” ,. Below AT+DATACUT1 will get different result to combine payload:
485 485  
486 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
487 -|(% style="width:170px" %)**AT+DATACUT1 value**|(% style="width:338px" %)**Final Result to combine Payload**
488 -|(% style="width:170px" %)34,1,1+2+3|(% style="width:338px" %)0D 00 01 30 31 33
489 -|(% 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
490 -|(% 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
491 491  
492 -* (% style="color:blue" %)** Downlink Payload:**
501 +|AT+DATACUT1 value|Final Result to combine Payload
502 +|34,1,1+2+3|0D 00 01 30 31 33
503 +|34,2,1~~8+12~~16|0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32
504 +|34,2,1~~34|0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A
493 493  
494 -(% style="color:blue" %)**0xAF**(%%)  downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
495 495  
496 496  
497 -(% style="color:red" %)**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**
508 +* ** Downlink Payload:**
498 498  
510 +**0xAF**  downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
499 499  
500 -Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY(%%)**
501 501  
513 +**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**
514 +
515 +
516 +Format: ** AF MM NN LL XX XX XX XX YY**
517 +
502 502  Where:
503 503  
504 -* (% style="color:#037691" %)**MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
505 -* (% style="color:#037691" %)**NN **(%%):  1: set the AT+DATACUT value ; 2: set the AT+DATACUT value.
506 -* (% style="color:#037691" %)**LL **(%%):  The length of AT+COMMAND or AT+DATACUT command
507 -* (% style="color:#037691" %)**XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command
508 -* (% 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. 
520 +* MM: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
521 +* NN:  1: set the AT+DATACUT value ; 2: set the AT+DATACUT value.
522 +* LL:  The length of AT+COMMAND or AT+DATACUT command
523 +* XX XX XX XX: AT+COMMAND or AT+DATACUT command
524 +* 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. 
509 509  
510 -(% style="color:blue" %)**Example:**
526 +Example:
511 511  
512 -[[image:image-20230201094129-18.png]]
528 +**AF 03 01 07 30 4D 43 21 01 01 01 00**: Same as AT+COMMAND3=**0MC!**,** 1**,** 1**,** 1**
513 513  
530 +**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10**
514 514  
515 -(% style="color:blue" %)**Clear SDI12 Command**
532 +**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10**
516 516  
534 +
535 +**Clear SDI12 Command**
536 +
517 517  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
518 518  
519 519  
520 -* (% style="color:#037691" %)**AT Command:**
540 +* ** AT Command:**
521 521  
522 -(% style="color:#4f81bd" %)**AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase
542 +**~ AT+CMDEAR=mm,nn**   mm: start position of erase ,nn: stop position of erase
523 523  
524 524  
525 525  Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
526 526  
527 527  
528 -* (% style="color:#037691" %)** Downlink Payload:**
548 +* ** Downlink Payload:**
529 529  
530 -(% style="color:#4f81bd" %)**0x09 aa bb**(%%)  same as AT+CMDEAR=aa,bb
550 +**~ 0x09 aa bb**  same as AT+CMDEAR=aa,bb
531 531  
532 532  
533 533  
534 -(% style="color:blue" %)**command combination**
535 535  
555 +**command combination**
556 +
536 536  Below shows a screen shot how the results combines together to a uplink payload.
537 537  
538 -[[image:1675215745275-920.png]]
559 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image029.png]]
539 539  
540 540  
541 -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.
562 +If user dont want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1.
542 542  
543 -(% 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.
564 +**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.
544 544  
545 545  
546 -(% 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.
567 +For example: as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result.
547 547  
548 548  
549 -[[image:1675215782925-448.png]]
570 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png]]
550 550  
551 551  
552 -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.
573 +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.
553 553  
554 554  
555 555  
556 -(% style="color:blue" %)**Compose Uplink**
577 +**Compose Uplink**
557 557  
579 +**AT+DATAUP=0**
558 558  
559 -(% style="color:#4f81bd" %)**AT+DATAUP=0**
560 -
561 561  Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK.
562 562  
563 563  Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx
... ... @@ -565,16 +565,16 @@
565 565  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
566 566  
567 567  
568 -[[image:1675215828102-844.png]]
588 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image031.png]]
569 569  
570 570  
571 -(% style="color:#4f81bd" %)**AT+DATAUP=1**
591 +**AT+DATAUP=1**
572 572  
573 573  Compose the uplink payload with value returns in sequence and send with Multiply UPLINKs.
574 574  
575 575  Final Payload is
576 576  
577 -__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__
597 +**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
578 578  
579 579  1. Battery Info (2 bytes): Battery voltage
580 580  1. PAYVER (1 byte): Defined by AT+PAYVER
... ... @@ -582,24 +582,27 @@
582 582  1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
583 583  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
584 584  
585 -[[image:1675215848113-696.png]]
605 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png]]
586 586  
587 587  
588 -(% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**
608 +**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**
589 589  
590 -* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
591 -* For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
592 -* For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
593 -* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
610 + ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
594 594  
595 -(% style="color:red" %)**When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**
612 + * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
596 596  
597 -(% 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.**
614 + * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
598 598  
616 + ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
599 599  
600 -== 2.4 Uplink Payload ==
618 + *** When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**
601 601  
620 +**~ When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.**
602 602  
622 +1.
623 +11. Uplink Payload
624 +
625 +
603 603  Uplink payloads have two types:
604 604  
605 605  * Distance Value: Use FPORT=2
... ... @@ -608,29 +608,31 @@
608 608  The application server should parse the correct value based on FPORT settings.
609 609  
610 610  
611 -=== 2.4.1 Device Payload, FPORT~=5 ===
634 +1.
635 +11.
636 +111. Device Payload, FPORT=5
612 612  
613 -
614 614  Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server.
615 615  
640 +
616 616  Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink.
617 617  
618 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
619 -|(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)**
620 -|(% 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**
621 -|(% style="width:102px" %)**Value**|(% style="width:67px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:89px" %)Frequency Band|(% style="width:52px" %)Sub-band|(% style="width:44px" %)BAT
622 622  
623 -Example parse in TTNv3
644 +|(% colspan="6" %)**Device Status (FPORT=5)**
645 +|**Size (bytes)**|**1**|**2**|**1**|**1**|**2**
646 +|**Value**|Sensor Model|Firmware Version|Frequency Band|Sub-band|BAT
624 624  
625 -[[image:1675215946738-635.png]]
626 626  
649 +Example parse in TTNv3
627 627  
628 -(% style="color:#037691" %)**Sensor Model**(%%): For SDI-12-LB, this value is 0x17
651 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png]]
629 629  
630 -(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
653 +**Sensor Model**: For SDI-12-LB, this value is 0x17
631 631  
632 -(% style="color:#037691" %)**Frequency Band**:
655 +**Firmware Version**: 0x0100, Means: v1.0.0 version
633 633  
657 +**Frequency Band**:
658 +
634 634  *0x01: EU868
635 635  
636 636  *0x02: US915
... ... @@ -660,7 +660,7 @@
660 660  *0x0e: MA869
661 661  
662 662  
663 -(% style="color:#037691" %)**Sub-Band**:
688 +**Sub-Band**:
664 664  
665 665  AU915 and US915:value 0x00 ~~ 0x08
666 666  
... ... @@ -669,7 +669,7 @@
669 669  Other Bands: Always 0x00
670 670  
671 671  
672 -(% style="color:#037691" %)**Battery Info**:
697 +**Battery Info**:
673 673  
674 674  Check the battery voltage.
675 675  
... ... @@ -678,7 +678,9 @@
678 678  Ex2: 0x0B49 = 2889mV
679 679  
680 680  
681 -=== 2.4.2 Uplink Payload, FPORT~=2 ===
706 +1.
707 +11.
708 +111. Uplink Payload, FPORT=2
682 682  
683 683  
684 684  There are different cases for uplink. See below
... ... @@ -687,25 +687,33 @@
687 687  
688 688  * Periodically Uplink: FPORT=2
689 689  
690 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
691 -|(% style="width:93px" %)(((
692 -**Size(bytes)**
693 -)))|(% style="width:83px" %)**2**|(% style="width:70px" %)**1**|(% style="width:234px" %)**Length depends on the return from the commands**
694 -|(% style="width:93px" %)**Value**|(% style="width:83px" %)(((
717 +
718 +|(((
719 +**Size**
720 +
721 +**(bytes)**
722 +)))|**2**|**1**|**Length depends on the return from the commands**
723 +|**Value**|(((
695 695  Battery(mV)
725 +
696 696  &
727 +
697 697  Interrupt_Flag
698 -)))|(% style="width:70px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:234px" %)(((
699 -If the valid payload is too long and exceed the maximum support.
729 +)))|[[PAYLOAD_VER>>path:#Probe_Model]]|(((
730 +If the valid payload is too long and exceed the maximum support
731 +
700 700  Payload length in server,server will show payload not provided in the LoRaWAN server.
701 701  )))
702 702  
703 -[[image:1675216282284-923.png]]
704 704  
736 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]]
705 705  
706 -=== 2.4.3 Battery Info ===
707 707  
708 708  
740 +1.
741 +11.
742 +111. Battery Info
743 +
709 709  Check the battery voltage for SDI-12-LB.
710 710  
711 711  Ex1: 0x0B45 = 2885mV
... ... @@ -713,12 +713,14 @@
713 713  Ex2: 0x0B49 = 2889mV
714 714  
715 715  
716 -=== 2.4.4 Interrupt Pin ===
751 +1.
752 +11.
753 +111. Interrupt Pin
717 717  
755 +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]].
718 718  
719 -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"]].
720 720  
721 -**Example:**
758 +Example:
722 722  
723 723  Ex1: 0x0B45:0x0B&0x80= 0x00    Normal uplink packet.
724 724  
... ... @@ -725,60 +725,244 @@
725 725  Ex2: 0x8B49:0x8B&0x80= 0x80    Interrupt Uplink Packet.
726 726  
727 727  
728 -=== 2.4.5 Payload version ===
765 +1.
766 +11.
767 +111. Payload version
729 729  
730 730  
731 731  
732 -=== 2.4.6 ​Decode payload in The Things Network ===
733 733  
734 734  
773 +
774 +
775 +1.
776 +11.
777 +111. ​Decode payload in The Things Network
778 +
735 735  While using TTN network, you can add the payload format to decode the payload.
736 736  
737 -[[image:1675216779406-595.png]]
781 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]]
738 738  
739 739  
740 740  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.
741 741  
742 -SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
743 743  
787 +下面的解码生成超链接放进去.
744 744  
745 -== 2.5 Uplink Interval ==
789 +function Decoder(bytes, port) {
746 746  
791 + if(port==5)
747 747  
748 -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:
793 + {
749 749  
750 -[[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]]]]
795 + var freq_band;
751 751  
797 + var sub_band;
752 752  
799 + var sensor;
753 753  
754 754  
755 -== 2.6 Frequency Plans ==
802 + if(bytes[0]==0x17)
756 756  
804 + sensor= "SDI12-LB";
757 757  
758 -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.
759 759  
760 -[[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/]]
807 + var firm_ver= (bytes[1]&0x0f)+'.'+(bytes[2]>>4&0x0f)+'.'+(bytes[2]&0x0f);
761 761  
762 762  
763 -== 2.7 Firmware Change Log ==
810 + if(bytes[3]==0x01)
764 764  
812 + freq_band="EU868";
765 765  
814 + else if(bytes[3]==0x02)
815 +
816 + freq_band="US915";
817 +
818 + else if(bytes[3]==0x03)
819 +
820 + freq_band="IN865";
821 +
822 + else if(bytes[3]==0x04)
823 +
824 + freq_band="AU915";
825 +
826 + else if(bytes[3]==0x05)
827 +
828 + freq_band="KZ865";
829 +
830 + else if(bytes[3]==0x06)
831 +
832 + freq_band="RU864";
833 +
834 + else if(bytes[3]==0x07)
835 +
836 + freq_band="AS923";
837 +
838 + else if(bytes[3]==0x08)
839 +
840 + freq_band="AS923_1";
841 +
842 + else if(bytes[3]==0x09)
843 +
844 + freq_band="AS923_2";
845 +
846 + else if(bytes[3]==0x0A)
847 +
848 + freq_band="AS923_3";
849 +
850 + else if(bytes[3]==0x0F)
851 +
852 + freq_band="AS923_4";
853 +
854 + else if(bytes[3]==0x0B)
855 +
856 + freq_band="CN470";
857 +
858 + else if(bytes[3]==0x0C)
859 +
860 + freq_band="EU433";
861 +
862 + else if(bytes[3]==0x0D)
863 +
864 + freq_band="KR920";
865 +
866 + else if(bytes[3]==0x0E)
867 +
868 + freq_band="MA869";
869 +
870 +
871 + if(bytes[4]==0xff)
872 +
873 + sub_band="NULL";
874 +
875 + else
876 +
877 + sub_band=bytes[4];
878 +
879 +
880 + var bat= (bytes[5]<<8 | bytes[6])/1000;
881 +
882 +
883 + return {
884 +
885 + SENSOR_MODEL:sensor,
886 +
887 + FIRMWARE_VERSION:firm_ver,
888 +
889 + FREQUENCY_BAND:freq_band,
890 +
891 + SUB_BAND:sub_band,
892 +
893 + BAT:bat,
894 +
895 + }
896 +
897 + }
898 +
899 + else if(port==100)
900 +
901 + {
902 +
903 + var datas_sum={};
904 +
905 + for(var j=0;j<bytes.length;j++)
906 +
907 + {
908 +
909 + var datas= String.fromCharCode(bytes[j]);
910 +
911 + if(j=='0')
912 +
913 + datas_sum.datas_sum=datas;
914 +
915 + else
916 +
917 + datas_sum.datas_sum+=datas;
918 +
919 + }
920 +
921 +
922 + return datas_sum;
923 +
924 + }
925 +
926 + else
927 +
928 + {
929 +
930 + var decode={};
931 +
932 + decode.EXTI_Trigger= (bytes[0] & 0x80)? "TRUE":"FALSE";  
933 +
934 + decode.BatV= ((bytes[0]<<8 | bytes[1])&0x7FFF)/1000;
935 +
936 + decode.Payver= bytes[2];
937 +
938 + for(var i=3;i<bytes.length;i++)
939 +
940 + {
941 +
942 + var data= String.fromCharCode(bytes[i]);
943 +
944 + if(i=='3')
945 +
946 + decode.data_sum=data;
947 +
948 + else
949 +
950 + decode.data_sum+=data;
951 +
952 + }
953 +
954 + return decode; 
955 +
956 + }
957 +
958 +
959 +}
960 +
961 +
962 +1.
963 +11. Uplink Interval
964 +
965 +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:
966 +
967 +[[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]]
968 +
969 +
970 +
971 +1.
972 +11. Frequency Plans
973 +
974 +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.
975 +
976 +
977 +[[https:~~/~~/wiki.dragino.com/index.php?title=End_Device_Frequency_Band>>url:https://wiki.dragino.com/index.php?title=End_Device_Frequency_Band]]
978 +
979 +
980 +
981 +1.
982 +11. Firmware Change Log
983 +
766 766  **Firmware download link:**
767 767  
768 768  [[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]
769 769  
770 770  
771 -= 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink =
772 772  
990 +1. Configure SDI-12-LB via AT Command or LoRaWAN Downlink
773 773  
774 774  Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink.
775 775  
776 -* AT Command Connection: See [[FAQ>>||anchor="H7.FAQ"]].
777 -* LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
994 +* AT Command Connection: See [[FAQ>>path:#AT_COMMAND]].
995 +* LoRaWAN Downlink instruction for different platforms:
778 778  
997 +[[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]]
998 +
999 +
779 779  There are two kinds of commands to configure SDI-12-LB, they are:
780 780  
781 -* (% style="color:blue" %)**General Commands**.
1002 +* **General Commands**.
782 782  
783 783  These commands are to configure:
784 784  
... ... @@ -787,231 +787,270 @@
787 787  
788 788  They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
789 789  
790 -[[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/]]
1011 +[[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_Downlink_Command>>url:http://wiki.dragino.com/index.php?title=End_Device_Downlink_Command]]
791 791  
792 792  
793 -* (% style="color:blue" %)**Commands special design for SDI-12-LB**
1014 +* **Commands special design for SDI-12-LB**
794 794  
795 795  These commands only valid for SDI-12-LB, as below:
796 796  
797 797  
798 -== ​​​​​​​3.1 Set Transmit Interval Time ==
799 799  
1020 +1.
1021 +11. Set Transmit Interval Time
800 800  
801 801  Feature: Change LoRaWAN End Node Transmit Interval.
802 802  
803 -(% style="color:blue" %)**AT Command: AT+TDC**
1025 +**AT Command: AT+TDC**
804 804  
805 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %)
806 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 137px;" %)**Function**|=**Response**
807 -|(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
1027 +|**Command Example**|**Function**|**Response**
1028 +|AT+TDC=?|Show current transmit Interval|(((
808 808  30000
1030 +
809 809  OK
1032 +
810 810  the interval is 30000ms = 30s
811 811  )))
812 -|(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
1035 +|AT+TDC=60000|Set Transmit Interval|(((
813 813  OK
1037 +
814 814  Set transmit interval to 60000ms = 60 seconds
815 815  )))
816 816  
817 -(% style="color:blue" %)**Downlink Command: 0x01**
818 818  
1042 +**Downlink Command: 0x01**
819 819  
820 820  Format: Command Code (0x01) followed by 3 bytes time value.
821 821  
822 -If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
1046 +If the downlink payload=0100003C, it means set the END Nodes Transmit Interval to 0x00003C=60(S), while type code is 01.
823 823  
824 -* Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
825 -* Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
1048 +* Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds
1049 +* Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds
826 826  
827 -== 3.2 Set Interrupt Mode ==
828 828  
829 829  
1053 +1.
1054 +11. Set Interrupt Mode
1055 +
830 830  Feature, Set Interrupt mode for GPIO_EXIT.
831 831  
832 -(% style="color:blue" %)**AT Command: AT+INTMOD**
1058 +**AT Command: AT+INTMOD**
833 833  
834 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %)
835 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 187px;" %)**Function**|=(% style="width: 165px;" %)**Response**
836 -|(% style="width:156px" %)AT+INTMOD=?|(% style="width:187px" %)Show current interrupt mode|(% style="width:165px" %)(((
1060 +|**Command Example**|**Function**|**Response**
1061 +|AT+INTMOD=?|Show current interrupt mode|(((
837 837  0
1063 +
838 838  OK
1065 +
839 839  the mode is 0 = No interruption
840 840  )))
841 -|(% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)(((
1068 +|AT+INTMOD=2|(((
842 842  Set Transmit Interval
843 -~1. (Disable Interrupt),
844 -2. (Trigger by rising and falling edge)
845 -3. (Trigger by falling edge)
846 -4. (Trigger by rising edge)
847 -)))|(% style="width:165px" %)OK
848 848  
849 -(% style="color:blue" %)**Downlink Command: 0x06**
1071 +1. (Disable Interrupt),
1072 +1. (Trigger by rising and falling edge),
1073 +1. (Trigger by falling edge)
1074 +1. (Trigger by rising edge)
1075 +)))|OK
850 850  
1077 +
1078 +**Downlink Command: 0x06**
1079 +
851 851  Format: Command Code (0x06) followed by 3 bytes.
852 852  
853 853  This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
854 854  
855 -* Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
856 -* Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1084 +* Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode
1085 +* Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger
857 857  
858 -== 3.3 Set the output time ==
859 859  
1088 +1.
1089 +11. Set the output time
860 860  
861 861  Feature, Control the output 3V3 , 5V or 12V.
862 862  
863 -(% style="color:blue" %)**AT Command: AT+3V3T**
1093 +**AT Command: AT+3V3T**
864 864  
865 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:474px" %)
866 -|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 201px;" %)**Function**|=(% style="width: 116px;" %)**Response**
867 -|(% style="width:154px" %)AT+3V3T=?|(% style="width:201px" %)Show 3V3 open time.|(% style="width:116px" %)(((
1095 +|**Command Example**|**Function**|**Response**
1096 +|AT+3V3T=?|Show 3V3 open time.|(((
868 868  0
1098 +
869 869  OK
870 870  )))
871 -|(% style="width:154px" %)AT+3V3T=0|(% style="width:201px" %)Normally open 3V3 power supply.|(% style="width:116px" %)(((
1101 +|AT+3V3T=0|Normally open 3V3 power supply.|(((
872 872  OK
1103 +
873 873  default setting
874 874  )))
875 -|(% style="width:154px" %)AT+3V3T=1000|(% style="width:201px" %)Close after a delay of 1000 milliseconds.|(% style="width:116px" %)(((
1106 +|AT+3V3T=1000|Close after a delay of 1000 milliseconds.|(((
876 876  OK
1108 +
1109 +
877 877  )))
878 -|(% style="width:154px" %)AT+3V3T=65535|(% style="width:201px" %)Normally closed 3V3 power supply.|(% style="width:116px" %)(((
1111 +|AT+3V3T=65535|Normally closed 3V3 power supply.|(((
879 879  OK
1113 +
1114 +
880 880  )))
881 881  
882 -(% style="color:blue" %)**AT Command: AT+5VT**
883 883  
884 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:470px" %)
885 -|=(% style="width: 155px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 114px;" %)**Response**
886 -|(% style="width:155px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:114px" %)(((
1118 +**AT Command: AT+5VT**
1119 +
1120 +|**Command Example**|**Function**|**Response**
1121 +|AT+5VT=?|Show 5V open time.|(((
887 887  0
1123 +
888 888  OK
889 889  )))
890 -|(% style="width:155px" %)AT+5VT=0|(% style="width:196px" %)Normally closed 5V power supply.|(% style="width:114px" %)(((
1126 +|AT+5VT=0|Normally closed 5V power supply.|(((
891 891  OK
1128 +
892 892  default setting
893 893  )))
894 -|(% style="width:155px" %)AT+5VT=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:114px" %)(((
1131 +|AT+5VT=1000|Close after a delay of 1000 milliseconds.|(((
895 895  OK
1133 +
1134 +
896 896  )))
897 -|(% style="width:155px" %)AT+5VT=65535|(% style="width:196px" %)Normally open 5V power supply.|(% style="width:114px" %)(((
1136 +|AT+5VT=65535|Normally open 5V power supply.|(((
898 898  OK
1138 +
1139 +
899 899  )))
900 900  
901 -(% style="color:blue" %)**AT Command: AT+12VT**
902 902  
903 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:443px" %)
904 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 199px;" %)**Function**|=(% style="width: 83px;" %)**Response**
905 -|(% style="width:156px" %)AT+12VT=?|(% style="width:199px" %)Show 12V open time.|(% style="width:83px" %)(((
1143 +**AT Command: AT+12VT**
1144 +
1145 +|**Command Example**|**Function**|**Response**
1146 +|AT+12VT=?|Show 12V open time.|(((
906 906  0
1148 +
907 907  OK
908 908  )))
909 -|(% style="width:156px" %)AT+12VT=0|(% style="width:199px" %)Normally closed 12V power supply.|(% style="width:83px" %)OK
910 -|(% style="width:156px" %)AT+12VT=500|(% style="width:199px" %)Close after a delay of 500 milliseconds.|(% style="width:83px" %)(((
1151 +|AT+12VT=0|Normally closed 12V power supply.|OK
1152 +|AT+12VT=500|Close after a delay of 500 milliseconds.|(((
911 911  OK
1154 +
1155 +
912 912  )))
913 913  
914 -(% style="color:blue" %)**Downlink Command: 0x07**
915 915  
1159 +**Downlink Command: 0x07**
1160 +
916 916  Format: Command Code (0x07) followed by 3 bytes.
917 917  
918 918  The first byte is which power, the second and third bytes are the time to turn on.
919 919  
920 -* Example 1: Downlink Payload: 070101F4  **~-~-->**  AT+3V3T=500
921 -* Example 2: Downlink Payload: 0701FFFF   **~-~-->**  AT+3V3T=65535
922 -* Example 3: Downlink Payload: 070203E8  **~-~-->**  AT+5VT=1000
923 -* Example 4: Downlink Payload: 07020000  **~-~-->**  AT+5VT=0
924 -* Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
925 -* Example 6: Downlink Payload: 07030000  **~-~-->**  AT+12VT=0
1165 +* Example 1: Downlink Payload: 070101F4  -> AT+3V3T=500
1166 +* Example 2: Downlink Payload: 0701FFFF   -> AT+3V3T=65535
1167 +* Example 3: Downlink Payload: 070203E8  -> AT+5VT=1000
1168 +* Example 4: Downlink Payload: 07020000  -> AT+5VT=0
1169 +* Example 5: Downlink Payload: 070301F4  -> AT+12VT=500
1170 +* Example 6: Downlink Payload: 07030000  -> AT+12VT=0
926 926  
927 -== 3.4 Set the all data mode ==
928 928  
1173 +1.
1174 +11. Set the all data mode
929 929  
930 930  Feature, Set the all data mode.
931 931  
932 -(% style="color:blue" %)**AT Command: AT+ALLDATAMOD**
1178 +**AT Command: AT+ALLDATAMOD**
933 933  
934 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
935 -|=**Command Example**|=**Function**|=**Response**
1180 +|**Command Example**|**Function**|**Response**
936 936  |AT+ALLDATAMOD=?|Show current all data mode|(((
937 937  0
1183 +
1184 +
938 938  OK
939 939  )))
940 940  |AT+ALLDATAMOD=1|Set all data mode is 1.|OK
941 941  
942 -(% style="color:blue" %)**Downlink Command: 0xAB**
943 943  
1190 +**Downlink Command: 0xAB**
1191 +
944 944  Format: Command Code (0xAB) followed by 1 bytes.
945 945  
946 -* Example 1: Downlink Payload: AB 00  ~/~/  AT+ALLDATAMOD=0
947 -* Example 2: Downlink Payload: AB 01  ~/~/  AT+ALLDATAMOD=1
1194 +* Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0
1195 +* Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1
948 948  
949 -== 3.5 Set the splicing payload for uplink ==
950 950  
1198 +1.
1199 +11. Set the splicing payload for uplink
951 951  
952 952  Feature, splicing payload for uplink.
953 953  
954 -(% style="color:blue" %)**AT Command: AT+DATAUP**
1203 +**AT Command: AT+DATAUP**
955 955  
956 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
957 -|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 266px;" %)**Function**|=**Response**
958 -|(% style="width:154px" %)AT+DATAUP =?|(% style="width:266px" %)Show current splicing payload for uplink mode|(((
1205 +|**Command Example**|**Function**|**Response**
1206 +|AT+DATAUP =?|Show current splicing payload for uplink mode|(((
959 959  0
1208 +
1209 +
960 960  OK
961 961  )))
962 -|(% style="width:154px" %)AT+DATAUP =0|(% style="width:266px" %)(((
1212 +|AT+DATAUP =0|(((
963 963  Set splicing payload for uplink mode is 0.
1214 +
1215 +
964 964  )))|(((
965 965  OK
1218 +
1219 +
966 966  )))
967 -|(% 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
968 -|(% style="width:154px" %)AT+DATAUP =1,20000|(% style="width:266px" %)(((
969 -Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds.
1221 +|AT+DATAUP =1|Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|OK
1222 +|AT+DATAUP =1,20000|(((
1223 +Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds.
1224 +
1225 +
970 970  )))|OK
971 971  
972 -(% style="color:blue" %)**Downlink Command: 0xAD**
973 973  
1229 +**Downlink Command: 0xAD**
1230 +
974 974  Format: Command Code (0xAD) followed by 1 bytes or 5 bytes.
975 975  
976 -* Example 1: Downlink Payload: AD 00  ~/~/  AT+DATAUP=0
977 -* Example 2: Downlink Payload: AD 01  ~/~/  AT+DATAUP =1
978 -* Example 3: Downlink Payload: AD 01 00 00 14  ~/~/  AT+DATAUP =1,20000
1233 +* Example 1: Downlink Payload: AD 00 ~/~/ AT+DATAUP=0
1234 +* Example 2: Downlink Payload: AD 01 ~/~/ AT+DATAUP =1
1235 +* Example 3: Downlink Payload: AD 01 00 00 14~/~/ AT+DATAUP =1,20000
979 979  
980 980  This means that the interval is set to 0x000014=20S
981 981  
982 982  
983 -== 3.6 Set the payload version ==
1240 +1.
1241 +11. Set the payload version
984 984  
985 985  Feature, Set the payload version.
986 986  
987 -(% style="color:blue" %)**AT Command: AT+PAYVER**
1245 +**AT Command: AT+PAYVER**
988 988  
989 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
990 -|=(% style="width: 158px;" %)**Command Example**|=(% style="width: 192px;" %)**Function**|=**Response**
991 -|(% style="width:158px" %)AT+PAYVER=?|(% style="width:192px" %)Show current payload version|(((
1247 +|**Command Example**|**Function**|**Response**
1248 +|AT+PAYVER=?|Show current payload version|(((
992 992  1
1250 +
1251 +
993 993  OK
994 994  )))
995 -|(% style="width:158px" %)AT+PAYVER=5|(% style="width:192px" %)Set payload version is 5.|OK
1254 +|AT+PAYVER=5|Set payload version is 5.|OK
996 996  
997 -(% style="color:blue" %)**Downlink Command: 0xAE**
998 998  
1257 +**Downlink Command: 0xAE**
1258 +
999 999  Format: Command Code (0xAE) followed by 1 bytes.
1000 1000  
1001 -* Example 1: Downlink Payload: AE 01  ~/~/  AT+PAYVER=1
1002 -* Example 2: Downlink Payload: AE 05  ~/~/  AT+PAYVER=5
1261 +* Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1
1262 +* Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5
1003 1003  
1004 -= 4. Battery & how to replace =
1005 1005  
1006 -== 4.1 Battery Type ==
1007 1007  
1266 +1. Battery & how to replace
1267 +11. Battery Type
1008 1008  
1009 -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.
1269 +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.
1010 1010  
1011 1011  
1012 1012  The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1013 1013  
1014 -[[image:1675234124233-857.png]]
1274 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png]]
1015 1015  
1016 1016  
1017 1017  Minimum Working Voltage for the SDI-12-LB:
... ... @@ -1019,25 +1019,32 @@
1019 1019  SDI-12-LB:  2.45v ~~ 3.6v
1020 1020  
1021 1021  
1022 -== 4.2 Replace Battery ==
1282 +1.
1283 +11. Replace Battery
1023 1023  
1024 -
1025 1025  Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery.
1026 1026  
1027 1027  And make sure the positive and negative pins match.
1028 1028  
1029 1029  
1030 -== 4.3 Power Consumption Analyze ==
1031 1031  
1291 +1.
1292 +11. Power Consumption Analyze
1032 1032  
1294 +
1033 1033  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.
1034 1034  
1297 +
1035 1035  Instruction to use as below:
1036 1036  
1037 -(% 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]]
1038 1038  
1039 -(% style="color:blue" %)**Step 2:**(%%) Open it and choose
1301 +Step 1: Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from:
1040 1040  
1303 +[[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/]]
1304 +
1305 +
1306 +Step 2: Open it and choose
1307 +
1041 1041  * Product Model
1042 1042  * Uplink Interval
1043 1043  * Working Mode
... ... @@ -1044,115 +1044,99 @@
1044 1044  
1045 1045  And the Life expectation in difference case will be shown on the right.
1046 1046  
1314 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image037.png]]
1047 1047  
1048 -[[image:1675234155374-163.png]]
1049 1049  
1050 -
1051 1051  The battery related documents as below:
1052 1052  
1053 -* [[Battery Dimension>>https://www.dropbox.com/s/ox5g9njwjle7aw3/LSN50-Battery-Dimension.pdf?dl=0]],
1054 -* [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]]
1055 -* [[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]]
1319 +* [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/&file=LSN50-Battery-Dimension.pdf]],
1320 +* [[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]]
1321 +* [[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]]
1056 1056  
1057 -[[image:image-20230201145019-19.png]]
1058 1058  
1059 1059  
1060 -=== 4.3.1 ​Battery Note ===
1325 +|(((
1326 +JST-XH-2P connector
1327 +)))
1061 1061  
1329 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image038.png]]
1062 1062  
1063 -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.
1064 1064  
1065 1065  
1066 -=== 4.3.2 Replace the battery ===
1333 +1.
1334 +11.
1335 +111. ​Battery Note
1067 1067  
1337 +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.
1068 1068  
1069 -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.
1070 1070  
1071 -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)
1340 +1.
1341 +11.
1342 +111. ​Replace the battery
1072 1072  
1344 +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.
1073 1073  
1074 -= 5. Remote Configure device =
1075 1075  
1076 -== 5.1 Connect via BLE ==
1347 +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)
1077 1077  
1078 1078  
1079 -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/]]
1080 1080  
1081 1081  
1082 -== 5.2 AT Command Set ==
1083 1083  
1084 1084  
1354 +1. Remote Configure device
1355 +11. Connect via BLE
1085 1085  
1086 -= 6. OTA firmware update =
1087 1087  
1358 +Please see this instruction for how to configure via BLE:
1088 1088  
1089 -Please see this link for how to do OTA firmware update.
1360 +[[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/]]
1090 1090  
1091 -[[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/]]
1092 1092  
1363 +1.
1364 +11. AT Command Set
1093 1093  
1094 -= 7. FAQ =
1095 1095  
1096 -== 7.1 How to use AT Command to access device? ==
1097 1097  
1368 +1. OTA firmware update
1098 1098  
1099 -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]]
1370 +Please see this link for how to do OTA firmware update.
1100 1100  
1372 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]
1101 1101  
1102 -== 7.2 How to update firmware via UART port? ==
1103 1103  
1104 1104  
1105 -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]]
1106 1106  
1107 1107  
1108 -== 7.3 How to change the LoRa Frequency Bands/Region? ==
1109 1109  
1110 1110  
1111 -You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]].
1112 -When downloading the images, choose the required image file for download. ​
1113 1113  
1114 1114  
1115 -= 8. ​Order Info =
1116 1116  
1117 1117  
1118 -(% style="color:blue" %)**Part Number: SDI-12-LB-XXX**
1384 +1. ​Order Info
1119 1119  
1120 -XXX: The default frequency band
1386 +**Package Includes**:
1121 1121  
1122 -(% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1123 -(% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1124 -(% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1125 -(% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1126 -(% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1127 -(% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1128 -(% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1129 -(% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1388 +* SDI-12-LB SDI-12 to LoRaWAN Converter
1130 1130  
1131 1131  
1391 +**Dimension and weight**:
1132 1132  
1133 -
1134 -
1135 -
1136 -
1137 -= 9. Packing Info =
1138 -
1139 -
1140 -(% style="color:#037691" %)**Package Includes**:
1141 -
1142 -* SDI-12-LB SDI-12 to LoRaWAN Converter x 1
1143 -
1144 -(% style="color:#037691" %)**Dimension and weight**:
1145 -
1146 1146  * Device Size: cm
1147 1147  * Device Weight: g
1148 1148  * Package Size / pcs : cm
1149 1149  * Weight / pcs : g
1150 1150  
1151 -= 10. ​Support =
1152 1152  
1153 1153  
1400 +
1401 +
1402 +1. ​Support
1403 +
1154 1154  * 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.
1405 +* 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
1155 1155  
1156 -* 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]]
1407 +[[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]]
1157 1157  
1158 1158  
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-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