Changes for page LSPH01 -- LoRaWAN Soil pH Sensor User Manual
Last modified by Xiaoling on 2025/04/25 14:08
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -5,6 +5,10 @@ 5 5 6 6 7 7 8 + 9 + 10 + 11 + 8 8 **Table of Contents:** 9 9 10 10 {{toc/}} ... ... @@ -20,11 +20,11 @@ 20 20 21 21 22 22 ((( 23 -The Dragino LSPH01 is a (% style="color: #4f81bd" %)**LoRaWAN Soil pH Sensor**(%%) for IoT of Agriculture. It is designed to measure the soil PH and soil temperature, so to send to the platform to analyze the soil acid or alkali level. The probe is IP68 waterproof.27 +The Dragino LSPH01 is a (% style="color:blue" %)**LoRaWAN Soil pH Sensor**(%%) for IoT of Agriculture. It is designed to measure the (% style="color:blue" %)**soil PH and soil temperature**(%%), so to send to the platform to analyze the soil acid or alkali level. The probe is IP68 waterproof. 24 24 ))) 25 25 26 26 ((( 27 -LSPH01 probe is made by Solid AgCl reference electrode and Pure metal pH sensitive electrode. It can detect soil's**(% style="color:#4f81bd" %)pH (%%)**with high accuracy and stable value. The LSPH01 probe can be buried into soil for long time use.31 +LSPH01 probe is made by Solid AgCl reference electrode and Pure metal pH sensitive electrode. It can detect (% style="color:blue" %)**soil's pH **(%%)with high accuracy and stable value. The LSPH01 probe can be buried into soil for long time use. 28 28 ))) 29 29 30 30 ((( ... ... @@ -32,7 +32,7 @@ 32 32 ))) 33 33 34 34 ((( 35 -LSPH01 is powered by (% style="color: #4f81bd" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.39 +LSPH01 is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years. 36 36 ))) 37 37 38 38 ((( ... ... @@ -43,7 +43,6 @@ 43 43 [[image:1654592435432-887.png]] 44 44 45 45 46 - 47 47 == 1.2 Features == 48 48 49 49 ... ... @@ -196,11 +196,11 @@ 196 196 Normal uplink payload: 197 197 ))) 198 198 199 -(% border="1" cellspacing=" 5" style="background-color:#f2f2f2; width:470px" %)200 -|=(% style="width: 60px;background-color:# D9E2F3;color:#0070C0" %)(((202 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:470px" %) 203 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 201 201 **Size(bytes)** 202 -)))|=(% style="width: 30px;background-color:# D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 80px;background-color:#D9E2F3;color:#0070C0" %)**1**203 -|(% style="width:62.5px" %) **Value**|(% style="width:62.5px" %)[[BAT>>||anchor="H2.3.1BatteryInfo"]]|(% style="width:62.5px" %)(((205 +)))|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1** 206 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="H2.3.1BatteryInfo"]]|(% style="width:62.5px" %)((( 204 204 [[Temperature (Optional)>>||anchor="H2.3.2DS18B20Temperaturesensor"]] 205 205 )))|[[Soil pH>>||anchor="H2.3.3SoilpH"]]|[[Soil Temperature>>||anchor="H2.3.4SoilTemperature"]]|((( 206 206 [[Digital Interrupt (Optional)>>||anchor="H2.3.5InterruptPin"]] ... ... @@ -282,8 +282,8 @@ 282 282 ))) 283 283 284 284 285 -(% border="1" cellspacing=" 5" style="background-color:#ffffcc; width:496px" %)286 -|=(% style="width: 160px;" %)**Message Type Code**|=(% style="width: 163px;" %)**Description**|=(% style="width: 173px;" %)**Payload** 288 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:496px" %) 289 +|=(% style="width: 160px;background-color:#4F81BD;color:white" %)**Message Type Code**|=(% style="width: 163px;background-color:#4F81BD;color:white" %)**Description**|=(% style="width: 173px;background-color:#4F81BD;color:white" %)**Payload** 287 287 |(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)[[Normal Uplink Payload>>||anchor="H2.3200BUplinkPayload"]] 288 288 |(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)[[Configure Info Payload>>||anchor="H3.4GetFirmwareVersionInfo"]] 289 289 |(% style="width:160px" %)0x03|(% style="width:163px" %)Reply Calibration Info|(% style="width:173px" %)[[Calibration Payload>>||anchor="H2.7Calibration"]] ... ... @@ -379,10 +379,8 @@ 379 379 380 380 381 381 ((( 382 -((( 383 383 If the LSPH01 has more than 7 days not use or just clean the pH probe. User should put the probe inside pure water for more than 24 hours for activation. If no put in water, user need to put inside soil for more than 24 hours to ensure the measurement accuracy. 384 384 ))) 385 -))) 386 386 387 387 388 388 === 2.6.2 Measurement === ... ... @@ -389,13 +389,11 @@ 389 389 390 390 391 391 ((( 392 -(% style="color: #4f81bd" %)**Measurement the soil surface:**393 +(% style="color:blue" %)**Measurement the soil surface:** 393 393 ))) 394 394 395 395 ((( 396 396 [[image:1654592946732-634.png]] 397 - 398 - 399 399 ))) 400 400 401 401 ((( ... ... @@ -419,7 +419,7 @@ 419 419 ))) 420 420 421 421 ((( 422 -(% style="color: #4f81bd" %)**Measurement inside soil:**421 +(% style="color:blue" %)**Measurement inside soil:** 423 423 ))) 424 424 425 425 ((( ... ... @@ -434,24 +434,28 @@ 434 434 === 2.6.3 Maintain Probe === 435 435 436 436 437 - 1.(((438 -pH probe electrode is fragile and no strong. User must avoid strong force or hitting it. 436 +((( 437 +~1. pH probe electrode is fragile and no strong. User must avoid strong force or hitting it. 439 439 ))) 440 -1. ((( 441 -After long time use (3~~ 6 months). The probe electrode needs to be clean; user can use high grade sandpaper to polish it or put in 5% hydrochloric acid for several minutes. After the metal probe looks like new, user can use pure water to wash it. 439 + 440 +((( 441 +2. After long time use (3~~ 6 months). The probe electrode needs to be clean; user can use high grade sandpaper to polish it or put in 5% hydrochloric acid for several minutes. After the metal probe looks like new, user can use pure water to wash it. 442 442 ))) 443 -1. ((( 444 -Probe reference electrode is also no strong, need to avoid strong force or hitting. 443 + 444 +((( 445 +3. Probe reference electrode is also no strong, need to avoid strong force or hitting. 445 445 ))) 446 -1. ((( 447 -User should keep reference electrode wet while not use. 447 + 448 +((( 449 +4. User should keep reference electrode wet while not use. 448 448 ))) 449 -1. ((( 450 -Avoid the probes to touch oily matter. Which will cause issue in accuracy. 451 + 452 +((( 453 +5. Avoid the probes to touch oily matter. Which will cause issue in accuracy. 451 451 ))) 452 -1. ((( 453 -The probe is IP68 can be put in water. 454 454 456 +((( 457 +6. The probe is IP68 can be put in water. 455 455 456 456 457 457 ))) ... ... @@ -465,18 +465,41 @@ 465 465 466 466 ((( 467 467 After stable, user can use below command to calibrate. 471 + 472 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 473 +|(% style="background-color:#4f81bd; color:white; width:115px" %)**pH buffer solution**|(% style="background-color:#4f81bd; color:white; width:145px" %)**AT Command to calibrate**|(% style="background-color:#4f81bd; color:white; width:150px" %)**Downlink Command**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Read Cal Value** 474 +|(% style="width:149px" %)4.00|(% style="width:197px" %)AT+PHCAL=4|(% style="width:206px" %)((( 475 +0x13 04 476 +Reply with Calibrate payload 477 +)))|(% style="width:136px" %)((( 478 +AT+PHCAL=? 479 +Example 41,61,91 468 468 ))) 481 +|(% style="width:149px" %)6.86|(% style="width:197px" %)AT+PHCAL=6|(% style="width:206px" %)((( 482 +0x13 06 483 +Reply with Calibrate payload 484 +)))|(% style="width:136px" %)AT+PHCAL=? 485 +|(% style="width:149px" %)9.18|(% style="width:197px" %)AT+PHCAL=9|(% style="width:206px" %)((( 486 +0x13 09 487 +Reply with Calibrate payload 488 +)))|(% style="width:136px" %)AT+PHCAL=? 489 +|(% style="width:149px" %)Factory Default|(% style="width:197px" %)AT+PHCAL=15|(% style="width:206px" %)((( 490 +0x13 15 491 +Reply with Calibrate payload 492 +)))|(% style="width:136px" %)((( 493 +AT+PHCAL=? 494 +Example 151 495 +))) 496 +))) 469 469 470 -[[image:image-20220607171149-4.png]] 471 471 472 - 473 473 (% style="color:#037691" %)**Calibration Payload** 474 474 475 -(% border="1" cellspacing=" 5" style="background-color:#ffffcc;color:green;width:500px" %)476 -|=(% style="width: 60px;" %)((( 477 -**Size 478 -)))|=(% style="width: 100px;" %)**1**|=(% style="width: 100px;" %)**1**|=(% style="width: 100px;" %)**1**|=(% style="width: 50px;" %)**7**|=(% style="width: 479 -| **Value**|(((501 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %) 502 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 503 +**Size(bytes)** 504 +)))|=(% style="width: 100px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 100px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 100px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**7**|=(% style="width:90px;background-color:#4F81BD;color:white" %)**1** 505 +|Value|((( 480 480 PH4 Calibrate value 481 481 )))|PH6.86 Calibrate value|((( 482 482 PH9.18 Calibrate value ... ... @@ -487,10 +487,12 @@ 487 487 488 488 User can also send 0x14 downlink command to poll the current calibration payload. 489 489 490 -[[image:image-20220607171416-7.jpeg]] 516 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:480px" %) 517 +|=(% style="width: 183px; background-color:#4F81BD;color:white" %)**Downlink Control Type**|=(% style="width: 55px; background-color:#4F81BD;color:white" %)FPort|=(% style="width: 93px; background-color:#4F81BD;color:white" %)**Type Code**|=(% style="width: 149px; background-color:#4F81BD;color:white" %)**Downlink payload size(bytes)** 518 +|(% style="width:183px" %)Get Calibration Version Info|(% style="width:55px" %)Any|(% style="width:93px" %)14|(% style="width:146px" %)2 491 491 492 - 493 493 * Reply to the confirmation package: 14 01 521 + 494 494 * Reply to non-confirmed packet: 14 00 495 495 496 496 == 2.8 Frequency Plans == ... ... @@ -577,6 +577,7 @@ 577 577 ))) 578 578 579 579 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band 608 + 580 580 * Use the Join successful sub-band if the server doesn't include sub-band info in the OTAA Join Accept message ( TTN v2 doesn't include) 581 581 582 582 === 2.8.3 CN470-510 (CN470) === ... ... @@ -687,6 +687,7 @@ 687 687 ))) 688 688 689 689 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band 719 + 690 690 * Use the Join successful sub-band if the server doesn't include sub-band info in the OTAA Join Accept message ( TTN v2 doesn't include) 691 691 692 692 === 2.8.5 AS920-923 & AS923-925 (AS923) === ... ... @@ -816,9 +816,6 @@ 816 816 922.5 - SF7BW125 to SF12BW125 817 817 ))) 818 818 819 -((( 820 - 821 -))) 822 822 823 823 ((( 824 824 (% style="color:blue" %)**Uplink: (OTAA mode, channel added by JoinAccept message)** ... ... @@ -852,9 +852,6 @@ 852 852 923.3 - SF7BW125 to SF12BW125 853 853 ))) 854 854 855 -((( 856 - 857 -))) 858 858 859 859 ((( 860 860 (% style="color:blue" %)**Downlink:** ... ... @@ -888,9 +888,6 @@ 888 888 865.9850 - SF7BW125 to SF12BW125 889 889 ))) 890 890 891 -((( 892 - 893 -))) 894 894 895 895 ((( 896 896 (% style="color:blue" %)**Downlink:** ... ... @@ -911,6 +911,7 @@ 911 911 The LSPH01 has an internal LED which is to show the status of different state. 912 912 913 913 * The sensor is detected when the device is turned on, and it will flash 4 times quickly when it is detected. 935 + 914 914 * Blink once when device transmit a packet. 915 915 916 916 == 2.10 Firmware Change Log == ... ... @@ -958,9 +958,6 @@ 958 958 They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: [[End Device AT Commands and Downlink Command>>path:/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]] 959 959 ))) 960 960 961 -((( 962 - 963 -))) 964 964 965 965 * ((( 966 966 (% style="color:#4f81bd" %)** Commands special design for LSPH01** ... ... @@ -978,9 +978,18 @@ 978 978 979 979 (% style="color:#037691" %)**AT Command: AT+TDC** 980 980 981 -[[image:image-20220607171554-8.png]] 1000 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1001 +|=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response** 1002 +|(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 1003 +30000 1004 +OK 1005 +the interval is 30000ms = 30s 1006 +))) 1007 +|(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|((( 1008 +OK 1009 +Set transmit interval to 60000ms = 60 seconds 1010 +))) 982 982 983 - 984 984 ((( 985 985 (% style="color:#037691" %)**Downlink Command: 0x01** 986 986 ))) ... ... @@ -1010,9 +1010,21 @@ 1010 1010 1011 1011 (% style="color:#037691" %)**AT Command: AT+INTMOD** 1012 1012 1013 -[[image:image-20220610105907-1.png]] 1041 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1042 +|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response** 1043 +|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 1044 +0 1045 +OK 1046 +the mode is 0 =No interruption 1047 +))) 1048 +|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( 1049 +Set Transmit Interval 1050 +0. (Disable Interrupt), 1051 +~1. (Trigger by rising and falling edge) 1052 +2. (Trigger by falling edge) 1053 +3. (Trigger by rising edge) 1054 +)))|(% style="width:157px" %)OK 1014 1014 1015 - 1016 1016 ((( 1017 1017 (% style="color:#037691" %)**Downlink Command: 0x06** 1018 1018 ))) ... ... @@ -1030,14 +1030,11 @@ 1030 1030 ))) 1031 1031 * ((( 1032 1032 Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 1033 -))) 1034 1034 1035 - (((1074 + 1036 1036 1037 1037 ))) 1038 1038 1039 - 1040 - 1041 1041 == 3.3 Calibrate Sensor == 1042 1042 1043 1043 ... ... @@ -1051,9 +1051,12 @@ 1051 1051 1052 1052 (% style="color:#037691" %)**Downlink Command: 0x26** 1053 1053 1054 -[[image:image-20220607171917-10.png]] 1091 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %) 1092 +|(% style="background-color:#4f81bd; color:white; width:193px" %)**Downlink Control Type**|(% style="background-color:#4f81bd; color:white; width:57px" %)**FPort**|(% style="background-color:#4f81bd; color:white; width:91px" %)**Type Code**|(% style="background-color:#4f81bd; color:white; width:159px" %)**Downlink payload size(bytes)** 1093 +|(% style="width:193px" %)Get Firmware Version Info|(% style="width:57px" %)Any|(% style="width:91px" %)26|(% style="width:149px" %)2 1055 1055 1056 1056 * Reply to the confirmation package: 26 01 1096 + 1057 1057 * Reply to non-confirmed packet: 26 00 1058 1058 1059 1059 Device will send an uplink after got this downlink command. With below payload: ... ... @@ -1060,11 +1060,9 @@ 1060 1060 1061 1061 Configures info payload: 1062 1062 1063 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 1064 -|=((( 1065 -**Size(bytes)** 1066 -)))|=**1**|=**1**|=**1**|=**1**|=**1**|=**5**|=**1** 1067 -|**Value**|Software Type|((( 1103 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1104 +|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:70px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**1**|(% style="background-color:#4f81bd; color:white; width:60px" %)**1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**5**|(% style="background-color:#4f81bd; color:white; width:90px" %)**1** 1105 +|Value|Software Type|((( 1068 1068 Frequency 1069 1069 Band 1070 1070 )))|Sub-band|((( ... ... @@ -1077,7 +1077,6 @@ 1077 1077 1078 1078 (% style="color:#037691" %)**Software Type**(%%): Always 0x03 for LSPH01 1079 1079 1080 - 1081 1081 (% style="color:#037691" %)**Frequency Band**: 1082 1082 1083 1083 *0x01: EU868 ... ... @@ -1103,10 +1103,8 @@ 1103 1103 1104 1104 (% style="color:#037691" %)**Sub-Band**(%%): value 0x00 ~~ 0x08 1105 1105 1106 - 1107 1107 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 1108 1108 1109 - 1110 1110 (% style="color:#037691" %)**Sensor Type**: 1111 1111 1112 1112 0x01: LSE01