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, 7 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,9 +1,8 @@ 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 6 -{{toc/}} 7 7 8 8 9 9 ... ... @@ -22,40 +22,32 @@ 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 -))) 24 +The Dragino **SDI-12-LB** is a **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 -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 -))) 28 +**SDI-12-LB** has SDI-12 interface and support 12v output to power external SDI-12 sensor. It can get the environment data from SDI-12 sensor and sends out the data via LoRaWAN wireless protocol. 36 36 37 -((( 38 -The LoRa wireless technology used in SDI-12-LB allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. 39 -))) 30 +The LoRa wireless technology used in **SDI-12-LB** allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. 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 -))) 32 +**SDI-12-LB** is powered by **8500mAh Li-SOCI2 battery**, it is designed for long term use up to 5 years. 44 44 45 -((( 46 -Each SDI-12-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on. 47 -))) 34 +Each **SDI-12-LB** is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on. 48 48 49 49 50 -[[image:image-20230201084414-1.png|| _mstalt="427765"height="464" width="1108"]]37 +[[image:image-20230201084414-1.png||height="464" width="1108"]] 51 51 52 52 40 + 41 + 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 ... ... @@ -65,25 +65,21 @@ 65 65 * Downlink to change configure 66 66 * 8500mAh Battery for long term use 67 67 68 - 69 - 70 70 == 1.3 Specification == 71 71 72 72 73 - (% style="color:#037691" %)**Micro Controller:**62 +**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:**68 +**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:**73 +**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 :**80 +**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:**86 +**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:**92 +**Battery:** 106 106 107 107 * Li/SOCI2 un-chargeable battery 108 108 * Capacity: 8500mAh ... ... @@ -110,53 +110,50 @@ 110 110 * Max continuously current: 130mA 111 111 * Max boost current: 2A, 1 second 112 112 113 - (% style="color:#037691" %)**Power Consumption**100 +**Power Consumption** 114 114 115 115 * Sleep Mode: 5uA @ 3.3v 116 116 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 117 117 118 - 119 - 120 120 == 1.4 Connect to SDI-12 Sensor == 121 121 122 122 123 123 124 -[[image:1675212538524-889.png ||_mstalt="298272"]]109 +[[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.115 +**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.117 +**Working Mode: **In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode. 133 133 134 134 135 135 == 1.6 Button & LEDs == 136 136 137 137 138 -[[image:1675212633011-651.png ||_mstalt="291538"]]123 +[[image:1675212633011-651.png]] 139 139 140 140 126 + 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" %)(((128 +|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 117px;" %)**Function**|=(% style="width: 225px;" %)**Action** 129 +|(% 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" %)(((133 +|(% 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.138 +|(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB is in Deep Sleep Mode. 153 153 154 - 155 - 156 156 == 1.7 Pin Mapping == 157 157 158 158 159 -[[image:1675213198663-754.png ||_mstalt="297167"]]143 +[[image:1675213198663-754.png]] 160 160 161 161 162 162 == 1.8 BLE connection == ... ... @@ -176,19 +176,22 @@ 176 176 == 1.9 Mechanical == 177 177 178 178 179 -[[image:image-20230201090139-2.png||_mstalt="428623"]] 180 180 181 -[[image:image-20230201090139-3.png||_mstalt="428987"]] 182 182 183 -[[image:image-20230201090139-4.png||_mstalt="429351"]] 184 184 166 +[[image:image-20230201090139-2.png]] 185 185 168 +[[image:image-20230201090139-3.png]] 169 + 170 +[[image:image-20230201090139-4.png]] 171 + 172 + 186 186 = 2. Configure SDI-12 to connect to LoRaWAN network = 187 187 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 **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 +**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 +**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 +**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 +**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 +**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 +**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 +**Green led** will fast blink 5 times, device will enter **OTA mode** for 3 seconds. And then start to JOIN LoRaWAN network. **Green led** will solidly turn on for 5 seconds after joined in network. 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,80 +263,79 @@ 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 +==== **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 +**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 +**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 +==== **aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ==== 294 294 295 295 296 - (% style="color:red" %)**aM! **(%%): Start Non-Concurrent Measurement287 +**aM! **: Start Non-Concurrent Measurement 297 297 298 - (% style="color:red" %)**aMC! **(%%): Start Non-Concurrent Measurement – Request CRC289 +**aMC! **: Start Non-Concurrent Measurement – Request CRC 299 299 300 - (% style="color:red" %)**aM1!- aM9! **(%%): Additional Measurements291 +**aM1!- aM9! **: Additional Measurements 301 301 302 - (% style="color:red" %)**aMC1!- aMC9!**(%%): Additional Measurements – Request CRC293 +**aMC1!- aMC9!** : Additional Measurements – Request CRC 303 303 304 304 305 305 * AT Command : AT+ADDRM=0,1,0,1 306 - 307 307 * LoRaWAN Downlink(prefix 0xAA01): 0xAA 01 30 01 00 01 308 308 309 309 Downlink:AA 01 aa bb cc dd 310 310 311 - (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.301 +**aa**: SDI-12 sensor address. 312 312 313 - (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC303 +**bb**: 0: no CRC, 1: request CRC 314 314 315 - (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement305 +**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.307 +**dd**: delay (in second) to send **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"]]313 +[[image:image-20230201091630-10.png]] 324 324 325 325 326 -[[image:image-20230201091630-11.png|| _mstalt="450372"height="247" width="1165"]]316 +[[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! **(%%)====320 +==== **aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! ** ==== 331 331 332 332 333 - (% style="color:red" %)**aC!**(%%): Start Concurrent Measurement323 +**aC!** : Start Concurrent Measurement 334 334 335 - (% style="color:red" %)**aCC!**(%%): Start Concurrent Measurement – Request CRC325 +**aCC!** : Start Concurrent Measurement – Request CRC 336 336 337 - (% style="color:red" %)**aC1!- aC9!**(%%): Start Additional Concurrent Measurements327 +**aC1!- aC9!** : Start Additional Concurrent Measurements 338 338 339 - (% style="color:red" %)**aCC1!- aCC9!**(%%): Start Additional Concurrent Measurements – Request CRC329 +**aCC1!- aCC9!** : Start Additional Concurrent Measurements – Request CRC 340 340 341 341 342 342 * AT Command : AT+ADDRC=0,1,0,1 ... ... @@ -345,29 +345,29 @@ 345 345 346 346 Downlink: AA 02 aa bb cc dd 347 347 348 - (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.338 +**aa**: SDI-12 sensor address. 349 349 350 - (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC340 +**bb**: 0: no CRC, 1: request CRC 351 351 352 - (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement342 +**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.344 +**dd**: delay (in second) to send **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"]]350 +[[image:image-20230201091954-12.png]] 361 361 362 362 363 -[[image:image-20230201091954-13.png|| _mstalt="454064"height="203" width="1117"]]353 +[[image:image-20230201091954-13.png||height="203" width="1117"]] 364 364 365 365 356 +(% style="display:none" %) (%%) 366 366 358 +==== **aR0!- aR9!, aRC0!- aRC9!** ==== 367 367 368 -==== (% style="color:blue" %)**aR0!- aR9!, aRC0!- aRC9!**(%%) ==== 369 369 370 - 371 371 Start Continuous Measurement 372 372 373 373 Start Continuous Measurement – Request CRC ... ... @@ -378,46 +378,47 @@ 378 378 379 379 Downlink: AA 03 aa bb cc dd 380 380 381 - (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.371 +**aa**: SDI-12 sensor address. 382 382 383 - (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC373 +**bb**: 0: no CRC, 1: request CRC 384 384 385 - (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement375 +**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.377 +**dd**: delay (in second) to send **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 384 +[[image:image-20230201092208-14.png]] 395 395 396 -[[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]] 397 397 387 +[[image:image-20230201092208-15.png||height="214" width="1140"]] 398 398 399 -=== 2.3.2 Advance SDI-12 Debug command === 400 400 390 +=== 2.3.2 Advance SDI-12 Debug command === 401 401 392 + 402 402 This command can be used to debug all SDI-12 command. 403 403 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 length398 +**aa **: total SDI-12 command length 408 408 409 - (% style="color:#037691" %)**xx **(%%): SDI-12 command400 +**xx **: SDI-12 command 410 410 411 - (% style="color:#037691" %)**bb **(%%): Delay to wait for return402 +**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=100404 +**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!,1407 +**Example: **AT+CFGDEV =0RC0!,1 417 417 418 - (% style="color:#037691" %)**0RC0! **(%%): SDI-12 Command,409 +**0RC0! **: SDI-12 Command, 419 419 420 - (% style="color:#037691" %)**1 **(%%): Delay 1 second. ( 0: 810 mini-second)411 +**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,12 +425,14 @@ 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"]]419 +[[image:image-20230201092355-16.png]] 429 429 430 430 431 -[[image:image-20230201092355-17.png|| _mstalt="454337"height="426" width="1135"]]422 +[[image:image-20230201092355-17.png||height="426" width="1135"]] 432 432 433 433 425 + 426 + 434 434 === 2.3.3 Convert ASCII to String === 435 435 436 436 ... ... @@ -439,18 +439,22 @@ 439 439 AT+CONVFORM ( Max length: 80 bytes) 440 440 441 441 442 - (% style="color:blue" %)**Example:**435 +**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"]]439 +[[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"]]444 +[[image:1675214856590-846.png]] 452 452 453 453 447 + 448 + 449 + 450 + 454 454 === 2.3.4 Define periodically SDI-12 commands and uplink. === 455 455 456 456 ... ... @@ -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:**459 +* ** AT Command:** 463 463 464 - (% style="color:#037691" %)**AT+COMMANDx=var1,var2,var3,var4.**461 +**AT+COMMANDx=var1,var2,var3,var4.** 465 465 466 - (% style="color:red" %)**var1**(%%): SDI-12 command , for example: 0RC0!463 +**var1**: SDI-12 command , for example: 0RC0! 467 467 468 - (% style="color:red" %)**var2**(%%): Wait timeout for return. (unit: second)465 +**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!//.467 +**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.469 +**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;471 +**0 ** No validation check; 475 475 476 - (% style="color:red" %)**1**(%%)Check if return chars are printable char(0x20 ~~ 0x7E);473 +**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 sensor475 +**2** Check if there is return from SDI-12 sensor 479 479 480 - (% style="color:red" %)**3**(%%)Check if return pass CRC check ( SDI-12 command var1 must include CRC request);477 +**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.480 +Each AT+COMMANDx is followed by a **AT+DATACUT** command. AT+DATACUT command is used to take the useful string from the SDI-12 sensor so the final payload will have the minimum length to uplink. 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.483 +**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" %)((( ... ... @@ -491,105 +491,107 @@ 491 491 492 492 **a**: length for the return of AT+COMMAND 493 493 494 -**b**: 491 +**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections. 495 495 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:496 +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 0A500 +|(% style="width:170px" %)**AT+DATACUT1 value**|(% style="width:338px" %)**Final Result to combine Payload** 501 +|(% style="width:170px" %)34,1,1+2+3|(% style="width:338px" %)0D 00 01 30 31 33 502 +|(% style="width:170px" %)34,2,1~~8+12~~16|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32 503 +|(% 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:**505 +* ** Downlink Payload:** 509 509 510 - (% style="color:blue" %)**0xAF**(%%)downlink command can be used to set AT+COMMANDx or AT+DATACUTx.507 +**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.**510 +**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(%%)**513 +Format: ** 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.517 +* **MM **: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 518 +* **NN **: 1: set the AT+DATACUT value ; 2: set the AT+DATACUT value. 519 +* **LL **: The length of AT+COMMAND or AT+DATACUT command 520 +* **XX XX XX XX **: AT+COMMAND or AT+DATACUT command 521 +* **YY **: If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 525 525 526 -(% style="color:blue" %)**Example:** 527 527 528 - [[image:image-20230201094129-18.png||_mstalt="455065"]]524 +**Example:** 529 529 526 +[[image:image-20230201094129-18.png]] 530 530 531 531 532 - (% style="color:blue" %)**Clear SDI12 Command**529 +**Clear SDI12 Command** 533 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:**534 +* ** AT Command:** 538 538 539 - (% style="color:#4f81bd" %)**AT+CMDEAR=mm,nn**(%%)mm: start position of erase ,nn: stop position of erase536 +**~ 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:**542 +* ** Downlink Payload:** 546 546 547 - (% style="color:#4f81bd" %)**0x09 aa bb**(%%)same as AT+CMDEAR=aa,bb544 +**~ 0x09 aa bb** same as AT+CMDEAR=aa,bb 548 548 549 549 550 550 551 - (% style="color:blue" %)**command combination**548 +**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"]]552 +[[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.557 +**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:#4f81bd" %)**For example: **(%%)as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result.560 +**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"]]563 +[[image:1675215782925-448.png]] 567 567 568 568 569 -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.566 +If AT+ALLDATAMOD=1, **FX,X** will be added in the payload, FX specify which command is used and X specify the length of return. for example in above screen, F1 05 means the return is from AT+COMMAND1 and the return is 5 bytes. 570 570 571 571 572 572 573 - (% style="color:blue" %)**Compose Uplink**570 +**Compose Uplink** 574 574 575 - (% style="color:#4f81bd" %)**AT+DATAUP=0**572 +**AT+DATAUP=0** 576 576 577 -Compose the uplink payload with value returns in sequence and send with **__A SIGNLE UPLINK__**.574 +Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK. 578 578 579 -Final Payload is **__Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx__**576 +Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx 580 580 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"]]581 +[[image:1675215828102-844.png]] 585 585 586 586 587 - (% style="color:#4f81bd" %)**AT+DATAUP=1**584 +**AT+DATAUP=1** 588 588 589 -Compose the uplink payload with value returns in sequence and send with **__Multiply UPLINKs__**.586 +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**__588 +Final Payload is 592 592 590 +__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__ 591 + 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"]]598 +[[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:**601 +**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,36 +606,45 @@ 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;**608 +**~ 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.**610 +**~ 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 == 613 +== 2.4 Uplink Payload == 615 615 616 -=== 2.4.1 Device Payload, FPORT~=5 === 617 617 616 +Uplink payloads have two types: 618 618 618 +* Distance Value: Use FPORT=2 619 +* Other control commands: Use other FPORT fields. 620 + 621 +The application server should parse the correct value based on FPORT settings. 622 + 623 + 624 +2.4.1 Device Payload, FPORT=5 625 + 619 619 Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server. 620 620 628 + 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:420px" %) 631 + 632 +(% 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" %)BAT634 +|(% 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** 635 +|(% 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"]]639 +[[image:1675215946738-635.png]] 631 631 641 +**Sensor Model**: For SDI-12-LB, this value is 0x17 632 632 633 - (% style="color:#037691" %)**SensorModel**(%%):For SDI-12-LB,this valueis0x17643 +**Firmware Version**: 0x0100, Means: v1.0.0 version 634 634 635 - (% style="color:#037691" %)**FirmwareVersion**(%%):0x0100, Means:v1.0.0 version645 +**Frequency Band**: 636 636 637 -(% style="color:#037691" %)**Frequency Band**: 638 - 639 639 *0x01: EU868 640 640 641 641 *0x02: US915 ... ... @@ -665,7 +665,7 @@ 665 665 *0x0e: MA869 666 666 667 667 668 - (% style="color:#037691" %)**Sub-Band**:676 +**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**:685 +**Battery Info**: 678 678 679 679 Check the battery voltage. 680 680 ... ... @@ -683,9 +683,10 @@ 683 683 Ex2: 0x0B49 = 2889mV 684 684 685 685 686 -=== 2.4.2 Uplink Payload, FPORT~=2 === 694 +1. 695 +11. 696 +111. Uplink Payload, FPORT=2 687 687 688 - 689 689 There are different cases for uplink. See below 690 690 691 691 * SDI-12 Debug Command return: FPORT=100 ... ... @@ -692,24 +692,30 @@ 692 692 693 693 * Periodically Uplink: FPORT=2 694 694 695 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:500px" %) 696 -|=(% style="width: 90px;" %)((( 697 -**Size(bytes)** 698 -)))|=(% style="width: 80px;" %)**2**|=(% style="width: 90px;" %)**1**|=(% style="width: 240px;" %)**Length depends on the return from the commands** 699 -|(% style="width:93px" %)**Value**|(% style="width:83px" %)((( 704 +|((( 705 +**Size** 706 + 707 +**(bytes)** 708 +)))|**2**|**1**|**Length depends on the return from the commands** 709 +|**Value**|((( 700 700 Battery(mV) 711 + 701 701 & 713 + 702 702 Interrupt_Flag 703 -)))|(% style="width:91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)((( 704 -If the valid payload is too long and exceed the maximum support. 715 +)))|[[PAYLOAD_VER>>path:#Probe_Model]]|((( 716 +If the valid payload is too long and exceed the maximum support 717 + 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"]]721 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]] 709 709 710 710 711 -=== 2.4.3 Battery Info === 712 712 725 +1. 726 +11. 727 +111. Battery Info 713 713 714 714 Check the battery voltage for SDI-12-LB. 715 715 ... ... @@ -718,12 +718,14 @@ 718 718 Ex2: 0x0B49 = 2889mV 719 719 720 720 721 -=== 2.4.4 Interrupt Pin === 736 +1. 737 +11. 738 +111. Interrupt Pin 722 722 740 +This data field shows if this packet is generated by **Interrupt Pin** or not. [[Click here>>path:#Int_mod]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>path:#pins]]. 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"]]. 725 725 726 - **Example:**743 +Example: 727 727 728 728 Ex1: 0x0B45:0x0B&0x80= 0x00 Normal uplink packet. 729 729 ... ... @@ -730,127 +730,242 @@ 730 730 Ex2: 0x8B49:0x8B&0x80= 0x80 Interrupt Uplink Packet. 731 731 732 732 733 -=== 2.4.5 Payload version === 750 +1. 751 +11. 752 +111. Payload version 734 734 735 -The version number of the payload, mainly used for decoding. The default is 01. 736 736 737 737 738 -=== 2.4.6 Decode payload in The Things Network === 739 739 740 740 758 +1. 759 +11. 760 +111. Decode payload in The Things Network 761 + 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"]]764 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.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. 747 747 748 -SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 749 749 770 +下面的解码生成超链接放进去. 750 750 751 - == 2.5 UplinkInterval==772 +function Decoder(bytes, port) { 752 752 774 + if(port==5) 753 753 754 - TheSDI-12-LBby default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link:776 + { 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]]778 + var freq_band; 757 757 780 + var sub_band; 758 758 759 - ==2.6ExamplesToSet SDI commands. ==782 + var sensor; 760 760 761 -=== 2.6.1 Examples 1 === 762 762 785 + if(bytes[0]==0x17) 763 763 764 - COM portandSDI-12sensorcommunication converted toSDI-12-LBand SDI-12 sensor communication.787 + sensor= "SDI12-LB"; 765 765 766 -[[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]] 767 767 790 + var firm_ver= (bytes[1]&0x0f)+'.'+(bytes[2]>>4&0x0f)+'.'+(bytes[2]&0x0f); 768 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 770 771 - a.Sendthefirstcommand and get the firstreply:793 + if(bytes[3]==0x01) 772 772 773 - (%style="color:#037691"%)**AT+COMMANDx=1I!,0,0,1**795 + freq_band="EU868"; 774 774 775 - b.Sendthesecondcommandandgetthecondreply:797 + else if(bytes[3]==0x02) 776 776 777 - (%style="color:#037691"%)**AT+COMMANDx=2I!,0,0,1**799 + freq_band="US915"; 778 778 779 - c.Sendthethirdcommandandgetthethird reply:801 + else if(bytes[3]==0x03) 780 780 781 - (%style="color:#037691"%)**AT+COMMANDx=3I!,0,0,1**803 + freq_band="IN865"; 782 782 783 - d.Sendthefourthcommandandgetthe fourth reply:805 + else if(bytes[3]==0x04) 784 784 785 - (%style="color:#037691"%)**AT+COMMANDx=4I!,0,0,1**807 + freq_band="AU915"; 786 786 787 - e.Sendthefifthcommandplusthesixth command, get thesixth reply:809 + else if(bytes[3]==0x05) 788 788 789 - (%style="color:#037691"%)**AT+COMMANDx=1M!,2,1,1**811 + freq_band="KZ865"; 790 790 791 - f.Sendtheseventhcommandplustheeighth command, getthe eighth reply:813 + else if(bytes[3]==0x06) 792 792 793 - (%style="color:#037691"%)**AT+COMMANDx=2M!,2,1,1**815 + freq_band="RU864"; 794 794 795 - g.Sendtheninthcommandplusthetenth command, getthetenth reply:817 + else if(bytes[3]==0x07) 796 796 797 - (%style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1**819 + freq_band="AS923"; 798 798 799 - h.Sendtheeleventhcommandplusthetwelfth command, getthe twelfth reply:821 + else if(bytes[3]==0x08) 800 800 801 - (%style="color:#037691"%)**AT+COMMANDx=4M!,1,1,1**823 + freq_band="AS923_1"; 802 802 825 + else if(bytes[3]==0x09) 803 803 804 - (%style="color:blue"%)**2) TheAT+DATACUTxcommandisappliedtothe greenarrow part, receiving andcut out data from theSDI12sensor:**827 + freq_band="AS923_2"; 805 805 806 - a.Thefirstreply,all34characters: ”113TRUEBNERSMT100038220303182331<CR><LF>”829 + else if(bytes[3]==0x0A) 807 807 808 - Cutoutallcharacters:(%_mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691"%);831 + freq_band="AS923_3"; 809 809 810 - b. Thesixthreply,all31characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>”833 + else if(bytes[3]==0x0F) 811 811 812 - Cutoutallcharacters:(%_mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %);835 + freq_band="AS923_4"; 813 813 814 - c. Theeighthreply,all31characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>”837 + else if(bytes[3]==0x0B) 815 815 816 - Cutoutallcharacters:(%_mstmutation="1"style="color:#037691"%)**AT+ALLDATAMOD=1orAT+DATACUTx=31,2,1~~31**(% style="color:#037691"%);839 + freq_band="CN470"; 817 817 818 - d. Thetenthreply,all15characters:”3-2919.8+24.0<CR><LF>”841 + else if(bytes[3]==0x0C) 819 819 820 - Cutoutallcharacters:(%_mstmutation="1"style="color:#037691"%)**AT+ALLDATAMOD=1orAT+DATACUTx=15,2,1~~15**(% style="color:#037691"%);843 + freq_band="EU433"; 821 821 822 - e. Thetwelfthreply,all25characters:”4+30.8+22.84+4.7+954.38<CR><LF>”845 + else if(bytes[3]==0x0D) 823 823 824 - Partialcut,thecutsensoraddressandthefirst two parameters:(% style="color:#037691" %)**AT+DATACUTx=25,2,1~~12, cut out the character field ” 4+30.8+22.84”**.847 + freq_band="KR920"; 825 825 849 + else if(bytes[3]==0x0E) 826 826 827 - ==2.7Frequency Plans==851 + freq_band="MA869"; 828 828 829 829 830 - TheSDI-12-LBusesOTAAmode and belowfrequency plansbydefault. If user want to use it with different frequency plan, please refer the AT command sets.854 + if(bytes[4]==0xff) 831 831 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/]]856 + sub_band="NULL"; 833 833 858 + else 834 834 835 - ==2.8FirmwareChangeLog==860 + sub_band=bytes[4]; 836 836 837 837 863 + var bat= (bytes[5]<<8 | bytes[6])/1000; 864 + 865 + 866 + return { 867 + 868 + SENSOR_MODEL:sensor, 869 + 870 + FIRMWARE_VERSION:firm_ver, 871 + 872 + FREQUENCY_BAND:freq_band, 873 + 874 + SUB_BAND:sub_band, 875 + 876 + BAT:bat, 877 + 878 + } 879 + 880 + } 881 + 882 + else if(port==100) 883 + 884 + { 885 + 886 + var datas_sum={}; 887 + 888 + for(var j=0;j<bytes.length;j++) 889 + 890 + { 891 + 892 + var datas= String.fromCharCode(bytes[j]); 893 + 894 + if(j=='0') 895 + 896 + datas_sum.datas_sum=datas; 897 + 898 + else 899 + 900 + datas_sum.datas_sum+=datas; 901 + 902 + } 903 + 904 + 905 + return datas_sum; 906 + 907 + } 908 + 909 + else 910 + 911 + { 912 + 913 + var decode={}; 914 + 915 + decode.EXTI_Trigger= (bytes[0] & 0x80)? "TRUE":"FALSE"; 916 + 917 + decode.BatV= ((bytes[0]<<8 | bytes[1])&0x7FFF)/1000; 918 + 919 + decode.Payver= bytes[2]; 920 + 921 + for(var i=3;i<bytes.length;i++) 922 + 923 + { 924 + 925 + var data= String.fromCharCode(bytes[i]); 926 + 927 + if(i=='3') 928 + 929 + decode.data_sum=data; 930 + 931 + else 932 + 933 + decode.data_sum+=data; 934 + 935 + } 936 + 937 + return decode; 938 + 939 + } 940 + 941 + 942 +} 943 + 944 + 945 +1. 946 +11. Uplink Interval 947 + 948 +The SDI-12-LB by default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link: 949 + 950 +[[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands#Change_Uplink_Interval>>url:http://wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands#Change_Uplink_Interval]] 951 + 952 + 953 + 954 +1. 955 +11. Frequency Plans 956 + 957 +The SDI12-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets. 958 + 959 + 960 +[[https:~~/~~/wiki.dragino.com/index.php?title=End_Device_Frequency_Band>>url:https://wiki.dragino.com/index.php?title=End_Device_Frequency_Band]] 961 + 962 + 963 + 964 +1. 965 +11. Firmware Change Log 966 + 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]]969 +[[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]] 841 841 842 842 843 -= 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink = 844 844 973 +1. Configure SDI-12-LB via AT Command or LoRaWAN Downlink 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"]].849 -* LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.977 +* AT Command Connection: See [[FAQ>>path:#AT_COMMAND]]. 978 +* LoRaWAN Downlink instruction for different platforms: 850 850 980 +[[http:~~/~~/wiki.dragino.com/index.php?title=Main_Page#Use_Note_for_Server>>url:http://wiki.dragino.com/index.php?title=Main_Page#Use_Note_for_Server]] 981 + 982 + 851 851 There are two kinds of commands to configure SDI-12-LB, they are: 852 852 853 -* (% style="color:blue" %)**General Commands**.985 +* **General Commands**. 854 854 855 855 These commands are to configure: 856 856 ... ... @@ -859,242 +859,255 @@ 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/]]994 +[[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**997 +* **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 == 871 871 1003 +1. 1004 +11. Set Transmit Interval Time 872 872 873 873 Feature: Change LoRaWAN End Node Transmit Interval. 874 874 875 - (% style="color:blue" %)**AT Command: AT+TDC**1008 +**AT Command: AT+TDC** 876 876 877 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 878 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 137px;" %)**Function**|=**Response** 879 -|(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 1010 +|**Command Example**|**Function**|**Response** 1011 +|AT+TDC=?|Show current transmit Interval|((( 880 880 30000 1013 + 881 881 OK 1015 + 882 882 the interval is 30000ms = 30s 883 883 ))) 884 -| (% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((1018 +|AT+TDC=60000|Set Transmit Interval|((( 885 885 OK 1020 + 886 886 Set transmit interval to 60000ms = 60 seconds 887 887 ))) 888 888 889 - (% style="color:blue" %)**Downlink Command: 0x01**1024 +**Downlink Command: 0x01** 890 890 891 - 892 892 Format: Command Code (0x01) followed by 3 bytes time value. 893 893 894 -If the downlink payload=0100003C, it means set the END Node 's Transmit Interval to 0x00003C=60(S), while type code is 01.1028 +If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01. 895 895 896 -* Example 1: Downlink Payload: 0100001E 897 -* Example 2: Downlink Payload: 0100003C 1030 +* Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 1031 +* Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 898 898 1033 +1. 1034 +11. Set Interrupt Mode 899 899 900 - 901 -== 3.2 Set Interrupt Mode == 902 - 903 - 904 904 Feature, Set Interrupt mode for GPIO_EXIT. 905 905 906 - (% style="color:blue" %)**AT Command: AT+INTMOD**1038 +**AT Command: AT+INTMOD** 907 907 908 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 909 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 187px;" %)**Function**|=(% style="width: 165px;" %)**Response** 910 -|(% style="width:156px" %)AT+INTMOD=?|(% style="width:187px" %)Show current interrupt mode|(% style="width:165px" %)((( 1040 +|**Command Example**|**Function**|**Response** 1041 +|AT+INTMOD=?|Show current interrupt mode|((( 911 911 0 1043 + 912 912 OK 913 -the mode is 0 = Disable Interrupt 1045 + 1046 +the mode is 0 = No interruption 914 914 ))) 915 -| (% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)(((1048 +|AT+INTMOD=2|((( 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) 921 -)))|(% style="width:165px" %)OK 922 922 923 -(% style="color:blue" %)**Downlink Command: 0x06** 1051 +1. (Disable Interrupt), 1052 +1. (Trigger by rising and falling edge), 1053 +1. (Trigger by falling edge) 1054 +1. (Trigger by rising edge) 1055 +)))|OK 924 924 1057 +**Downlink Command: 0x06** 1058 + 925 925 Format: Command Code (0x06) followed by 3 bytes. 926 926 927 927 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 928 928 929 -* Example 1: Downlink Payload: 06000000 930 -* Example 2: Downlink Payload: 06000003 1063 +* Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 1064 +* Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 931 931 1066 +1. 1067 +11. Set the output time 932 932 933 - 934 -== 3.3 Set the output time == 935 - 936 - 937 937 Feature, Control the output 3V3 , 5V or 12V. 938 938 939 - (% style="color:blue" %)**AT Command: AT+3V3T**1071 +**AT Command: AT+3V3T** 940 940 941 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:474px" %) 942 -|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 201px;" %)**Function**|=(% style="width: 116px;" %)**Response** 943 -|(% style="width:154px" %)AT+3V3T=?|(% style="width:201px" %)Show 3V3 open time.|(% style="width:116px" %)((( 1073 +|**Command Example**|**Function**|**Response** 1074 +|AT+3V3T=?|Show 3V3 open time.|((( 944 944 0 1076 + 945 945 OK 946 946 ))) 947 -| (% style="width:154px" %)AT+3V3T=0|(% style="width:201px" %)Normally open 3V3 power supply.|(% style="width:116px" %)(((1079 +|AT+3V3T=0|Normally open 3V3 power supply.|((( 948 948 OK 1081 + 949 949 default setting 950 950 ))) 951 -| (% style="width:154px" %)AT+3V3T=1000|(% style="width:201px" %)Close after a delay of 1000 milliseconds.|(% style="width:116px" %)(((1084 +|AT+3V3T=1000|Close after a delay of 1000 milliseconds.|((( 952 952 OK 1086 + 1087 + 953 953 ))) 954 -| (% style="width:154px" %)AT+3V3T=65535|(% style="width:201px" %)Normally closed 3V3 power supply.|(% style="width:116px" %)(((1089 +|AT+3V3T=65535|Normally closed 3V3 power supply.|((( 955 955 OK 1091 + 1092 + 956 956 ))) 957 957 958 - (% style="color:blue" %)**AT Command: AT+5VT**1095 +**AT Command: AT+5VT** 959 959 960 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:470px" %) 961 -|=(% style="width: 155px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 114px;" %)**Response** 962 -|(% style="width:155px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:114px" %)((( 1097 +|**Command Example**|**Function**|**Response** 1098 +|AT+5VT=?|Show 5V open time.|((( 963 963 0 1100 + 964 964 OK 965 965 ))) 966 -| (% style="width:155px" %)AT+5VT=0|(% style="width:196px" %)Normally closed 5V power supply.|(% style="width:114px" %)(((1103 +|AT+5VT=0|Normally closed 5V power supply.|((( 967 967 OK 1105 + 968 968 default setting 969 969 ))) 970 -| (% style="width:155px" %)AT+5VT=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:114px" %)(((1108 +|AT+5VT=1000|Close after a delay of 1000 milliseconds.|((( 971 971 OK 1110 + 1111 + 972 972 ))) 973 -| (% style="width:155px" %)AT+5VT=65535|(% style="width:196px" %)Normally open 5V power supply.|(% style="width:114px" %)(((1113 +|AT+5VT=65535|Normally open 5V power supply.|((( 974 974 OK 1115 + 1116 + 975 975 ))) 976 976 977 - (% style="color:blue" %)**AT Command: AT+12VT**1119 +**AT Command: AT+12VT** 978 978 979 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:443px" %) 980 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 199px;" %)**Function**|=(% style="width: 83px;" %)**Response** 981 -|(% style="width:156px" %)AT+12VT=?|(% style="width:199px" %)Show 12V open time.|(% style="width:83px" %)((( 1121 +|**Command Example**|**Function**|**Response** 1122 +|AT+12VT=?|Show 12V open time.|((( 982 982 0 1124 + 983 983 OK 984 984 ))) 985 -| (% style="width:156px" %)AT+12VT=0|(% style="width:199px" %)Normally closed 12V power supply.|(% style="width:83px" %)OK986 -| (% style="width:156px" %)AT+12VT=500|(% style="width:199px" %)Close after a delay of 500 milliseconds.|(% style="width:83px" %)(((1127 +|AT+12VT=0|Normally closed 12V power supply.|OK 1128 +|AT+12VT=500|Close after a delay of 500 milliseconds.|((( 987 987 OK 1130 + 1131 + 988 988 ))) 989 989 990 - (% style="color:blue" %)**Downlink Command: 0x07**1134 +**Downlink Command: 0x07** 991 991 992 992 Format: Command Code (0x07) followed by 3 bytes. 993 993 994 994 The first byte is which power, the second and third bytes are the time to turn on. 995 995 996 -* Example 1: Downlink Payload: 070101F4 **~-~-->**997 -* Example 2: Downlink Payload: 0701FFFF **~-~-->**AT+3V3T=65535998 -* Example 3: Downlink Payload: 070203E8 **~-~-->**AT+5VT=1000999 -* Example 4: Downlink Payload: 07020000 **~-~-->**AT+5VT=01000 -* Example 5: Downlink Payload: 070301F4 **~-~-->**AT+12VT=5001001 -* Example 6: Downlink Payload: 07030000 **~-~-->**AT+12VT=01140 +* Example 1: Downlink Payload: 070101F4 -> AT+3V3T=500 1141 +* Example 2: Downlink Payload: 0701FFFF -> AT+3V3T=65535 1142 +* Example 3: Downlink Payload: 070203E8 -> AT+5VT=1000 1143 +* Example 4: Downlink Payload: 07020000 -> AT+5VT=0 1144 +* Example 5: Downlink Payload: 070301F4 -> AT+12VT=500 1145 +* Example 6: Downlink Payload: 07030000 -> AT+12VT=0 1002 1002 1147 +1. 1148 +11. Set the all data mode 1003 1003 1004 - 1005 -== 3.4 Set the all data mode == 1006 - 1007 - 1008 1008 Feature, Set the all data mode. 1009 1009 1010 - (% style="color:blue" %)**AT Command: AT+ALLDATAMOD**1152 +**AT Command: AT+ALLDATAMOD** 1011 1011 1012 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 1013 -|=**Command Example**|=**Function**|=**Response** 1154 +|**Command Example**|**Function**|**Response** 1014 1014 |AT+ALLDATAMOD=?|Show current all data mode|((( 1015 1015 0 1157 + 1158 + 1016 1016 OK 1017 1017 ))) 1018 1018 |AT+ALLDATAMOD=1|Set all data mode is 1.|OK 1019 1019 1020 - (% style="color:blue" %)**Downlink Command: 0xAB**1163 +**Downlink Command: 0xAB** 1021 1021 1022 1022 Format: Command Code (0xAB) followed by 1 bytes. 1023 1023 1024 -* Example 1: Downlink Payload: AB 00 1025 -* Example 2: Downlink Payload: AB 01 1167 +* Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 1168 +* Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 1026 1026 1170 +1. 1171 +11. Set the splicing payload for uplink 1027 1027 1028 - 1029 -== 3.5 Set the splicing payload for uplink == 1030 - 1031 - 1032 1032 Feature, splicing payload for uplink. 1033 1033 1034 - (% style="color:blue" %)**AT Command: AT+DATAUP**1175 +**AT Command: AT+DATAUP** 1035 1035 1036 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 1037 -|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 266px;" %)**Function**|=**Response** 1038 -|(% style="width:154px" %)AT+DATAUP =?|(% style="width:266px" %)Show current splicing payload for uplink mode|((( 1177 +|**Command Example**|**Function**|**Response** 1178 +|AT+DATAUP =?|Show current splicing payload for uplink mode|((( 1039 1039 0 1180 + 1181 + 1040 1040 OK 1041 1041 ))) 1042 -| (% style="width:154px" %)AT+DATAUP =0|(% style="width:266px" %)(((1184 +|AT+DATAUP =0|((( 1043 1043 Set splicing payload for uplink mode is 0. 1186 + 1187 + 1044 1044 )))|((( 1045 1045 OK 1190 + 1191 + 1046 1046 ))) 1047 -|(% 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 1048 -|(% style="width:154px" %)AT+DATAUP =1,20000|(% style="width:266px" %)((( 1049 -Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds. 1193 +|AT+DATAUP =1|Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|OK 1194 +|AT+DATAUP =1,20000|((( 1195 +Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds. 1196 + 1197 + 1050 1050 )))|OK 1051 1051 1052 - (% style="color:blue" %)**Downlink Command: 0xAD**1200 +**Downlink Command: 0xAD** 1053 1053 1054 1054 Format: Command Code (0xAD) followed by 1 bytes or 5 bytes. 1055 1055 1056 -* Example 1: Downlink Payload: AD 00 1057 -* Example 2: Downlink Payload: AD 01 1058 -* Example 3: Downlink Payload: AD 01 00 00 14 1204 +* Example 1: Downlink Payload: AD 00 ~/~/ AT+DATAUP=0 1205 +* Example 2: Downlink Payload: AD 01 ~/~/ AT+DATAUP =1 1206 +* Example 3: Downlink Payload: AD 01 00 00 14~/~/ AT+DATAUP =1,20000 1059 1059 1060 1060 This means that the interval is set to 0x000014=20S 1061 1061 1062 1062 1063 -== 3.6 Set the payload version == 1211 +1. 1212 +11. Set the payload version 1064 1064 1065 - 1066 1066 Feature, Set the payload version. 1067 1067 1068 - (% style="color:blue" %)**AT Command: AT+PAYVER**1216 +**AT Command: AT+PAYVER** 1069 1069 1070 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 1071 -|=(% style="width: 158px;" %)**Command Example**|=(% style="width: 192px;" %)**Function**|=**Response** 1072 -|(% style="width:158px" %)AT+PAYVER=?|(% style="width:192px" %)Show current payload version|((( 1218 +|**Command Example**|**Function**|**Response** 1219 +|AT+PAYVER=?|Show current payload version|((( 1073 1073 1 1221 + 1222 + 1074 1074 OK 1075 1075 ))) 1076 -| (% style="width:158px" %)AT+PAYVER=5|(% style="width:192px" %)Set payload version is 5.|OK1225 +|AT+PAYVER=5|Set payload version is 5.|OK 1077 1077 1078 - (% style="color:blue" %)**Downlink Command: 0xAE**1227 +**Downlink Command: 0xAE** 1079 1079 1080 1080 Format: Command Code (0xAE) followed by 1 bytes. 1081 1081 1082 -* Example 1: Downlink Payload: AE 01 1083 -* Example 2: Downlink Payload: AE 05 1231 +* Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1 1232 +* Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1084 1084 1234 +1. Battery & how to replace 1235 +11. Battery Type 1085 1085 1237 +SDI-12-LB is equipped with a [[8500mAH ER26500 Li-SOCI2 battery>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]. The battery is un-rechargeable battery with low discharge rate targeting for 8~~10 years use. This type of battery is commonly used in IoT target for long-term running, such as water meter. 1086 1086 1087 -= 4. Battery & how to replace = 1088 1088 1089 -== 4.1 Battery Type == 1090 - 1091 - 1092 -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. 1093 - 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: 1675234124233-857.png||_mstalt="295035"]]1242 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png]] 1098 1098 1099 1099 1100 1100 Minimum Working Voltage for the SDI-12-LB: ... ... @@ -1102,25 +1102,31 @@ 1102 1102 SDI-12-LB: 2.45v ~~ 3.6v 1103 1103 1104 1104 1105 -== 4.2 Replace Battery == 1250 +1. 1251 +11. Replace Battery 1106 1106 1107 - 1108 1108 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery. 1109 1109 1110 1110 And make sure the positive and negative pins match. 1111 1111 1112 1112 1113 -== 4.3 Power Consumption Analyze == 1114 1114 1259 +1. 1260 +11. Power Consumption Analyze 1115 1115 1116 1116 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. 1117 1117 1264 + 1118 1118 Instruction to use as below: 1119 1119 1120 -(% 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]] 1121 1121 1122 - (% style="color:blue" %)**Step2:**(%%)Openand choose1268 +Step 1: Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: 1123 1123 1270 +[[https:~~/~~/www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]] 1271 + 1272 + 1273 +Step 2: Open it and choose 1274 + 1124 1124 * Product Model 1125 1125 * Uplink Interval 1126 1126 * Working Mode ... ... @@ -1127,47 +1127,56 @@ 1127 1127 1128 1128 And the Life expectation in difference case will be shown on the right. 1129 1129 1281 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image037.png]] 1130 1130 1131 -[[image:1675234155374-163.png||_mstalt="294411"]] 1132 1132 1133 - 1134 1134 The battery related documents as below: 1135 1135 1136 -* [[Battery Dimension>>http s://www.dropbox.com/s/ox5g9njwjle7aw3/LSN50-Battery-Dimension.pdf?dl=0]],1137 -* [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>http s://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]]1138 -* [[Lithium-ion Battery-Capacitor datasheet>>http s://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]]1286 +* [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/&file=LSN50-Battery-Dimension.pdf]], 1287 +* [[Lithium-Thionyl Chloride Battery>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/ER18505_datasheet-EN.pdf]] datasheet, [[Tech Spec>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/ER18505_datasheet_PM-ER18505-S-02-LF_EN.pdf]] 1288 +* [[Lithium-ion Battery-Capacitor datasheet>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/SPC_1520_datasheet.jpg]], [[Tech Spec>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/SPC1520%20Technical%20Specification20171123.pdf]] 1139 1139 1140 -[[image:image-20230201145019-19.png||_mstalt="453947"]] 1290 +|((( 1291 +JST-XH-2P connector 1292 +))) 1141 1141 1294 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image038.png]] 1142 1142 1143 -=== 4.3.1 Battery Note === 1144 1144 1145 1145 1298 +1. 1299 +11. 1300 +111. Battery Note 1301 + 1146 1146 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. 1147 1147 1148 1148 1149 -=== 4.3.2 Replace the battery === 1305 +1. 1306 +11. 1307 +111. Replace the battery 1150 1150 1309 +You can change the battery in the SDI-12-LB.The type of battery is not limited as long as the output is between 3v to 3.6v. On the main board, there is a diode (D1) between the battery and the main circuit. If you need to use a battery with less than 3.3v, please remove the D1 and shortcut the two pads of it so there won’t be voltage drop between battery and main board. 1151 1151 1152 -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. 1153 1153 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)1312 +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 1157 -= 5. Remote Configure device = 1158 1158 1159 -== 5.1 Connect via BLE == 1160 1160 1161 1161 1162 -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/]] 1163 1163 1319 +1. Remote Configure device 1320 +11. Connect via BLE 1164 1164 1165 - ==5.2ATCommandSet==1322 +Please see this instruction for how to configure via BLE: 1166 1166 1324 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]] 1167 1167 1168 1168 1169 -= 6. OTA firmware update = 1327 +1. 1328 +11. AT Command Set 1170 1170 1330 +1. OTA firmware update 1171 1171 1172 1172 Please see this link for how to do OTA firmware update. 1173 1173 ... ... @@ -1174,60 +1174,23 @@ 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.1 How to use AT Command to access device? == 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]] 1183 1183 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.3How to change the LoRa FrequencyBands/Region? ==1346 +1. Order Info 1192 1192 1348 +**Package Includes**: 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. 1350 +* SDI-12-LB SDI-12 to LoRaWAN Converter 1196 1196 1352 +**Dimension and weight**: 1197 1197 1198 -= 8. Order Info = 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 -* SDI-12-LB SDI-12 to LoRaWAN Converter x 1 1228 - 1229 -(% style="color:#037691" %)**Dimension and weight**: 1230 - 1231 1231 * Device Size: cm 1232 1232 * Device Weight: g 1233 1233 * Package Size / pcs : cm ... ... @@ -1235,11 +1235,11 @@ 1235 1235 1236 1236 1237 1237 1238 - =10. Support=1361 +1. Support 1239 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. 1364 +* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to 1242 1242 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]]1366 +[[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]] 1244 1244 1245 1245
- 1675216282284-923.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -47.0 KB - Content
- 1675216779406-595.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -59.2 KB - Content
- 1675234124233-857.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -75.8 KB - Content
- 1675234155374-163.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -138.2 KB - Content
- image-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