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, 10 removed)
Details
- Page properties
-
- Content
-
... ... @@ -3,7 +3,6 @@ 3 3 4 4 **Table of Contents:** 5 5 6 -{{toc/}} 7 7 8 8 9 9 ... ... @@ -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 50 [[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,23 +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 82 * Operating Temperature: -40 ~~ 85°C 83 83 84 - (% style="color:#037691" %)**LoRa Spec:**73 +**LoRa Spec:** 85 85 86 86 * Frequency Range, Band 1 (HF): 862 ~~ 1020 Mhz 87 87 * Max +22 dBm constant RF output vs. ... ... @@ -88,19 +88,19 @@ 88 88 * RX sensitivity: down to -139 dBm. 89 89 * Excellent blocking immunity 90 90 91 - (% style="color:#037691" %)**Current Input Measuring :**80 +**Current Input Measuring :** 92 92 93 93 * Range: 0 ~~ 20mA 94 94 * Accuracy: 0.02mA 95 95 * Resolution: 0.001mA 96 96 97 - (% style="color:#037691" %)**Voltage Input Measuring:**86 +**Voltage Input Measuring:** 98 98 99 99 * Range: 0 ~~ 30v 100 100 * Accuracy: 0.02v 101 101 * Resolution: 0.001v 102 102 103 - (% style="color:#037691" %)**Battery:**92 +**Battery:** 104 104 105 105 * Li/SOCI2 un-chargeable battery 106 106 * Capacity: 8500mAh ... ... @@ -108,13 +108,11 @@ 108 108 * Max continuously current: 130mA 109 109 * Max boost current: 2A, 1 second 110 110 111 - (% style="color:#037691" %)**Power Consumption**100 +**Power Consumption** 112 112 113 113 * Sleep Mode: 5uA @ 3.3v 114 114 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 115 115 116 - 117 - 118 118 == 1.4 Connect to SDI-12 Sensor == 119 119 120 120 ... ... @@ -125,9 +125,9 @@ 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.115 +**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.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. 131 131 132 132 133 133 == 1.6 Button & LEDs == ... ... @@ -136,21 +136,20 @@ 136 136 [[image:1675212633011-651.png]] 137 137 138 138 126 + 139 139 (% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 140 -|=(% style="width: 167px;" %)**Behavior on ACT**|=(% style="width: 1 09px;" %)**Function**|=(% style="width: 231px;" %)**Action**141 -|(% 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" %)((( 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="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" %)((( 146 146 (% 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. 147 147 (% 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="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. 151 151 152 - 153 - 154 154 == 1.7 Pin Mapping == 155 155 156 156 ... ... @@ -174,6 +174,9 @@ 174 174 == 1.9 Mechanical == 175 175 176 176 163 + 164 + 165 + 177 177 [[image:image-20230201090139-2.png]] 178 178 179 179 [[image:image-20230201090139-3.png]] ... ... @@ -186,7 +186,7 @@ 186 186 == 2.1 How it works == 187 187 188 188 189 -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. 190 190 191 191 192 192 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == ... ... @@ -201,47 +201,51 @@ 201 201 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. 202 202 203 203 204 - (% 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. 205 205 206 206 Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 207 207 208 208 209 -[[image:image-20230 201152430-20.jpeg]]198 +[[image:image-20230131134744-2.jpeg]] 210 210 211 211 201 + 202 + 203 + 212 212 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 213 213 214 214 215 - (% style="color:blue" %)**Register the device**207 +**Register the device** 216 216 217 217 [[image:1675213652444-622.png]] 218 218 219 219 220 - (% style="color:blue" %)**Add APP EUI and DEV EUI**212 +**Add APP EUI and DEV EUI** 221 221 222 222 223 223 [[image:1675213661769-223.png]] 224 224 225 225 226 - (% style="color:blue" %)**Add APP EUI in the application**218 +**Add APP EUI in the application** 227 227 228 228 229 229 [[image:1675213675852-577.png]] 230 230 231 231 232 - (% style="color:blue" %)**Add APP KEY**224 +**Add APP KEY** 233 233 234 234 [[image:1675213686734-883.png]] 235 235 236 236 237 - (% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB229 +**Step 2**: Activate on SDI-12-LB 238 238 239 239 240 240 Press the button for 5 seconds to activate the SDI-12-LB. 241 241 242 -(% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode** (%%)for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 243 243 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. 244 244 237 + 245 245 [[image:1675213704414-644.png]] 246 246 247 247 ... ... @@ -261,6 +261,7 @@ 261 261 The following is the display information on the serial port and the server. 262 262 263 263 257 + 264 264 [[image:image-20230201091027-6.png]] 265 265 266 266 ... ... @@ -267,16 +267,15 @@ 267 267 [[image:image-20230201091027-7.png||height="261" width="1179"]] 268 268 269 269 264 +==== **al! ~-~- Get SDI-12 sensor Identification** ==== 270 270 271 -==== (% style="color:blue" %)**al! ~-~- Get SDI-12 sensor Identification**(%%) ==== 272 272 273 - 274 274 * AT Command: AT+ADDRI=aa 275 275 * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa 276 276 277 - (% 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) 278 278 279 - (% 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) 280 280 281 281 282 282 The following is the display information on the serial port and the server. ... ... @@ -288,31 +288,30 @@ 288 288 [[image:image-20230201091257-9.png||height="225" width="1242"]] 289 289 290 290 291 -==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%)====284 +==== **aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ==== 292 292 293 293 294 - (% style="color:red" %)**aM! **(%%): Start Non-Concurrent Measurement287 +**aM! **: Start Non-Concurrent Measurement 295 295 296 - (% style="color:red" %)**aMC! **(%%): Start Non-Concurrent Measurement – Request CRC289 +**aMC! **: Start Non-Concurrent Measurement – Request CRC 297 297 298 - (% style="color:red" %)**aM1!- aM9! **(%%): Additional Measurements291 +**aM1!- aM9! **: Additional Measurements 299 299 300 - (% style="color:red" %)**aMC1!- aMC9!**(%%): Additional Measurements – Request CRC293 +**aMC1!- aMC9!** : Additional Measurements – Request CRC 301 301 302 302 303 303 * AT Command : AT+ADDRM=0,1,0,1 304 - 305 305 * LoRaWAN Downlink(prefix 0xAA01): 0xAA 01 30 01 00 01 306 306 307 307 Downlink:AA 01 aa bb cc dd 308 308 309 - (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.301 +**aa**: SDI-12 sensor address. 310 310 311 - (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC303 +**bb**: 0: no CRC, 1: request CRC 312 312 313 - (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement305 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 314 314 315 - (% 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. 316 316 317 317 318 318 The following is the display information on the serial port and the server. ... ... @@ -325,16 +325,16 @@ 325 325 326 326 327 327 328 -==== (% style="color:blue" %)**aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! **(%%)====320 +==== **aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! ** ==== 329 329 330 330 331 - (% style="color:red" %)**aC!**(%%): Start Concurrent Measurement323 +**aC!** : Start Concurrent Measurement 332 332 333 - (% style="color:red" %)**aCC!**(%%): Start Concurrent Measurement – Request CRC325 +**aCC!** : Start Concurrent Measurement – Request CRC 334 334 335 - (% style="color:red" %)**aC1!- aC9!**(%%): Start Additional Concurrent Measurements327 +**aC1!- aC9!** : Start Additional Concurrent Measurements 336 336 337 - (% style="color:red" %)**aCC1!- aCC9!**(%%): Start Additional Concurrent Measurements – Request CRC329 +**aCC1!- aCC9!** : Start Additional Concurrent Measurements – Request CRC 338 338 339 339 340 340 * AT Command : AT+ADDRC=0,1,0,1 ... ... @@ -343,13 +343,13 @@ 343 343 344 344 Downlink: AA 02 aa bb cc dd 345 345 346 - (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.338 +**aa**: SDI-12 sensor address. 347 347 348 - (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC340 +**bb**: 0: no CRC, 1: request CRC 349 349 350 - (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement342 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 351 351 352 - (% 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. 353 353 354 354 355 355 The following is the display information on the serial port and the server. ... ... @@ -361,11 +361,11 @@ 361 361 [[image:image-20230201091954-13.png||height="203" width="1117"]] 362 362 363 363 356 +(% style="display:none" %) (%%) 364 364 358 +==== **aR0!- aR9!, aRC0!- aRC9!** ==== 365 365 366 -==== (% style="color:blue" %)**aR0!- aR9!, aRC0!- aRC9!**(%%) ==== 367 367 368 - 369 369 Start Continuous Measurement 370 370 371 371 Start Continuous Measurement – Request CRC ... ... @@ -376,18 +376,19 @@ 376 376 377 377 Downlink: AA 03 aa bb cc dd 378 378 379 - (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.371 +**aa**: SDI-12 sensor address. 380 380 381 - (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC373 +**bb**: 0: no CRC, 1: request CRC 382 382 383 - (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement375 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 384 384 385 - (% 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. 386 386 387 387 388 388 The following is the display information on the serial port and the server. 389 389 390 390 383 + 391 391 [[image:image-20230201092208-14.png]] 392 392 393 393 ... ... @@ -394,7 +394,7 @@ 394 394 [[image:image-20230201092208-15.png||height="214" width="1140"]] 395 395 396 396 397 -=== 2.3.2 Advance SDI-12 Debug command === 390 +=== 2.3.2 Advance SDI-12 Debug command === 398 398 399 399 400 400 This command can be used to debug all SDI-12 command. ... ... @@ -402,20 +402,20 @@ 402 402 403 403 LoRaWAN Downlink: A8 aa xx xx xx xx bb cc 404 404 405 - (% style="color:#037691" %)**aa **(%%): total SDI-12 command length398 +**aa **: total SDI-12 command length 406 406 407 - (% style="color:#037691" %)**xx **(%%): SDI-12 command400 +**xx **: SDI-12 command 408 408 409 - (% style="color:#037691" %)**bb **(%%): Delay to wait for return402 +**bb **: Delay to wait for return 410 410 411 - (% 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 412 412 413 413 414 - (% style="color:blue" %)**Example: **(%%)AT+CFGDEV =0RC0!,1407 +**Example: **AT+CFGDEV =0RC0!,1 415 415 416 - (% style="color:#037691" %)**0RC0! **(%%): SDI-12 Command,409 +**0RC0! **: SDI-12 Command, 417 417 418 - (% style="color:#037691" %)**1 **(%%): Delay 1 second. ( 0: 810 mini-second)411 +**1 **: Delay 1 second. ( 0: 810 mini-second) 419 419 420 420 Equal Downlink: 0xA8 05 30 52 43 30 21 01 01 421 421 ... ... @@ -426,9 +426,11 @@ 426 426 [[image:image-20230201092355-16.png]] 427 427 428 428 429 -[[image:image-20230201092355-17.png||height="426" width="1135"]] 422 +[[image:image-20230201092355-17.png||height="426" width="1135"]] 430 430 431 431 425 + 426 + 432 432 === 2.3.3 Convert ASCII to String === 433 433 434 434 ... ... @@ -437,7 +437,7 @@ 437 437 AT+CONVFORM ( Max length: 80 bytes) 438 438 439 439 440 - (% style="color:blue" %)**Example:**435 +**Example:** 441 441 442 442 1) AT+CONVFORM=0, string Convert String from String to ASCII 443 443 ... ... @@ -449,6 +449,10 @@ 449 449 [[image:1675214856590-846.png]] 450 450 451 451 447 + 448 + 449 + 450 + 452 452 === 2.3.4 Define periodically SDI-12 commands and uplink. === 453 453 454 454 ... ... @@ -457,137 +457,142 @@ 457 457 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. 458 458 459 459 460 -* (% style="color:blue" %)**AT Command:**459 +* ** AT Command:** 461 461 462 - (% style="color:#037691" %)**AT+COMMANDx=var1,var2,var3,var4.**461 +**AT+COMMANDx=var1,var2,var3,var4.** 463 463 464 - (% style="color:red" %)**var1**(%%): SDI-12 command , for example: 0RC0!463 +**var1**: SDI-12 command , for example: 0RC0! 465 465 466 - (% style="color:red" %)**var2**(%%): Wait timeout for return. (unit: second)465 +**var2**: Wait timeout for return. (unit: second) 467 467 468 - (% 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!//. 469 469 470 - (% 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. 471 471 472 - (% style="color:red" %)**0 **(%%)No validation check;471 +**0 ** No validation check; 473 473 474 - (% style="color:red" %)**1**(%%)Check if return chars are printable char(0x20 ~~ 0x7E);473 +**1** Check if return chars are printable char(0x20 ~~ 0x7E); 475 475 476 - (% style="color:red" %)**2**(%%)Check if there is return from SDI-12 sensor475 +**2** Check if there is return from SDI-12 sensor 477 477 478 - (% 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); 479 479 480 480 481 -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. 482 482 483 483 484 - (% 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. 485 485 486 486 (% border="1" style="background-color:#f7faff; width:436px" %) 487 487 |(% style="width:433px" %)((( 488 - **AT+DATACUTx=a,b,c**487 +AT+DATACUTx=a,b,c 489 489 490 490 **a**: length for the return of AT+COMMAND 491 491 492 -**b**: 491 +**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections. 493 493 494 494 **c**: define the position for valid value. 495 495 ))) 496 496 497 -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: 498 498 499 499 500 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 501 -|=(% style="width: 164px;" %)**AT+DATACUT1 value**|=(% style="width: 344px;" %)**Final Result to combine Payload** 502 -|(% style="width:164px" %)34,1,1+2+3|(% style="width:344px" %)0D 00 01 30 31 33 503 -|(% style="width:164px" %)34,2,1~~8+12~~16|(% style="width:344px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32 504 -|(% style="width:164px" %)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 0A 499 +|AT+DATACUT1 value|Final Result to combine Payload 500 +|34,1,1+2+3|0D 00 01 30 31 33 501 +|34,2,1~~8+12~~16|0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32 502 +|34,2,1~~34|0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A 505 505 506 -* (% style="color:blue" %)** Downlink Payload:**504 +* ** Downlink Payload:** 507 507 508 - (% style="color:blue" %)**0xAF**(%%)downlink command can be used to set AT+COMMANDx or AT+DATACUTx.506 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 509 509 510 510 511 - (% style="color:red" %)**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**509 +**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.** 512 512 513 513 514 -Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY(%%)**512 +Format: ** AF MM NN LL XX XX XX XX YY** 515 515 516 516 Where: 517 517 518 -* (% style="color:#037691" %)**MM**(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,519 -* (% style="color:#037691" %)**NN**(%%): 1: set the AT+COMMAND value ; 2: set the AT+DATACUT value.520 -* (% style="color:#037691" %)**LL**(%%): The length of AT+COMMAND or AT+DATACUT command521 -* (% style="color:#037691" %)**XX XX XX XX**(%%): AT+COMMAND or AT+DATACUT command522 -* (% 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.516 +* MM: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 517 +* NN: 1: set the AT+DATACUT value ; 2: set the AT+DATACUT value. 518 +* LL: The length of AT+COMMAND or AT+DATACUT command 519 +* XX XX XX XX: AT+COMMAND or AT+DATACUT command 520 +* 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. 523 523 524 - (% style="color:blue" %)**Example:**522 +Example: 525 525 526 - [[image:image-20230201094129-18.png]]524 +**AF 03 01 07 30 4D 43 21 01 01 01 00**: Same as AT+COMMAND3=**0MC!**,** 1**,** 1**,** 1** 527 527 526 +**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10** 528 528 528 +**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10** 529 529 530 -(% style="color:blue" %)**Clear SDI12 Command** 531 531 531 +**Clear SDI12 Command** 532 + 532 532 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 533 533 534 534 535 -* (% style="color:#037691" %)**AT Command:**536 +* ** AT Command:** 536 536 537 - (% style="color:#4f81bd" %)**AT+CMDEAR=mm,nn**(%%)mm: start position of erase ,nn: stop position of erase538 +**~ AT+CMDEAR=mm,nn** mm: start position of erase ,nn: stop position of erase 538 538 539 539 540 540 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 541 541 542 542 543 -* (% style="color:#037691" %)** Downlink Payload:**544 +* ** Downlink Payload:** 544 544 545 - (% style="color:#4f81bd" %)**0x09 aa bb**(%%)same as AT+CMDEAR=aa,bb546 +**~ 0x09 aa bb** same as AT+CMDEAR=aa,bb 546 546 547 547 548 548 549 -(% style="color:blue" %)**command combination** 550 550 551 +**command combination** 552 + 551 551 Below shows a screen shot how the results combines together to a uplink payload. 552 552 553 -[[image: 1675215745275-920.png]]555 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image029.png]] 554 554 555 555 556 -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.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. 557 557 558 - (% 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.560 +**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. 559 559 560 560 561 - (% 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.563 +For example: as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result. 562 562 563 563 564 -[[image: 1675215782925-448.png]]566 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png]] 565 565 566 566 567 -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.569 +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. 568 568 569 569 570 570 571 - (% style="color:blue" %)**Compose Uplink**573 +**Compose Uplink** 572 572 573 - (% style="color:#4f81bd" %)**AT+DATAUP=0**575 +**AT+DATAUP=0** 574 574 575 -Compose the uplink payload with value returns in sequence and send with **__A SIGNLE UPLINK__**.577 +Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK. 576 576 577 -Final Payload is **__Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx__**579 +Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx 578 578 579 579 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 580 580 581 581 582 -[[image: 1675215828102-844.png]]584 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image031.png]] 583 583 584 584 585 - (% style="color:#4f81bd" %)**AT+DATAUP=1**587 +**AT+DATAUP=1** 586 586 587 -Compose the uplink payload with value returns in sequence and send with **__Multiply UPLINKs__**.589 +Compose the uplink payload with value returns in sequence and send with Multiply UPLINKs. 588 588 589 -Final Payload is __**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__591 +Final Payload is 590 590 593 +**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 594 + 591 591 1. Battery Info (2 bytes): Battery voltage 592 592 1. PAYVER (1 byte): Defined by AT+PAYVER 593 593 1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. ... ... @@ -594,46 +594,58 @@ 594 594 1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 595 595 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 596 596 597 -[[image: 1675215848113-696.png]]601 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png]] 598 598 599 599 600 - (% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**604 +**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** 601 601 602 -* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 603 -* For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 604 -* For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 605 -* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 606 + ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 606 606 607 - (%style="color:red"%)**WhenAT+DATAUP=1, the maximumnumberofsegmentsis 15,andthemaximumtotalnumber of bytesis 1500;**608 + * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 608 608 609 - (%style="color:red"%)**When AT+DATAUP=1 andAT+ADR=0,themaximumnumberofbytesof each payloadisdeterminedbytheDRvalue.**610 + * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 610 610 612 + ~* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 611 611 612 - ==2.4UplinkPayload==614 + *** When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;** 613 613 614 - ===2.4.1 DevicePayload,FPORT~=5===616 +**~ When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.** 615 615 618 +1. 619 +11. Uplink Payload 616 616 621 +Uplink payloads have two types: 622 + 623 +* Distance Value: Use FPORT=2 624 +* Other control commands: Use other FPORT fields. 625 + 626 +The application server should parse the correct value based on FPORT settings. 627 + 628 + 629 +1. 630 +11. 631 +111. Device Payload, FPORT=5 632 + 617 617 Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server. 618 618 635 + 619 619 Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink. 620 620 621 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:420px" %) 622 -|(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)** 623 -|(% style="width:114px" %)**Size(bytes)**|(% style="width:39px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:59px" %)**1**|(% style="width:37px" %)**2** 624 -|(% style="width:114px" %)**Value**|(% style="width:39px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:89px" %)Frequency Band|(% style="width:59px" %)Sub-band|(% style="width:37px" %)BAT 625 625 639 +|(% colspan="6" %)**Device Status (FPORT=5)** 640 +|**Size (bytes)**|**1**|**2**|**1**|**1**|**2** 641 +|**Value**|Sensor Model|Firmware Version|Frequency Band|Sub-band|BAT 642 + 626 626 Example parse in TTNv3 627 627 628 -[[image: 1675215946738-635.png]]645 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png]] 629 629 647 +**Sensor Model**: For SDI-12-LB, this value is 0x17 630 630 631 - (% style="color:#037691" %)**SensorModel**(%%):For SDI-12-LB,this valueis0x17649 +**Firmware Version**: 0x0100, Means: v1.0.0 version 632 632 633 - (% style="color:#037691" %)**FirmwareVersion**(%%):0x0100, Means:v1.0.0 version651 +**Frequency Band**: 634 634 635 -(% style="color:#037691" %)**Frequency Band**: 636 - 637 637 *0x01: EU868 638 638 639 639 *0x02: US915 ... ... @@ -663,7 +663,7 @@ 663 663 *0x0e: MA869 664 664 665 665 666 - (% style="color:#037691" %)**Sub-Band**:682 +**Sub-Band**: 667 667 668 668 AU915 and US915:value 0x00 ~~ 0x08 669 669 ... ... @@ -672,7 +672,7 @@ 672 672 Other Bands: Always 0x00 673 673 674 674 675 - (% style="color:#037691" %)**Battery Info**:691 +**Battery Info**: 676 676 677 677 Check the battery voltage. 678 678 ... ... @@ -681,9 +681,10 @@ 681 681 Ex2: 0x0B49 = 2889mV 682 682 683 683 684 -=== 2.4.2 Uplink Payload, FPORT~=2 === 700 +1. 701 +11. 702 +111. Uplink Payload, FPORT=2 685 685 686 - 687 687 There are different cases for uplink. See below 688 688 689 689 * SDI-12 Debug Command return: FPORT=100 ... ... @@ -690,24 +690,30 @@ 690 690 691 691 * Periodically Uplink: FPORT=2 692 692 693 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:500px" %) 694 -|=(% style="width: 90px;" %)((( 695 -**Size(bytes)** 696 -)))|=(% style="width: 80px;" %)**2**|=(% style="width: 90px;" %)**1**|=(% style="width: 240px;" %)**Length depends on the return from the commands** 697 -|(% style="width:93px" %)**Value**|(% style="width:83px" %)((( 710 +|((( 711 +**Size** 712 + 713 +**(bytes)** 714 +)))|**2**|**1**|**Length depends on the return from the commands** 715 +|**Value**|((( 698 698 Battery(mV) 717 + 699 699 & 719 + 700 700 Interrupt_Flag 701 -)))|(% style="width:91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)((( 702 -If the valid payload is too long and exceed the maximum support. 721 +)))|[[PAYLOAD_VER>>path:#Probe_Model]]|((( 722 +If the valid payload is too long and exceed the maximum support 723 + 703 703 Payload length in server,server will show payload not provided in the LoRaWAN server. 704 704 ))) 705 705 706 -[[image: 1675216282284-923.png]]727 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]] 707 707 708 708 709 -=== 2.4.3 Battery Info === 710 710 731 +1. 732 +11. 733 +111. Battery Info 711 711 712 712 Check the battery voltage for SDI-12-LB. 713 713 ... ... @@ -716,12 +716,14 @@ 716 716 Ex2: 0x0B49 = 2889mV 717 717 718 718 719 -=== 2.4.4 Interrupt Pin === 742 +1. 743 +11. 744 +111. Interrupt Pin 720 720 746 +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]]. 721 721 722 -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"]]. 723 723 724 - **Example:**749 +Example: 725 725 726 726 Ex1: 0x0B45:0x0B&0x80= 0x00 Normal uplink packet. 727 727 ... ... @@ -728,127 +728,242 @@ 728 728 Ex2: 0x8B49:0x8B&0x80= 0x80 Interrupt Uplink Packet. 729 729 730 730 731 -=== 2.4.5 Payload version === 756 +1. 757 +11. 758 +111. Payload version 732 732 733 -The version number of the payload, mainly used for decoding. The default is 01. 734 734 735 735 736 -=== 2.4.6 Decode payload in The Things Network === 737 737 738 738 764 +1. 765 +11. 766 +111. Decode payload in The Things Network 767 + 739 739 While using TTN network, you can add the payload format to decode the payload. 740 740 741 -[[image: 1675216779406-595.png]]770 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]] 742 742 743 743 744 744 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. 745 745 746 -SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 747 747 776 +下面的解码生成超链接放进去. 748 748 749 - == 2.5 UplinkInterval==778 +function Decoder(bytes, port) { 750 750 780 + if(port==5) 751 751 752 - 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:782 + { 753 753 754 - [[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]]784 + var freq_band; 755 755 786 + var sub_band; 756 756 757 - ==2.6ExamplesToSet SDI commands. ==788 + var sensor; 758 758 759 -=== 2.6.1 Examples 1 === 760 760 791 + if(bytes[0]==0x17) 761 761 762 - COM portandSDI-12sensorcommunication converted toSDI-12-LBand SDI-12 sensor communication.793 + sensor= "SDI12-LB"; 763 763 764 -[[image:image-20230222143809-1.png||height="564" width="729"]] 765 765 796 + var firm_ver= (bytes[1]&0x0f)+'.'+(bytes[2]>>4&0x0f)+'.'+(bytes[2]&0x0f); 766 766 767 -(% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:** 768 768 769 - a.Sendthefirstcommand and get the firstreply:799 + if(bytes[3]==0x01) 770 770 771 - (%style="color:#037691"%)**AT+COMMANDx=1I!,0,0,1**801 + freq_band="EU868"; 772 772 773 - b.Sendthesecondcommandandgetthecondreply:803 + else if(bytes[3]==0x02) 774 774 775 - (%style="color:#037691"%)**AT+COMMANDx=2I!,0,0,1**805 + freq_band="US915"; 776 776 777 - c.Sendthethirdcommandandgetthethird reply:807 + else if(bytes[3]==0x03) 778 778 779 - (%style="color:#037691"%)**AT+COMMANDx=3I!,0,0,1**809 + freq_band="IN865"; 780 780 781 - d.Sendthefourthcommandandgetthe fourth reply:811 + else if(bytes[3]==0x04) 782 782 783 - (%style="color:#037691"%)**AT+COMMANDx=4I!,0,0,1**813 + freq_band="AU915"; 784 784 785 - e.Sendthefifthcommandplusthesixth command, get thesixth reply:815 + else if(bytes[3]==0x05) 786 786 787 - (%style="color:#037691"%)**AT+COMMANDx=1M!,2,1,1**817 + freq_band="KZ865"; 788 788 789 - f.Sendtheseventhcommandplustheeighth command, getthe eighth reply:819 + else if(bytes[3]==0x06) 790 790 791 - (%style="color:#037691"%)**AT+COMMANDx=2M!,2,1,1**821 + freq_band="RU864"; 792 792 793 - g.Sendtheninthcommandplusthetenth command, getthetenth reply:823 + else if(bytes[3]==0x07) 794 794 795 - (%style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1**825 + freq_band="AS923"; 796 796 797 - h.Sendtheeleventhcommandplusthetwelfth command, getthe twelfth reply:827 + else if(bytes[3]==0x08) 798 798 799 - (%style="color:#037691"%)**AT+COMMANDx=4M!,1,1,1**829 + freq_band="AS923_1"; 800 800 831 + else if(bytes[3]==0x09) 801 801 802 - (%style="color:blue"%)**2) TheAT+DATACUTxcommandisappliedtothe greenarrow part, receiving andcut out data from theSDI12sensor:**833 + freq_band="AS923_2"; 803 803 804 - a.Thefirstreply,all34characters: ”113TRUEBNERSMT100038220303182331<CR><LF>”835 + else if(bytes[3]==0x0A) 805 805 806 - Cutoutallcharacters:(%style="color:#037691"%)**AT+ALLDATAMOD=1orAT+DATACUTx=34,2,1~~34**;837 + freq_band="AS923_3"; 807 807 808 - b. Thesixthreply,all31characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>”839 + else if(bytes[3]==0x0F) 809 809 810 - Cutoutallcharacters:(%style="color:#037691"%)**AT+ALLDATAMOD=1orAT+DATACUTx=31,2,1~~31**;841 + freq_band="AS923_4"; 811 811 812 - c. Theeighthreply,all31characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>”843 + else if(bytes[3]==0x0B) 813 813 814 - Cutoutallcharacters:(%style="color:#037691"%)**AT+ALLDATAMOD=1orAT+DATACUTx=31,2,1~~31**;845 + freq_band="CN470"; 815 815 816 - d. Thetenthreply,all15characters:”3-2919.8+24.0<CR><LF>”847 + else if(bytes[3]==0x0C) 817 817 818 - Cutoutallcharacters:(%style="color:#037691"%)**AT+ALLDATAMOD=1orAT+DATACUTx=15,2,1~~15**;849 + freq_band="EU433"; 819 819 820 - e. Thetwelfthreply,all25characters:”4+30.8+22.84+4.7+954.38<CR><LF>”851 + else if(bytes[3]==0x0D) 821 821 822 - Partialcut,thecutsensoraddressandthefirst two parameters:(% style="color:#037691" %)**AT+DATACUTx=25,2,1~~12, cut out the character field ” 4+30.8+22.84”**.853 + freq_band="KR920"; 823 823 855 + else if(bytes[3]==0x0E) 824 824 825 - ==2.7Frequency Plans==857 + freq_band="MA869"; 826 826 827 827 828 - TheSDI-12-LBusesOTAAmode and belowfrequency plansbydefault. If user want to use it with different frequency plan, please refer the AT command sets.860 + if(bytes[4]==0xff) 829 829 830 - [[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/]]862 + sub_band="NULL"; 831 831 864 + else 832 832 833 - ==2.8FirmwareChangeLog==866 + sub_band=bytes[4]; 834 834 835 835 869 + var bat= (bytes[5]<<8 | bytes[6])/1000; 870 + 871 + 872 + return { 873 + 874 + SENSOR_MODEL:sensor, 875 + 876 + FIRMWARE_VERSION:firm_ver, 877 + 878 + FREQUENCY_BAND:freq_band, 879 + 880 + SUB_BAND:sub_band, 881 + 882 + BAT:bat, 883 + 884 + } 885 + 886 + } 887 + 888 + else if(port==100) 889 + 890 + { 891 + 892 + var datas_sum={}; 893 + 894 + for(var j=0;j<bytes.length;j++) 895 + 896 + { 897 + 898 + var datas= String.fromCharCode(bytes[j]); 899 + 900 + if(j=='0') 901 + 902 + datas_sum.datas_sum=datas; 903 + 904 + else 905 + 906 + datas_sum.datas_sum+=datas; 907 + 908 + } 909 + 910 + 911 + return datas_sum; 912 + 913 + } 914 + 915 + else 916 + 917 + { 918 + 919 + var decode={}; 920 + 921 + decode.EXTI_Trigger= (bytes[0] & 0x80)? "TRUE":"FALSE"; 922 + 923 + decode.BatV= ((bytes[0]<<8 | bytes[1])&0x7FFF)/1000; 924 + 925 + decode.Payver= bytes[2]; 926 + 927 + for(var i=3;i<bytes.length;i++) 928 + 929 + { 930 + 931 + var data= String.fromCharCode(bytes[i]); 932 + 933 + if(i=='3') 934 + 935 + decode.data_sum=data; 936 + 937 + else 938 + 939 + decode.data_sum+=data; 940 + 941 + } 942 + 943 + return decode; 944 + 945 + } 946 + 947 + 948 +} 949 + 950 + 951 +1. 952 +11. Uplink Interval 953 + 954 +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: 955 + 956 +[[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]] 957 + 958 + 959 + 960 +1. 961 +11. Frequency Plans 962 + 963 +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. 964 + 965 + 966 +[[https:~~/~~/wiki.dragino.com/index.php?title=End_Device_Frequency_Band>>url:https://wiki.dragino.com/index.php?title=End_Device_Frequency_Band]] 967 + 968 + 969 + 970 +1. 971 +11. Firmware Change Log 972 + 836 836 **Firmware download link:** 837 837 838 -[[https:~~/~~/www.dropbox.com/sh/ qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]]975 +[[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]] 839 839 840 840 841 -= 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink = 842 842 979 +1. Configure SDI-12-LB via AT Command or LoRaWAN Downlink 843 843 844 844 Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink. 845 845 846 -* AT Command Connection: See [[FAQ>> ||anchor="H7.FAQ"]].847 -* LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.983 +* AT Command Connection: See [[FAQ>>path:#AT_COMMAND]]. 984 +* LoRaWAN Downlink instruction for different platforms: 848 848 986 +[[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]] 987 + 988 + 849 849 There are two kinds of commands to configure SDI-12-LB, they are: 850 850 851 -* (% style="color:blue" %)**General Commands**.991 +* **General Commands**. 852 852 853 853 These commands are to configure: 854 854 ... ... @@ -857,242 +857,255 @@ 857 857 858 858 They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: 859 859 860 -[[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/]]1000 +[[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_Downlink_Command>>url:http://wiki.dragino.com/index.php?title=End_Device_Downlink_Command]] 861 861 862 862 863 -* (% style="color:blue" %)**Commands special design for SDI-12-LB**1003 +* **Commands special design for SDI-12-LB** 864 864 865 865 These commands only valid for SDI-12-LB, as below: 866 866 867 867 868 -== 3.1 Set Transmit Interval Time == 869 869 1009 +1. 1010 +11. Set Transmit Interval Time 870 870 871 871 Feature: Change LoRaWAN End Node Transmit Interval. 872 872 873 - (% style="color:blue" %)**AT Command: AT+TDC**1014 +**AT Command: AT+TDC** 874 874 875 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 876 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 137px;" %)**Function**|=**Response** 877 -|(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 1016 +|**Command Example**|**Function**|**Response** 1017 +|AT+TDC=?|Show current transmit Interval|((( 878 878 30000 1019 + 879 879 OK 1021 + 880 880 the interval is 30000ms = 30s 881 881 ))) 882 -| (% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((1024 +|AT+TDC=60000|Set Transmit Interval|((( 883 883 OK 1026 + 884 884 Set transmit interval to 60000ms = 60 seconds 885 885 ))) 886 886 887 - (% style="color:blue" %)**Downlink Command: 0x01**1030 +**Downlink Command: 0x01** 888 888 889 - 890 890 Format: Command Code (0x01) followed by 3 bytes time value. 891 891 892 -If the downlink payload=0100003C, it means set the END Node 's Transmit Interval to 0x00003C=60(S), while type code is 01.1034 +If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01. 893 893 894 -* Example 1: Downlink Payload: 0100001E 895 -* Example 2: Downlink Payload: 0100003C 1036 +* Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 1037 +* Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 896 896 1039 +1. 1040 +11. Set Interrupt Mode 897 897 898 - 899 -== 3.2 Set Interrupt Mode == 900 - 901 - 902 902 Feature, Set Interrupt mode for GPIO_EXIT. 903 903 904 - (% style="color:blue" %)**AT Command: AT+INTMOD**1044 +**AT Command: AT+INTMOD** 905 905 906 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 907 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 187px;" %)**Function**|=(% style="width: 165px;" %)**Response** 908 -|(% style="width:156px" %)AT+INTMOD=?|(% style="width:187px" %)Show current interrupt mode|(% style="width:165px" %)((( 1046 +|**Command Example**|**Function**|**Response** 1047 +|AT+INTMOD=?|Show current interrupt mode|((( 909 909 0 1049 + 910 910 OK 911 -the mode is 0 = Disable Interrupt 1051 + 1052 +the mode is 0 = No interruption 912 912 ))) 913 -| (% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)(((1054 +|AT+INTMOD=2|((( 914 914 Set Transmit Interval 915 -0. (Disable Interrupt), 916 -~1. (Trigger by rising and falling edge) 917 -2. (Trigger by falling edge) 918 -3. (Trigger by rising edge) 919 -)))|(% style="width:165px" %)OK 920 920 921 -(% style="color:blue" %)**Downlink Command: 0x06** 1057 +1. (Disable Interrupt), 1058 +1. (Trigger by rising and falling edge), 1059 +1. (Trigger by falling edge) 1060 +1. (Trigger by rising edge) 1061 +)))|OK 922 922 1063 +**Downlink Command: 0x06** 1064 + 923 923 Format: Command Code (0x06) followed by 3 bytes. 924 924 925 925 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 926 926 927 -* Example 1: Downlink Payload: 06000000 928 -* Example 2: Downlink Payload: 06000003 1069 +* Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 1070 +* Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 929 929 1072 +1. 1073 +11. Set the output time 930 930 931 - 932 -== 3.3 Set the output time == 933 - 934 - 935 935 Feature, Control the output 3V3 , 5V or 12V. 936 936 937 - (% style="color:blue" %)**AT Command: AT+3V3T**1077 +**AT Command: AT+3V3T** 938 938 939 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:474px" %) 940 -|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 201px;" %)**Function**|=(% style="width: 116px;" %)**Response** 941 -|(% style="width:154px" %)AT+3V3T=?|(% style="width:201px" %)Show 3V3 open time.|(% style="width:116px" %)((( 1079 +|**Command Example**|**Function**|**Response** 1080 +|AT+3V3T=?|Show 3V3 open time.|((( 942 942 0 1082 + 943 943 OK 944 944 ))) 945 -| (% style="width:154px" %)AT+3V3T=0|(% style="width:201px" %)Normally open 3V3 power supply.|(% style="width:116px" %)(((1085 +|AT+3V3T=0|Normally open 3V3 power supply.|((( 946 946 OK 1087 + 947 947 default setting 948 948 ))) 949 -| (% style="width:154px" %)AT+3V3T=1000|(% style="width:201px" %)Close after a delay of 1000 milliseconds.|(% style="width:116px" %)(((1090 +|AT+3V3T=1000|Close after a delay of 1000 milliseconds.|((( 950 950 OK 1092 + 1093 + 951 951 ))) 952 -| (% style="width:154px" %)AT+3V3T=65535|(% style="width:201px" %)Normally closed 3V3 power supply.|(% style="width:116px" %)(((1095 +|AT+3V3T=65535|Normally closed 3V3 power supply.|((( 953 953 OK 1097 + 1098 + 954 954 ))) 955 955 956 - (% style="color:blue" %)**AT Command: AT+5VT**1101 +**AT Command: AT+5VT** 957 957 958 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:470px" %) 959 -|=(% style="width: 155px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 114px;" %)**Response** 960 -|(% style="width:155px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:114px" %)((( 1103 +|**Command Example**|**Function**|**Response** 1104 +|AT+5VT=?|Show 5V open time.|((( 961 961 0 1106 + 962 962 OK 963 963 ))) 964 -| (% style="width:155px" %)AT+5VT=0|(% style="width:196px" %)Normally closed 5V power supply.|(% style="width:114px" %)(((1109 +|AT+5VT=0|Normally closed 5V power supply.|((( 965 965 OK 1111 + 966 966 default setting 967 967 ))) 968 -| (% style="width:155px" %)AT+5VT=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:114px" %)(((1114 +|AT+5VT=1000|Close after a delay of 1000 milliseconds.|((( 969 969 OK 1116 + 1117 + 970 970 ))) 971 -| (% style="width:155px" %)AT+5VT=65535|(% style="width:196px" %)Normally open 5V power supply.|(% style="width:114px" %)(((1119 +|AT+5VT=65535|Normally open 5V power supply.|((( 972 972 OK 1121 + 1122 + 973 973 ))) 974 974 975 - (% style="color:blue" %)**AT Command: AT+12VT**1125 +**AT Command: AT+12VT** 976 976 977 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:443px" %) 978 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 199px;" %)**Function**|=(% style="width: 83px;" %)**Response** 979 -|(% style="width:156px" %)AT+12VT=?|(% style="width:199px" %)Show 12V open time.|(% style="width:83px" %)((( 1127 +|**Command Example**|**Function**|**Response** 1128 +|AT+12VT=?|Show 12V open time.|((( 980 980 0 1130 + 981 981 OK 982 982 ))) 983 -| (% style="width:156px" %)AT+12VT=0|(% style="width:199px" %)Normally closed 12V power supply.|(% style="width:83px" %)OK984 -| (% style="width:156px" %)AT+12VT=500|(% style="width:199px" %)Close after a delay of 500 milliseconds.|(% style="width:83px" %)(((1133 +|AT+12VT=0|Normally closed 12V power supply.|OK 1134 +|AT+12VT=500|Close after a delay of 500 milliseconds.|((( 985 985 OK 1136 + 1137 + 986 986 ))) 987 987 988 - (% style="color:blue" %)**Downlink Command: 0x07**1140 +**Downlink Command: 0x07** 989 989 990 990 Format: Command Code (0x07) followed by 3 bytes. 991 991 992 992 The first byte is which power, the second and third bytes are the time to turn on. 993 993 994 -* Example 1: Downlink Payload: 070101F4 **~-~-->**995 -* Example 2: Downlink Payload: 0701FFFF **~-~-->**AT+3V3T=65535996 -* Example 3: Downlink Payload: 070203E8 **~-~-->**AT+5VT=1000997 -* Example 4: Downlink Payload: 07020000 **~-~-->**AT+5VT=0998 -* Example 5: Downlink Payload: 070301F4 **~-~-->**AT+12VT=500999 -* Example 6: Downlink Payload: 07030000 **~-~-->**AT+12VT=01146 +* Example 1: Downlink Payload: 070101F4 -> AT+3V3T=500 1147 +* Example 2: Downlink Payload: 0701FFFF -> AT+3V3T=65535 1148 +* Example 3: Downlink Payload: 070203E8 -> AT+5VT=1000 1149 +* Example 4: Downlink Payload: 07020000 -> AT+5VT=0 1150 +* Example 5: Downlink Payload: 070301F4 -> AT+12VT=500 1151 +* Example 6: Downlink Payload: 07030000 -> AT+12VT=0 1000 1000 1153 +1. 1154 +11. Set the all data mode 1001 1001 1002 - 1003 -== 3.4 Set the all data mode == 1004 - 1005 - 1006 1006 Feature, Set the all data mode. 1007 1007 1008 - (% style="color:blue" %)**AT Command: AT+ALLDATAMOD**1158 +**AT Command: AT+ALLDATAMOD** 1009 1009 1010 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 1011 -|=**Command Example**|=**Function**|=**Response** 1160 +|**Command Example**|**Function**|**Response** 1012 1012 |AT+ALLDATAMOD=?|Show current all data mode|((( 1013 1013 0 1163 + 1164 + 1014 1014 OK 1015 1015 ))) 1016 1016 |AT+ALLDATAMOD=1|Set all data mode is 1.|OK 1017 1017 1018 - (% style="color:blue" %)**Downlink Command: 0xAB**1169 +**Downlink Command: 0xAB** 1019 1019 1020 1020 Format: Command Code (0xAB) followed by 1 bytes. 1021 1021 1022 -* Example 1: Downlink Payload: AB 00 1023 -* Example 2: Downlink Payload: AB 01 1173 +* Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 1174 +* Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 1024 1024 1176 +1. 1177 +11. Set the splicing payload for uplink 1025 1025 1026 - 1027 -== 3.5 Set the splicing payload for uplink == 1028 - 1029 - 1030 1030 Feature, splicing payload for uplink. 1031 1031 1032 - (% style="color:blue" %)**AT Command: AT+DATAUP**1181 +**AT Command: AT+DATAUP** 1033 1033 1034 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 1035 -|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 266px;" %)**Function**|=**Response** 1036 -|(% style="width:154px" %)AT+DATAUP =?|(% style="width:266px" %)Show current splicing payload for uplink mode|((( 1183 +|**Command Example**|**Function**|**Response** 1184 +|AT+DATAUP =?|Show current splicing payload for uplink mode|((( 1037 1037 0 1186 + 1187 + 1038 1038 OK 1039 1039 ))) 1040 -| (% style="width:154px" %)AT+DATAUP =0|(% style="width:266px" %)(((1190 +|AT+DATAUP =0|((( 1041 1041 Set splicing payload for uplink mode is 0. 1192 + 1193 + 1042 1042 )))|((( 1043 1043 OK 1196 + 1197 + 1044 1044 ))) 1045 -|(% 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 1046 -|(% style="width:154px" %)AT+DATAUP =1,20000|(% style="width:266px" %)((( 1047 -Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds. 1199 +|AT+DATAUP =1|Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|OK 1200 +|AT+DATAUP =1,20000|((( 1201 +Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds. 1202 + 1203 + 1048 1048 )))|OK 1049 1049 1050 - (% style="color:blue" %)**Downlink Command: 0xAD**1206 +**Downlink Command: 0xAD** 1051 1051 1052 1052 Format: Command Code (0xAD) followed by 1 bytes or 5 bytes. 1053 1053 1054 -* Example 1: Downlink Payload: AD 00 1055 -* Example 2: Downlink Payload: AD 01 1056 -* Example 3: Downlink Payload: AD 01 00 00 14 1210 +* Example 1: Downlink Payload: AD 00 ~/~/ AT+DATAUP=0 1211 +* Example 2: Downlink Payload: AD 01 ~/~/ AT+DATAUP =1 1212 +* Example 3: Downlink Payload: AD 01 00 00 14~/~/ AT+DATAUP =1,20000 1057 1057 1058 1058 This means that the interval is set to 0x000014=20S 1059 1059 1060 1060 1061 -== 3.6 Set the payload version == 1217 +1. 1218 +11. Set the payload version 1062 1062 1063 - 1064 1064 Feature, Set the payload version. 1065 1065 1066 - (% style="color:blue" %)**AT Command: AT+PAYVER**1222 +**AT Command: AT+PAYVER** 1067 1067 1068 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 1069 -|=(% style="width: 158px;" %)**Command Example**|=(% style="width: 192px;" %)**Function**|=**Response** 1070 -|(% style="width:158px" %)AT+PAYVER=?|(% style="width:192px" %)Show current payload version|((( 1224 +|**Command Example**|**Function**|**Response** 1225 +|AT+PAYVER=?|Show current payload version|((( 1071 1071 1 1227 + 1228 + 1072 1072 OK 1073 1073 ))) 1074 -| (% style="width:158px" %)AT+PAYVER=5|(% style="width:192px" %)Set payload version is 5.|OK1231 +|AT+PAYVER=5|Set payload version is 5.|OK 1075 1075 1076 - (% style="color:blue" %)**Downlink Command: 0xAE**1233 +**Downlink Command: 0xAE** 1077 1077 1078 1078 Format: Command Code (0xAE) followed by 1 bytes. 1079 1079 1080 -* Example 1: Downlink Payload: AE 01 1081 -* Example 2: Downlink Payload: AE 05 1237 +* Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1 1238 +* Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1082 1082 1240 +1. Battery & how to replace 1241 +11. Battery Type 1083 1083 1243 +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. 1084 1084 1085 -= 4. Battery & how to replace = 1086 1086 1087 -== 4.1 Battery Type == 1088 - 1089 - 1090 -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. 1091 - 1092 - 1093 1093 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance. 1094 1094 1095 -[[image: 1675234124233-857.png]]1248 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png]] 1096 1096 1097 1097 1098 1098 Minimum Working Voltage for the SDI-12-LB: ... ... @@ -1100,25 +1100,31 @@ 1100 1100 SDI-12-LB: 2.45v ~~ 3.6v 1101 1101 1102 1102 1103 -== 4.2 Replace Battery == 1256 +1. 1257 +11. Replace Battery 1104 1104 1105 - 1106 1106 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery. 1107 1107 1108 1108 And make sure the positive and negative pins match. 1109 1109 1110 1110 1111 -== 4.3 Power Consumption Analyze == 1112 1112 1265 +1. 1266 +11. Power Consumption Analyze 1113 1113 1114 1114 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. 1115 1115 1270 + 1116 1116 Instruction to use as below: 1117 1117 1118 -(% 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]] 1119 1119 1120 - (% style="color:blue" %)**Step2:**(%%)Openand choose1274 +Step 1: Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: 1121 1121 1276 +[[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/]] 1277 + 1278 + 1279 +Step 2: Open it and choose 1280 + 1122 1122 * Product Model 1123 1123 * Uplink Interval 1124 1124 * Working Mode ... ... @@ -1125,47 +1125,56 @@ 1125 1125 1126 1126 And the Life expectation in difference case will be shown on the right. 1127 1127 1287 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image037.png]] 1128 1128 1129 -[[image:1675234155374-163.png]] 1130 1130 1131 - 1132 1132 The battery related documents as below: 1133 1133 1134 -* [[Battery Dimension>>http s://www.dropbox.com/s/ox5g9njwjle7aw3/LSN50-Battery-Dimension.pdf?dl=0]],1135 -* [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>http s://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]]1136 -* [[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]]1292 +* [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/&file=LSN50-Battery-Dimension.pdf]], 1293 +* [[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]] 1294 +* [[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]] 1137 1137 1138 -[[image:image-20230201145019-19.png]] 1296 +|((( 1297 +JST-XH-2P connector 1298 +))) 1139 1139 1300 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image038.png]] 1140 1140 1141 -=== 4.3.1 Battery Note === 1142 1142 1143 1143 1304 +1. 1305 +11. 1306 +111. Battery Note 1307 + 1144 1144 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. 1145 1145 1146 1146 1147 -=== 4.3.2 Replace the battery === 1311 +1. 1312 +11. 1313 +111. Replace the battery 1148 1148 1315 +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. 1149 1149 1150 -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 -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)1318 +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) 1153 1153 1154 1154 1155 -= 5. Remote Configure device = 1156 1156 1157 -== 5.1 Connect via BLE == 1158 1158 1159 1159 1160 -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/]] 1161 1161 1325 +1. Remote Configure device 1326 +11. Connect via BLE 1162 1162 1163 - ==5.2ATCommandSet==1328 +Please see this instruction for how to configure via BLE: 1164 1164 1330 +[[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/]] 1165 1165 1166 1166 1167 -= 6. OTA firmware update = 1333 +1. 1334 +11. AT Command Set 1168 1168 1336 +1. OTA firmware update 1169 1169 1170 1170 Please see this link for how to do OTA firmware update. 1171 1171 ... ... @@ -1172,59 +1172,23 @@ 1172 1172 [[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/]] 1173 1173 1174 1174 1175 -= 7. FAQ = 1176 1176 1177 -== 7.1 How to use AT Command to access device? == 1178 1178 1179 1179 1180 -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]] 1181 1181 1182 1182 1183 -== 7.2 How to update firmware via UART port? == 1184 1184 1185 1185 1186 -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]] 1187 1187 1188 1188 1189 - == 7.3How to change the LoRa FrequencyBands/Region? ==1352 +1. Order Info 1190 1190 1354 +**Package Includes**: 1191 1191 1192 -You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]]. 1193 -When downloading the images, choose the required image file for download. 1356 +* SDI-12-LB SDI-12 to LoRaWAN Converter 1194 1194 1358 +**Dimension and weight**: 1195 1195 1196 -= 8. Order Info = 1197 - 1198 - 1199 -((( 1200 -(% style="color:blue" %)**Part Number: SDI-12-LB-XXX** 1201 -))) 1202 - 1203 -((( 1204 -XXX: The default frequency band 1205 -))) 1206 - 1207 -((( 1208 -(% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 1209 -(% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 1210 -(% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band 1211 -(% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band 1212 -(% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band 1213 -(% style="color:red" %)**US915**(%%): LoRaWAN US915 band 1214 -(% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 1215 -(% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 1216 -))) 1217 - 1218 - 1219 -= 9. Packing Info = 1220 - 1221 - 1222 -(% style="color:#037691" %)**Package Includes**: 1223 - 1224 -* SDI-12-LB SDI-12 to LoRaWAN Converter x 1 1225 - 1226 -(% style="color:#037691" %)**Dimension and weight**: 1227 - 1228 1228 * Device Size: cm 1229 1229 * Device Weight: g 1230 1230 * Package Size / pcs : cm ... ... @@ -1232,11 +1232,11 @@ 1232 1232 1233 1233 1234 1234 1235 - =10. Support=1367 +1. Support 1236 1236 1237 - 1238 1238 * 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. 1370 +* 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 1239 1239 1240 - * 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]]1372 +[[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]] 1241 1241 1242 1242
- 1675215828102-844.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -231.3 KB - Content
- 1675215848113-696.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -50.5 KB - Content
- 1675215946738-635.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -38.4 KB - Content
- 1675216282284-923.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -47.0 KB - Content
- 1675216779406-595.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -59.2 KB - Content
- 1675234124233-857.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -75.8 KB - Content
- 1675234155374-163.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -138.2 KB - Content
- image-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