• 正文
  • 相关推荐
申请入驻 产业图谱

5 分钟快速上手!MicroPython+MSE 低成本土壤传感器同步读取土壤含水率和温度

14小时前
92
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

你是不是也有过这样的烦恼:养的盆栽总因浇水不当烂根或旱死,家庭菜园也只能靠 “感觉” 判断浇水量?传统土壤含水率检测方案,要么是易腐蚀、数据漂移的针式电阻传感器,要么是成本高昂、需复杂校准的专业设备,很难在民用和小型场景普及。

敏源推出的低成本土壤温湿度传感器 MSE,正是为解决这些痛点而来的电容式智能检测模组 —— 它以高频电容感知技术,实现了低成本、高精度的土壤含水率与温度检测,为从家用盆栽到小型农业的各类场景,提供了可靠的土壤感知方案。

长期以来,土壤含水率检测一直面临 “不准、易坏、成本高” 的行业难题:

电阻式针状传感器:依靠土壤导电率判断含水率,极易受土壤盐分、温度影响,数据误差大;金属电极长期埋入土壤,还会被腐蚀氧化,用不了多久就会失灵。

专业电容式方案:虽精度较高,但成本高昂,且需复杂校准流程,不适合批量用于普通花盆、小型农场这类场景。

廉价非接触方案:大多只能做表面检测,无法穿透土壤感知内部真实湿度,数据参考价值极低。

而 MSE 的出现,正是用低成本的电容式感知技术,补上了这些方案的短板。

作为一款专为普及场景设计的土壤温湿度传感器,MSE 的优势完美匹配了民用与小型农业的需求:

高精度 + 强抗干扰,数据稳定可靠:

    • 基于电容式高频介电常数测量原理,含水率与电容值成正比,电容分辨率高达 0.01pF;内置温度补偿算法,可抵消温度对电容测量的影响,搭配多种滤波算法,输出的含水率与温度数据不受土壤盐分、杂质干扰,还能根据不同土壤特性拟合转换,适配多种土壤类型。

低成本 + 易集成,适配多类设备:

    • 模组采用高集成度设计,大幅降低成本门槛;支持基于 UART 的 MODBUS 通信协议,可在线升级固件与算法,适配不同应用场景;供电电压 2.0~5.5V,平均功耗仅 4.3mA@3V(间隔 10s 查询一次),低功耗设计非常适合电池供电的设备,小巧的尺寸也方便嵌入花盆、灌溉设备等场景。

宽温耐用 + 免维护,使用寿命更长:

    工作温度范围 - 40℃~+85℃,能适应阳台、户外、大棚等不同环境;电容式非接触感知方式,避免了电极与土壤的直接接触,从根源上解决了腐蚀、氧化问题,无需频繁维护,使用寿命远超传统针式传感器。

很多人养不好绿植,核心问题就是无法准确判断土壤湿度。如图所示,MSE 可直接插入花盆土壤中,实时检测含水率与温度,通过设备或 APP 提醒用户浇水,精准匹配绿植需水需求;低成本的设计也支持批量用于多个花盆,是智能家居绿植养护设备的理想选择,彻底告别 “浇水玄学”。

在家庭菜园、小型农场或阳台菜园中,MSE 可批量部署在土壤中,实时监测含水率,配合自动灌溉系统实现按需浇水 —— 既避免了人工浇水的盲目性,又节约了水资源;非接触式的耐用设计,也能适应户外、大棚等复杂环境,无需频繁维护,让小型农业的精细化养护不再依赖人工经验。

在小区绿化、公园景观等场景中,MSE 可作为低成本土壤感知节点,批量部署在绿植土壤中,实时监测含水率,为园林养护提供数据支持,减少人工巡检成本;同时适配不同土壤类型与环境,实现从 “人工巡检” 到 “数据驱动” 的精细化养护升级。

一、模块简介

二、主要芯片介绍

2.1 芯片概述

传感器内嵌敏源高精度数字电容传感芯片微处理器及算法,含水率 % 与电容值成正比,可以根据不同土壤特性 从电容值拟合转换。

2.2 引脚定义

2.4 性能参数

2.7 通信接口和相关协议

三、电路工程

3.1 电路源工程

获取电路源工程,请查看下面链接:

https://www.mysentech.com/productinfo/3096406.html

3.2 模块使用说明

3.2.1 模块测试环境搭建和注意事项

这里,我们需要先确认串口数据稳定无乱码,再将探头分别插入干土、湿土,观察含水率数值是否随土壤湿度线性变化;也可用手心 / 冰水测试温度读数变化,快速验证温湿度检测功能正常。

探头插入土壤时避免暴力硬插,防止损坏电极;供电电压严禁超过 5.5V;不要长期浸泡在水中,测试后擦干探头;需根据实际使用的土壤做校准,不同土壤的电容特性差异会影响读数准确性。

3.2.2 Modbus Poll 的使用

Modbus Poll 是一款通用型 Modbus 主站调试工具,适配本系列所有支持 Modbus-RTU 协议的电容式传感器,可快速实现传感器与电脑的串口通信调试、实时数据读取与日志导出,是验证传感器功能、采集测试数据的通用上位机工具。软件支持 Modbus RTU/ASCII/TCP/IP 协议,兼容多种寄存器类型与数据格式,操作流程对全系列传感器通用。

使用前需先完成软件安装与激活,可通过官方渠道下载安装包,首次打开可试用 30 天,也可输入注册码永久激活。硬件连接传感器与电脑后,打开软件点击「Connection」-「Connect」,在弹出窗口中配置串口参数(端口号、波特率、数据位 / 校验位 / 停止位,本系列传感器默认采用 9600 Baud、8N1 格式,具体以对应型号规格书为准),确认后即可建立通信连接。

以下为通用操作流程说明:

串口连接配置:

    1. 将传感器通过 USB 转串口模块接入电脑后,打开 Modbus Poll 软件,点击菜单栏「Connection」-「Connect」,在弹出窗口中选择传感器对应的 COM 端口号,并配置与传感器匹配的串口参数(波特率、数据位、校验方式、停止位,本系列传感器默认采用 9600 Baud、8N1 格式),确认后即可建立通信连接。

导入传感器配置文件:

软件支持导入各传感器型号对应的 .mbp 预配置文件,文件中已预设好寄存器地址、数据格式与别名定义,无需手动配置寄存器。直接在软件中打开对应传感器的 .mbp 文件,即可自动加载所有参数,连接成功后将直接显示传感器的实时检测数据(如尘 / 雨 / 霜厚度值、状态标志位等)。

数据日志记录(可选):

    如需保存测试数据,可通过「Setup」-「Excel Log」功能配置日志记录规则,支持按固定周期或每次数据更新记录数据,并可设置记录条数上限,方便后续对传感器数据进行分析与验证。

以上为通用的上位机基础操作,不同传感器型号的 .mbp 预配置文件、具体寄存器定义、特殊配置细节,可参考「七、相关资料」中内容。

3.3 应用实验

这里,我们使用 GraftPort-RP2040 开发板进行测试,低成本土壤温湿度传感器 MSE 上使用 UART 接口与主控进行通信。

这里,我们首先使用 HY2.0-4P 连接线将模块通过 XH2.54-4P 转接 HY2.0-4P 接口模块连接到 GraftPort-RP2040 开发板的 UART0 接口:

该图展示了 MSE 土壤温湿度传感器与开发板的 UART 接线方式。

然后将该模块插入土壤中:

模块连线如下表所示:

开发板引脚 模块引脚 说明
引脚 16 MTX UART 数据传输线,对应开发板的发送引脚
引脚 17 MRX UART 数据传输线,对应开发板的接收引脚

这里,我们需要在 uPyPI 上搜索相关驱动包:https://upypi.net/zh/

该图演示了在 uPyPI 平台中查找 MSE 驱动包的操作过程。

输入 mse_soil_sensor_driver 进行搜索,显示如下:

该图展示了 mse_soil_sensor_driver 的搜索结果页面。

点击复制本地安装命令:

该图展示了复制 MSE 驱动安装命令的界面,便于完成本地导入。

通过 mip 工具导入模块驱动库代码,以下是 mpremote 工具使用指令:

mpremote mip install https://upypi.net/pkgs/mse_soil_sensor_driver/1.0.0

导入低成本土壤温湿度传感器 MSE-MicroPython 驱动代码后,将下面 main.py 代码复制到我们的工程中:

# Python env   : MicroPython v1.23.0
# -*- coding: utf-8 -*-
# @Time    : 2026/4/3 上午10:30
# @Author  : hogeiha
# @File    : main.py
# @Description : MSE土壤温湿度传感器数据读取与配置示例程序

# ======================================== 导入相关模块 =========================================

import time
from mse_soil_sensor import MSESoilSensor

# ======================================== 全局变量 ============================================

# ======================================== 功能函数 ============================================

def read_all():
"""
    读取并打印传感器所有寄存器数据

    Args:
        无

    Raises:
        无

    Notes:
        调用驱动类中所有只读方法,并将结果格式化输出到控制台。

    ==========================================
    Read and print all sensor register data

    Args:
        None

    Raises:
        None

    Notes:
        Call all read-only methods of driver class and format output to console.
    """
# 打印数据分隔线
print("=" * 50)
# 打印从机地址
print(f"Sensor data (Addr: {sensor.read_node_address()})")
# 打印温度值
print(f"Temperature        : {sensor.read_temperature()} C")
# 打印电容值
print(f"Capacitance        : {sensor.read_capacitance()} pF")
# 打印电容中心值
print(f"Capacitance center : {sensor.read_cap_center()} pF")
# 打印电容量程
print(f"Capacitance range  : {sensor.read_cap_range()} pF")
# 打印滤波次数
print(f"Filter count       : {sensor.read_filter_count()}")
# 打印平均窗口大小
print(f"Average window     : {sensor.read_avg_window_size()}")
# 打印温补系数A
print(f"Temp comp A        : {sensor.read_temp_comp_A()}")
# 打印温补系数B
print(f"Temp comp B        : {sensor.read_temp_comp_B()}")
# 打印硬件版本
print(f"Hardware version   : {sensor.read_hw_version()}")
# 打印固件版本
print(f"Firmware version   : {sensor.read_firmware_version()}")
# 打印设备UID
print(f"Device UID         : {sensor.read_device_uid()}")
# 打印结束分隔线
print("=" * 50)

# ======================================== 自定义类 ============================================

# ======================================== 初始化配置 ===========================================

# 等待3秒确保串口稳定
time.sleep(3)
# 打印启动提示信息
print("FreakStudio: MSE soil sensor test start")

# 创建传感器实例
sensor = MSESoilSensor(slave_addr=1, baudrate=9600, uart_id=0, tx_pin=16, rx_pin=17)

# ========================================  主程序  ============================================

# 判断是否作为主程序运行
if __name__ == "__main__":
# sensor.write_filter_count(20)      # 设置滤波次数
# sensor.write_temp_comp_A(0.5)      # 设置温度补偿A
# 写入温度补偿系数B
    sensor.write_temp_comp_B(0.5)

# 主循环:每隔2秒读取一次所有数据
whileTrue:
        read_all()
        time.sleep(2)

烧录代码,打开终端,输出如下:

该图展示了 MSE 模块的实时输出效果,可用于验证温湿度与电容等数据读取结果。

相关资料

获取相关资料,查看:https://f1829ryac0m.feishu.cn/wiki/space/7636611910099602383?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home

相关推荐