Changes for page LSPH01 -- LoRaWAN Soil pH Sensor User Manual
Last modified by Bei Jinggeng on 2024/08/02 17:52
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.Bei - 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:blue" %)**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 (% style="color:blue" %)**soil's 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 ((( ... ... @@ -60,7 +60,6 @@ 60 60 * IP68 rate for the Sensor Probe 61 61 * 8500mAh Battery for long term use 62 62 63 - 64 64 == 1.3 Probe Specification == 65 65 66 66 ... ... @@ -81,13 +81,11 @@ 81 81 * IP68 Protection 82 82 * Length: 3.5 meters 83 83 84 - 85 85 == 1.4 Applications == 86 86 87 87 88 88 * Smart Agriculture 89 89 90 - 91 91 == 1.5 Pin mapping and power on == 92 92 93 93 ... ... @@ -198,11 +198,11 @@ 198 198 Normal uplink payload: 199 199 ))) 200 200 201 -(% border="1" cellspacing=" 5" style="background-color:#f2f2f2; width:470px" %)202 -|=(% 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" %)((( 203 203 **Size(bytes)** 204 -)))|=(% 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**205 -|(% 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" %)((( 206 206 [[Temperature (Optional)>>||anchor="H2.3.2DS18B20Temperaturesensor"]] 207 207 )))|[[Soil pH>>||anchor="H2.3.3SoilpH"]]|[[Soil Temperature>>||anchor="H2.3.4SoilTemperature"]]|((( 208 208 [[Digital Interrupt (Optional)>>||anchor="H2.3.5InterruptPin"]] ... ... @@ -284,13 +284,12 @@ 284 284 ))) 285 285 286 286 287 -(% border="1" cellspacing=" 5" style="background-color:#f2f2f2; width:496px" %)288 -|=(% style="width: 160px;background-color:# D9E2F3;color:#0070C0" %)**Message Type Code**|=(% style="width: 163px;background-color:#D9E2F3;color:#0070C0" %)**Description**|=(% style="width: 173px;background-color:#D9E2F3;color:#0070C0" %)**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** 289 289 |(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)[[Normal Uplink Payload>>||anchor="H2.3200BUplinkPayload"]] 290 290 |(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)[[Configure Info Payload>>||anchor="H3.4GetFirmwareVersionInfo"]] 291 291 |(% style="width:160px" %)0x03|(% style="width:163px" %)Reply Calibration Info|(% style="width:173px" %)[[Calibration Payload>>||anchor="H2.7Calibration"]] 292 292 293 - 294 294 === 2.3.7 Decode payload in The Things Network === 295 295 296 296 ... ... @@ -382,10 +382,8 @@ 382 382 383 383 384 384 ((( 385 -((( 386 386 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. 387 387 ))) 388 -))) 389 389 390 390 391 391 === 2.6.2 Measurement === ... ... @@ -392,13 +392,11 @@ 392 392 393 393 394 394 ((( 395 -(% style="color: #4f81bd" %)**Measurement the soil surface:**393 +(% style="color:blue" %)**Measurement the soil surface:** 396 396 ))) 397 397 398 398 ((( 399 399 [[image:1654592946732-634.png]] 400 - 401 - 402 402 ))) 403 403 404 404 ((( ... ... @@ -422,7 +422,7 @@ 422 422 ))) 423 423 424 424 ((( 425 -(% style="color: #4f81bd" %)**Measurement inside soil:**421 +(% style="color:blue" %)**Measurement inside soil:** 426 426 ))) 427 427 428 428 ((( ... ... @@ -437,24 +437,28 @@ 437 437 === 2.6.3 Maintain Probe === 438 438 439 439 440 - 1.(((441 -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. 442 442 ))) 443 -1. ((( 444 -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. 445 445 ))) 446 -1. ((( 447 -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. 448 448 ))) 449 -1. ((( 450 -User should keep reference electrode wet while not use. 447 + 448 +((( 449 +4. User should keep reference electrode wet while not use. 451 451 ))) 452 -1. ((( 453 -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. 454 454 ))) 455 -1. ((( 456 -The probe is IP68 can be put in water. 457 457 456 +((( 457 +6. The probe is IP68 can be put in water. 458 458 459 459 460 460 ))) ... ... @@ -462,15 +462,26 @@ 462 462 == 2.7 Calibration == 463 463 464 464 465 +(% style="color:blue" %)**Step1 :**(%%)** Clean probe** 466 + 467 +user can use high grade sandpaper to polish it or put in 5% hydrochloric acid for several minutes. After the metal probe looks new, users can clean it to remove hydrochloric acid or other liquids from the surface. 468 + 469 +(% style="color:blue" %)**Step2 :**(%%)** Immerse the sensor in ph buffer solution to make the sensor values stable** 470 + 465 465 ((( 466 466 User can do calibration for the probe. It is limited to use below pH buffer solution to calibrate: 4.00, 6.86, 9.18. When calibration, user need to clean the electrode and put the probe in the pH buffer solution to wait the value stable ( a new clean electrode might need max 24 hours to be stable). 473 + 474 +(% style="color:red" %)**Note:Only one ph buffer with one of the ph values needs to be calibrated during calibration. Wait for the sensor measurement value to be stable, it does not need to be the same as the ph marked by the ph buffer** 475 + 476 + 477 +(% style="color:blue" %)**Step3 :**(%%)** The numerically stable sensors were calibrated using commands** 467 467 ))) 468 468 469 469 ((( 470 - Afterstable, user can use below command to calibrate.481 + User can use below command to calibrate. 471 471 472 -(% border="1" cellspacing=" 5" style="background-color:#f2f2f2; width:520px" %)473 -|(% style="background-color:# d9e2f3; color:#0070c0; width:120px" %)**pH buffer solution**|(% style="background-color:#d9e2f3; color:#0070c0; width:150px" %)**AT Command to calibrate**|(% style="background-color:#d9e2f3; color:#0070c0; width:150px" %)**Downlink Command**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**Read Cal Value**483 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %) 484 +|(% style="background-color:#4f81bd; color:white; width:120px" %)**pH buffer solution**|(% style="background-color:#4f81bd; color:white; width:150px" %)**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 474 |(% style="width:149px" %)4.00|(% style="width:197px" %)AT+PHCAL=4|(% style="width:206px" %)((( 475 475 0x13 04 476 476 Reply with Calibrate payload ... ... @@ -495,13 +495,25 @@ 495 495 ))) 496 496 ))) 497 497 509 +To use the AT COMMAND, refer to this link: 498 498 511 +* AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 512 + 513 +* AT Command via UART Connection : See [[UART Connection>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]]. 514 + 515 +To use Downlink, take TTN as an example, please refer to this link: 516 + 517 +* LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>url:http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 518 + 519 +When the command is successfully used, the node sends a uplink. 520 +This is the payload for uplink 521 + 499 499 (% style="color:#037691" %)**Calibration Payload** 500 500 501 -(% border="1" cellspacing=" 5" style="background-color:#f2f2f2; width:500px" %)502 -|=(% style="width: 60px;background-color:# D9E2F3;color:#0070C0" %)(((524 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %) 525 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 503 503 **Size(bytes)** 504 -)))|=(% style="width: 100px;background-color:# D9E2F3;color:#0070C0" %)**1**|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**7**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**527 +)))|=(% 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 505 |Value|((( 506 506 PH4 Calibrate value 507 507 )))|PH6.86 Calibrate value|((( ... ... @@ -514,13 +514,19 @@ 514 514 User can also send 0x14 downlink command to poll the current calibration payload. 515 515 516 516 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:480px" %) 517 -|=(% style="width: 183px; background-color:# D9E2F3;color:#0070C0" %)**Downlink Control Type**|=(% style="width: 55px; background-color:#D9E2F3;color:#0070C0" %)FPort|=(% style="width: 93px; background-color:#D9E2F3;color:#0070C0" %)**Type Code**|=(% style="width: 146px; background-color:rgb(217, 226, 243);rgb(0, 112, 192);" %)**Downlink payload size(bytes)**540 +|=(% 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: 146px; background-color:#4F81BD;color:white" %)**Downlink payload size(bytes)** 518 518 |(% style="width:183px" %)Get Calibration Version Info|(% style="width:55px" %)Any|(% style="width:93px" %)14|(% style="width:146px" %)2 519 519 520 520 * Reply to the confirmation package: 14 01 544 + 521 521 * Reply to non-confirmed packet: 14 00 522 522 547 +(% style="color:blue" %)**Step4:**(%%)**After the calibration is completed, its measurement results in this ph buffer solution should be consistent with the numerical value of the command used in the calibration.** 523 523 549 +Examples: 550 +After using the command AT+PH=9 in 9.18ph buffer 551 +The readout returned by the sensor in 9.18ph buffer should be pH=9 552 + 524 524 == 2.8 Frequency Plans == 525 525 526 526 ... ... @@ -605,9 +605,9 @@ 605 605 ))) 606 606 607 607 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band 637 + 608 608 * 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) 609 609 610 - 611 611 === 2.8.3 CN470-510 (CN470) === 612 612 613 613 ... ... @@ -716,9 +716,9 @@ 716 716 ))) 717 717 718 718 * Check what sub-band the LoRaWAN server ask from the OTAA Join Accept message and switch to that sub-band 748 + 719 719 * 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) 720 720 721 - 722 722 === 2.8.5 AS920-923 & AS923-925 (AS923) === 723 723 724 724 ... ... @@ -846,9 +846,6 @@ 846 846 922.5 - SF7BW125 to SF12BW125 847 847 ))) 848 848 849 -((( 850 - 851 -))) 852 852 853 853 ((( 854 854 (% style="color:blue" %)**Uplink: (OTAA mode, channel added by JoinAccept message)** ... ... @@ -882,9 +882,6 @@ 882 882 923.3 - SF7BW125 to SF12BW125 883 883 ))) 884 884 885 -((( 886 - 887 -))) 888 888 889 889 ((( 890 890 (% style="color:blue" %)**Downlink:** ... ... @@ -918,9 +918,6 @@ 918 918 865.9850 - SF7BW125 to SF12BW125 919 919 ))) 920 920 921 -((( 922 - 923 -))) 924 924 925 925 ((( 926 926 (% style="color:blue" %)**Downlink:** ... ... @@ -941,9 +941,9 @@ 941 941 The LSPH01 has an internal LED which is to show the status of different state. 942 942 943 943 * The sensor is detected when the device is turned on, and it will flash 4 times quickly when it is detected. 964 + 944 944 * Blink once when device transmit a packet. 945 945 946 - 947 947 == 2.10 Firmware Change Log == 948 948 949 949 ... ... @@ -989,9 +989,6 @@ 989 989 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/]] 990 990 ))) 991 991 992 -((( 993 - 994 -))) 995 995 996 996 * ((( 997 997 (% style="color:#4f81bd" %)** Commands special design for LSPH01** ... ... @@ -1009,8 +1009,8 @@ 1009 1009 1010 1010 (% style="color:#037691" %)**AT Command: AT+TDC** 1011 1011 1012 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:510px" %)1013 -|=(% style="width: 156px;background-color:# D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**1029 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1030 +|=(% 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** 1014 1014 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 1015 1015 30000 1016 1016 OK ... ... @@ -1050,8 +1050,8 @@ 1050 1050 1051 1051 (% style="color:#037691" %)**AT Command: AT+INTMOD** 1052 1052 1053 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:510px" %)1054 -|=(% style="width: 15 4px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3;color:#0070C0" %)**Response**1070 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1071 +|=(% 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** 1055 1055 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 1056 1056 0 1057 1057 OK ... ... @@ -1082,13 +1082,11 @@ 1082 1082 ))) 1083 1083 * ((( 1084 1084 Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 1085 -))) 1086 1086 1087 - (((1103 + 1088 1088 1089 1089 ))) 1090 1090 1091 - 1092 1092 == 3.3 Calibrate Sensor == 1093 1093 1094 1094 ... ... @@ -1102,11 +1102,12 @@ 1102 1102 1103 1103 (% style="color:#037691" %)**Downlink Command: 0x26** 1104 1104 1105 -(% border="1" cellspacing=" 5" style="background-color:#f2f2f2; width:500px" %)1106 -|(% style="background-color:# d9e2f3; color:#0070c0; width:193px" %)**Downlink Control Type**|(% style="background-color:#d9e2f3; color:#0070c0; width:57px" %)**FPort**|(% style="background-color:#d9e2f3; color:#0070c0; width:91px" %)**Type Code**|(% style="background-color:#d9e2f3; color:#0070c0; width:159px" %)**Downlink payload size(bytes)**1120 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %) 1121 +|(% 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)** 1107 1107 |(% style="width:193px" %)Get Firmware Version Info|(% style="width:57px" %)Any|(% style="width:91px" %)26|(% style="width:149px" %)2 1108 1108 1109 1109 * Reply to the confirmation package: 26 01 1125 + 1110 1110 * Reply to non-confirmed packet: 26 00 1111 1111 1112 1112 Device will send an uplink after got this downlink command. With below payload: ... ... @@ -1113,8 +1113,8 @@ 1113 1113 1114 1114 Configures info payload: 1115 1115 1116 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:520px" %)1117 -|(% style="background-color:# d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**5**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**1**1132 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1133 +|(% 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** 1118 1118 |Value|Software Type|((( 1119 1119 Frequency 1120 1120 Band ... ... @@ -1244,7 +1244,6 @@ 1244 1244 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 1245 1245 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 1246 1246 1247 - 1248 1248 = 9. Packing Info = 1249 1249 1250 1250 ... ... @@ -1259,7 +1259,6 @@ 1259 1259 * Package Size / pcs : cm 1260 1260 * Weight / pcs : g 1261 1261 1262 - 1263 1263 = 10. Support = 1264 1264 1265 1265