关闭视频

基于机智云平台的物联网多功能大棚设计

发表于:2021年08月05日 12:19更新于:2024年05月04日 20:25

本文设计并制作了一款基于机智云物联网平台的多功能大棚的控制系统并制作了实物模型。本系统可通过网页端查看历史操作数据,通过手机APP进行对大棚的远程操作。物联网控制可实现远距离对大棚的各种功能的操作,无距离限制。设备配有网络摄像头,可远程观看大棚状态,使农业更加智能化。

 


硬件结构

 

► 主控芯片及数据显示

采用性能高、功耗低的 32 位微控制器 STM32F429 作为主控芯片,主频高达 180MHz,能够进行比较高速的运算,使其能和物联网模块进行即时通讯,减少数据丢包的可能。数据显示采用 TFTLCD 电容触摸屏,该触摸屏屏幕分辨率为 800*480,16 位真彩显示,采用 NT35510 驱动,无需外加驱动器,可直接连接单片机进行驱动,屏幕刷新速度可达78.9帧/秒。

 

► ESP8266_12F WIFI芯片

该模块核心处理器 ESP8266 在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型MCU,带有16 位精简模式,主频支持 80 MHz 和 160 MHz,支持 RTOS,集成 Wi-Fi MAC/BB/RF/PA/LNA 板载天线。

 

► 前屈伸臂式大棚卷帘机构

在进行机械结构设计方面,采用独特的前屈伸臂式卷帘机进行对卷帘的驱动,由变速箱和电动机,卷杆和支架三大部分组成,作业原理是经过主机转动卷杆,卷杆直接拉动草苫或保温被,而且拉放均有动力支撑,市场运用广泛。

 

► 多点放风机构放风机构

目前棚户大多使用拉线式放风,需要人不断查看棚内的温度以进行大棚放风机构的拉开与关闭,而且放风机构是一体的。本设备的放风机构采用同步带传动带动风口动作,方便快捷,设有两处放风口,当棚内某点温度过高时,可只开启其中一个放风口进行通风降温,而另一处则不用开启,当达到棚内温度设定值时自动关闭放风口或者手机 APP操作关闭,多点的放风机构可有效的控制大棚温度。
 

设备整体效果图

 

► 多点温度采集

目前大棚温度单点采集过于落后,所谓单点采集,就是将 ds18b20 的 DQ 与单片机的一个管脚相连,而多点采集就是将多个 ds18b20并联,因为每个 ds18b20 都有一个独特的 64位序列号,从而允许多个 ds18b20 同时连在一根单总线上。单片机依靠每个温度传感器独有的 64 位片序列号辨认总线上的器件,根据序列号分别进行采集。

 

匹配序列号的程序如下:

void Match_rom(u8 a)  // 匹 配 ROM{u8j;DS18B20_Write_Byte(0x55);

if(a==1){for(j=0;j<8;j++) D S 1 8 B 2 0 _Write_Byte(ROM1[j]);}

if(a==2){for(j=0;j<8;j++) D S 1 8 B 2 0 _Write_Byte(ROM2[j]);}

if(a==3){for(j=0;j<8;j++) D S 1 8 B 2 0 _Write_Byte(ROM3[j]);}}

 

►  PID恒温及网络摄像头

有效的控制大棚温度对植物的生长是极其重要的,故采用 PID 恒温方式控制执行器件电热丝进行对大棚温度的控制,本设备可在手机 APP 界面进行温度设置。

本设备装有网络摄像头,可通过手机APP查看大棚的状态,摄像头亦采用物联网模式,可不受距离限制,随时随地查看,真正实现智能化农业。

 

► 供电方式

考虑到制作的为大棚模型,为方便搬运以及不用市电供电,本设备的供电方式采用的是12V蓄电池供电。当本设备应用于实际大棚时,可采用市电 220V 转 12V 的 60W 的开关电源供电,安全可靠。

 

 

软件设计

 

► 设备与机智云物联网平台的数据交互流程

使用移植机智云GAgent 的 Wi-Fi 模组建立桥梁,使本设备的数据与机智云互联互通。 设备与机智云数据交互的基本数据流。

 

► Wi-Fi模块传输协议处理

Wi-Fi 芯片与 STM32 的通讯方式为UART,波特率为 9600。传输字节序采用大端编码,即高字节在前,低字节在后,通讯的交互形式采用一问一答,即每条命令需要由接收方给出 ACK 应答确认信息,超时时间为200ms,超时后重发该命令,发送 3 次后不再尝试发送,丢弃该包数据。数据指令由包头(2B)、包长度(2B)、命令(1B)、包序号(1B)、Flags(2B)、有效负载以及校验和(1B)组成。

发送通用协议消息数据程序如下:

static int32_t gizProtocolCommonAck(protocolHead_t *head)

{

int32_t ret = 0;protocolCommon_t ack;

if ( NULL = = head)

{

GIZWITS _ LOG ( " ERR :gizProtocolCommonAck data is empty \n");

return-1;

}

memcpy((uint8_t *)&ack, (uint8_t *)head,sizeof(protocolHead_t));

ack.head.cmd = ack.head.cmd+1;

ack.head.len = exchangeBytes(sizeof(protocolCommon_t)-4);

ack.sum = gizProtocolSum((uint8_t *)&ack,sizeof(protocolCommon_t));

ret = uartWrite ( ( uint 8 _ t * ) & ack ,sizeof(protocolCommon_t));

if(ret < 0)

{

GIZWITS_LOG("ERR: uartwrite error %d \n", ret);

}

return ret;

}

 

► 电机驱动电路及程序控制

本设备大棚卷帘机的驱动电机采用的为直流减速电机,通过控制两个端口的信号输入,则可控制大棚卷帘机的打开与关闭。

电路设计图

 

其驱动程序如下:

case EVENT_JUANLIAN: //卷帘

currentDataPoint.valueJUANLIAN = dataPointPtr->valueJUANLIAN;

GIZWITS_LOG("Evt: EVENT_JUANLIAN %d \n", currentDataPoint.valueJUANLIAN);

if(shou==0)

{

if(0x01 == currentDataPoint. valueJUANLIAN)

{

juan=1;

HAL_GPIO_WritePin(GPIOC,GPIO_ PIN_1,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOC,GPIO_ PIN_6,GPIO_PIN_SET);

}

else

{

juan=0;HAL_GPIO_WritePin(GPIOC,GPIO_PIN_1,GPIO_PIN_ RESET);

HAL_GPIO_WritePin(GPIOC,GPIO_ PIN_6,GPIO_PIN_RESET);

}

}

break;


 

结语

 

本文所要制作的设备是在大棚发展过程中与现实科技相结合的成果。在越来越智能化,信息化的今天,大棚的物联网时代逐渐进入人们的视线,在经过多次实地调研后,加入了上述的功能,以后根据实际产生的问题,可进一步加入到本设备中,具有二次开发能力,真正实现大棚物联网时代的开发与应用。