Changes for page SDI-12-LB/LS -- SDI-12 to LoRaWAN Converter User Manual
Last modified by Mengting Qiu on 2025/07/03 15:42
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 4 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,5 +1,5 @@ 1 1 (% style="text-align:center" %) 2 -[[image:image-20230131183542-1.jpeg|| _mstalt="470678"height="694" width="694"]]2 +[[image:image-20230131183542-1.jpeg||height="694" width="694"]] 3 3 4 4 **Table of Contents:** 5 5 ... ... @@ -17,45 +17,36 @@ 17 17 18 18 19 19 20 + 20 20 = 1. Introduction = 21 21 22 22 == 1.1 What is SDI-12 to LoRaWAN Converter == 23 23 24 24 25 -((( 26 -The Dragino (% style="color:blue" %)**SDI-12-LB**(%%) is a (% style="color:blue" %)**SDI-12 to LoRaWAN Converter **(%%)designed for Smart Agriculture solution. 27 -))) 26 +The Dragino **(% style="color:blue" %)SDI-12-LB**(%%) is a **(% style="color:blue" %)SDI-12 to LoRaWAN Converter **(%%)designed for Smart Agriculture solution. 28 28 29 -((( 30 30 SDI-12 (Serial Digital Interface at 1200 baud) is an asynchronous [[serial communications>>url:https://en.wikipedia.org/wiki/Serial_communication]] protocol for intelligent sensors that monitor environment data. SDI-12 protocol is widely used in Agriculture sensor and Weather Station sensors. 31 -))) 32 32 33 -((( 34 34 SDI-12-LB has SDI-12 interface and support 12v output to power external SDI-12 sensor. It can get the environment data from SDI-12 sensor and sends out the data via LoRaWAN wireless protocol. 35 -))) 36 36 37 -((( 38 38 The LoRa wireless technology used in SDI-12-LB allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. 39 -))) 40 40 41 -((( 42 -SDI-12-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years. 43 -))) 34 +SDI-12-LB is powered by **(% style="color:blue" %)8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years. 44 44 45 -((( 46 46 Each SDI-12-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on. 47 -))) 48 48 49 49 50 -[[image:image-20230201084414-1.png|| _mstalt="427765"height="464" width="1108"]]39 +[[image:image-20230201084414-1.png||height="464" width="1108"]] 51 51 52 52 42 + 43 + 53 53 == 1.2 Features == 54 54 55 55 56 56 * LoRaWAN 1.0.3 Class A 57 57 * Ultra-low power consumption 58 -* Controllable 3.3v,5v and 12v output to power external sensor49 +* Controllable 5v and 12v output to power external sensor 59 59 * SDI-12 Protocol to connect to SDI-12 Sensor 60 60 * Monitor Battery Level 61 61 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865 ... ... @@ -66,24 +66,21 @@ 66 66 * 8500mAh Battery for long term use 67 67 68 68 69 - 70 70 == 1.3 Specification == 71 71 72 72 73 -(% style="color:#037691" %) **Micro Controller:**63 +**(% style="color:#037691" %)Micro Controller:** 74 74 75 75 * MCU: 48Mhz ARM 76 76 * Flash: 256KB 77 77 * RAM: 64KB 78 78 79 -(% style="color:#037691" %) **Common DC Characteristics:**69 +**(% style="color:#037691" %)Common DC Characteristics:** 80 80 81 81 * Supply Voltage: 2.5v ~~ 3.6v 82 -* Support current: 5V 300mA 83 - 12V 100mA 84 84 * Operating Temperature: -40 ~~ 85°C 85 85 86 -(% style="color:#037691" %) **LoRa Spec:**74 +**(% style="color:#037691" %)LoRa Spec:** 87 87 88 88 * Frequency Range, Band 1 (HF): 862 ~~ 1020 Mhz 89 89 * Max +22 dBm constant RF output vs. ... ... @@ -90,19 +90,19 @@ 90 90 * RX sensitivity: down to -139 dBm. 91 91 * Excellent blocking immunity 92 92 93 -(% style="color:#037691" %) **Current Input Measuring :**81 +**(% style="color:#037691" %)Current Input Measuring :** 94 94 95 95 * Range: 0 ~~ 20mA 96 96 * Accuracy: 0.02mA 97 97 * Resolution: 0.001mA 98 98 99 -(% style="color:#037691" %) **Voltage Input Measuring:**87 +**(% style="color:#037691" %)Voltage Input Measuring:** 100 100 101 101 * Range: 0 ~~ 30v 102 102 * Accuracy: 0.02v 103 103 * Resolution: 0.001v 104 104 105 -(% style="color:#037691" %) **Battery:**93 +**(% style="color:#037691" %)Battery:** 106 106 107 107 * Li/SOCI2 un-chargeable battery 108 108 * Capacity: 8500mAh ... ... @@ -110,53 +110,52 @@ 110 110 * Max continuously current: 130mA 111 111 * Max boost current: 2A, 1 second 112 112 113 -(% style="color:#037691" %) **Power Consumption**101 +**(% style="color:#037691" %)Power Consumption** 114 114 115 115 * Sleep Mode: 5uA @ 3.3v 116 116 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 117 117 118 118 119 - 120 120 == 1.4 Connect to SDI-12 Sensor == 121 121 122 122 123 123 124 -[[image:1675212538524-889.png ||_mstalt="298272"]]111 +[[image:1675212538524-889.png]] 125 125 126 126 127 127 == 1.5 Sleep mode and working mode == 128 128 129 129 130 -(% style="color:blue" %) **Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.117 +**(% style="color:blue" %)Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life. 131 131 132 -(% style="color:blue" %) **Working Mode: **(%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.119 +**(% style="color:blue" %)Working Mode: **(%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode. 133 133 134 134 135 135 == 1.6 Button & LEDs == 136 136 137 137 138 -[[image:1675212633011-651.png ||_mstalt="291538"]]125 +[[image:1675212633011-651.png]] 139 139 140 140 128 + 141 141 (% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 142 -|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 1 09px;" %)**Function**|=(% style="width: 231px;" %)**Action**143 -|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:1 09px" %)Send an uplink|(% style="width:231px" %)(((130 +|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 117px;" %)**Function**|=(% style="width: 225px;" %)**Action** 131 +|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)((( 144 144 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 145 145 Meanwhile, BLE module will be active and user can connect via BLE to configure device. 146 146 ))) 147 -|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:1 09px" %)Active Device|(% style="width:231px" %)(((135 +|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)((( 148 148 (% 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. 149 149 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 150 150 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. 151 151 ))) 152 -|(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:1 09px" %)Deactivate Device|(% style="width:231px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means SDI-12-LB is in Deep Sleep Mode.140 +|(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB is in Deep Sleep Mode. 153 153 154 154 155 - 156 156 == 1.7 Pin Mapping == 157 157 158 158 159 -[[image:1675213198663-754.png ||_mstalt="297167"]]146 +[[image:1675213198663-754.png]] 160 160 161 161 162 162 == 1.8 BLE connection == ... ... @@ -176,11 +176,11 @@ 176 176 == 1.9 Mechanical == 177 177 178 178 179 -[[image:image-20230201090139-2.png ||_mstalt="428623"]]166 +[[image:image-20230201090139-2.png]] 180 180 181 -[[image:image-20230201090139-3.png ||_mstalt="428987"]]168 +[[image:image-20230201090139-3.png]] 182 182 183 -[[image:image-20230201090139-4.png ||_mstalt="429351"]]170 +[[image:image-20230201090139-4.png]] 184 184 185 185 186 186 = 2. Configure SDI-12 to connect to LoRaWAN network = ... ... @@ -188,7 +188,7 @@ 188 188 == 2.1 How it works == 189 189 190 190 191 -The SDI-12-LB is configured as (% style="color:#037691" %) **LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and activate the SDI-12-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.178 +The SDI-12-LB is configured as **(% style="color:#037691" %)LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and activate the SDI-12-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. 192 192 193 193 194 194 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == ... ... @@ -197,56 +197,60 @@ 197 197 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. 198 198 199 199 200 -[[image:image-20230201090528-5.png|| _mstalt="430300"height="465" width="1111"]]187 +[[image:image-20230201090528-5.png||height="465" width="1111"]] 201 201 202 202 203 203 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. 204 204 205 205 206 -(% style="color:blue" %) **Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB.193 +**(% style="color:blue" %)Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB. 207 207 208 208 Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 209 209 210 210 211 -[[image:image-20230 201152430-20.jpeg||_mstalt="492245"]]198 +[[image:image-20230131134744-2.jpeg]] 212 212 213 213 201 + 202 + 203 + 214 214 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 215 215 216 216 217 -(% style="color:blue" %) **Register the device**207 +**(% style="color:blue" %)Register the device** 218 218 219 -[[image:1675213652444-622.png ||_mstalt="293657"]]209 +[[image:1675213652444-622.png]] 220 220 221 221 222 -(% style="color:blue" %) **Add APP EUI and DEV EUI**212 +**(% style="color:blue" %)Add APP EUI and DEV EUI** 223 223 224 224 225 -[[image:1675213661769-223.png ||_mstalt="295217"]]215 +[[image:1675213661769-223.png]] 226 226 227 227 228 -(% style="color:blue" %) **Add APP EUI in the application**218 +**(% style="color:blue" %)Add APP EUI in the application** 229 229 230 230 231 -[[image:1675213675852-577.png ||_mstalt="297947"]]221 +[[image:1675213675852-577.png]] 232 232 233 233 234 -(% style="color:blue" %) **Add APP KEY**224 +**(% style="color:blue" %)Add APP KEY** 235 235 236 -[[image:1675213686734-883.png ||_mstalt="298064"]]226 +[[image:1675213686734-883.png]] 237 237 238 238 239 -(% style="color:blue" %) **Step 2**(%%): Activate on SDI-12-LB229 +**(% style="color:blue" %)Step 2**(%%): Activate on SDI-12-LB 240 240 241 241 242 242 Press the button for 5 seconds to activate the SDI-12-LB. 243 243 244 -(% 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. 245 245 235 +**(% style="color:green" %)Green led**(%%) will fast blink 5 times, device will enter **(% style="color:blue" %)OTA mode** (%%)for 3 seconds. And then start to JOIN LoRaWAN network. **(% style="color:green" %)Green led**(%%) will solidly turn on for 5 seconds after joined in network. 246 246 247 -[[image:1675213704414-644.png||_mstalt="293748"]] 248 248 238 +[[image:1675213704414-644.png]] 249 249 240 + 250 250 == 2.3 SDI-12 Related Commands == 251 251 252 252 ... ... @@ -263,43 +263,43 @@ 263 263 The following is the display information on the serial port and the server. 264 264 265 265 266 -[[image:image-20230201091027-6.png||_mstalt="429065"]] 267 267 258 +[[image:image-20230201091027-6.png]] 268 268 269 -[[image:image-20230201091027-7.png||_mstalt="429429" height="261" width="1179"]] 270 270 261 +[[image:image-20230201091027-7.png||height="261" width="1179"]] 271 271 272 272 273 -==== (% style="color:blue" %) **al! ~-~- Get SDI-12 sensor Identification**(%%)====264 +==== **(% style="color:blue" %)al! ~-~- Get SDI-12 sensor Identification** ==== 274 274 275 275 276 276 * AT Command: AT+ADDRI=aa 277 277 * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa 278 278 279 -(% style="color:#037691" %) **Parameter: **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command)270 +**(% style="color:#037691" %)Parameter: **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command) 280 280 281 -(% style="color:blue" %) **Example : **(%%)AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)272 +**(% style="color:blue" %)Example : **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 282 282 283 283 284 284 The following is the display information on the serial port and the server. 285 285 286 286 287 -[[image:image-20230201091257-8.png ||_mstalt="431392"]]278 +[[image:image-20230201091257-8.png]] 288 288 289 289 290 -[[image:image-20230201091257-9.png|| _mstalt="431756"height="225" width="1242"]]281 +[[image:image-20230201091257-9.png||height="225" width="1242"]] 291 291 292 292 293 -==== (% style="color:blue" %) **aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%)====284 +==== **(% style="color:blue" %)aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ==== 294 294 295 295 296 -(% style="color:red" %) **aM! **(%%): Start Non-Concurrent Measurement287 +**(% style="color:red" %)aM! **(%%): Start Non-Concurrent Measurement 297 297 298 -(% style="color:red" %) **aMC! **(%%): Start Non-Concurrent Measurement – Request CRC289 +**(% style="color:red" %)aMC! **(%%): Start Non-Concurrent Measurement – Request CRC 299 299 300 -(% style="color:red" %) **aM1!- aM9! **(%%): Additional Measurements291 +**(% style="color:red" %)aM1!- aM9! **(%%): Additional Measurements 301 301 302 -(% style="color:red" %) **aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC293 +**(% style="color:red" %)aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC 303 303 304 304 305 305 * AT Command : AT+ADDRM=0,1,0,1 ... ... @@ -308,35 +308,35 @@ 308 308 309 309 Downlink:AA 01 aa bb cc dd 310 310 311 -(% style="color:#037691" %) **aa**(%%): SDI-12 sensor address.302 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address. 312 312 313 -(% style="color:#037691" %) **bb**(%%): 0: no CRC, 1: request CRC304 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC 314 314 315 -(% style="color:#037691" %) **cc**(%%): 1-9: Additional Measurement, 0: no additional measurement306 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 316 316 317 -(% style="color:#037691" %) **dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return.308 +**(% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%) to get return. 318 318 319 319 320 320 The following is the display information on the serial port and the server. 321 321 322 322 323 -[[image:image-20230201091630-10.png ||_mstalt="449995"]]314 +[[image:image-20230201091630-10.png]] 324 324 325 325 326 -[[image:image-20230201091630-11.png|| _mstalt="450372"height="247" width="1165"]]317 +[[image:image-20230201091630-11.png||height="247" width="1165"]] 327 327 328 328 329 329 330 -==== (% style="color:blue" %) **aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! **(%%)====321 +==== **(% style="color:blue" %)aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! ** ==== 331 331 332 332 333 -(% style="color:red" %) **aC!**(%%) : Start Concurrent Measurement324 +**(% style="color:red" %)aC!**(%%) : Start Concurrent Measurement 334 334 335 -(% style="color:red" %) **aCC!** (%%): Start Concurrent Measurement – Request CRC326 +**(% style="color:red" %)aCC!** (%%): Start Concurrent Measurement – Request CRC 336 336 337 -(% style="color:red" %) **aC1!- aC9!**(%%) : Start Additional Concurrent Measurements328 +**(% style="color:red" %)aC1!- aC9!**(%%) : Start Additional Concurrent Measurements 338 338 339 -(% style="color:red" %) **aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC330 +**(% style="color:red" %)aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC 340 340 341 341 342 342 * AT Command : AT+ADDRC=0,1,0,1 ... ... @@ -345,27 +345,27 @@ 345 345 346 346 Downlink: AA 02 aa bb cc dd 347 347 348 -(% style="color:#037691" %) **aa**(%%): SDI-12 sensor address.339 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address. 349 349 350 -(% style="color:#037691" %) **bb**(%%): 0: no CRC, 1: request CRC341 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC 351 351 352 -(% style="color:#037691" %) **cc**(%%): 1-9: Additional Measurement, 0: no additional measurement343 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 353 353 354 -(% style="color:#037691" %) **dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%)____to get return.345 +**(% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%) to get return. 355 355 356 356 357 357 The following is the display information on the serial port and the server. 358 358 359 359 360 -[[image:image-20230201091954-12.png ||_mstalt="453687"]]351 +[[image:image-20230201091954-12.png]] 361 361 362 362 363 -[[image:image-20230201091954-13.png|| _mstalt="454064"height="203" width="1117"]]354 +[[image:image-20230201091954-13.png||height="203" width="1117"]] 364 364 365 365 366 366 367 367 368 -==== (% style="color:blue" %) **aR0!- aR9!, aRC0!- aRC9!**(%%)====359 +==== **(% style="color:blue" %)aR0!- aR9!, aRC0!- aRC9!** ==== 369 369 370 370 371 371 Start Continuous Measurement ... ... @@ -378,24 +378,25 @@ 378 378 379 379 Downlink: AA 03 aa bb cc dd 380 380 381 -(% style="color:#037691" %) **aa**(%%): SDI-12 sensor address.372 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address. 382 382 383 -(% style="color:#037691" %) **bb**(%%): 0: no CRC, 1: request CRC374 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC 384 384 385 -(% style="color:#037691" %) **cc**(%%): 1-9: Additional Measurement, 0: no additional measurement376 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 386 386 387 -(% style="color:#037691" %) **dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return.378 +**(% style="color:#037691" %)dd**(%%): delay (in second) to send **(% style="color:#037691" %)aD0!**(%%) to get return. 388 388 389 389 390 390 The following is the display information on the serial port and the server. 391 391 392 392 393 -[[image:image-20230201092208-14.png||_mstalt="452283"]] 394 394 385 +[[image:image-20230201092208-14.png]] 395 395 396 -[[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]] 397 397 388 +[[image:image-20230201092208-15.png||height="214" width="1140"]] 398 398 390 + 399 399 === 2.3.2 Advance SDI-12 Debug command === 400 400 401 401 ... ... @@ -404,20 +404,20 @@ 404 404 405 405 LoRaWAN Downlink: A8 aa xx xx xx xx bb cc 406 406 407 -(% style="color:#037691" %) **aa **(%%): total SDI-12 command length399 +**(% style="color:#037691" %)aa **(%%): total SDI-12 command length 408 408 409 -(% style="color:#037691" %) **xx **(%%): SDI-12 command401 +**(% style="color:#037691" %)xx **(%%): SDI-12 command 410 410 411 -(% style="color:#037691" %) **bb **(%%): Delay to wait for return403 +**(% style="color:#037691" %)bb **(%%): Delay to wait for return 412 412 413 -(% style="color:#037691" %) **cc **(%%): 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100405 +**(% style="color:#037691" %)cc **(%%): 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100 414 414 415 415 416 -(% style="color:blue" %) **Example: **(%%) AT+CFGDEV =0RC0!,1408 +**(% style="color:blue" %)Example: **(%%) AT+CFGDEV =0RC0!,1 417 417 418 -(% style="color:#037691" %) **0RC0! **(%%): SDI-12 Command,410 +**(% style="color:#037691" %)0RC0! **(%%): SDI-12 Command, 419 419 420 -(% style="color:#037691" %) **1 **(%%): Delay 1 second. ( 0: 810 mini-second)412 +**(% style="color:#037691" %)1 **(%%): Delay 1 second. ( 0: 810 mini-second) 421 421 422 422 Equal Downlink: 0xA8 05 30 52 43 30 21 01 01 423 423 ... ... @@ -425,10 +425,10 @@ 425 425 The following is the display information on the serial port and the server. 426 426 427 427 428 -[[image:image-20230201092355-16.png ||_mstalt="453960"]]420 +[[image:image-20230201092355-16.png]] 429 429 430 430 431 -[[image:image-20230201092355-17.png|| _mstalt="454337"height="426" width="1135"]]423 +[[image:image-20230201092355-17.png||height="426" width="1135"]] 432 432 433 433 434 434 === 2.3.3 Convert ASCII to String === ... ... @@ -439,16 +439,16 @@ 439 439 AT+CONVFORM ( Max length: 80 bytes) 440 440 441 441 442 -(% style="color:blue" %) **Example:**434 +**(% style="color:blue" %)Example:** 443 443 444 444 1) AT+CONVFORM=0, string Convert String from String to ASCII 445 445 446 -[[image:1675214845056-885.png ||_mstalt="297622"]]438 +[[image:1675214845056-885.png]] 447 447 448 448 449 449 2) AT+CONVFORM=1, ASCII Convert ASCII to String. 450 450 451 -[[image:1675214856590-846.png ||_mstalt="297739"]]443 +[[image:1675214856590-846.png]] 452 452 453 453 454 454 === 2.3.4 Define periodically SDI-12 commands and uplink. === ... ... @@ -459,31 +459,31 @@ 459 459 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. 460 460 461 461 462 -* (% style="color:blue" %) **AT Command:**454 +* ** (% style="color:blue" %)AT Command:** 463 463 464 -(% style="color:#037691" %) **AT+COMMANDx=var1,var2,var3,var4.**456 +**(% style="color:#037691" %)AT+COMMANDx=var1,var2,var3,var4.** 465 465 466 -(% style="color:red" %) **var1**(%%): SDI-12 command , for example: 0RC0!458 +**(% style="color:red" %)var1**(%%): SDI-12 command , for example: 0RC0! 467 467 468 -(% style="color:red" %) **var2**(%%): Wait timeout for return. (unit: second)460 +**(% style="color:red" %)var2**(%%): Wait timeout for return. (unit: second) 469 469 470 -(% style="color:red" %) **var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//.462 +**(% style="color:red" %)var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. 471 471 472 -(% style="color:red" %) **var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max3retries.464 +**(% style="color:red" %)var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries. 473 473 474 -(% style="color:red" %) **0 **(%%) No validation check;466 +**(% style="color:red" %)0 **(%%) No validation check; 475 475 476 -(% style="color:red" %) **1**468 +**(% style="color:red" %)1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E); 477 477 478 -(% style="color:red" %) **2**(%%) Check if there is return from SDI-12 sensor470 +**(% style="color:#red" %)2**(%%) Check if there is return from SDI-12 sensor 479 479 480 -(% style="color:red" %) **3**472 +**(% style="color:red" %)3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request); 481 481 482 482 483 -Each AT+COMMANDx is followed by a (% style="color:blue" %) **AT+DATACUT**(%%) command. AT+DATACUT command is used to take the useful string from the SDI-12 sensor so the final payload will have the minimum length to uplink.475 +Each AT+COMMANDx is followed by a **(% style="color:blue" %)AT+DATACUT**(%%) command. AT+DATACUT command is used to take the useful string from the SDI-12 sensor so the final payload will have the minimum length to uplink. 484 484 485 485 486 -(% style="color:blue" %) **AT+DATACUTx**(%%) : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.478 +**(% style="color:blue" %)AT+DATACUTx**(%%) : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 487 487 488 488 (% border="1" style="background-color:#f7faff; width:436px" %) 489 489 |(% style="width:433px" %)((( ... ... @@ -496,100 +496,102 @@ 496 496 **c**: define the position for valid value. 497 497 ))) 498 498 499 -For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895 <CR><LF>” , Below AT+DATACUT1 will get different result to combine payload:491 +For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895” , Below AT+DATACUT1 will get different result to combine payload: 500 500 501 501 502 502 (% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 503 -| =(% style="width:64px;" %)**AT+DATACUT1 value**|=(% style="width:44px;" %)**Final Result to combine Payload**504 -|(% style="width:1 64px" %)34,1,1+2+3|(% style="width:344px" %)0D 00 01 30 31 33505 -|(% style="width:1 64px" %)34,2,1~~8+12~~16|(% style="width:344px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32506 -|(% style="width:1 64px" %)34,2,1~~34|(% style="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 0A495 +|(% style="width:170px" %)**AT+DATACUT1 value**|(% style="width:338px" %)**Final Result to combine Payload** 496 +|(% style="width:170px" %)34,1,1+2+3|(% style="width:338px" %)0D 00 01 30 31 33 497 +|(% style="width:170px" %)34,2,1~~8+12~~16|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32 498 +|(% style="width:170px" %)34,2,1~~34|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A 507 507 508 -* (% style="color:blue" %) **Downlink Payload:**500 +* **(% style="color:blue" %) Downlink Payload:** 509 509 510 -(% style="color:blue" %) **0xAF**(%%) downlink command can be used to set AT+COMMANDx or AT+DATACUTx.502 +**(% style="color:blue" %)0xAF**(%%) downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 511 511 512 512 513 -(% style="color:red" %) **Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**505 +**(% style="color:red" %)Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.** 514 514 515 515 516 -Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY (%%)**508 +Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY** 517 517 518 518 Where: 519 519 520 -* (% style="color:#037691" %) **MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,521 -* (% style="color:#037691" %) **NN **(%%): 1: set the AT+COMMAND value ; 2: set the AT+DATACUT value.522 -* (% style="color:#037691" %) **LL **(%%): The length of AT+COMMAND or AT+DATACUT command523 -* (% style="color:#037691" %) **XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command524 -* (% style="color:#037691" %) **YY **(%%): If YY=0, SDI-12-LBwill execute the downlink command without uplink; if YY=1, SDI-12-LBwill execute an uplink after got this command.512 +* **(% style="color:#037691" %)MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 513 +* **(% style="color:#037691" %)NN **(%%): 1: set the AT+DATACUT value ; 2: set the AT+DATACUT value. 514 +* **(% style="color:#037691" %)LL **(%%): The length of AT+COMMAND or AT+DATACUT command 515 +* **(% style="color:#037691" %)XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command 516 +* **(% style="color:#037691" %)YY **(%%): If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 525 525 526 -(% style="color:blue" %) **Example:**518 +**(% style="color:blue" %)Example:** 527 527 528 -[[image:image-20230201094129-18.png ||_mstalt="455065"]]520 +[[image:image-20230201094129-18.png]] 529 529 530 530 523 +**(% style="color:blue" %)Clear SDI12 Command** 531 531 532 -(% style="color:blue" %)**Clear SDI12 Command** 533 - 534 534 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 535 535 536 536 537 -* (% style="color:#037691" %) **AT Command:**528 +* ** (% style="color:#037691" %)AT Command:** 538 538 539 -(% style="color:#4 f81bd" %)**AT+CMDEAR=mm,nn**530 +**(% style="color:#4F81BD" %)AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase 540 540 541 541 542 542 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 543 543 544 544 545 -* (% style="color:#037691" %) **Downlink Payload:**536 +* **(% style="color:#037691" %) Downlink Payload:** 546 546 547 -(% style="color:#4 f81bd" %)**0x09 aa bb**(%%) same as AT+CMDEAR=aa,bb538 +**(% style="color:#4F81BD" %)0x09 aa bb**(%%) same as AT+CMDEAR=aa,bb 548 548 549 549 550 550 551 -(% style="color:blue" %) **command combination**542 +**(% style="color:blue" %)command combination** 552 552 553 553 Below shows a screen shot how the results combines together to a uplink payload. 554 554 555 -[[image:1675215745275-920.png ||_mstalt="295334"]]546 +[[image:1675215745275-920.png]] 556 556 557 557 558 558 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. 559 559 560 -(% style="color:blue" %) **AT+ALLDATAMOD**(%%) will simply get all return and don't do CRC check as result for SDI-12 command. AT+DATACUTx command has higher priority, if AT+DATACUTx has been set, AT+ALLDATAMOD will be ignore for this SDI-12 command.551 +**(% style="color:blue" %)AT+ALLDATAMOD**(%%) will simply get all return and don't do CRC check as result for SDI-12 command. AT+DATACUTx command has higher priority, if AT+DATACUTx has been set, AT+ALLDATAMOD will be ignore for this SDI-12 command. 561 561 562 562 563 -(% style="color:#4 f81bd" %)**For example: **(%%)as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result.554 +**(% style="color:#4F81BD" %)For example: ** as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result. 564 564 565 565 566 -[[image:1675215782925-448.png ||_mstalt="297466"]]557 +[[image:1675215782925-448.png]] 567 567 568 568 569 -If AT+ALLDATAMOD=1, (% style="color:#4 f81bd" %)**FX,X**(%%) will be added in the payload, FX specify which command is used and X specify the length of return. for example in above screen, F1 05 means the return is from AT+COMMAND1 and the return is 5 bytes.560 +If AT+ALLDATAMOD=1, **(% style="color:#4F81BD" %)FX,X**(%%) will be added in the payload, FX specify which command is used and X specify the length of return. for example in above screen, F1 05 means the return is from AT+COMMAND1 and the return is 5 bytes. 570 570 571 571 572 572 573 -(% style="color:blue" %) **Compose Uplink**564 +**(% style="color:blue" %)Compose Uplink** 574 574 575 -(% style="color:#4f81bd" %)**AT+DATAUP=0** 576 576 577 - Composethe uplink payload with valuereturnsin sequence and send with **__ASIGNLEUPLINK__**.567 +**(% style="color:#4F81BD" %)AT+DATAUP=0** 578 578 579 - FinalPayload is **__BatteryInfo+PAYVER + VALID ValuefromRETURN1+ValidValuefromRETURN2+ … + RETURNx__**569 +Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK. 580 580 571 +Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx 572 + 581 581 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 582 582 583 583 584 -[[image:1675215828102-844.png ||_mstalt="294645"]]576 +[[image:1675215828102-844.png]] 585 585 586 586 587 -(% style="color:#4 f81bd" %)**AT+DATAUP=1**579 +**(% style="color:#4F81BD" %)AT+DATAUP=1** 588 588 589 -Compose the uplink payload with value returns in sequence and send with **__Multiply UPLINKs__**.581 +Compose the uplink payload with value returns in sequence and send with Multiply UPLINKs. 590 590 591 -Final Payload is __**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__583 +Final Payload is 592 592 585 +__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__ 586 + 593 593 1. Battery Info (2 bytes): Battery voltage 594 594 1. PAYVER (1 byte): Defined by AT+PAYVER 595 595 1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. ... ... @@ -596,10 +596,10 @@ 596 596 1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 597 597 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 598 598 599 -[[image:1675215848113-696.png ||_mstalt="296998"]]593 +[[image:1675215848113-696.png]] 600 600 601 601 602 -(% style="color:red" %) **Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**596 +**(% style="color:red" %)Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** 603 603 604 604 * For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 605 605 * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). ... ... @@ -606,13 +606,22 @@ 606 606 * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 607 607 * For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 608 608 609 -(% style="color:red" %) **When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**603 +**(% style="color:red" %)When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;** 610 610 611 -(% style="color:red" %) **When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.**605 +**(% style="color:red" %)When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.** 612 612 613 613 614 -== 2.4 Uplink Payload == 608 +== 2.4 Uplink Payload == 615 615 610 + 611 +Uplink payloads have two types: 612 + 613 +* Distance Value: Use FPORT=2 614 +* Other control commands: Use other FPORT fields. 615 + 616 +The application server should parse the correct value based on FPORT settings. 617 + 618 + 616 616 === 2.4.1 Device Payload, FPORT~=5 === 617 617 618 618 ... ... @@ -620,21 +620,21 @@ 620 620 621 621 Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink. 622 622 623 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:4 20px" %)626 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 624 624 |(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)** 625 -|(% style="width:1 14px" %)**Size(bytes)**|(% style="width:39px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:59px" %)**1**|(% style="width:37px" %)**2**626 -|(% style="width:1 14px" %)**Value**|(% style="width:39px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:89px" %)Frequency Band|(% style="width:59px" %)Sub-band|(% style="width:37px" %)BAT628 +|(% style="width:102px" %)**Size (bytes)**|(% style="width:67px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:52px" %)**1**|(% style="width:44px" %)**2** 629 +|(% style="width:102px" %)**Value**|(% style="width:67px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:89px" %)Frequency Band|(% style="width:52px" %)Sub-band|(% style="width:44px" %)BAT 627 627 628 628 Example parse in TTNv3 629 629 630 -[[image:1675215946738-635.png ||_mstalt="297778"]]633 +[[image:1675215946738-635.png]] 631 631 632 632 633 -(% style="color:#037691" %) **Sensor Model**(%%): For SDI-12-LB, this value is 0x17636 +**(% style="color:#037691" %)Sensor Model**(%%): For SDI-12-LB, this value is 0x17 634 634 635 -(% style="color:#037691" %) **Firmware Version**(%%): 0x0100, Means: v1.0.0 version638 +**(% style="color:#037691" %)Firmware Version**(%%): 0x0100, Means: v1.0.0 version 636 636 637 -(% style="color:#037691" %) **Frequency Band**:640 +**(% style="color:#037691" %)Frequency Band**: 638 638 639 639 *0x01: EU868 640 640 ... ... @@ -665,7 +665,7 @@ 665 665 *0x0e: MA869 666 666 667 667 668 -(% style="color:#037691" %) **Sub-Band**:671 +**(% style="color:#037691" %)Sub-Band**: 669 669 670 670 AU915 and US915:value 0x00 ~~ 0x08 671 671 ... ... @@ -674,7 +674,7 @@ 674 674 Other Bands: Always 0x00 675 675 676 676 677 -(% style="color:#037691" %) **Battery Info**:680 +**(% style="color:#037691" %)Battery Info**: 678 678 679 679 Check the battery voltage. 680 680 ... ... @@ -692,20 +692,20 @@ 692 692 693 693 * Periodically Uplink: FPORT=2 694 694 695 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:50 0px" %)696 -| =(% style="width:0px;" %)(((698 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 699 +|(% style="width:93px" %)((( 697 697 **Size(bytes)** 698 -)))| =(% style="width:0px;" %)**2**|=(% style="width:90px;" %)**1**|=(% style="width:0px;" %)**Length depends on the return from the commands**701 +)))|(% style="width:83px" %)**2**|(% style="width:70px" %)**1**|(% style="width:234px" %)**Length depends on the return from the commands** 699 699 |(% style="width:93px" %)**Value**|(% style="width:83px" %)((( 700 700 Battery(mV) 701 701 & 702 702 Interrupt_Flag 703 -)))|(% style="width: 91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)(((706 +)))|(% style="width:70px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:234px" %)((( 704 704 If the valid payload is too long and exceed the maximum support. 705 705 Payload length in server,server will show payload not provided in the LoRaWAN server. 706 706 ))) 707 707 708 -[[image:1675216282284-923.png ||_mstalt="295633"]]711 +[[image:1675216282284-923.png]] 709 709 710 710 711 711 === 2.4.3 Battery Info === ... ... @@ -721,7 +721,7 @@ 721 721 === 2.4.4 Interrupt Pin === 722 722 723 723 724 -This data field shows if this packet is generated by (% style="color:#037691" %) **Interrupt Pin**(%%) or not. [[Click here>>||anchor="H3.2SetInterruptMode"]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>||anchor="H1.7PinMapping"]].727 +This data field shows if this packet is generated by **(% style="color:#037691" %)Interrupt Pin**(%%) or not. [[Click here>>||anchor="H3.2SetInterruptMode"]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>||anchor="H1.7PinMapping"]]. 725 725 726 726 **Example:** 727 727 ... ... @@ -732,7 +732,6 @@ 732 732 733 733 === 2.4.5 Payload version === 734 734 735 -The version number of the payload, mainly used for decoding. The default is 01. 736 736 737 737 738 738 === 2.4.6 Decode payload in The Things Network === ... ... @@ -740,7 +740,7 @@ 740 740 741 741 While using TTN network, you can add the payload format to decode the payload. 742 742 743 -[[image:1675216779406-595.png ||_mstalt="298376"]]745 +[[image:1675216779406-595.png]] 744 744 745 745 746 746 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. ... ... @@ -753,91 +753,26 @@ 753 753 754 754 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: 755 755 756 -[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval]] 758 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>url:http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval]] 757 757 758 758 759 -== 2.6 Examples To Set SDI commands. == 760 760 761 -=== 2.6.1 Examples 1 === 762 762 763 +== 2.6 Frequency Plans == 763 763 764 -COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication. 765 765 766 -[[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]] 767 - 768 - 769 -(% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:** 770 - 771 -a. Send the first command and get the first reply: 772 - 773 -(% style="color:#037691" %)**AT+COMMANDx=1I!,0,0,1** 774 - 775 -b. Send the second command and get the second reply: 776 - 777 -(% style="color:#037691" %)**AT+COMMANDx=2I!,0,0,1** 778 - 779 -c. Send the third command and get the third reply: 780 - 781 -(% style="color:#037691" %)**AT+COMMANDx=3I!,0,0,1** 782 - 783 -d. Send the fourth command and get the fourth reply: 784 - 785 -(% style="color:#037691" %)**AT+COMMANDx=4I!,0,0,1** 786 - 787 -e. Send the fifth command plus the sixth command, get the sixth reply: 788 - 789 -(% style="color:#037691" %)**AT+COMMANDx=1M!,2,1,1** 790 - 791 -f. Send the seventh command plus the eighth command, get the eighth reply: 792 - 793 -(% style="color:#037691" %)**AT+COMMANDx=2M!,2,1,1** 794 - 795 -g. Send the ninth command plus the tenth command, get the tenth reply: 796 - 797 -(% style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1** 798 - 799 -h. Send the eleventh command plus the twelfth command, get the twelfth reply: 800 - 801 -(% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1** 802 - 803 - 804 -(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:** 805 - 806 -a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>” 807 - 808 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %); 809 - 810 -b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>” 811 - 812 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 813 - 814 -c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>” 815 - 816 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 817 - 818 -d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>” 819 - 820 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %); 821 - 822 -e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>” 823 - 824 -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”**. 825 - 826 - 827 -== 2.7 Frequency Plans == 828 - 829 - 830 830 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. 831 831 832 832 [[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/]] 833 833 834 834 835 -== 2.8 Firmware Change Log == 836 836 772 +== 2.7 Firmware Change Log == 837 837 774 + 838 838 **Firmware download link:** 839 839 840 -[[https:~~/~~/www.dropbox.com/sh/ qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]]777 +[[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]] 841 841 842 842 843 843 = 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink = ... ... @@ -845,12 +845,12 @@ 845 845 846 846 Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink. 847 847 848 -* AT Command Connection: See [[FAQ>> ||anchor="H7.FAQ"]].785 +* AT Command Connection: See [[FAQ>>path:#AT_COMMAND]]. 849 849 * LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 850 850 851 851 There are two kinds of commands to configure SDI-12-LB, they are: 852 852 853 -* (% style="color:blue" %)**General Commands**.790 +* **General Commands**. 854 854 855 855 These commands are to configure: 856 856 ... ... @@ -859,15 +859,15 @@ 859 859 860 860 They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: 861 861 862 -[[http:~~/~~/wiki.dragino.com/ xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]799 +[[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_Downlink_Command>>url:http://wiki.dragino.com/index.php?title=End_Device_Downlink_Command]] 863 863 864 864 865 -* (% style="color:blue" %)**Commands special design for SDI-12-LB**802 +* **Commands special design for SDI-12-LB** 866 866 867 867 These commands only valid for SDI-12-LB, as below: 868 868 869 869 870 -== 3.1 Set Transmit Interval Time == 807 +== 3.1 Set Transmit Interval Time == 871 871 872 872 873 873 Feature: Change LoRaWAN End Node Transmit Interval. ... ... @@ -896,8 +896,6 @@ 896 896 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 897 897 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 898 898 899 - 900 - 901 901 == 3.2 Set Interrupt Mode == 902 902 903 903 ... ... @@ -910,14 +910,14 @@ 910 910 |(% style="width:156px" %)AT+INTMOD=?|(% style="width:187px" %)Show current interrupt mode|(% style="width:165px" %)((( 911 911 0 912 912 OK 913 -the mode is 0 = DisableInterrupt848 +the mode is 0 = No interruption 914 914 ))) 915 915 |(% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)((( 916 916 Set Transmit Interval 917 - 0. (Disable Interrupt),918 - ~1. (Trigger by rising and falling edge)919 - 2. (Trigger by falling edge)920 - 3. (Trigger by rising edge)852 +~1. (Disable Interrupt), 853 +2. (Trigger by rising and falling edge) 854 +3. (Trigger by falling edge) 855 +4. (Trigger by rising edge) 921 921 )))|(% style="width:165px" %)OK 922 922 923 923 (% style="color:blue" %)**Downlink Command: 0x06** ... ... @@ -929,8 +929,6 @@ 929 929 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 930 930 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 931 931 932 - 933 - 934 934 == 3.3 Set the output time == 935 935 936 936 ... ... @@ -1000,8 +1000,6 @@ 1000 1000 * Example 5: Downlink Payload: 070301F4 **~-~-->** AT+12VT=500 1001 1001 * Example 6: Downlink Payload: 07030000 **~-~-->** AT+12VT=0 1002 1002 1003 - 1004 - 1005 1005 == 3.4 Set the all data mode == 1006 1006 1007 1007 ... ... @@ -1024,8 +1024,6 @@ 1024 1024 * Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 1025 1025 * Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 1026 1026 1027 - 1028 - 1029 1029 == 3.5 Set the splicing payload for uplink == 1030 1030 1031 1031 ... ... @@ -1062,7 +1062,6 @@ 1062 1062 1063 1063 == 3.6 Set the payload version == 1064 1064 1065 - 1066 1066 Feature, Set the payload version. 1067 1067 1068 1068 (% style="color:blue" %)**AT Command: AT+PAYVER** ... ... @@ -1082,8 +1082,6 @@ 1082 1082 * Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1 1083 1083 * Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1084 1084 1085 - 1086 - 1087 1087 = 4. Battery & how to replace = 1088 1088 1089 1089 == 4.1 Battery Type == ... ... @@ -1094,7 +1094,7 @@ 1094 1094 1095 1095 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance. 1096 1096 1097 -[[image:1675 234124233-857.png||_mstalt="295035"]]1023 +[[image:1675146710956-626.png]] 1098 1098 1099 1099 1100 1100 Minimum Working Voltage for the SDI-12-LB: ... ... @@ -1127,10 +1127,9 @@ 1127 1127 1128 1128 And the Life expectation in difference case will be shown on the right. 1129 1129 1056 +[[image:1675146895108-304.png]] 1130 1130 1131 -[[image:1675234155374-163.png||_mstalt="294411"]] 1132 1132 1133 - 1134 1134 The battery related documents as below: 1135 1135 1136 1136 * [[Battery Dimension>>https://www.dropbox.com/s/ox5g9njwjle7aw3/LSN50-Battery-Dimension.pdf?dl=0]], ... ... @@ -1137,7 +1137,7 @@ 1137 1137 * [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]] 1138 1138 * [[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]] 1139 1139 1140 -[[image:image-20230 201145019-19.png||_mstalt="453947"]]1065 +[[image:image-20230131145708-3.png]] 1141 1141 1142 1142 1143 1143 === 4.3.1 Battery Note === ... ... @@ -1154,6 +1154,7 @@ 1154 1154 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) 1155 1155 1156 1156 1082 + 1157 1157 = 5. Remote Configure device = 1158 1158 1159 1159 == 5.1 Connect via BLE == ... ... @@ -1174,59 +1174,36 @@ 1174 1174 [[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/]] 1175 1175 1176 1176 1177 -= 7. FAQ = 1178 1178 1179 -= =7.1How to useAT Command toaccess device?==1104 += 7. Order Info = 1180 1180 1181 1181 1182 -See: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]] 1107 +Part Number: SDI-12-LB-XXX 1108 +XXX: The default frequency band 1183 1183 1110 +AS923: LoRaWAN AS923 band 1111 +AU915: LoRaWAN AU915 band 1112 +EU433: LoRaWAN EU433 band 1113 +EU868: LoRaWAN EU868 band 1114 +KR920: LoRaWAN KR920 band 1115 +US915: LoRaWAN US915 band 1116 +IN865: LoRaWAN IN865 band 1117 +CN470: LoRaWAN CN470 band 1184 1184 1185 -== 7.2 How to update firmware via UART port? == 1186 1186 1187 1187 1188 -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]] 1189 1189 1190 1190 1191 -== 7.3 How to change the LoRa Frequency Bands/Region? == 1192 1192 1193 1193 1194 -You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]]. 1195 -When downloading the images, choose the required image file for download. 1125 += 8. Packing Info = 1196 1196 1197 1197 1198 - = 8. OrderInfo =1128 +**Package Includes**: 1199 1199 1200 - 1201 -((( 1202 -(% style="color:blue" %)**Part Number: SDI-12-LB-XXX** 1203 -))) 1204 - 1205 -((( 1206 -XXX: The default frequency band 1207 -))) 1208 - 1209 -((( 1210 -(% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 1211 -(% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 1212 -(% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band 1213 -(% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band 1214 -(% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band 1215 -(% style="color:red" %)**US915**(%%): LoRaWAN US915 band 1216 -(% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 1217 -(% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 1218 -))) 1219 - 1220 - 1221 - 1222 -= 9. Packing Info = 1223 - 1224 - 1225 -(% style="color:#037691" %)**Package Includes**: 1226 - 1227 1227 * SDI-12-LB SDI-12 to LoRaWAN Converter x 1 1228 1228 1229 - (% style="color:#037691" %)**Dimension and weight**:1132 +**Dimension and weight**: 1230 1230 1231 1231 * Device Size: cm 1232 1232 * Device Weight: g ... ... @@ -1233,11 +1233,9 @@ 1233 1233 * Package Size / pcs : cm 1234 1234 * Weight / pcs : g 1235 1235 1139 += 9. Support = 1236 1236 1237 1237 1238 -= 10. Support = 1239 - 1240 - 1241 1241 * 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. 1242 1242 1243 1243 * 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]]
- 1675234155374-163.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -138.2 KB - Content
- image-20230201145019-19.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -82.2 KB - Content
- image-20230201152430-20.jpeg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -16.5 KB - Content
- image-20230222143809-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -322.1 KB - Content