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

From version 18.1
edited by Xiaoling
on 2023/02/01 09:12
Change comment: Uploaded new attachment "image-20230201091257-8.png", version {1}
To version 37.1
edited by Xiaoling
on 2023/02/01 09:59
Change comment: Uploaded new attachment "1675216779406-595.png", version {1}

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,41 @@
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 +​​​​​​​
421 421  
427 +=== 2.3.3 Convert ASCII to String ===
428 +
429 +
430 +This command is used to convert between ASCII and String format.
431 +
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
435 +**Example:**
427 427  
428 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png]]
437 +1) AT+CONVFORM=0, string Convert String from String to ASCII
429 429  
439 +[[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]]
442 +2) AT+CONVFORM=1, ASCII Convert ASCII to String.
434 434  
444 +[[image:1675214856590-846.png]]
435 435  
436 436  
437 -1.
438 -11.
439 -111. Define periodically SDI-12 commands and uplink.
440 440  
448 +
449 +​​​​​​​
450 +
451 +=== 2.3.4 Define periodically SDI-12 commands and uplink. ===
452 +
453 +
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!
463 +**var1**: SDI-12 command , for example: 0RC0!
451 451  
452 -var2: Wait timeout for return. (unit: second)
465 +**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!//.
467 +**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.
469 +**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;
471 +**0 ** No validation check;
459 459  
460 -1  Check if return chars are printable char(0x20 ~~ 0x7E);
473 +**1**  Check if return chars are printable char(0x20 ~~ 0x7E);
461 461  
462 -2  Check if there is return from SDI-12 sensor
475 +**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);
477 +**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
485 +(% border="1" style="background-color:#f7faff; width:436px" %)
486 +|(% style="width:433px" %)(((
487 +**AT+DATACUTx=a,b,c**
474 474  
475 -a: length for the return of AT+COMMAND
489 +**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.
491 +**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. 
493 +**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:
496 +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
499 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %)
500 +|(% style="width:170px" %)**AT+DATACUT1 value**|(% style="width:338px" %)**Final Result to combine Payload**
501 +|(% style="width:170px" %)34,1,1+2+3|(% style="width:338px" %)0D 00 01 30 31 33
502 +|(% style="width:170px" %)34,2,1~~8+12~~16|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32
503 +|(% style="width:170px" %)34,2,1~~34|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A
489 489  
490 490  * ** Downlink Payload:**
491 491  
... ... @@ -499,21 +499,18 @@
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. 
517 +* **MM **: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
518 +* **NN **:  1: set the AT+DATACUT value ; 2: set the AT+DATACUT value.
519 +* **LL **:  The length of AT+COMMAND or AT+DATACUT command
520 +* **XX XX XX XX **: AT+COMMAND or AT+DATACUT command
521 +* **YY **:  If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 
507 507  
508 -Example:
509 509  
510 -**AF 03 01 07 30 4D 43 21 01 01 01 00**: Same as AT+COMMAND3=**0MC!**,** 1**,** 1**,** 1**
524 +**Example:**
511 511  
512 -**AF 03 02 010 01 05 06 09 0A 00**: Same as AT+DATACUT3=**16**,**1**,**5+6+9+10**
526 +[[image:image-20230201094129-18.png]]
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 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]]
552 +[[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.
555 +If user don't want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1.
545 545  
546 546  **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.
560 +**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]]
563 +[[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.
... ... @@ -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]]
581 +[[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**
590 +__**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]]
598 +[[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)
603 +* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date)
604 +* For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
605 +* For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date).
606 +* 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).
608 +**~ 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).
610 +**~ 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;**
613 +== ​​​​​​​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,9 +612,7 @@
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
624 +2.4.1 Device Payload, FPORT=5
618 618  
619 619  Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server.
620 620  
... ... @@ -622,13 +622,14 @@
622 622  Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink.
623 623  
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
632 +(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %)
633 +|(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)**
634 +|(% style="width:102px" %)**Size (bytes)**|(% style="width:67px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:52px" %)**1**|(% style="width:44px" %)**2**
635 +|(% style="width:102px" %)**Value**|(% style="width:67px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:89px" %)Frequency Band|(% style="width:52px" %)Sub-band|(% style="width:44px" %)BAT
628 628  
629 629  Example parse in TTNv3
630 630  
631 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png]]
639 +[[image:1675215946738-635.png]]
632 632  
633 633  **Sensor Model**: For SDI-12-LB, this value is 0x17
634 634  
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-20230201091257-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +46.3 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