基于LoRaWAN的智能作物监测和灌溉系统
扫描二维码
随时随地手机看文章
基于LoRaWAN的智能作物监测和灌溉系统
目的:
•实时监测土壤湿度和空气/土壤温度,以优化灌溉决策。
•通过物栈使用LoRaWAN进行长距离无线传输数据,使其成为大面积农业应用的理想选择。
•为灌溉决策提供准确的信息,有助于提高用水效率和作物健康。
•在云平台上可视化数据,并针对关键情况(例如,土壤过于干燥或潮湿、极端温度)配置警报。
所需材料和软件:
硬件:
•WISBLOCK基地:RAK1907基地板轮缘Gen
•WISBLOCK核心:RAK3172 STM32WL5(集成LoRaWAN)
•WISBLOCK传感器:
•RAK12035土壤湿度传感器
•RAK12003温度传感器(用于土壤或水温)
•RAK1906环境传感器(用于空气温度和湿度)
•WISBLOCK Miscellaneous: RAK1921 OLED显示屏(可选,用于本地读取和调试)
•其他组件/配件:
•WisGate Edge Lite 2 (LoRaWAN网关)
•电池连接器电缆
•太阳能电池板连接器
•太阳能电池板
•螺丝刀
软件:
•Arduino IDE或PlatformIO
•用于RAK模块的Arduino库(例如,RAKwireless_RAK3372_BSP)和每个传感器的库(例如,dallasttemperature, OneWire, Adafuit_BME680, Adafruit_SSD1306, Adafruit_GFX)。
•RAK7268V2网关配置软件。
•在The Things Stack(用于LoRaWAN网络)和云物联网平台(例如Ubidots, ThingsBoard)上的帐户。
设置和实现步骤:
•硬件组装:将RAK3372 (Core)模块连接到RAK1907 (Base)模块。将传感器(土壤湿度,DS18B20, BME680)连接到相应的端口。连接OLED显示器,如果它将用于本地读数。连接电池电缆和太阳能电池板。
•开发环境配置:安装Arduino IDE/PlatformIO,支持RAK3372板。为传感器和OLED安装必要的库。
节点编程(RAK3372):
•编写代码从土壤湿度、土壤温度(DS18B20)和空气温度/湿度(BME680)传感器读取数据。
•将RAK3372配置为LoRaWAN节点(OTAA或ABP)。
•将传感器数据打包成有效的有效载荷,并定期通过LoRaWAN发送。
•实现低功耗模式(深度睡眠)以延长电池寿命,这对农业部署至关重要。
•网关配置(RAK7268V2):将网关接入网络,配置为与the Things Stack相连。
Things栈配置:
•进入Things Stack控制台。
•注册网关:添加RAK7268V2网关。
•创建应用程序:创建新的应用程序。
•注册设备(RAK3372节点):使用其LoRaWAN凭据(OTAA的DevEUI, AppEUI, AppKey)注册设备。
•配置有效负载格式化器(解码器):在应用程序的“有效负载格式化器”一节中,编写Javascript代码将二进制传感器有效负载解码为可读的JSON对象。
•与云物联网平台集成:在应用程序的“集成”部分,添加一个集成(例如,Ubidots的“Webhook”或ThingsBoard的“MQTT”)来转发解码数据。
•云物联网平台配置(Ubidots/ThingsBoard):创建仪表板以实时可视化传感器数据。配置警报规则(例如,如果土壤湿度低于临界阈值)。
•测试和部署:在真实的种植环境中测试系统。根据具体的土壤类型校准土壤湿度传感器。如果部署在室外,请确保组件具有防风雨性。
挑战和故障排除提示:
•土壤湿度传感器校准:湿度传感器可以提供相对读数。根据特定的土壤类型和作物条件校准它们是至关重要的(例如,通过参考方法测量实际湿度并调整传感器值)。
•对元件的保护:如果部署在户外,必须充分保护电子元件,防止水、灰尘、阳光直射和动物。使用防水和透气的外壳。
•LoRaWAN范围:在现场执行范围测试,以确保节点和网关在所有感兴趣的区域有效通信。地形和植被会影响信号。
•电源管理:监控电池电量和太阳能电池板充电效率。调整数据传输频率,平衡数据新鲜度和电池寿命。
本文编译自hackster.io