Last modified by Mengting Qiu on 2025/07/03 15:42

From version 19.1
edited by Xiaoling
on 2023/02/01 09:12
Change comment: Uploaded new attachment "image-20230201091257-9.png", version {1}
To version 37.5
edited by Xiaoling
on 2023/02/01 10:38
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -170,23 +170,21 @@
170 170  [[image:image-20230201090139-4.png]]
171 171  
172 172  
173 += 2. Configure SDI-12 to connect to LoRaWAN network =
173 173  
175 +== 2.1 How it works ==
174 174  
175 175  
176 -
177 -1. Configure SDI-12 to connect to LoRaWAN network
178 -11. How it works
179 -
180 180  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.
181 181  
182 182  
183 -1.
184 -11. ​Quick guide to connect to LoRaWAN server (OTAA)
181 +== 2.2 Quick guide to connect to LoRaWAN server (OTAA) ==
185 185  
183 +
186 186  Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
187 187  
188 188  
189 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png]]
187 +[[image:image-20230201090528-5.png||height="465" width="1111"]]
190 190  
191 191  
192 192  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.
... ... @@ -197,7 +197,7 @@
197 197  Each SDI-12-LB is shipped with a sticker with the default device EUI as below:
198 198  
199 199  
200 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image009.png]]
198 +[[image:image-20230131134744-2.jpeg]]
201 201  
202 202  
203 203  
... ... @@ -208,24 +208,24 @@
208 208  
209 209  **Register the device**
210 210  
211 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image010.png]]
209 +[[image:1675213652444-622.png]]
212 212  
213 213  
214 214  **Add APP EUI and DEV EUI**
215 215  
216 216  
217 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png]]
215 +[[image:1675213661769-223.png]]
218 218  
219 219  
220 220  **Add APP EUI in the application**
221 221  
222 222  
223 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png]]
221 +[[image:1675213675852-577.png]]
224 224  
225 225  
226 226  **Add APP KEY**
227 227  
228 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png]]
226 +[[image:1675213686734-883.png]]
229 229  
230 230  
231 231  **Step 2**: Activate on SDI-12-LB
... ... @@ -237,97 +237,100 @@
237 237  **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  
239 239  
240 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png]]
238 +[[image:1675213704414-644.png]]
241 241  
242 242  
241 +== ​2.3 SDI-12 Related Commands ==
243 243  
244 244  
245 -
246 -1.
247 -11. ​SDI-12 Related Commands
248 -
249 249  User need to configure SDI-12-LB to communicate with SDI-12 sensors otherwise the uplink payload will only include a few bytes.
250 250  
251 251  
252 -1.
253 -11.
254 -111. Basic SDI-12 debug command
247 +=== 2.3.1 Basic SDI-12 debug command ===
255 255  
249 +
256 256  User can run some basic SDI-12 command to debug the connection to the SDI-12 sensor. These commands can be sent via AT Command or LoRaWAN downlink command.
257 257  
258 -
259 259  If SDI-12 sensor return value after get these commands, //SDI-12-LB// will uplink the return on FPORT=100, otherwise, if there is no response from SDI-12 sensor. //SDI-12-LB// will uplink NULL (0x 4E 55 4C 4C) to server.
260 260  
261 -
262 262  The following is the display information on the serial port and the server.
263 263  
264 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png]]
265 265  
266 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png]]
267 267  
268 -al!  ~-~- Get SDI-12 sensor Identification
258 +[[image:image-20230201091027-6.png]]
269 269  
260 +
261 +[[image:image-20230201091027-7.png||height="261" width="1179"]]
262 +
263 +
264 +==== **al!  ~-~- Get SDI-12 sensor Identification** ====
265 +
266 +
270 270  * AT Command: AT+ADDRI=aa
271 271  * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa
272 272  
273 -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)
274 274  
275 -Example : AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)
272 +**Example :   **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30)
276 276  
277 277  
278 -
279 279  The following is the display information on the serial port and the server.
280 280  
281 281  
282 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png]]
278 +[[image:image-20230201091257-8.png]]
283 283  
284 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png]]
285 285  
281 +[[image:image-20230201091257-9.png||height="225" width="1242"]]
286 286  
287 -aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!
288 288  
289 -aM!: Start Non-Concurrent Measurement
284 +==== **aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ====
290 290  
291 -aMC!: Start Non-Concurrent Measurement – Request CRC
292 292  
293 -aM1!- aM9!: Additional Measurements
287 +**aM! **: Start Non-Concurrent Measurement
294 294  
295 -aMC1!- aMC9!: Additional Measurements – Request CRC
289 +**aMC! **: Start Non-Concurrent Measurement – Request CRC
296 296  
291 +**aM1!- aM9! **: Additional Measurements
297 297  
293 +**aMC1!- aMC9!** : Additional Measurements – Request CRC
294 +
295 +
298 298  * AT Command : AT+ADDRM=0,1,0,1
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 -aa: SDI-12 sensor address.
301 +**aa**: SDI-12 sensor address.
304 304  
305 -bb: 0: no CRC, 1: request CRC
303 +**bb**: 0: no CRC, 1: request CRC
306 306  
307 -cc: 1-9: Additional Measurement, 0: no additional measurement
305 +**cc**: 1-9: Additional Measurement, 0: no additional measurement
308 308  
309 -dd: delay (in second) to send **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.
313 313  
314 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png]]
315 315  
316 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png]]
313 +[[image:image-20230201091630-10.png]]
317 317  
318 318  
316 +[[image:image-20230201091630-11.png||height="247" width="1165"]]
319 319  
320 -aC!, aCC!,  aC1!- aC9!,  aCC1!- aCC9!
321 321  
322 -aC!: Start Concurrent Measurement
323 323  
324 -aCC!: Start Concurrent Measurement – Request CRC
320 +==== **aC!, aCC! aC1!- aC9!,  aCC1!- aCC9! ** ====
325 325  
326 -aC1!- aC9!: Start Additional Concurrent Measurements
327 327  
328 -aCC1!- aCC9!: Start Additional Concurrent Measurements – Request CRC
323 +**aC!** : Start Concurrent Measurement
329 329  
325 +**aCC!** : Start Concurrent Measurement – Request CRC
330 330  
327 +**aC1!- aC9!** : Start Additional Concurrent Measurements
328 +
329 +**aCC1!- aCC9!** : Start Additional Concurrent Measurements – Request CRC
330 +
331 +
331 331  * AT Command : AT+ADDRC=0,1,0,1 
332 332  
333 333  * LoRaWAN Downlink(0xAA02): 0xAA 02 30 01 00 01
... ... @@ -334,24 +334,29 @@
334 334  
335 335  Downlink: AA 02 aa bb cc dd
336 336  
337 -aa: SDI-12 sensor address.
338 +**aa**: SDI-12 sensor address.
338 338  
339 -bb: 0: no CRC, 1: request CRC
340 +**bb**: 0: no CRC, 1: request CRC
340 340  
341 -cc: 1-9: Additional Measurement, 0: no additional measurement
342 +**cc**: 1-9: Additional Measurement, 0: no additional measurement
342 342  
343 -dd: delay (in second) to send **aD0!** to get return.
344 +**dd**: delay (in second) to send **aD0!** to get return.
344 344  
345 345  
346 346  The following is the display information on the serial port and the server.
347 347  
348 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png]]
349 349  
350 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png]]
350 +[[image:image-20230201091954-12.png]]
351 351  
352 352  
353 -aR0!- aR9!,  aRC0!- aRC9!
353 +[[image:image-20230201091954-13.png||height="203" width="1117"]]
354 354  
355 +
356 +(% style="display:none" %) (%%)
357 +
358 +==== **aR0!- aR9!,  aRC0!- aRC9!** ====
359 +
360 +
355 355  Start Continuous Measurement
356 356  
357 357  Start Continuous Measurement – Request CRC
... ... @@ -362,46 +362,48 @@
362 362  
363 363  Downlink: AA 03 aa bb cc dd
364 364  
365 -aa: SDI-12 sensor address.
371 +**aa**: SDI-12 sensor address.
366 366  
367 -bb: 0: no CRC, 1: request CRC
373 +**bb**: 0: no CRC, 1: request CRC
368 368  
369 -cc: 1-9: Additional Measurement, 0: no additional measurement
375 +**cc**: 1-9: Additional Measurement, 0: no additional measurement
370 370  
371 -dd: delay (in second) to send **aD0!** to get return.
377 +**dd**: delay (in second) to send **aD0!** to get return.
372 372  
373 373  
374 374  The following is the display information on the serial port and the server.
375 375  
376 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png]]
377 377  
378 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png]]
379 379  
380 -1.
381 -11.
382 -111. Advance SDI-12 Debug command
384 +[[image:image-20230201092208-14.png]]
383 383  
386 +
387 +[[image:image-20230201092208-15.png||height="214" width="1140"]]
388 +
389 +
390 +=== 2.3.2 Advance SDI-12 Debug command ===
391 +
392 +
384 384  This command can be used to debug all SDI-12 command.
385 385  
386 386  
387 387  LoRaWAN Downlink: A8 aa xx xx xx xx bb cc
388 388  
389 -(aa: total SDI-12 command length)
398 +**aa **: total SDI-12 command length
390 390  
391 -(xx: SDI-12 command)
400 +**xx **: SDI-12 command
392 392  
393 -(bb: Delay to wait for return)
402 +**bb **: Delay to wait for return
394 394  
395 -(cc: 0: dont uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100)
404 +**cc **: 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100
396 396  
397 397  
398 -Example: AT+CFGDEV =0RC0!,1
407 +**Example: **AT+CFGDEV =0RC0!,1
399 399  
400 -0RC0!: SDI-12 Command,
409 +**0RC0! **: SDI-12 Command,
401 401  
402 -1: Delay 1 second.  ( 0: 810 mini-second)
411 +**1 **: Delay 1 second.  ( 0: 810 mini-second)
403 403  
404 -
405 405  Equal Downlink: 0xA8 05 30 52 43 30 21 01 01
406 406  
407 407  
... ... @@ -408,36 +408,35 @@
408 408  The following is the display information on the serial port and the server.
409 409  
410 410  
411 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png]]
419 +[[image:image-20230201092355-16.png]]
412 412  
413 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png]]
414 414  
415 -1.
416 -11.
417 -111. Convert ASCII to String
422 +[[image:image-20230201092355-17.png||height="426" width="1135"]]
418 418  
419 -This command is used to convert between ASCII and String format.
420 420  
425 +=== 2.3.3 Convert ASCII to String ===
421 421  
427 +
428 +This command is used to convert between ASCII and String format.
429 +
422 422  AT+CONVFORM ( Max length: 80 bytes)
423 423  
424 -Example:
425 425  
426 -1)AT+CONVFORM=0,string   Convert String from String to ASCII
433 +**Example:**
427 427  
428 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]]
435 +1) AT+CONVFORM=0, string Convert String from String to ASCII
429 429  
437 +[[image:1675214845056-885.png]]
430 430  
431 -2)AT+CONVFORM=1,ASCII   Convert ASCII to String.
432 432  
433 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png]]
440 +2) AT+CONVFORM=1, ASCII Convert ASCII to String.
434 434  
442 +[[image:1675214856590-846.png]]
435 435  
436 436  
437 -1.
438 -11.
439 -111. Define periodically SDI-12 commands and uplink.
445 +=== 2.3.4 Define periodically SDI-12 commands and uplink. ===
440 440  
447 +
441 441  AT+COMMANDx & AT+DATACUTx
442 442  
443 443  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.
... ... @@ -447,21 +447,21 @@
447 447  
448 448  **AT+COMMANDx=var1,var2,var3,var4.**
449 449  
450 -var1: SDI-12 command , for example: 0RC0!
457 +**var1**: SDI-12 command , for example: 0RC0!
451 451  
452 -var2: Wait timeout for return. (unit: second)
459 +**var2**: Wait timeout for return. (unit: second)
453 453  
454 -var3: Whether to send //addrD0!// to get return after var2 timeout. 0: Dont Send //addrD0!//; 1: Send //addrD0!//.
461 +**var3**: Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//.
455 455  
456 -var4: validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries.
463 +**var4**: validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries.
457 457  
458 -0  No validation check;
465 +**0 ** No validation check;
459 459  
460 -1  Check if return chars are printable char(0x20 ~~ 0x7E);
467 +**1**  Check if return chars are printable char(0x20 ~~ 0x7E);
461 461  
462 -2  Check if there is return from SDI-12 sensor
469 +**2**  Check if there is return from SDI-12 sensor
463 463  
464 -3  Check if return pass CRC check ( SDI-12 command var1 must include CRC request);
471 +**3**  Check if return pass CRC check ( SDI-12 command var1 must include CRC request);
465 465  
466 466  
467 467  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.
... ... @@ -469,23 +469,25 @@
469 469  
470 470  **AT+DATACUTx** : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.
471 471  
472 -|(((
473 -AT+DATACUTx=a,b,c
479 +(% border="1" style="background-color:#f7faff; width:436px" %)
480 +|(% style="width:433px" %)(((
481 +**AT+DATACUTx=a,b,c**
474 474  
475 -a: length for the return of AT+COMMAND
483 +**a**:  length for the return of AT+COMMAND
476 476  
477 -b:1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.
485 +**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections.
478 478  
479 -c: define the position for valid value. 
487 +**c**:  define the position for valid value. 
480 480  )))
481 481  
482 -For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895” ,. Below AT+DATACUT1 will get different result to combine payload:
490 +For example, if return from AT+COMMAND1 is “013METER   TER12 112T12-00024895” , Below AT+DATACUT1 will get different result to combine payload:
483 483  
484 484  
485 -|AT+DATACUT1 value|Final Result to combine Payload
486 -|34,1,1+2+3|0D 00 01 30 31 33
487 -|34,2,1~~8+12~~16|0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32
488 -|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
493 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
494 +|(% style="width:170px" %)**AT+DATACUT1 value**|(% style="width:338px" %)**Final Result to combine Payload**
495 +|(% style="width:170px" %)34,1,1+2+3|(% style="width:338px" %)0D 00 01 30 31 33
496 +|(% style="width:170px" %)34,2,1~~8+12~~16|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32
497 +|(% style="width:170px" %)34,2,1~~34|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A
489 489  
490 490  * ** Downlink Payload:**
491 491  
... ... @@ -499,21 +499,17 @@
499 499  
500 500  Where:
501 501  
502 -* MM: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
503 -* NN:  1: set the AT+DATACUT value ; 2: set the AT+DATACUT value.
504 -* LL:  The length of AT+COMMAND or AT+DATACUT command
505 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command
506 -* 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. 
511 +* **MM **: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
512 +* **NN **:  1: set the AT+DATACUT value ; 2: set the AT+DATACUT value.
513 +* **LL **:  The length of AT+COMMAND or AT+DATACUT command
514 +* **XX XX XX XX **: AT+COMMAND or AT+DATACUT command
515 +* **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. 
507 507  
508 -Example:
517 +**Example:**
509 509  
510 -**AF 03 01 07 30 4D 43 21 01 01 01 00**: Same as AT+COMMAND3=**0MC!**,** 1**,** 1**,** 1**
519 +[[image:image-20230201094129-18.png]]
511 511  
512 -**AF 03 02 06 10 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10**
513 513  
514 -**AF 03 02 06 0B 02 05 07 08 0A 00**: Same as AT+DATACUT3=**11**,**2**,**5~~7+8~~10**
515 -
516 -
517 517  **Clear SDI12 Command**
518 518  
519 519  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
... ... @@ -533,23 +533,22 @@
533 533  
534 534  
535 535  
536 -
537 537  **command combination**
538 538  
539 539  Below shows a screen shot how the results combines together to a uplink payload.
540 540  
541 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image029.png]]
545 +[[image:1675215745275-920.png]]
542 542  
543 543  
544 -If user dont want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1.
548 +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.
545 545  
546 -**AT+ALLDATAMOD** will simply get all return and dont 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.
550 +**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.
547 547  
548 548  
549 -For example: as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result.
553 +**For example: ** as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result.
550 550  
551 551  
552 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png]]
556 +[[image:1675215782925-448.png]]
553 553  
554 554  
555 555  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.
... ... @@ -558,6 +558,7 @@
558 558  
559 559  **Compose Uplink**
560 560  
565 +
561 561  **AT+DATAUP=0**
562 562  
563 563  Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK.
... ... @@ -567,7 +567,7 @@
567 567  Where PAYVER is defined by AT+PAYVER, below is an example screen shot.
568 568  
569 569  
570 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image031.png]]
575 +[[image:1675215828102-844.png]]
571 571  
572 572  
573 573  **AT+DATAUP=1**
... ... @@ -576,7 +576,7 @@
576 576  
577 577  Final Payload is
578 578  
579 -**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**
584 +__**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__
580 580  
581 581  1. Battery Info (2 bytes): Battery voltage
582 582  1. PAYVER (1 byte): Defined by AT+PAYVER
... ... @@ -584,26 +584,24 @@
584 584  1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT)
585 585  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
586 586  
587 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png]]
592 +[[image:1675215848113-696.png]]
588 588  
589 589  
590 590  **Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**
591 591  
592 - ~* 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=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
598 +* For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
599 +* For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
600 +* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
593 593  
594 - * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
602 +**~ When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**
595 595  
596 - * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
604 +**~ When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.**
597 597  
598 - ~* For all other bands: max 51 bytes for each uplink  ( so 51 -5 = 46 max valid date).
599 599  
600 - *** When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**
607 +== ​​​​​​​2.4 Uplink Payload ==
601 601  
602 -**~ When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.**
603 603  
604 -1.
605 -11. Uplink Payload
606 -
607 607  Uplink payloads have two types:
608 608  
609 609  * Distance Value: Use FPORT=2
... ... @@ -612,24 +612,23 @@
612 612  The application server should parse the correct value based on FPORT settings.
613 613  
614 614  
615 -1.
616 -11.
617 -111. Device Payload, FPORT=5
618 +=== 2.4.1 Device Payload, FPORT~=5 ===
618 618  
620 +
619 619  Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server.
620 620  
621 -
622 622  Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink.
623 623  
625 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
626 +|(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)**
627 +|(% style="width:102px" %)**Size (bytes)**|(% style="width:67px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:52px" %)**1**|(% style="width:44px" %)**2**
628 +|(% style="width:102px" %)**Value**|(% style="width:67px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:89px" %)Frequency Band|(% style="width:52px" %)Sub-band|(% style="width:44px" %)BAT
624 624  
625 -|(% colspan="6" %)**Device Status (FPORT=5)**
626 -|**Size (bytes)**|**1**|**2**|**1**|**1**|**2**
627 -|**Value**|Sensor Model|Firmware Version|Frequency Band|Sub-band|BAT
628 -
629 629  Example parse in TTNv3
630 630  
631 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png]]
632 +[[image:1675215946738-635.png]]
632 632  
634 +
633 633  **Sensor Model**: For SDI-12-LB, this value is 0x17
634 634  
635 635  **Firmware Version**: 0x0100, Means: v1.0.0 version
... ... @@ -683,10 +683,9 @@
683 683  Ex2: 0x0B49 = 2889mV
684 684  
685 685  
686 -1.
687 -11.
688 -111. Uplink Payload, FPORT=2
688 +=== 2.4.2 Uplink Payload, FPORT~=2 ===
689 689  
690 +
690 690  There are different cases for uplink. See below
691 691  
692 692  * SDI-12 Debug Command return: FPORT=100
... ... @@ -693,30 +693,24 @@
693 693  
694 694  * Periodically Uplink: FPORT=2
695 695  
696 -|(((
697 -**Size**
698 -
699 -**(bytes)**
700 -)))|**2**|**1**|**Length depends on the return from the commands**
701 -|**Value**|(((
697 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
698 +|(% style="width:93px" %)(((
699 +**Size(bytes)**
700 +)))|(% style="width:83px" %)**2**|(% style="width:70px" %)**1**|(% style="width:234px" %)**Length depends on the return from the commands**
701 +|(% style="width:93px" %)**Value**|(% style="width:83px" %)(((
702 702  Battery(mV)
703 -
704 704  &
705 -
706 706  Interrupt_Flag
707 -)))|[[PAYLOAD_VER>>path:#Probe_Model]]|(((
708 -If the valid payload is too long and exceed the maximum support
709 -
705 +)))|(% style="width:70px" %)[[PAYLOAD_VER>>path:#Probe_Model]]|(% style="width:234px" %)(((
706 +If the valid payload is too long and exceed the maximum support.
710 710  Payload length in server,server will show payload not provided in the LoRaWAN server.
711 711  )))
712 712  
713 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]]
710 +[[image:1675216282284-923.png]]
714 714  
715 715  
713 +=== 2.4.3 Battery Info ===
716 716  
717 -1.
718 -11.
719 -111. Battery Info
720 720  
721 721  Check the battery voltage for SDI-12-LB.
722 722  
... ... @@ -725,253 +725,70 @@
725 725  Ex2: 0x0B49 = 2889mV
726 726  
727 727  
728 -1.
729 -11.
730 -111. Interrupt Pin
723 +=== 2.4.4 Interrupt Pin ===
731 731  
725 +
732 732  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]].
733 733  
728 +**Example:**
734 734  
735 -Example:
736 -
737 737  Ex1: 0x0B45:0x0B&0x80= 0x00    Normal uplink packet.
738 738  
739 739  Ex2: 0x8B49:0x8B&0x80= 0x80    Interrupt Uplink Packet.
740 740  
741 741  
742 -1.
743 -11.
744 -111. Payload version
735 +=== 2.4.5 Payload version ===
745 745  
746 746  
747 747  
739 +=== 2.4.6 ​Decode payload in The Things Network ===
748 748  
749 749  
750 -1.
751 -11.
752 -111. ​Decode payload in The Things Network
753 -
754 754  While using TTN network, you can add the payload format to decode the payload.
755 755  
756 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]]
744 +[[image:1675216779406-595.png]]
757 757  
758 758  
759 759  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.
760 760  
749 +SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
761 761  
762 -下面的解码生成超链接放进去.
763 763  
764 -function Decoder(bytes, port) {
752 +== 2.5 Uplink Interval ==
765 765  
766 - if(port==5)
767 767  
768 - {
755 +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:
769 769  
770 - var freq_band;
757 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>url:http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval]]
771 771  
772 - var sub_band;
773 773  
774 - var sensor;
775 775  
776 776  
777 - if(bytes[0]==0x17)
762 +== 2.6 Frequency Plans ==
778 778  
779 - sensor= "SDI12-LB";
780 780  
765 +The SDI-12-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
781 781  
782 - var firm_ver= (bytes[1]&0x0f)+'.'+(bytes[2]>>4&0x0f)+'.'+(bytes[2]&0x0f);
767 +[[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/]]
783 783  
784 784  
785 - if(bytes[3]==0x01)
786 786  
787 - freq_band="EU868";
771 +== 2.7 Firmware Change Log ==
788 788  
789 - else if(bytes[3]==0x02)
790 790  
791 - freq_band="US915";
792 -
793 - else if(bytes[3]==0x03)
794 -
795 - freq_band="IN865";
796 -
797 - else if(bytes[3]==0x04)
798 -
799 - freq_band="AU915";
800 -
801 - else if(bytes[3]==0x05)
802 -
803 - freq_band="KZ865";
804 -
805 - else if(bytes[3]==0x06)
806 -
807 - freq_band="RU864";
808 -
809 - else if(bytes[3]==0x07)
810 -
811 - freq_band="AS923";
812 -
813 - else if(bytes[3]==0x08)
814 -
815 - freq_band="AS923_1";
816 -
817 - else if(bytes[3]==0x09)
818 -
819 - freq_band="AS923_2";
820 -
821 - else if(bytes[3]==0x0A)
822 -
823 - freq_band="AS923_3";
824 -
825 - else if(bytes[3]==0x0F)
826 -
827 - freq_band="AS923_4";
828 -
829 - else if(bytes[3]==0x0B)
830 -
831 - freq_band="CN470";
832 -
833 - else if(bytes[3]==0x0C)
834 -
835 - freq_band="EU433";
836 -
837 - else if(bytes[3]==0x0D)
838 -
839 - freq_band="KR920";
840 -
841 - else if(bytes[3]==0x0E)
842 -
843 - freq_band="MA869";
844 -
845 -
846 - if(bytes[4]==0xff)
847 -
848 - sub_band="NULL";
849 -
850 - else
851 -
852 - sub_band=bytes[4];
853 -
854 -
855 - var bat= (bytes[5]<<8 | bytes[6])/1000;
856 -
857 -
858 - return {
859 -
860 - SENSOR_MODEL:sensor,
861 -
862 - FIRMWARE_VERSION:firm_ver,
863 -
864 - FREQUENCY_BAND:freq_band,
865 -
866 - SUB_BAND:sub_band,
867 -
868 - BAT:bat,
869 -
870 - }
871 -
872 - }
873 -
874 - else if(port==100)
875 -
876 - {
877 -
878 - var datas_sum={};
879 -
880 - for(var j=0;j<bytes.length;j++)
881 -
882 - {
883 -
884 - var datas= String.fromCharCode(bytes[j]);
885 -
886 - if(j=='0')
887 -
888 - datas_sum.datas_sum=datas;
889 -
890 - else
891 -
892 - datas_sum.datas_sum+=datas;
893 -
894 - }
895 -
896 -
897 - return datas_sum;
898 -
899 - }
900 -
901 - else
902 -
903 - {
904 -
905 - var decode={};
906 -
907 - decode.EXTI_Trigger= (bytes[0] & 0x80)? "TRUE":"FALSE";  
908 -
909 - decode.BatV= ((bytes[0]<<8 | bytes[1])&0x7FFF)/1000;
910 -
911 - decode.Payver= bytes[2];
912 -
913 - for(var i=3;i<bytes.length;i++)
914 -
915 - {
916 -
917 - var data= String.fromCharCode(bytes[i]);
918 -
919 - if(i=='3')
920 -
921 - decode.data_sum=data;
922 -
923 - else
924 -
925 - decode.data_sum+=data;
926 -
927 - }
928 -
929 - return decode; 
930 -
931 - }
932 -
933 -
934 -}
935 -
936 -
937 -1.
938 -11. Uplink Interval
939 -
940 -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:
941 -
942 -[[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]]
943 -
944 -
945 -
946 -1.
947 -11. Frequency Plans
948 -
949 -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.
950 -
951 -
952 -[[https:~~/~~/wiki.dragino.com/index.php?title=End_Device_Frequency_Band>>url:https://wiki.dragino.com/index.php?title=End_Device_Frequency_Band]]
953 -
954 -
955 -
956 -1.
957 -11. Firmware Change Log
958 -
959 959  **Firmware download link:**
960 960  
961 961  [[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]
962 962  
963 963  
779 += 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink =
964 964  
965 -1. Configure SDI-12-LB via AT Command or LoRaWAN Downlink
966 966  
967 967  Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink.
968 968  
969 969  * AT Command Connection: See [[FAQ>>path:#AT_COMMAND]].
970 -* LoRaWAN Downlink instruction for different platforms:
785 +* LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
971 971  
972 -[[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]]
973 -
974 -
975 975  There are two kinds of commands to configure SDI-12-LB, they are:
976 976  
977 977  * **General Commands**.
... ... @@ -991,30 +991,28 @@
991 991  These commands only valid for SDI-12-LB, as below:
992 992  
993 993  
806 +== ​​​​​​​3.1 Set Transmit Interval Time ==
994 994  
995 -1.
996 -11. Set Transmit Interval Time
997 997  
998 998  Feature: Change LoRaWAN End Node Transmit Interval.
999 999  
1000 -**AT Command: AT+TDC**
811 +(% style="color:blue" %)**AT Command: AT+TDC**
1001 1001  
1002 -|**Command Example**|**Function**|**Response**
1003 -|AT+TDC=?|Show current transmit Interval|(((
813 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %)
814 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 137px;" %)**Function**|=**Response**
815 +|(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
1004 1004  30000
1005 -
1006 1006  OK
1007 -
1008 1008  the interval is 30000ms = 30s
1009 1009  )))
1010 -|AT+TDC=60000|Set Transmit Interval|(((
820 +|(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
1011 1011  OK
1012 -
1013 1013  Set transmit interval to 60000ms = 60 seconds
1014 1014  )))
1015 1015  
1016 -**Downlink Command: 0x01**
825 +(% style="color:blue" %)**Downlink Command: 0x01**
1017 1017  
827 +
1018 1018  Format: Command Code (0x01) followed by 3 bytes time value.
1019 1019  
1020 1020  If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01.
... ... @@ -1022,31 +1022,28 @@
1022 1022  * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds
1023 1023  * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds
1024 1024  
1025 -1.
1026 -11. Set Interrupt Mode
835 +== 3.2 Set Interrupt Mode ==
1027 1027  
1028 1028  Feature, Set Interrupt mode for GPIO_EXIT.
1029 1029  
1030 -**AT Command: AT+INTMOD**
839 +(% style="color:blue" %)**AT Command: AT+INTMOD**
1031 1031  
1032 -|**Command Example**|**Function**|**Response**
841 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %)
842 +|=**Command Example**|=**Function**|=**Response**
1033 1033  |AT+INTMOD=?|Show current interrupt mode|(((
1034 1034  0
1035 -
1036 1036  OK
1037 -
1038 1038  the mode is 0 = No interruption
1039 1039  )))
1040 1040  |AT+INTMOD=2|(((
1041 1041  Set Transmit Interval
1042 -
1043 -1. (Disable Interrupt),
1044 -1. (Trigger by rising and falling edge),
1045 -1. (Trigger by falling edge)
1046 -1. (Trigger by rising edge)
850 +~1. (Disable Interrupt),
851 +2. (Trigger by rising and falling edge)
852 +3. (Trigger by falling edge)
853 +4. (Trigger by rising edge)
1047 1047  )))|OK
1048 1048  
1049 -**Downlink Command: 0x06**
856 +(% style="color:blue" %)**Downlink Command: 0x06**
1050 1050  
1051 1051  Format: Command Code (0x06) followed by 3 bytes.
1052 1052  
... ... @@ -1055,141 +1055,121 @@
1055 1055  * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode
1056 1056  * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger
1057 1057  
1058 -1.
1059 -11. Set the output time
865 +== 3.3 Set the output time ==
1060 1060  
867 +
1061 1061  Feature, Control the output 3V3 , 5V or 12V.
1062 1062  
1063 -**AT Command: AT+3V3T**
870 +(% style="color:blue" %)**AT Command: AT+3V3T**
1064 1064  
1065 -|**Command Example**|**Function**|**Response**
1066 -|AT+3V3T=?|Show 3V3 open time.|(((
872 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:474px" %)
873 +|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 201px;" %)**Function**|=(% style="width: 116px;" %)**Response**
874 +|(% style="width:154px" %)AT+3V3T=?|(% style="width:201px" %)Show 3V3 open time.|(% style="width:116px" %)(((
1067 1067  0
1068 -
1069 1069  OK
1070 1070  )))
1071 -|AT+3V3T=0|Normally open 3V3 power supply.|(((
878 +|(% style="width:154px" %)AT+3V3T=0|(% style="width:201px" %)Normally open 3V3 power supply.|(% style="width:116px" %)(((
1072 1072  OK
1073 -
1074 1074  default setting
1075 1075  )))
1076 -|AT+3V3T=1000|Close after a delay of 1000 milliseconds.|(((
882 +|(% style="width:154px" %)AT+3V3T=1000|(% style="width:201px" %)Close after a delay of 1000 milliseconds.|(% style="width:116px" %)(((
1077 1077  OK
1078 -
1079 -
1080 1080  )))
1081 -|AT+3V3T=65535|Normally closed 3V3 power supply.|(((
885 +|(% style="width:154px" %)AT+3V3T=65535|(% style="width:201px" %)Normally closed 3V3 power supply.|(% style="width:116px" %)(((
1082 1082  OK
1083 -
1084 -
1085 1085  )))
1086 1086  
1087 -**AT Command: AT+5VT**
889 +(% style="color:blue" %)**AT Command: AT+5VT**
1088 1088  
1089 -|**Command Example**|**Function**|**Response**
1090 -|AT+5VT=?|Show 5V open time.|(((
891 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:470px" %)
892 +|=(% style="width: 155px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 114px;" %)**Response**
893 +|(% style="width:155px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:114px" %)(((
1091 1091  0
1092 -
1093 1093  OK
1094 1094  )))
1095 -|AT+5VT=0|Normally closed 5V power supply.|(((
897 +|(% style="width:155px" %)AT+5VT=0|(% style="width:196px" %)Normally closed 5V power supply.|(% style="width:114px" %)(((
1096 1096  OK
1097 -
1098 1098  default setting
1099 1099  )))
1100 -|AT+5VT=1000|Close after a delay of 1000 milliseconds.|(((
901 +|(% style="width:155px" %)AT+5VT=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:114px" %)(((
1101 1101  OK
1102 -
1103 -
1104 1104  )))
1105 -|AT+5VT=65535|Normally open 5V power supply.|(((
904 +|(% style="width:155px" %)AT+5VT=65535|(% style="width:196px" %)Normally open 5V power supply.|(% style="width:114px" %)(((
1106 1106  OK
1107 -
1108 -
1109 1109  )))
1110 1110  
1111 -**AT Command: AT+12VT**
908 +(% style="color:blue" %)**AT Command: AT+12VT**
1112 1112  
1113 -|**Command Example**|**Function**|**Response**
1114 -|AT+12VT=?|Show 12V open time.|(((
910 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:443px" %)
911 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 199px;" %)**Function**|=(% style="width: 83px;" %)**Response**
912 +|(% style="width:156px" %)AT+12VT=?|(% style="width:199px" %)Show 12V open time.|(% style="width:83px" %)(((
1115 1115  0
1116 -
1117 1117  OK
1118 1118  )))
1119 -|AT+12VT=0|Normally closed 12V power supply.|OK
1120 -|AT+12VT=500|Close after a delay of 500 milliseconds.|(((
916 +|(% style="width:156px" %)AT+12VT=0|(% style="width:199px" %)Normally closed 12V power supply.|(% style="width:83px" %)OK
917 +|(% style="width:156px" %)AT+12VT=500|(% style="width:199px" %)Close after a delay of 500 milliseconds.|(% style="width:83px" %)(((
1121 1121  OK
1122 -
1123 -
1124 1124  )))
1125 1125  
1126 -**Downlink Command: 0x07**
921 +(% style="color:blue" %)**Downlink Command: 0x07**
1127 1127  
1128 1128  Format: Command Code (0x07) followed by 3 bytes.
1129 1129  
1130 1130  The first byte is which power, the second and third bytes are the time to turn on.
1131 1131  
1132 -* Example 1: Downlink Payload: 070101F4  -> AT+3V3T=500
1133 -* Example 2: Downlink Payload: 0701FFFF   -> AT+3V3T=65535
1134 -* Example 3: Downlink Payload: 070203E8  -> AT+5VT=1000
1135 -* Example 4: Downlink Payload: 07020000  -> AT+5VT=0
1136 -* Example 5: Downlink Payload: 070301F4  -> AT+12VT=500
1137 -* Example 6: Downlink Payload: 07030000  -> AT+12VT=0
927 +* Example 1: Downlink Payload: 070101F4  **~-~-->**  AT+3V3T=500
928 +* Example 2: Downlink Payload: 0701FFFF   **~-~-->**  AT+3V3T=65535
929 +* Example 3: Downlink Payload: 070203E8  **~-~-->**  AT+5VT=1000
930 +* Example 4: Downlink Payload: 07020000  **~-~-->**  AT+5VT=0
931 +* Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
932 +* Example 6: Downlink Payload: 07030000  **~-~-->**  AT+12VT=0
1138 1138  
1139 -1.
1140 -11. Set the all data mode
934 +== 3.4 Set the all data mode ==
1141 1141  
936 +
1142 1142  Feature, Set the all data mode.
1143 1143  
1144 -**AT Command: AT+ALLDATAMOD**
939 +(% style="color:blue" %)**AT Command: AT+ALLDATAMOD**
1145 1145  
1146 -|**Command Example**|**Function**|**Response**
941 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
942 +|=**Command Example**|=**Function**|=**Response**
1147 1147  |AT+ALLDATAMOD=?|Show current all data mode|(((
1148 1148  0
1149 -
1150 -
1151 1151  OK
1152 1152  )))
1153 1153  |AT+ALLDATAMOD=1|Set all data mode is 1.|OK
1154 1154  
1155 -**Downlink Command: 0xAB**
949 +(% style="color:blue" %)**Downlink Command: 0xAB**
1156 1156  
1157 1157  Format: Command Code (0xAB) followed by 1 bytes.
1158 1158  
1159 -* Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0
1160 -* Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1
953 +* Example 1: Downlink Payload: AB 00  ~/~/  AT+ALLDATAMOD=0
954 +* Example 2: Downlink Payload: AB 01  ~/~/  AT+ALLDATAMOD=1
1161 1161  
1162 -1.
1163 -11. Set the splicing payload for uplink
956 +== 3.5 Set the splicing payload for uplink ==
1164 1164  
958 +
1165 1165  Feature, splicing payload for uplink.
1166 1166  
1167 -**AT Command: AT+DATAUP**
961 +(% style="color:blue" %)**AT Command: AT+DATAUP**
1168 1168  
1169 -|**Command Example**|**Function**|**Response**
1170 -|AT+DATAUP =?|Show current splicing payload for uplink mode|(((
963 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
964 +|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 266px;" %)**Function**|=**Response**
965 +|(% style="width:154px" %)AT+DATAUP =?|(% style="width:266px" %)Show current splicing payload for uplink mode|(((
1171 1171  0
1172 -
1173 -
1174 1174  OK
1175 1175  )))
1176 -|AT+DATAUP =0|(((
969 +|(% style="width:154px" %)AT+DATAUP =0|(% style="width:266px" %)(((
1177 1177  Set splicing payload for uplink mode is 0.
1178 -
1179 -
1180 1180  )))|(((
1181 1181  OK
1182 -
1183 -
1184 1184  )))
1185 -|AT+DATAUP =1|Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|OK
1186 -|AT+DATAUP =1,20000|(((
1187 -Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds.
1188 -
1189 -
974 +|(% 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
975 +|(% style="width:154px" %)AT+DATAUP =1,20000|(% style="width:266px" %)(((
976 +Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds.
1190 1190  )))|OK
1191 1191  
1192 -**Downlink Command: 0xAD**
979 +(% style="color:blue" %)**Downlink Command: 0xAD**
1193 1193  
1194 1194  Format: Command Code (0xAD) followed by 1 bytes or 5 bytes.
1195 1195  
... ... @@ -1200,23 +1200,20 @@
1200 1200  This means that the interval is set to 0x000014=20S
1201 1201  
1202 1202  
1203 -1.
1204 -11. Set the payload version
990 +== 3.6 Set the payload version ==
1205 1205  
1206 1206  Feature, Set the payload version.
1207 1207  
1208 -**AT Command: AT+PAYVER**
994 +(% style="color:blue" %)**AT Command: AT+PAYVER**
1209 1209  
1210 1210  |**Command Example**|**Function**|**Response**
1211 1211  |AT+PAYVER=?|Show current payload version|(((
1212 1212  1
1213 -
1214 -
1215 1215  OK
1216 1216  )))
1217 1217  |AT+PAYVER=5|Set payload version is 5.|OK
1218 1218  
1219 -**Downlink Command: 0xAE**
1003 +(% style="color:blue" %)**Downlink Command: 0xAE**
1220 1220  
1221 1221  Format: Command Code (0xAE) followed by 1 bytes.
1222 1222  
... ... @@ -1223,15 +1223,17 @@
1223 1223  * Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1
1224 1224  * Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5
1225 1225  
1226 -1. Battery & how to replace
1227 -11. Battery Type
1010 += 4. Battery & how to replace =
1228 1228  
1229 -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.
1012 +== 4.1 Battery Type ==
1230 1230  
1231 1231  
1015 +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.
1016 +
1017 +
1232 1232  The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance.
1233 1233  
1234 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png]]
1020 +[[image:1675146710956-626.png]]
1235 1235  
1236 1236  
1237 1237  Minimum Working Voltage for the SDI-12-LB:
... ... @@ -1239,31 +1239,25 @@
1239 1239  SDI-12-LB:  2.45v ~~ 3.6v
1240 1240  
1241 1241  
1242 -1.
1243 -11. Replace Battery
1028 +== 4.2 Replace Battery ==
1244 1244  
1030 +
1245 1245  Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery.
1246 1246  
1247 1247  And make sure the positive and negative pins match.
1248 1248  
1249 1249  
1036 +== 4.3 Power Consumption Analyze ==
1250 1250  
1251 -1.
1252 -11. Power Consumption Analyze
1253 1253  
1254 1254  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.
1255 1255  
1256 -
1257 1257  Instruction to use as below:
1258 1258  
1043 +(% 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]]
1259 1259  
1260 -Step 1: Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from:
1045 +(% style="color:blue" %)**Step 2:**(%%) Open it and choose
1261 1261  
1262 -[[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/]]
1263 -
1264 -
1265 -Step 2: Open it and choose
1266 -
1267 1267  * Product Model
1268 1268  * Uplink Interval
1269 1269  * Working Mode
... ... @@ -1270,57 +1270,48 @@
1270 1270  
1271 1271  And the Life expectation in difference case will be shown on the right.
1272 1272  
1273 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image037.png]]
1053 +[[image:1675146895108-304.png]]
1274 1274  
1275 1275  
1276 1276  The battery related documents as below:
1277 1277  
1278 -* [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/&file=LSN50-Battery-Dimension.pdf]],
1279 -* [[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]]
1280 -* [[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]]
1058 +* [[Battery Dimension>>https://www.dropbox.com/s/ox5g9njwjle7aw3/LSN50-Battery-Dimension.pdf?dl=0]],
1059 +* [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>https://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]]
1060 +* [[Lithium-ion Battery-Capacitor datasheet>>https://www.dropbox.com/s/791gjes2lcbfi1p/SPC_1520_datasheet.jpg?dl=0]], [[Tech Spec>>https://www.dropbox.com/s/4pkepr9qqqvtzf2/SPC1520%20Technical%20Specification20171123.pdf?dl=0]]
1281 1281  
1282 -|(((
1283 -JST-XH-2P connector
1284 -)))
1062 +[[image:image-20230131145708-3.png]]
1285 1285  
1286 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image038.png]]
1287 1287  
1065 +=== 4.3.1 ​Battery Note ===
1288 1288  
1289 1289  
1290 -1.
1291 -11.
1292 -111. ​Battery Note
1293 -
1294 1294  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.
1295 1295  
1296 1296  
1297 -1.
1298 -11.
1299 -111. ​Replace the battery
1071 +=== 4.3.2 Replace the battery ===
1300 1300  
1301 -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.
1302 1302  
1074 +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.
1303 1303  
1304 -The default battery pack of SDI-12-LB includes a ER26500 plus super capacitor. If user cant 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)
1076 +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)
1305 1305  
1306 1306  
1307 1307  
1080 += 5. Remote Configure device =
1308 1308  
1082 +== 5.1 Connect via BLE ==
1309 1309  
1310 1310  
1311 -1. Remote Configure device
1312 -11. Connect via BLE
1085 +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/]]
1313 1313  
1314 -Please see this instruction for how to configure via BLE:
1315 1315  
1316 -[[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/]]
1088 +== 5.2 AT Command Set ==
1317 1317  
1318 1318  
1319 -1.
1320 -11. AT Command Set
1321 1321  
1322 -1. OTA firmware update
1092 += 6. OTA firmware update =
1323 1323  
1094 +
1324 1324  Please see this link for how to do OTA firmware update.
1325 1325  
1326 1326  [[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/]]
... ... @@ -1327,19 +1327,33 @@
1327 1327  
1328 1328  
1329 1329  
1101 += 7. ​Order Info =
1330 1330  
1331 1331  
1104 +Part Number: SDI-12-LB-XXX
1105 +XXX: The default frequency band
1332 1332  
1107 +AS923: LoRaWAN AS923 band
1108 +AU915: LoRaWAN AU915 band
1109 +EU433: LoRaWAN EU433 band
1110 +EU868: LoRaWAN EU868 band
1111 +KR920: LoRaWAN KR920 band
1112 +US915: LoRaWAN US915 band
1113 +IN865: LoRaWAN IN865 band
1114 +CN470: LoRaWAN CN470 band
1333 1333  
1334 1334  
1335 1335  
1336 1336  
1337 1337  
1338 -1. ​Order Info
1339 1339  
1121 +
1122 += 8. Packing Info =
1123 +
1124 +
1340 1340  **Package Includes**:
1341 1341  
1342 -* SDI-12-LB SDI-12 to LoRaWAN Converter
1127 +* SDI-12-LB SDI-12 to LoRaWAN Converter x 1
1343 1343  
1344 1344  **Dimension and weight**:
1345 1345  
... ... @@ -1348,13 +1348,10 @@
1348 1348  * Package Size / pcs : cm
1349 1349  * Weight / pcs : g
1350 1350  
1136 += 9. ​Support =
1351 1351  
1352 1352  
1353 -1. ​Support
1354 -
1355 1355  * 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.
1356 -* 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
1357 1357  
1358 -[[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]]
1141 +* 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]]
1359 1359  
1360 -
1675214845056-885.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +20.4 KB
Content
1675214856590-846.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +18.6 KB
Content
1675215745275-920.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +187.6 KB
Content
1675215782925-448.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +142.5 KB
Content
1675215828102-844.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +231.3 KB
Content
1675215848113-696.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +50.5 KB
Content
1675215946738-635.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +38.4 KB
Content
1675216282284-923.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +47.0 KB
Content
1675216779406-595.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +59.2 KB
Content
image-20230201091630-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +15.1 KB
Content
image-20230201091630-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +53.1 KB
Content
image-20230201091954-12.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +13.8 KB
Content
image-20230201091954-13.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +46.7 KB
Content
image-20230201092208-14.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +14.3 KB
Content
image-20230201092208-15.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +46.6 KB
Content
image-20230201092355-16.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +21.6 KB
Content
image-20230201092355-17.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +80.0 KB
Content
image-20230201094129-18.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +12.8 KB
Content