智能农业和农业自动化开发需要Linux系统具备硬件适配、数据采集、控制逻辑运行等能力,合理的系统配置能大幅降低后续开发阻力。下面从基础环境到专项功能逐步说明配置方法。

基础系统环境配置
首先选择适合嵌入式场景的Linux发行版,推荐Ubuntu Core或者Debian轻量版,这类系统资源占用低,对ARM架构硬件兼容性好。安装完成后先更新系统源和软件包:
# 更新软件源 sudo apt update # 升级已安装软件包 sudo apt upgrade -y # 安装基础工具集 sudo apt install -y vim git curl wget net-tools
接着配置时区和网络,确保系统时间准确,网络通信稳定:
# 设置时区为上海 sudo timedatectl set-timezone Asia/Shanghai # 查看网络状态 ip addr # 配置静态IP(以eth0网卡为例,根据实际网卡名调整) sudo vim /etc/netplan/01-network-manager-all.yaml # 配置文件内容如下 # network: # version: 2 # renderer: networkd # ethernets: # eth0: # dhcp4: no # addresses: [192.168.1.100/24] # gateway4: 192.168.1.1 # nameservers: # addresses: [114.114.114.114, 8.8.8.8] # 应用网络配置 sudo netplan apply
必要依赖库安装
智能农业开发需要对接各类传感器、执行器,需要安装对应的通信库和数据处理依赖:
- I2C和SPI通信依赖:用于对接温湿度、光照、土壤湿度等传感器
- 串口通信依赖:用于对接PLC、农业自动化控制器等设备
- 数据处理依赖:用于采集数据的解析、存储和预处理
安装对应依赖的命令如下:
# 安装I2C和SPI工具 sudo apt install -y i2c-tools spi-tools # 安装串口通信库 sudo apt install -y python3-serial # 安装数据处理相关库 sudo apt install -y python3-numpy python3-pandas # 安装数据库依赖,用于存储农业采集数据 sudo apt install -y sqlite3 python3-sqlite3
开发工具配置
根据开发语言选择对应的工具链,智能农业开发常用Python和C/C++,以下是两种语言的配置方法:
Python开发环境配置
系统自带Python3通常可以满足基础需求,建议安装虚拟环境管理工具避免依赖冲突:
# 安装Python虚拟环境工具 sudo apt install -y python3-venv python3-pip # 创建项目虚拟环境 python3 -m venv agri_env # 激活虚拟环境 source agri_env/bin/activate # 安装农业开发常用Python库 pip install pyserial smbus2 spidev requests
C/C++开发环境配置
如果需要开发底层驱动或者高性能控制逻辑,需要配置C/C++编译工具链:
# 安装编译工具链 sudo apt install -y gcc g++ make cmake # 安装调试工具 sudo apt install -y gdb
硬件驱动适配
智能农业常用的硬件需要手动启用内核模块,以温湿度传感器DHT11为例,配置步骤如下:
首先启用GPIO内核模块:
# 加载GPIO模块 sudo modprobe gpio-generic # 设置模块开机自动加载 echo "gpio-generic" | sudo tee -a /etc/modules
编写DHT11读取的测试代码验证驱动是否正常工作:
import time
import board
import adafruit_dht
# 初始化DHT11传感器,对应GPIO4引脚
dht_device = adafruit_dht.DHT11(board.D4)
while True:
try:
# 读取温度和湿度数据
temperature = dht_device.temperature
humidity = dht_device.humidity
print(f"温度: {temperature}℃, 湿度: {humidity}%")
except RuntimeError as e:
# 传感器读取失败时的异常处理
print(f"读取失败: {e}")
time.sleep(2)
自动化服务部署
智能农业的采集和控制服务需要开机自动运行,使用systemd管理服务的配置方法如下:
创建服务配置文件:
sudo vim /etc/systemd/system/agri_collect.service
服务文件内容如下:
[Unit] Description=智能农业数据采集服务 After=network.target [Service] Type=simple User=root WorkingDirectory=/home/agri_project ExecStart=/home/agri_project/agri_env/bin/python /home/agri_project/collect.py Restart=always [Install] WantedBy=multi-user.target
启动并设置开机自启:
# 重新加载systemd配置 sudo systemctl daemon-reload # 启动服务 sudo systemctl start agri_collect.service # 设置开机自启 sudo systemctl enable agri_collect.service # 查看服务状态 sudo systemctl status agri_collect.service
安全配置建议
农业自动化设备通常需要长期运行,建议做基础安全配置:
- 修改默认SSH端口,避免暴力破解
- 禁用root用户远程登录,使用普通用户登录后切换权限
- 配置防火墙,只开放必要的端口
防火墙配置示例:
# 安装防火墙工具 sudo apt install -y ufw # 允许SSH端口(修改为自定义端口后对应调整) sudo ufw allow 2222/tcp # 允许数据采集服务端口 sudo ufw allow 8080/tcp # 启用防火墙 sudo ufw enable
完成以上配置后,Linux系统就可以满足智能农业和农业自动化开发的基础需求,后续可以根据具体项目需求扩展对应的功能模块。