近年来,互联网和人工智能技术飞速发展,推动了传统畜牧业向着更集成与高效的方向发展。随着现代畜牧业的大力发展,传统的养殖结构与管理模式已经不使用现代大规模,集约化的养殖模式。
本系统设计利用机智云物联网云平台,实现奶牛场环境变量的自动化控制和远程监控功能,应用于奶牛场的环境变量实时监测与调控系统,对奶牛场环境变量进行实时监测,智能调控,使奶牛场环境的管理更加科学规范和有效,更能大大降低人工成本,提高运营效益。
系统控制结构设计
本系统以单片机为核心控制单元,接收来自传感器采集的环境因子的信息,采集之后对这些数据进行处理,当超出正常值之后,通过串口输出各个开关量控对应的继电器开始工作,从而达到对牛舍环境调控的功能,利用机智云让 WI-FI 模块与单片机建立连接,实现远程监测与控制的功能。
系统硬件设计
本系统的硬件要求能准确测量牛舍的环境信息,控制单元进行精准控制,驱动,执行人机交互单元正常工作。本硬件采用模块化设计,最后拼接为一个完整的系统,这样有利于系统的升级,故障检测与维修,整体的硬件设计系统如图所示。
材料准备有温湿度传感器DHT11、光敏传感器、RTC实时时钟、空气质量传感器MQ135、继电器驱动模块、L298N 电机驱动模块、esp8266模块、电源模块。
物联网模块的软件设计 1、机智云简介
机智云物联网开发平台是一款面向于企业以及个人的针对物联网应用提供的开放式的云端服务,同时提供硬件开发工具与软件开发服务,把物联网通讯中用到的诸多协议整合在其自动生成的软件当中,使开发者不再需要自身去设计终端软件,以及诸多通讯协议,大大降低了物联网开发的技术门槛,缩短研发周期以及投入成本,本课题利用 STM32 单片机与 ESP8266 实现机智云的接入,从而将机智云的物联网功能整合到奶牛场的环境智能控制的系统当中。
设备的联网分为有线联网和无线联网,而作为一个具有物联网功能的产品来说,联网的功能是非常重要的,对于现阶段物联网的发展来说,有线联网需要的硬件更加复杂,成本极高,增加设备本身体积,这不是设计产品的原则所允许的,所以,无线联网就成为最好的选择,而必不可少的就是 WIFI 模块,机智云平台兼容的 WIFI 模块有很多,本课题选择的是乐鑫的 ESP8266 模块。
在物联网的系统之中,传感器负责在物联网的前端采集数据信息,而数据的计算与处理则是放在云端来完成的,机智云物联网开发平台提供与之对应的软硬件功能,利用自己的云端来进行数据的计算,然后把计算的数据以及结果通过手机 APP 提供给用户,从而完成物联网的整套工作流程。
机智云提供的代码自动生成服务可以根据选择芯片的不同,生成相对应的代码,有独立 MCU 方案与 SOC 方案。
独立 MCU 方案是指针对 MCU 开发的代码,MCU是指内部包含了 CPU、ROM、RAM、定时器等部件的芯片,而 SOC 是指可以搭载系统的,功能更加强大的芯片。本设计系统采用独立 MCU 解决方案,开发者在下载生成的代码后可以与自身的代码相互嵌套,从而达到智能控制的目的。
2、ESP8266 烧写机智云官方固件
在机智云官方网站下载相应固件,准备好 GAgent 固件后,那么就需要一个固件的下载工具。固件下载工具用的是机智云官方推荐的乐鑫原厂固件烧写工具:ESP FLASH DOWNLOAD TOOL V1.2。 烧写了 GAgent 固件后 ESP8266 模块上原来自带的 AT 指令功能会被覆盖,为此STM32 与 ESP8266 实现连接功能。
3、机智云开发流程
首先登陆机智云官网点击开发者中心然后注册登录,登录界面如下:
新产品的创建
添加数据点
点击新建数据点
数据点的作用通俗点来讲就是用户或者开发者在设定的所要开发的产品上有的功能。
例如开发者需要实现灯泡的开关控制,那么在定义数据点的时候就要按照机智云定义数据点的要求定义这个数据点的显示名称,标识名,读写类型以及数据类型,这样在后续的虚拟设备调试以及代码生成中就会出现对应的功能。
4、 虚拟设备
虚拟设备是机智云平台提供的在项目开发前期,当真实设备没有处理好的时候利用虚拟设备进行模拟设备进行数据的上传行为,从而快速地验证接口功能虚拟设备在机智云开发项目的前期显得尤为重要。
5、机智云 APP
利用机智云开发项目的过程中需要用到手机客户端进行连接开发调试。机智云官方提供了可以直接使用的手机客户端,便于在开发过程中利用此客户端与虚拟设备与后期的真实设备进行连接调试与应用。
6、STM32 与机智云的软件开发
在个人项目中,选择创建新产品,在产品分类中,选择智能家居-其他-其他,产品名称输入环境智能监测控制,在技术方案中选择 WI-FI/移动网络方案,通讯方式选择 WI-FI 模块,数据传输方式:定长,功耗类型:正常。
备注:因为奶牛场正常情况下不存在湿度过低的情况,所以,不用考虑湿度过低的情况,不需建立加湿的数据点。
在机智云个人项目中,在选择独立 MCU 方案,硬件平台选择其他平台,在基本信息中复制对应的 Product Secret,点击生成代码包,并下载代码包。
解压下载的代码包,其中复制 Gizwitz 到原本的工程文件中,并添加相关头文件路径。
①在usart3.c文件中添加#include "gizwits_product.h"头文件以及用来接收中断数据的gizPutData(&res,1); ②在定时器3中断服务函数中添加gizTimerMs()函数,并且添加gizwits_product.h 头文件; ③修改 gizwits_product.c 文件; ④修改 gizwits_product.c 文件; ⑤修改工程 main.c 文件 ; ⑥使能C99模式,串口协议API中使用了C99特性,在工程配置中需将C99 模式打开; ⑦修改栈堆大小: 协议API在处理时,临时变量占用会比较大,为了稳定运行需增大栈的大小,修改位置在startup_stm32f10x_hd.s 启动文件,默认stack size值是 0x400,我们将它修改为0x1000; ⑧串口协议结构体字节对齐; ⑨修改usart.c文件 。
系统总结
本系统利用基于机智云物联网云平台建立的奶牛场环境检测系统,利用ESP8266WI-Fi 模块与机智云的云端连接,做到了对奶牛生长环境的现场调节与远程控制相互协调,极大加强了对奶牛场环境监测与控制。 有效解决了传统养殖业面临的环境调控不及时、准确度差、养殖环境恶劣、人工成本较高等不利因素,做到以更低的成本,更快速有效的科学手段调节牛舍小环境,提高奶牛场养殖企业的营收利润。
|