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