==== [製品紹介] ==== Zoko Link Technology Co., Ltd.7-in-1土壌統合センサーは、土壌温度・水分量・EC(電気伝導率)・NPK(窒素/リン/カリウム)およびpHなど、複数のパラメータを統合したセンサーです。このセンサーは、農業・園芸・環境モニタリングなど、さまざまな分野で広く使用でき、ユーザーが土壌の状態をリアルタイムで監視および評価するのに役立ちます。センサーの入力電源、検知プローブ、信号出力の3つの部分は完全に隔離されており、安全で信頼性が高く、美しい外観で設置も簡単です。プローブはステンレス鋼でできており、耐腐食性があって安定した性能を持っています。 ==== [特徴] ==== 7-in-1土壌センサーを使用することで、ユーザーは土壌の主要なパラメータをリアルタイムで監視し、土壌管理を効率的に行い、作物の成長環境を最適化し、収量と品質を向上させることができます。 * **土壌温度モニタリング** 土壌温度を測定することで、ユーザーは土壌の温度状況を把握し、適切な栽培および成長条件を最適化できます。 * **水分量モニタリング** センサーは土壌の水分量を測定し、土壌が湿りすぎているか乾燥しすぎているかを判断し、適切な灌漑措置を講じるのに役立ちます。 * **導電率測定** センサーは土壌の導電率を測定し、土壌の塩分濃度や肥料の濃度を評価することで、科学的な施肥計画を立てるのに役立ちます。 * **pH測定** センサーは土壌のpH値を測定し、土壌の酸性・アルカリ性を把握することで、適切な作物の選定や土壌改良の方法を選ぶ際に役立ちます。 * **NPK推定** センサーは土壌の電気伝導率を測定し、土壌中の窒素、リン、カリウムといった重要な栄養素の含有量を推定することで、植物の栄養管理に必要なデータを提供します。 ==== [仕様] ==== * **土壌温度 :** 範囲: -40~80°C / 精度: ±0.5°C / 解析度: 0.1°C * **土壌水分量 :** 範囲: 0%~100% / 精度: ±3% / 解析度: 0.1% * **電気伝導率(EC) :** 範囲: 0~10,000 μS/cm / 精度: ±10% / 解析度: 1 μS/cm * **pH :** 範囲: 3~10 pH / 精度: ±0.6 pH / 解析度: 0.01 pH * **NPK(窒素・リン・カリウム) :** 範囲: 0~2,000 mg/Kg / 解析度: 1 mg/Kg ==== [一般仕様] ==== * メーカー: Zoko Link Technology Co., Ltd. * 製品モデル: NBL-S-TMC-7/7-in-1 Soil Integrated Sensor * 動作範囲: -40~80℃ * 電源電圧: DC 5-24V * 消費電力: 15mA@12V DC * 測定方法:*電極法 * 通信方式: RS485 * ボーレート: 9,600bps * シーリング材: 黒色エポキシ樹脂 * 素材: 5ピン設計でプローブの素材は、固体ステンレス鋼が3本、中空ステンレス鋼が1本、亜鉛合金が1本で構成されている。 * センサーサイズ:センサー全長:138 ± 1mm、幅:45 ± 1mm、厚さ:15 ± 1mm、センサープローブ長さ:65 ± 1mm、直径:3 ± 0.2mm * ケーブル長:3m * IP等級: IP68 ==== [*電極法とは] ==== 電極法では、センサーに配置された2つ以上の電極間に電圧を印加し、その間を流れる電流を測定します。電流の流れは、測定対象の物質(例:土壌中の水分や溶液中のイオン濃度)によって変わります。この変化を電極で読み取り、データを取得します。 ==== [使用方法] ==== * **迅速測定法** 適切な測定場所を選び、テスト対象の土壌は最初に水を与え、水が完全に浸透してから測定を行って下さい。センサー本体を垂直に保持し、土壌に挿入します。土壌と電極部分が密接できていないとデータがうまく測れない場合がありますので、挿入時には前後左右に動かさず、土壌と密接に接触させます。挿入の際は電極が石のような硬い物体に触れないように注意して下さい。測定点の狭い範囲内で複数回測定し、平均値を得ます。 * **埋設測定法**(長期利用の場合) 必要な深さに応じて、直径20cm以上の垂直な穴を作り、必要な深さまで掘ります。その後、センサーのスチール針を設定された深さで水平に挿入し、穴を埋めて締め固めます。この際電極と土壌が密接に接触していること、電極が石などの物体に触れていないことを確認します。センサーが安定するまで数日かかりますが、その後数ヶ月、またはそれ以上にわたって測定を行うことができます。土壌と電極部分が密接できていないとデータがうまく測れない場合があります。その場合は迅速測定法の設置方法で設置を行って下さい。 ==== [使用上の注意点] ==== * **電極部分の汚れ** 電極部分が汚れると、(特に土壌や水中の鉱物、塩分、微生物などが付着した場合)正確な測定ができなくなります。測定結果に異常値が検出された場合は、電極部分の洗浄を行ってください。 * **接触不良** 電極が土壌と十分に密着していない場合、正確な測定が困難になることがあります。異常値が検出された際は、電極と土壌の接触状況を確認し、必要に応じて電極を適切に再設置してください。 * **物理的な衝撃と硬い表面での使用** 石や硬い物質が電極部分にぶつかると、電極が破損する可能性があり、正確な測定ができなくなることがあります。硬い地面で測定する際は、まず小さな穴を掘り、電極部分をしっかり土に密着させてから測定してください。 * **衝撃や高温への保護** センサーを強い振動や衝撃から保護し、硬い物体で打たないように注意してください。また、センサーが黒い包装で覆われているため、強い日光下では急激に加熱され、50℃以上に達することがあります。温度測定に影響を与えないためにも、屋外使用時には日陰や保護に注意を払い、極端な高温環境を避けてください。 * **温度や湿度の急激な変化** 温度や湿度が急激に変動すると、電極の機能に影響を与えることがあります。特に温度変化は電極の動作や測定精度に影響を与えるため、安定した環境での使用が推奨されます。 ==== [保管方法] ==== 直射日光を避け、極度な高温や湿度にならない場所に保管をして下さい。また、プローブ部分は常に土に刺しておくようにして下さい。長期間(4ヶ月以上)使用しない場合は、通信機器のバッテリーを外して保管するか、電源を完全にオフにして保管します。この場合は土に刺す必要はありません。 ==== [NPKの推測方法] ==== NPKの測定は、土壌の*電気伝導率を元に推定されます。測定された電気伝導率の値に、当社Cropwatch LLC.が設定した換算式を使って窒素、リン、カリウムの経験的・理論的な値を提供します。電気伝導率は、あくまでも土壌中のイオン全体の濃度を測るものであり、窒素、リン、カリウムを個別に測定するわけではありません。また、土壌の水分量や温度、土壌の性質(砂質土、粘土質など)によって電気伝導率は変化するため、測定結果の精度にも影響を与える可能性があります。そのため、結果はあくまで参考値となり、環境条件や土壌の種類に応じて精度が変動することがあります。ただし、当社の換算式は単なる推測ではなく、以下の要素を考慮した十分な情報や知識に基づいて行う推測となっています。 * 実際のデータを活用: 単なる推測ではなく土壌の温度や水分量、pHなどの実際の要素を考慮して計算します。 * 推定値と実験データのバランス: 実験データがあれば、それを利用して精度を向上させますが、古いデータの場合は依存しすぎないようにします。これにより、関数が柔軟に動作します。 * 土壌に応じた調整: 土壌の種類によって挙動が異なるため、この関数はそれを考慮して調整を行います。これにより、単純な推測よりも賢くなっています。 電気伝導率を使って土壌中のNPK濃度を推定する方法は、簡単かつ素早く土壌の栄養状態を把握できる便利な手段です。特に、フィールドでのリアルタイムの測定が求められる精密農業や栄養管理において、有用な情報を提供します。ただし、結果は推定値であるため、他の方法と併用してより正確な栄養評価を行うことが重要です。 ==== [*電気伝導率 とは?] ==== 電気伝導率は、物質が電流をどれだけ通しやすいかを表す指標です。一般的に、金属や水などの液体は電気をよく通しますが、土壌もまたある程度電気を通します。特に、土壌に含まれる水分中に溶けているイオン(NPKのような栄養素)は、電流を伝える役割を果たします。電気伝導率を測ることで、土壌中のイオン濃度、つまり栄養素の量を推測することができます。 ==== [電気伝導率を使ったNPKの測定方法] ==== * **土壌中のイオンの役割** 土壌中に存在するNPKのような栄養素は、主にイオンの形で存在しています。イオンは水に溶けると電気を通しやすくなり、これによって電気伝導率が高まります。したがって、土壌の電気伝導率を測定することで、NPKのようなイオンの濃度を間接的に知ることができます。 * **センサーを使用した測定** 電気伝導率センサーを土壌に挿入し、センサーを通して微量の電流を流します。土壌中にNPKが多ければ多いほど、イオンが増加し、電気はより容易に流れます。逆に、NPKが少ないと電気が流れにくくなります。この電気の流れやすさを数値化したものが電気伝導率です。 * **栄養素の推定** 電気伝導率の値を基に、土壌中のNPKの含有量を推定します。ただし、この方法は直接NPKそのものを測定するわけではなく、NPKを含むイオンの総量を測定するため、ある程度の推定や経験則に基づいた計算が必要になります。具体的には、測定された電気伝導率の値に基づいて、以下の換算式を使ってNPKの量を算出します。当社では、より精度の高い値を算出する為、いくつかの設定を行っています。 ==== [NPK測定の換算式] ==== export type SoilType = "Sandy" | "Loamy" | "Clay" | "Silty" | "Peaty" | "Chalky" | "Saline"; export interface SoilParams { temperature: number; moisture: number; ec: number; // in μS/cm ph: number; // pH level soilType: SoilType; // Type of soil actual_n ? : number; // Nitrogen (N) value from lab report (optional) actual_p ? : number; // Phosphorus (P) value from lab report (optional) actual_k ? : number; // Potassium (K) value from lab report (optional) n_months_ago ? : number; } export function estimateNPK({ temperature, moisture, ec, ph, soilType, actual_n, actual_p, actual_k, n_months_ago }: SoilParams): { N: number;P: number;K: number } { let ecAdjustmentFactor: number; switch (soilType) { case "Sandy": ecAdjustmentFactor = 1.1; break; case "Loamy": ecAdjustmentFactor = 1.0; break; case "Clay": ecAdjustmentFactor = 0.85; break; case "Silty": ecAdjustmentFactor = 0.9; break; case "Peaty": ecAdjustmentFactor = 1.1; break; case "Chalky": ecAdjustmentFactor = 0.9; break; case "Saline": ecAdjustmentFactor = 0.6; break; default: ecAdjustmentFactor = 1.0; // Default to no adjustment if not specified } const adjustedEC = ec * ecAdjustmentFactor; const alpha = n_months_ago ? Math.max(0.1, Math.exp(-0.3 * n_months_ago)) : 0.5; const estimatedN = 0.1 * adjustedEC + 0.5 * moisture + 10 * (ph - 6); const estimatedP = 0.05 * adjustedEC + 0.2 * moisture + 15 * (ph - 6); const estimatedK = 0.2 * adjustedEC + 0.3 * moisture + 5 * (ph - 6); const N = actual_n !== undefined ? alpha * estimatedN + (1 - alpha) * actual_n : estimatedN; const P = actual_p !== undefined ? alpha * estimatedP + (1 - alpha) * actual_p : estimatedP; const K = actual_k !== undefined ? alpha * estimatedK + (1 - alpha) * actual_k : estimatedK; return { N: parseFloat(N.toFixed(2)), P: parseFloat(P.toFixed(2)), K: parseFloat(K.toFixed(2)) }; } こちらのコードはパフォーマンス向上の為、アップデートされる可能性があります。[[https://github.com/CropWatchDevelopment/CropWatch/blob/develop/src/lib/components/ui/utilities/SoilToNPK.ts|GitHubページ]] ==== [コードの役割] ==== こちらのコードについてプログラミングの知識がない人向けに、コードが何をするのか、どのようにしてそれを実現しているのか、また、なぜ単なる推測よりも優れているのかを説明します。 このコードは、土壌の温度、水分量、電気伝導率(EC)などのデータを基に、土壌中の三大栄養素である窒素(N)、リン(P)、カリウム(K)の量を推定するために使われます。これらの栄養素は、植物の成長にとって非常に重要です。実験室での検査データ(N、P、Kの実際の値)がある場合、コードはそのデータを考慮して推定値を調整しますが、そのデータがなくても動作します。このコードは、単に推測するよりも精度の高い推定値を提供し、さらにその検査がどれくらい前に行われたのかも考慮します. 1. 入力データ: この関数は、土壌に関するいくつかのデータを入力として受け取ります。 * 温度(摂氏) * 水分量(パーセンテージ) * 電気伝導率(EC)(土壌がどれだけ電気を伝えるか、μS/cmで測定) * pH(土壌が酸性かアルカリ性か) * 土壌の種類(例: 砂質、ローム質、粘土質など) * 任意で、実験室での検査結果に基づく実際の栄養素の値や、その検査がどれくらい前に行われたかの情報も入力できます。 2. 土壌の種類による調整: 土壌の種類によって、EC(電気伝導率)の値が異なります。この関数では、土壌の種類に応じてECを調整します。たとえば、粘土質の土壌は栄養素を保持しやすいため、ECを少し低めに調整します。 3. 栄養素の推定: 関数は、EC、水分量、pHを使って、窒素、リン、カリウムの量を数式で推定します。これらの推定は、これらの要素と栄養素の関係に基づいた科学的なものです。 4. 実験データのバイアス: 実際の実験室データがある場合、関数はそのデータに「寄りかかる」形で推定を行います。しかし、そのデータが古い場合は、その影響を弱めます。これにより、古い情報に頼りすぎないようにします。 5. 最終的な出力: 関数は、窒素、リン、カリウムの推定値を小数点以下2桁まで丸めた値として返します。