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, 3 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 ... ... @@ -69,20 +69,18 @@ 69 69 == 1.3 Specification == 70 70 71 71 72 -(% style="color:#037691" %) **Micro Controller:**63 +**(% style="color:#037691" %)Micro Controller:** 73 73 74 74 * MCU: 48Mhz ARM 75 75 * Flash: 256KB 76 76 * RAM: 64KB 77 77 78 -(% style="color:#037691" %) **Common DC Characteristics:**69 +**(% style="color:#037691" %)Common DC Characteristics:** 79 79 80 80 * Supply Voltage: 2.5v ~~ 3.6v 81 -* Support current: 5V 300mA 82 - 12V 100mA 83 83 * Operating Temperature: -40 ~~ 85°C 84 84 85 -(% style="color:#037691" %) **LoRa Spec:**74 +**(% style="color:#037691" %)LoRa Spec:** 86 86 87 87 * Frequency Range, Band 1 (HF): 862 ~~ 1020 Mhz 88 88 * Max +22 dBm constant RF output vs. ... ... @@ -89,19 +89,19 @@ 89 89 * RX sensitivity: down to -139 dBm. 90 90 * Excellent blocking immunity 91 91 92 -(% style="color:#037691" %) **Current Input Measuring :**81 +**(% style="color:#037691" %)Current Input Measuring :** 93 93 94 94 * Range: 0 ~~ 20mA 95 95 * Accuracy: 0.02mA 96 96 * Resolution: 0.001mA 97 97 98 -(% style="color:#037691" %) **Voltage Input Measuring:**87 +**(% style="color:#037691" %)Voltage Input Measuring:** 99 99 100 100 * Range: 0 ~~ 30v 101 101 * Accuracy: 0.02v 102 102 * Resolution: 0.001v 103 103 104 -(% style="color:#037691" %) **Battery:**93 +**(% style="color:#037691" %)Battery:** 105 105 106 106 * Li/SOCI2 un-chargeable battery 107 107 * Capacity: 8500mAh ... ... @@ -109,7 +109,7 @@ 109 109 * Max continuously current: 130mA 110 110 * Max boost current: 2A, 1 second 111 111 112 -(% style="color:#037691" %) **Power Consumption**101 +**(% style="color:#037691" %)Power Consumption** 113 113 114 114 * Sleep Mode: 5uA @ 3.3v 115 115 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm ... ... @@ -119,41 +119,42 @@ 119 119 120 120 121 121 122 -[[image:1675212538524-889.png ||_mstalt="298272"]]111 +[[image:1675212538524-889.png]] 123 123 124 124 125 125 == 1.5 Sleep mode and working mode == 126 126 127 127 128 -(% 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. 129 129 130 -(% 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. 131 131 132 132 133 133 == 1.6 Button & LEDs == 134 134 135 135 136 -[[image:1675212633011-651.png ||_mstalt="291538"]]125 +[[image:1675212633011-651.png]] 137 137 138 138 139 -(% border="1" cellspacing="4" style="width:510px" %) 140 -|=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action** 141 -|(% style="background-color:#f2f2f2; width:167px" %)Pressing ACT between 1s < time < 3s|(% style="background-color:#f2f2f2; width:117px" %)Send an uplink|(% style="background-color:#f2f2f2; width:225px" %)((( 128 + 129 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 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" %)((( 142 142 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 143 143 Meanwhile, BLE module will be active and user can connect via BLE to configure device. 144 144 ))) 145 -|(% style=" background-color:#f2f2f2;width:167px" %)Pressing ACT for more than 3s|(% style="background-color:#f2f2f2;width:117px" %)Active Device|(% style="background-color:#f2f2f2;width:225px" %)(((146 -(% style=" background-color:#f2f2f2; color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network.147 -(% style=" background-color:#f2f2f2; color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.135 +|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)((( 136 +(% 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. 137 +(% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 148 148 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. 149 149 ))) 150 -|(% style=" background-color:#f2f2f2;width:167px" %)Fast press ACT 5 times.|(% style="background-color:#f2f2f2;width:117px" %)Deactivate Device|(% style="background-color:#f2f2f2;width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB-NAis 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. 151 151 152 152 153 153 == 1.7 Pin Mapping == 154 154 155 155 156 -[[image:1675213198663-754.png ||_mstalt="297167"]]146 +[[image:1675213198663-754.png]] 157 157 158 158 159 159 == 1.8 BLE connection == ... ... @@ -173,11 +173,11 @@ 173 173 == 1.9 Mechanical == 174 174 175 175 176 -[[image:image-20230201090139-2.png ||_mstalt="428623"]]166 +[[image:image-20230201090139-2.png]] 177 177 178 -[[image:image-20230201090139-3.png ||_mstalt="428987"]]168 +[[image:image-20230201090139-3.png]] 179 179 180 -[[image:image-20230201090139-4.png ||_mstalt="429351"]]170 +[[image:image-20230201090139-4.png]] 181 181 182 182 183 183 = 2. Configure SDI-12 to connect to LoRaWAN network = ... ... @@ -185,7 +185,7 @@ 185 185 == 2.1 How it works == 186 186 187 187 188 -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. 189 189 190 190 191 191 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == ... ... @@ -194,56 +194,60 @@ 194 194 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. 195 195 196 196 197 -[[image:image-20230201090528-5.png|| _mstalt="430300"height="465" width="1111"]]187 +[[image:image-20230201090528-5.png||height="465" width="1111"]] 198 198 199 199 200 200 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. 201 201 202 202 203 -(% 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. 204 204 205 205 Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 206 206 207 207 208 -[[image:image-20230 201152430-20.jpeg||_mstalt="492245"]]198 +[[image:image-20230131134744-2.jpeg]] 209 209 210 210 201 + 202 + 203 + 211 211 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 212 212 213 213 214 -(% style="color:blue" %) **Register the device**207 +**(% style="color:blue" %)Register the device** 215 215 216 -[[image:1675213652444-622.png ||_mstalt="293657"]]209 +[[image:1675213652444-622.png]] 217 217 218 218 219 -(% style="color:blue" %) **Add APP EUI and DEV EUI**212 +**(% style="color:blue" %)Add APP EUI and DEV EUI** 220 220 221 221 222 -[[image:1675213661769-223.png ||_mstalt="295217"]]215 +[[image:1675213661769-223.png]] 223 223 224 224 225 -(% style="color:blue" %) **Add APP EUI in the application**218 +**(% style="color:blue" %)Add APP EUI in the application** 226 226 227 227 228 -[[image:1675213675852-577.png ||_mstalt="297947"]]221 +[[image:1675213675852-577.png]] 229 229 230 230 231 -(% style="color:blue" %) **Add APP KEY**224 +**(% style="color:blue" %)Add APP KEY** 232 232 233 -[[image:1675213686734-883.png ||_mstalt="298064"]]226 +[[image:1675213686734-883.png]] 234 234 235 235 236 -(% style="color:blue" %) **Step 2**(%%): Activate on SDI-12-LB229 +**(% style="color:blue" %)Step 2**(%%): Activate on SDI-12-LB 237 237 238 238 239 239 Press the button for 5 seconds to activate the SDI-12-LB. 240 240 241 -(% 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. 242 242 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. 243 243 244 -[[image:1675213704414-644.png||_mstalt="293748"]] 245 245 238 +[[image:1675213704414-644.png]] 246 246 240 + 247 247 == 2.3 SDI-12 Related Commands == 248 248 249 249 ... ... @@ -260,43 +260,43 @@ 260 260 The following is the display information on the serial port and the server. 261 261 262 262 263 -[[image:image-20230201091027-6.png||_mstalt="429065"]] 264 264 258 +[[image:image-20230201091027-6.png]] 265 265 266 -[[image:image-20230201091027-7.png||_mstalt="429429" height="261" width="1179"]] 267 267 261 +[[image:image-20230201091027-7.png||height="261" width="1179"]] 268 268 269 269 270 -==== (% style="color:blue" %) **al! ~-~- Get SDI-12 sensor Identification**(%%)====264 +==== **(% style="color:blue" %)al! ~-~- Get SDI-12 sensor Identification** ==== 271 271 272 272 273 273 * AT Command: AT+ADDRI=aa 274 274 * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa 275 275 276 -(% 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) 277 277 278 -(% 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) 279 279 280 280 281 281 The following is the display information on the serial port and the server. 282 282 283 283 284 -[[image:image-20230201091257-8.png ||_mstalt="431392"]]278 +[[image:image-20230201091257-8.png]] 285 285 286 286 287 -[[image:image-20230201091257-9.png|| _mstalt="431756"height="225" width="1242"]]281 +[[image:image-20230201091257-9.png||height="225" width="1242"]] 288 288 289 289 290 -==== (% style="color:blue" %) **aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%)====284 +==== **(% style="color:blue" %)aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ==== 291 291 292 292 293 -(% style="color:red" %) **aM! **(%%): Start Non-Concurrent Measurement287 +**(% style="color:red" %)aM! **(%%): Start Non-Concurrent Measurement 294 294 295 -(% style="color:red" %) **aMC! **(%%): Start Non-Concurrent Measurement – Request CRC289 +**(% style="color:red" %)aMC! **(%%): Start Non-Concurrent Measurement – Request CRC 296 296 297 -(% style="color:red" %) **aM1!- aM9! **(%%): Additional Measurements291 +**(% style="color:red" %)aM1!- aM9! **(%%): Additional Measurements 298 298 299 -(% style="color:red" %) **aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC293 +**(% style="color:red" %)aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC 300 300 301 301 302 302 * AT Command : AT+ADDRM=0,1,0,1 ... ... @@ -305,35 +305,35 @@ 305 305 306 306 Downlink:AA 01 aa bb cc dd 307 307 308 -(% style="color:#037691" %) **aa**(%%): SDI-12 sensor address.302 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address. 309 309 310 -(% style="color:#037691" %) **bb**(%%): 0: no CRC, 1: request CRC304 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC 311 311 312 -(% style="color:#037691" %) **cc**(%%): 1-9: Additional Measurement, 0: no additional measurement306 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 313 313 314 -(% 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. 315 315 316 316 317 317 The following is the display information on the serial port and the server. 318 318 319 319 320 -[[image:image-20230201091630-10.png ||_mstalt="449995"]]314 +[[image:image-20230201091630-10.png]] 321 321 322 322 323 -[[image:image-20230201091630-11.png|| _mstalt="450372"height="247" width="1165"]]317 +[[image:image-20230201091630-11.png||height="247" width="1165"]] 324 324 325 325 326 326 327 -==== (% style="color:blue" %) **aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! **(%%)====321 +==== **(% style="color:blue" %)aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! ** ==== 328 328 329 329 330 -(% style="color:red" %) **aC!**(%%) : Start Concurrent Measurement324 +**(% style="color:red" %)aC!**(%%) : Start Concurrent Measurement 331 331 332 -(% style="color:red" %) **aCC!** (%%): Start Concurrent Measurement – Request CRC326 +**(% style="color:red" %)aCC!** (%%): Start Concurrent Measurement – Request CRC 333 333 334 -(% style="color:red" %) **aC1!- aC9!**(%%) : Start Additional Concurrent Measurements328 +**(% style="color:red" %)aC1!- aC9!**(%%) : Start Additional Concurrent Measurements 335 335 336 -(% style="color:red" %) **aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC330 +**(% style="color:red" %)aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC 337 337 338 338 339 339 * AT Command : AT+ADDRC=0,1,0,1 ... ... @@ -342,27 +342,27 @@ 342 342 343 343 Downlink: AA 02 aa bb cc dd 344 344 345 -(% style="color:#037691" %) **aa**(%%): SDI-12 sensor address.339 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address. 346 346 347 -(% style="color:#037691" %) **bb**(%%): 0: no CRC, 1: request CRC341 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC 348 348 349 -(% style="color:#037691" %) **cc**(%%): 1-9: Additional Measurement, 0: no additional measurement343 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 350 350 351 -(% 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. 352 352 353 353 354 354 The following is the display information on the serial port and the server. 355 355 356 356 357 -[[image:image-20230201091954-12.png ||_mstalt="453687"]]351 +[[image:image-20230201091954-12.png]] 358 358 359 359 360 -[[image:image-20230201091954-13.png|| _mstalt="454064"height="203" width="1117"]]354 +[[image:image-20230201091954-13.png||height="203" width="1117"]] 361 361 362 362 363 363 364 364 365 -==== (% style="color:blue" %) **aR0!- aR9!, aRC0!- aRC9!**(%%)====359 +==== **(% style="color:blue" %)aR0!- aR9!, aRC0!- aRC9!** ==== 366 366 367 367 368 368 Start Continuous Measurement ... ... @@ -375,24 +375,25 @@ 375 375 376 376 Downlink: AA 03 aa bb cc dd 377 377 378 -(% style="color:#037691" %) **aa**(%%): SDI-12 sensor address.372 +**(% style="color:#037691" %)aa**(%%): SDI-12 sensor address. 379 379 380 -(% style="color:#037691" %) **bb**(%%): 0: no CRC, 1: request CRC374 +**(% style="color:#037691" %)bb**(%%): 0: no CRC, 1: request CRC 381 381 382 -(% style="color:#037691" %) **cc**(%%): 1-9: Additional Measurement, 0: no additional measurement376 +**(% style="color:#037691" %)cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 383 383 384 -(% 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. 385 385 386 386 387 387 The following is the display information on the serial port and the server. 388 388 389 389 390 -[[image:image-20230201092208-14.png||_mstalt="452283"]] 391 391 385 +[[image:image-20230201092208-14.png]] 392 392 393 -[[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]] 394 394 388 +[[image:image-20230201092208-15.png||height="214" width="1140"]] 395 395 390 + 396 396 === 2.3.2 Advance SDI-12 Debug command === 397 397 398 398 ... ... @@ -401,20 +401,20 @@ 401 401 402 402 LoRaWAN Downlink: A8 aa xx xx xx xx bb cc 403 403 404 -(% style="color:#037691" %) **aa **(%%): total SDI-12 command length399 +**(% style="color:#037691" %)aa **(%%): total SDI-12 command length 405 405 406 -(% style="color:#037691" %) **xx **(%%): SDI-12 command401 +**(% style="color:#037691" %)xx **(%%): SDI-12 command 407 407 408 -(% style="color:#037691" %) **bb **(%%): Delay to wait for return403 +**(% style="color:#037691" %)bb **(%%): Delay to wait for return 409 409 410 -(% 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 411 411 412 412 413 -(% style="color:blue" %) **Example: **(%%) AT+CFGDEV =0RC0!,1408 +**(% style="color:blue" %)Example: **(%%) AT+CFGDEV =0RC0!,1 414 414 415 -(% style="color:#037691" %) **0RC0! **(%%): SDI-12 Command,410 +**(% style="color:#037691" %)0RC0! **(%%): SDI-12 Command, 416 416 417 -(% style="color:#037691" %) **1 **(%%): Delay 1 second. ( 0: 810 mini-second)412 +**(% style="color:#037691" %)1 **(%%): Delay 1 second. ( 0: 810 mini-second) 418 418 419 419 Equal Downlink: 0xA8 05 30 52 43 30 21 01 01 420 420 ... ... @@ -422,10 +422,10 @@ 422 422 The following is the display information on the serial port and the server. 423 423 424 424 425 -[[image:image-20230201092355-16.png ||_mstalt="453960"]]420 +[[image:image-20230201092355-16.png]] 426 426 427 427 428 -[[image:image-20230201092355-17.png|| _mstalt="454337"height="426" width="1135"]]423 +[[image:image-20230201092355-17.png||height="426" width="1135"]] 429 429 430 430 431 431 === 2.3.3 Convert ASCII to String === ... ... @@ -436,16 +436,16 @@ 436 436 AT+CONVFORM ( Max length: 80 bytes) 437 437 438 438 439 -(% style="color:blue" %) **Example:**434 +**(% style="color:blue" %)Example:** 440 440 441 441 1) AT+CONVFORM=0, string Convert String from String to ASCII 442 442 443 -[[image:1675214845056-885.png ||_mstalt="297622"]]438 +[[image:1675214845056-885.png]] 444 444 445 445 446 446 2) AT+CONVFORM=1, ASCII Convert ASCII to String. 447 447 448 -[[image:1675214856590-846.png ||_mstalt="297739"]]443 +[[image:1675214856590-846.png]] 449 449 450 450 451 451 === 2.3.4 Define periodically SDI-12 commands and uplink. === ... ... @@ -456,35 +456,35 @@ 456 456 User can define max 15 SDI-12 Commands (AT+COMMAND1 ~~ AT+COMMANDF). On each uplink period (TDC time, default 20 minutes), SDI-12-LB will send these SDI-12 commands and wait for return from SDI-12 sensors. SDI-12-LB will then combine these returns and uplink via LoRaWAN. 457 457 458 458 459 -* (% style="color:blue" %) **AT Command:**454 +* ** (% style="color:blue" %)AT Command:** 460 460 461 -(% style="color:#037691" %) **AT+COMMANDx=var1,var2,var3,var4.**456 +**(% style="color:#037691" %)AT+COMMANDx=var1,var2,var3,var4.** 462 462 463 -(% style="color:red" %) **var1**(%%): SDI-12 command , for example: 0RC0!458 +**(% style="color:red" %)var1**(%%): SDI-12 command , for example: 0RC0! 464 464 465 -(% style="color:red" %) **var2**(%%): Wait timeout for return. (unit: second)460 +**(% style="color:red" %)var2**(%%): Wait timeout for return. (unit: second) 466 466 467 -(% 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!//. 468 468 469 -(% 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. 470 470 471 -(% style="color:red" %) **0 **(%%) No validation check;466 +**(% style="color:red" %)0 **(%%) No validation check; 472 472 473 -(% style="color:red" %) **1**468 +**(% style="color:red" %)1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E); 474 474 475 -(% 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 476 476 477 -(% style="color:red" %) **3**472 +**(% style="color:red" %)3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request); 478 478 479 479 480 -Each AT+COMMANDx is followed by a (% 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. 481 481 482 482 483 -(% 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. 484 484 485 -(% border="1" style="width:436px" %) 486 -|(% style="width:433px ;background-color:#F2F2F2%)(((487 -** (% style="color:#0070C0" %)AT+DATACUTx=a,b,c**480 +(% border="1" style="background-color:#f7faff; width:436px" %) 481 +|(% style="width:433px" %)((( 482 +**AT+DATACUTx=a,b,c** 488 488 489 489 **a**: length for the return of AT+COMMAND 490 490 ... ... @@ -493,100 +493,102 @@ 493 493 **c**: define the position for valid value. 494 494 ))) 495 495 496 -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: 497 497 498 498 499 -(% border="1" cellspacing="4" style="width:510px" %) 500 -| =(% style="width:64px;background-color:#D9E2F3;color:#0070C0" %)**AT+DATACUT1 value**|=(% style="width:44px;background-color:#D9E2F3;color:#0070C0" %)**Final Result to combine Payload**501 -|(% style="width:1 64px;background-color:#F2F2F2" %)34,1,1+2+3|(% style="width:344px;background-color:#F2F2F2" %)0D 00 01 30 31 33502 -|(% style="width:1 64px;background-color:#F2F2F2" %)34,2,1~~8+12~~16|(% style="width:344px;background-color:#F2F2F2" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32503 -|(% style="width:1 64px;background-color:#F2F2F2" %)34,2,1~~34|(% style="width:344px;background-color:#F2F2F2" %)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 0A494 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 495 +|(% 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 504 504 505 -* (% style="color:blue" %) **Downlink Payload:**500 +* **(% style="color:blue" %) Downlink Payload:** 506 506 507 -(% 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. 508 508 509 509 510 -(% 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.** 511 511 512 512 513 -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** 514 514 515 515 Where: 516 516 517 -* (% style="color:#037691" %) **MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,518 -* (% style="color:#037691" %) **NN **(%%): 1: set the AT+COMMAND value ; 2: set the AT+DATACUT value.519 -* (% style="color:#037691" %) **LL **(%%): The length of AT+COMMAND or AT+DATACUT command520 -* (% style="color:#037691" %) **XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command521 -* (% 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. 522 522 523 -(% style="color:blue" %) **Example:**518 +**(% style="color:blue" %)Example:** 524 524 525 -[[image:image-20230201094129-18.png ||_mstalt="455065"]]520 +[[image:image-20230201094129-18.png]] 526 526 527 527 523 +**(% style="color:blue" %)Clear SDI12 Command** 528 528 529 -(% style="color:blue" %)**Clear SDI12 Command** 530 - 531 531 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 532 532 533 533 534 -* (% style="color:#037691" %) **AT Command:**528 +* ** (% style="color:#037691" %)AT Command:** 535 535 536 -(% 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 537 537 538 538 539 539 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 540 540 541 541 542 -* (% style="color:#037691" %) **Downlink Payload:**536 +* **(% style="color:#037691" %) Downlink Payload:** 543 543 544 -(% 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 545 545 546 546 547 547 548 -(% style="color:blue" %) **command combination**542 +**(% style="color:blue" %)command combination** 549 549 550 550 Below shows a screen shot how the results combines together to a uplink payload. 551 551 552 -[[image:1675215745275-920.png ||_mstalt="295334"]]546 +[[image:1675215745275-920.png]] 553 553 554 554 555 555 If user don't want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1. 556 556 557 -(% 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. 558 558 559 559 560 -(% 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. 561 561 562 562 563 -[[image:1675215782925-448.png ||_mstalt="297466"]]557 +[[image:1675215782925-448.png]] 564 564 565 565 566 -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. 567 567 568 568 569 569 570 -(% style="color:blue" %) **Compose Uplink**564 +**(% style="color:blue" %)Compose Uplink** 571 571 572 -(% style="color:#4f81bd" %)**AT+DATAUP=0** 573 573 574 - Composethe uplink payload with valuereturnsin sequence and send with **__ASIGNLEUPLINK__**.567 +**(% style="color:#4F81BD" %)AT+DATAUP=0** 575 575 576 - FinalPayload is **__BatteryInfo+PAYVER + VALID ValuefromRETURN1+ValidValuefromRETURN2+ … + RETURNx__**569 +Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK. 577 577 571 +Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx 572 + 578 578 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 579 579 580 580 581 -[[image:1675215828102-844.png ||_mstalt="294645"]]576 +[[image:1675215828102-844.png]] 582 582 583 583 584 -(% style="color:#4 f81bd" %)**AT+DATAUP=1**579 +**(% style="color:#4F81BD" %)AT+DATAUP=1** 585 585 586 -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. 587 587 588 -Final Payload is __**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__583 +Final Payload is 589 589 585 +__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__ 586 + 590 590 1. Battery Info (2 bytes): Battery voltage 591 591 1. PAYVER (1 byte): Defined by AT+PAYVER 592 592 1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. ... ... @@ -593,10 +593,10 @@ 593 593 1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 594 594 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 595 595 596 -[[image:1675215848113-696.png ||_mstalt="296998"]]593 +[[image:1675215848113-696.png]] 597 597 598 598 599 -(% 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:** 600 600 601 601 * For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 602 602 * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). ... ... @@ -603,13 +603,22 @@ 603 603 * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 604 604 * For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 605 605 606 -(% 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;** 607 607 608 -(% 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.** 609 609 610 610 611 -== 2.4 Uplink Payload == 608 +== 2.4 Uplink Payload == 612 612 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 + 613 613 === 2.4.1 Device Payload, FPORT~=5 === 614 614 615 615 ... ... @@ -617,21 +617,21 @@ 617 617 618 618 Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink. 619 619 620 -(% border="1" cellspacing="4" style="width: 510px" %)621 -|(% colspan="6" style=" background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**622 -|(% style=" background-color:#f2f2f2;width:103px" %)**Size (bytes)**|(% style="background-color:#f2f2f2;width:72px" %)**1**|(% style="background-color:#f2f2f2" %)**2**|(% style="background-color:#f2f2f2;width:91px" %)**1**|(% style="background-color:#f2f2f2;width:86px" %)**1**|(% style="background-color:#f2f2f2;width:44px" %)**2**623 -|(% style=" background-color:#f2f2f2;width:103px" %)**Value**|(% style="background-color:#f2f2f2;width:72px" %)Sensor Model|(% style="background-color:#f2f2f2" %)Firmware Version|(% style="background-color:#f2f2f2;width:91px" %)Frequency Band|(% style="background-color:#f2f2f2;width:86px" %)Sub-band|(% style="background-color:#f2f2f2;width:44px" %)BAT626 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 627 +|(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)** 628 +|(% 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 624 624 625 625 Example parse in TTNv3 626 626 627 -[[image:1675215946738-635.png ||_mstalt="297778"]]633 +[[image:1675215946738-635.png]] 628 628 629 629 630 -(% 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 631 631 632 -(% style="color:#037691" %) **Firmware Version**(%%): 0x0100, Means: v1.0.0 version638 +**(% style="color:#037691" %)Firmware Version**(%%): 0x0100, Means: v1.0.0 version 633 633 634 -(% style="color:#037691" %) **Frequency Band**:640 +**(% style="color:#037691" %)Frequency Band**: 635 635 636 636 *0x01: EU868 637 637 ... ... @@ -662,7 +662,7 @@ 662 662 *0x0e: MA869 663 663 664 664 665 -(% style="color:#037691" %) **Sub-Band**:671 +**(% style="color:#037691" %)Sub-Band**: 666 666 667 667 AU915 and US915:value 0x00 ~~ 0x08 668 668 ... ... @@ -671,7 +671,7 @@ 671 671 Other Bands: Always 0x00 672 672 673 673 674 -(% style="color:#037691" %) **Battery Info**:680 +**(% style="color:#037691" %)Battery Info**: 675 675 676 676 Check the battery voltage. 677 677 ... ... @@ -689,20 +689,20 @@ 689 689 690 690 * Periodically Uplink: FPORT=2 691 691 692 -(% border="1" cellspacing="4" style="background-color:# F2F2F2; width:500px" %)693 -| =(% style="width:0px;" %)(((698 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 699 +|(% style="width:93px" %)((( 694 694 **Size(bytes)** 695 -)))| =(% 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** 696 696 |(% style="width:93px" %)**Value**|(% style="width:83px" %)((( 697 697 Battery(mV) 698 698 & 699 699 Interrupt_Flag 700 -)))|(% style="width: 91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)(((706 +)))|(% style="width:70px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:234px" %)((( 701 701 If the valid payload is too long and exceed the maximum support. 702 702 Payload length in server,server will show payload not provided in the LoRaWAN server. 703 703 ))) 704 704 705 -[[image:1675216282284-923.png ||_mstalt="295633"]]711 +[[image:1675216282284-923.png]] 706 706 707 707 708 708 === 2.4.3 Battery Info === ... ... @@ -718,7 +718,7 @@ 718 718 === 2.4.4 Interrupt Pin === 719 719 720 720 721 -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"]]. 722 722 723 723 **Example:** 724 724 ... ... @@ -729,7 +729,6 @@ 729 729 730 730 === 2.4.5 Payload version === 731 731 732 -The version number of the payload, mainly used for decoding. The default is 01. 733 733 734 734 735 735 === 2.4.6 Decode payload in The Things Network === ... ... @@ -737,7 +737,7 @@ 737 737 738 738 While using TTN network, you can add the payload format to decode the payload. 739 739 740 -[[image:1675216779406-595.png ||_mstalt="298376"]]745 +[[image:1675216779406-595.png]] 741 741 742 742 743 743 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. ... ... @@ -750,91 +750,26 @@ 750 750 751 751 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: 752 752 753 -[[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]] 754 754 755 755 756 -== 2.6 Examples To Set SDI commands. == 757 757 758 -=== 2.6.1 Examples 1 === 759 759 763 +== 2.6 Frequency Plans == 760 760 761 -COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication. 762 762 763 -[[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]] 764 - 765 - 766 -(% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:** 767 - 768 -a. Send the first command and get the first reply: 769 - 770 -(% style="color:#037691" %)**AT+COMMANDx=1I!,0,0,1** 771 - 772 -b. Send the second command and get the second reply: 773 - 774 -(% style="color:#037691" %)**AT+COMMANDx=2I!,0,0,1** 775 - 776 -c. Send the third command and get the third reply: 777 - 778 -(% style="color:#037691" %)**AT+COMMANDx=3I!,0,0,1** 779 - 780 -d. Send the fourth command and get the fourth reply: 781 - 782 -(% style="color:#037691" %)**AT+COMMANDx=4I!,0,0,1** 783 - 784 -e. Send the fifth command plus the sixth command, get the sixth reply: 785 - 786 -(% style="color:#037691" %)**AT+COMMANDx=1M!,2,1,1** 787 - 788 -f. Send the seventh command plus the eighth command, get the eighth reply: 789 - 790 -(% style="color:#037691" %)**AT+COMMANDx=2M!,2,1,1** 791 - 792 -g. Send the ninth command plus the tenth command, get the tenth reply: 793 - 794 -(% style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1** 795 - 796 -h. Send the eleventh command plus the twelfth command, get the twelfth reply: 797 - 798 -(% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1** 799 - 800 - 801 -(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:** 802 - 803 -a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>” 804 - 805 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %); 806 - 807 -b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>” 808 - 809 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 810 - 811 -c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>” 812 - 813 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 814 - 815 -d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>” 816 - 817 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %); 818 - 819 -e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>” 820 - 821 -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”**. 822 - 823 - 824 -== 2.7 Frequency Plans == 825 - 826 - 827 827 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. 828 828 829 829 [[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/]] 830 830 831 831 832 -== 2.8 Firmware Change Log == 833 833 772 +== 2.7 Firmware Change Log == 834 834 774 + 835 835 **Firmware download link:** 836 836 837 -[[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]] 838 838 839 839 840 840 = 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink = ... ... @@ -842,12 +842,12 @@ 842 842 843 843 Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink. 844 844 845 -* AT Command Connection: See [[FAQ>> ||anchor="H7.FAQ"]].785 +* AT Command Connection: See [[FAQ>>path:#AT_COMMAND]]. 846 846 * LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 847 847 848 848 There are two kinds of commands to configure SDI-12-LB, they are: 849 849 850 -* (% style="color:blue" %)**General Commands**.790 +* **General Commands**. 851 851 852 852 These commands are to configure: 853 853 ... ... @@ -856,15 +856,15 @@ 856 856 857 857 They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: 858 858 859 -[[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]] 860 860 861 861 862 -* (% style="color:blue" %)**Commands special design for SDI-12-LB**802 +* **Commands special design for SDI-12-LB** 863 863 864 864 These commands only valid for SDI-12-LB, as below: 865 865 866 866 867 -== 3.1 Set Transmit Interval Time == 807 +== 3.1 Set Transmit Interval Time == 868 868 869 869 870 870 Feature: Change LoRaWAN End Node Transmit Interval. ... ... @@ -871,19 +871,18 @@ 871 871 872 872 (% style="color:blue" %)**AT Command: AT+TDC** 873 873 874 -(% border="1" cellspacing="4" style="width:510px" %) 875 -|=(% style="width: 16 0px;background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Command Example**|=(% style="width: 160px;background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)**Response**876 -|(% style=" background-color:#f2f2f2;width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2;width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)(((814 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 815 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 137px;" %)**Function**|=**Response** 816 +|(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 877 877 30000 878 878 OK 879 879 the interval is 30000ms = 30s 880 880 ))) 881 -|(% style=" background-color:#f2f2f2;width:157px" %)AT+TDC=60000|(% style="background-color:#f2f2f2;width:166px" %)Set Transmit Interval|(% style="background-color:#f2f2f2" %)(((821 +|(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|((( 882 882 OK 883 883 Set transmit interval to 60000ms = 60 seconds 884 884 ))) 885 885 886 - 887 887 (% style="color:blue" %)**Downlink Command: 0x01** 888 888 889 889 ... ... @@ -894,7 +894,6 @@ 894 894 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 895 895 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 896 896 897 - 898 898 == 3.2 Set Interrupt Mode == 899 899 900 900 ... ... @@ -902,22 +902,21 @@ 902 902 903 903 (% style="color:blue" %)**AT Command: AT+INTMOD** 904 904 905 -(% border="1" cellspacing="4" style="width:510px" %) 906 -|=(% style="width: 15 4px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3;color:#0070C0" %)**Response**907 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+INTMOD=?|(% style="background-color:#f2f2f2;width:196px" %)Show current interrupt mode|(% style="background-color:#f2f2f2;width:157px" %)(((843 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 844 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 187px;" %)**Function**|=(% style="width: 165px;" %)**Response** 845 +|(% style="width:156px" %)AT+INTMOD=?|(% style="width:187px" %)Show current interrupt mode|(% style="width:165px" %)((( 908 908 0 909 909 OK 910 -the mode is 0 = DisableInterrupt848 +the mode is 0 = No interruption 911 911 ))) 912 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+INTMOD=2|(% style="background-color:#f2f2f2;width:196px" %)(((850 +|(% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)((( 913 913 Set Transmit Interval 914 - 0. (Disable Interrupt),915 - ~1. (Trigger by rising and falling edge)916 - 2. (Trigger by falling edge)917 - 3. (Trigger by rising edge)918 -)))|(% style=" background-color:#f2f2f2;width:157px" %)OK852 +~1. (Disable Interrupt), 853 +2. (Trigger by rising and falling edge) 854 +3. (Trigger by falling edge) 855 +4. (Trigger by rising edge) 856 +)))|(% style="width:165px" %)OK 919 919 920 - 921 921 (% style="color:blue" %)**Downlink Command: 0x06** 922 922 923 923 Format: Command Code (0x06) followed by 3 bytes. ... ... @@ -927,7 +927,6 @@ 927 927 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 928 928 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 929 929 930 - 931 931 == 3.3 Set the output time == 932 932 933 933 ... ... @@ -935,54 +935,52 @@ 935 935 936 936 (% style="color:blue" %)**AT Command: AT+3V3T** 937 937 938 -(% border="1" cellspacing="4" style="width:474px" %) 939 -|=(% style="width: 154px; background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 201px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 116px;background-color:#D9E2F3;color:#0070C0" %)**Response**940 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+3V3T=?|(% style="background-color:#f2f2f2;width:201px" %)Show 3V3 open time.|(% style="background-color:#f2f2f2;width:116px" %)(((874 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:474px" %) 875 +|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 201px;" %)**Function**|=(% style="width: 116px;" %)**Response** 876 +|(% style="width:154px" %)AT+3V3T=?|(% style="width:201px" %)Show 3V3 open time.|(% style="width:116px" %)((( 941 941 0 942 942 OK 943 943 ))) 944 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+3V3T=0|(% style="background-color:#f2f2f2;width:201px" %)Normally open 3V3 power supply.|(% style="background-color:#f2f2f2;width:116px" %)(((880 +|(% style="width:154px" %)AT+3V3T=0|(% style="width:201px" %)Normally open 3V3 power supply.|(% style="width:116px" %)((( 945 945 OK 946 946 default setting 947 947 ))) 948 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+3V3T=1000|(% style="background-color:#f2f2f2;width:201px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2;width:116px" %)(((884 +|(% style="width:154px" %)AT+3V3T=1000|(% style="width:201px" %)Close after a delay of 1000 milliseconds.|(% style="width:116px" %)((( 949 949 OK 950 950 ))) 951 -|(% style=" background-color:#f2f2f2;width:154px" %)AT+3V3T=65535|(% style="background-color:#f2f2f2;width:201px" %)Normally closed 3V3 power supply.|(% style="background-color:#f2f2f2;width:116px" %)(((887 +|(% style="width:154px" %)AT+3V3T=65535|(% style="width:201px" %)Normally closed 3V3 power supply.|(% style="width:116px" %)((( 952 952 OK 953 953 ))) 954 954 955 - 956 956 (% style="color:blue" %)**AT Command: AT+5VT** 957 957 958 -(% border="1" cellspacing="4" style="width:470px" %) 959 -|=(% style="width: 155px; background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 114px;background-color:#D9E2F3;color:#0070C0" %)**Response**960 -|(% style=" background-color:#f2f2f2;width:155px" %)AT+5VT=?|(% style="background-color:#f2f2f2;width:196px" %)Show 5V open time.|(% style="background-color:#f2f2f2;width:114px" %)(((893 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:470px" %) 894 +|=(% style="width: 155px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 114px;" %)**Response** 895 +|(% style="width:155px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:114px" %)((( 961 961 0 962 962 OK 963 963 ))) 964 -|(% style=" background-color:#f2f2f2;width:155px" %)AT+5VT=0|(% style="background-color:#f2f2f2;width:196px" %)Normally closed 5V power supply.|(% style="background-color:#f2f2f2;width:114px" %)(((899 +|(% style="width:155px" %)AT+5VT=0|(% style="width:196px" %)Normally closed 5V power supply.|(% style="width:114px" %)((( 965 965 OK 966 966 default setting 967 967 ))) 968 -|(% style=" background-color:#f2f2f2;width:155px" %)AT+5VT=1000|(% style="background-color:#f2f2f2;width:196px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2;width:114px" %)(((903 +|(% style="width:155px" %)AT+5VT=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:114px" %)((( 969 969 OK 970 970 ))) 971 -|(% style=" background-color:#f2f2f2;width:155px" %)AT+5VT=65535|(% style="background-color:#f2f2f2;width:196px" %)Normally open 5V power supply.|(% style="background-color:#f2f2f2;width:114px" %)(((906 +|(% style="width:155px" %)AT+5VT=65535|(% style="width:196px" %)Normally open 5V power supply.|(% style="width:114px" %)((( 972 972 OK 973 973 ))) 974 974 975 - 976 976 (% style="color:blue" %)**AT Command: AT+12VT** 977 977 978 -(% border="1" cellspacing="4" style="width:443px" %) 979 -|=(% style="width: 156px; background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 199px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 83px;background-color:#D9E2F3;color:#0070C0" %)**Response**980 -|(% style=" background-color:#f2f2f2;width:156px" %)AT+12VT=?|(% style="background-color:#f2f2f2;width:199px" %)Show 12V open time.|(% style="background-color:#f2f2f2;width:83px" %)(((912 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:443px" %) 913 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 199px;" %)**Function**|=(% style="width: 83px;" %)**Response** 914 +|(% style="width:156px" %)AT+12VT=?|(% style="width:199px" %)Show 12V open time.|(% style="width:83px" %)((( 981 981 0 982 982 OK 983 983 ))) 984 -|(% style=" background-color:#f2f2f2;width:156px" %)AT+12VT=0|(% style="background-color:#f2f2f2;width:199px" %)Normally closed 12V power supply.|(% style="background-color:#f2f2f2;width:83px" %)OK985 -|(% style=" background-color:#f2f2f2;width:156px" %)AT+12VT=500|(% style="background-color:#f2f2f2;width:199px" %)Close after a delay of 500 milliseconds.|(% style="background-color:#f2f2f2;width:83px" %)(((918 +|(% style="width:156px" %)AT+12VT=0|(% style="width:199px" %)Normally closed 12V power supply.|(% style="width:83px" %)OK 919 +|(% style="width:156px" %)AT+12VT=500|(% style="width:199px" %)Close after a delay of 500 milliseconds.|(% style="width:83px" %)((( 986 986 OK 987 987 ))) 988 988 ... ... @@ -999,7 +999,6 @@ 999 999 * Example 5: Downlink Payload: 070301F4 **~-~-->** AT+12VT=500 1000 1000 * Example 6: Downlink Payload: 07030000 **~-~-->** AT+12VT=0 1001 1001 1002 - 1003 1003 == 3.4 Set the all data mode == 1004 1004 1005 1005 ... ... @@ -1007,13 +1007,13 @@ 1007 1007 1008 1008 (% style="color:blue" %)**AT Command: AT+ALLDATAMOD** 1009 1009 1010 -(% border="1" cellspacing="4" style="width:437px" %) 1011 -|= (% style="background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**1012 -| (% style="background-color:#F2F2F2" %)AT+ALLDATAMOD=?|(% style="background-color:#F2F2F2" %)Show current all data mode|(% style="background-color:#F2F2F2" %)(((943 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 944 +|=**Command Example**|=**Function**|=**Response** 945 +|AT+ALLDATAMOD=?|Show current all data mode|((( 1013 1013 0 1014 1014 OK 1015 1015 ))) 1016 -| (% style="background-color:#F2F2F2" %)AT+ALLDATAMOD=1|(% style="background-color:#F2F2F2" %)Set all data mode is 1.|(% style="background-color:#F2F2F2" %)OK949 +|AT+ALLDATAMOD=1|Set all data mode is 1.|OK 1017 1017 1018 1018 (% style="color:blue" %)**Downlink Command: 0xAB** 1019 1019 ... ... @@ -1022,7 +1022,6 @@ 1022 1022 * Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 1023 1023 * Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 1024 1024 1025 - 1026 1026 == 3.5 Set the splicing payload for uplink == 1027 1027 1028 1028 ... ... @@ -1030,21 +1030,21 @@ 1030 1030 1031 1031 (% style="color:blue" %)**AT Command: AT+DATAUP** 1032 1032 1033 -(% border="1" cellspacing="4" style="width:510px" %) 1034 -|=(% style="width: 154px; background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 266px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**1035 -|(% style="width:154px ;background-color:#F2F2F2" %)AT+DATAUP =?|(% style="width:266px;background-color:#F2F2F2" %)Show current splicing payload for uplink mode|(% style="background-color:#F2F2F2" %)(((965 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 966 +|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 266px;" %)**Function**|=**Response** 967 +|(% style="width:154px" %)AT+DATAUP =?|(% style="width:266px" %)Show current splicing payload for uplink mode|((( 1036 1036 0 1037 1037 OK 1038 1038 ))) 1039 -|(% style="width:154px ;background-color:#F2F2F2" %)AT+DATAUP =0|(% style="width:266px;background-color:#F2F2F2" %)(((971 +|(% style="width:154px" %)AT+DATAUP =0|(% style="width:266px" %)((( 1040 1040 Set splicing payload for uplink mode is 0. 1041 -)))|( % style="background-color:#F2F2F2" %)(((973 +)))|((( 1042 1042 OK 1043 1043 ))) 1044 -|(% style="width:154px ;background-color:#F2F2F2" %)AT+DATAUP =1|(% style="width:266px;background-color:#F2F2F2" %)Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|(% style="background-color:#F2F2F2" %)OK1045 -|(% style="width:154px ;background-color:#F2F2F2" %)AT+DATAUP =1,20000|(% style="width:266px;background-color:#F2F2F2" %)(((976 +|(% style="width:154px" %)AT+DATAUP =1|(% style="width:266px" %)Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|OK 977 +|(% style="width:154px" %)AT+DATAUP =1,20000|(% style="width:266px" %)((( 1046 1046 Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds. 1047 -)))| (% style="background-color:#F2F2F2" %)OK979 +)))|OK 1048 1048 1049 1049 (% style="color:blue" %)**Downlink Command: 0xAD** 1050 1050 ... ... @@ -1059,18 +1059,17 @@ 1059 1059 1060 1060 == 3.6 Set the payload version == 1061 1061 1062 - 1063 1063 Feature, Set the payload version. 1064 1064 1065 1065 (% style="color:blue" %)**AT Command: AT+PAYVER** 1066 1066 1067 -(% border="1" cellspacing="4" style="width:437px" %) 1068 -|=(% style="width: 158px; background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 192px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**1069 -|(% style="width:158px ;background-color:#F2F2F2" %)AT+PAYVER=?|(% style="width:192px;background-color:#F2F2F2" %)Show current payload version|(% style="background-color:#F2F2F2" %)(((998 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 999 +|=(% style="width: 158px;" %)**Command Example**|=(% style="width: 192px;" %)**Function**|=**Response** 1000 +|(% style="width:158px" %)AT+PAYVER=?|(% style="width:192px" %)Show current payload version|((( 1070 1070 1 1071 1071 OK 1072 1072 ))) 1073 -|(% style="width:158px ;background-color:#F2F2F2" %)AT+PAYVER=5|(% style="width:192px;background-color:#F2F2F2" %)Set payload version is 5.|(% style="background-color:#F2F2F2" %)OK1004 +|(% style="width:158px" %)AT+PAYVER=5|(% style="width:192px" %)Set payload version is 5.|OK 1074 1074 1075 1075 (% style="color:blue" %)**Downlink Command: 0xAE** 1076 1076 ... ... @@ -1079,87 +1079,126 @@ 1079 1079 * Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1 1080 1080 * Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1081 1081 1013 += 4. Battery & how to replace = 1082 1082 1083 -= 4. Battery & PowerConsumption=1015 +== 4.1 Battery Type == 1084 1084 1085 -PS-LB-NA uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace. 1086 1086 1087 - [[**BatteryInfo& Power ConsumptionAnalyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]].1018 +SDI-12-LB is equipped with a [[8500mAH ER26500 Li-SOCI2 battery>>https://www.dropbox.com/sh/w9l2oa3ytpculph/AAAPtt-apH4lYfCj-2Y6lHvQa?dl=0]]. The battery is un-rechargeable battery with low discharge rate targeting for 8~~10 years use. This type of battery is commonly used in IoT target for long-term running, such as water meter. 1088 1088 1089 1089 1090 - =5.RemoteConfiguredevice=1021 +The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance. 1091 1091 1092 - ==5.1Connect via BLE ==1023 +[[image:1675146710956-626.png]] 1093 1093 1094 1094 1095 - Please see this instructionforhow 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/]]1026 +Minimum Working Voltage for the SDI-12-LB: 1096 1096 1028 +SDI-12-LB: 2.45v ~~ 3.6v 1097 1097 1098 -== 5.2 AT Command Set == 1099 1099 1031 +== 4.2 Replace Battery == 1100 1100 1101 1101 1102 - =6.OTAfirmware update=1034 +Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery. 1103 1103 1036 +And make sure the positive and negative pins match. 1104 1104 1105 -Please see this link for how to do OTA firmware update. 1106 1106 1107 - [[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/]]1039 +== 4.3 Power Consumption Analyze == 1108 1108 1109 1109 1110 - =7.FAQ=1042 +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. 1111 1111 1112 - == 7.1 Howto useAT Command via UART to accessdevice? ==1044 +Instruction to use as below: 1113 1113 1046 +(% style="color:blue" %)**Step 1:**(%%) Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: [[https:~~/~~/www.dropbox.com/sh/zwex6i331j5oeq2/AACIMf9f_v2qsJ39CuMQ5Py_a?dl=0>>https://www.dropbox.com/sh/zwex6i331j5oeq2/AACIMf9f_v2qsJ39CuMQ5Py_a?dl=0]] 1114 1114 1115 - 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]]1048 +(% style="color:blue" %)**Step 2:**(%%) Open it and choose 1116 1116 1050 +* Product Model 1051 +* Uplink Interval 1052 +* Working Mode 1117 1117 1118 - ==7.2 HowtoupdatefirmwareviaUARTport?==1054 +And the Life expectation in difference case will be shown on the right. 1119 1119 1056 +[[image:1675146895108-304.png]] 1120 1120 1121 -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]] 1122 1122 1059 +The battery related documents as below: 1123 1123 1124 -== 7.3 How to change the LoRa Frequency Bands/Region? == 1061 +* [[Battery Dimension>>https://www.dropbox.com/s/ox5g9njwjle7aw3/LSN50-Battery-Dimension.pdf?dl=0]], 1062 +* [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]] 1063 +* [[Lithium-ion Battery-Capacitor datasheet>>https://www.dropbox.com/s/791gjes2lcbfi1p/SPC_1520_datasheet.jpg?dl=0]], [[Tech Spec>>https://www.dropbox.com/s/4pkepr9qqqvtzf2/SPC1520%20Technical%20Specification20171123.pdf?dl=0]] 1125 1125 1065 +[[image:image-20230131145708-3.png]] 1126 1126 1127 -You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]]. 1128 -When downloading the images, choose the required image file for download. 1129 1129 1068 +=== 4.3.1 Battery Note === 1130 1130 1131 -= 8. Order Info = 1132 1132 1071 +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. 1133 1133 1134 -((( 1135 -(% style="color:blue" %)**Part Number: SDI-12-LB-XXX** 1136 -))) 1137 1137 1138 -((( 1074 +=== 4.3.2 Replace the battery === 1075 + 1076 + 1077 +You can change the battery in the SDI-12-LB.The type of battery is not limited as long as the output is between 3v to 3.6v. On the main board, there is a diode (D1) between the battery and the main circuit. If you need to use a battery with less than 3.3v, please remove the D1 and shortcut the two pads of it so there won't be voltage drop between battery and main board. 1078 + 1079 +The default battery pack of SDI-12-LB includes a ER26500 plus super capacitor. If user can't find this pack locally, they can find ER26500 or equivalence, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes) 1080 + 1081 + 1082 + 1083 += 5. Remote Configure device = 1084 + 1085 +== 5.1 Connect via BLE == 1086 + 1087 + 1088 +Please see this instruction for how to configure via BLE: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]] 1089 + 1090 + 1091 +== 5.2 AT Command Set == 1092 + 1093 + 1094 + 1095 += 6. OTA firmware update = 1096 + 1097 + 1098 +Please see this link for how to do OTA firmware update. 1099 + 1100 +[[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 + 1102 + 1103 + 1104 += 7. Order Info = 1105 + 1106 + 1107 +Part Number: SDI-12-LB-XXX 1139 1139 XXX: The default frequency band 1140 -))) 1141 1141 1142 -((( 1143 -(% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 1144 -(% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 1145 -(% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band 1146 -(% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band 1147 -(% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band 1148 -(% style="color:red" %)**US915**(%%): LoRaWAN US915 band 1149 -(% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 1150 -(% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 1151 -))) 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 1152 1152 1153 1153 1154 1154 1155 -= 9. Packing Info = 1156 1156 1157 1157 1158 -(% style="color:#037691" %)**Package Includes**: 1159 1159 1124 + 1125 += 8. Packing Info = 1126 + 1127 + 1128 +**Package Includes**: 1129 + 1160 1160 * SDI-12-LB SDI-12 to LoRaWAN Converter x 1 1161 1161 1162 - (% style="color:#037691" %)**Dimension and weight**:1132 +**Dimension and weight**: 1163 1163 1164 1164 * Device Size: cm 1165 1165 * Device Weight: g ... ... @@ -1166,10 +1166,9 @@ 1166 1166 * Package Size / pcs : cm 1167 1167 * Weight / pcs : g 1168 1168 1139 += 9. Support = 1169 1169 1170 -= 10. Support = 1171 1171 1172 - 1173 1173 * 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. 1174 1174 1175 1175 * 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]]
- 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