【《基于机智云物联网平台的功能的温室大棚控制系统设计》15000字】_第1页
【《基于机智云物联网平台的功能的温室大棚控制系统设计》15000字】_第2页
【《基于机智云物联网平台的功能的温室大棚控制系统设计》15000字】_第3页
【《基于机智云物联网平台的功能的温室大棚控制系统设计》15000字】_第4页
【《基于机智云物联网平台的功能的温室大棚控制系统设计》15000字】_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

[24]。(3)移动端和硬件端的通信通过APP对硬件端进行检测控制,都需要通过网络这一媒介。本次设计使用机智云作为云端服务器对数据进行中转,APP和硬件端都需要连接到网络,才能实现数据传输。6.2展望本次设计,实现了预期的功能。但是作为一样产品来说,仍然有很大进步的空间,存在着一些问题。主要体现在以下三个方面:(1)目前本系统的软件功能仍然还不够充分。还可以进一步添加后台信息推送、语音操作等功能。(2)本次设计采用了第三方机智云平台作为数据服务器。为了能够使本系统更加独立运行,可以考虑自主搭建服务器来给客户端提供服务。(3)考虑到设计周期,本次的手机应用程序仅支持在安卓平台运行,为了使本系统的适用范围更广泛,可以考虑开发基于IOS和Windows平台的上位机供用户选择使用。

附录=1\*ROMANI:控制模块电路原理图

附录=2\*ROMANII:STM32芯片主函数#include"led.h"#include"delay.h"#include"key.h"#include"sys.h"#include"usart.h"#include"timer.h"#include"usart3.h"#include"dht11.h"#include"lcd.h"#include"gizwits_product.h"#include"adc.h"#include"lsens.h"#include"motor.h"#include"beep.h"/*用户区当前设备状态结构体*///dataPoint_tcurrentDataPoint;//WiFi连接状态//WiFi_sta0:断开//1:已连接u8WiFi_sta=0;//协议初始化voidGizwits_Init(void){ TIM3_Int_Init(9,7199);//1MS系统定时usart3_init(9600);//WiFi初始化 memset((uint8_t*)¤tDataPoint,0,sizeof(dataPoint_t));//设备状态结构体初始化 gizwitsInit();//缓冲区初始化}externintTemp_alarm=30;//温度上限(单位:C)externintHumi_alarm=50;//湿度上限(单位:%)externintlumi_alarm=75;//#definelumi_alarm70//光照强度上限(单位:lux)#definealarm_num3//报警次数//数据采集voiduserHandle(void){staticu8t=0; staticu8temp,hum;staticu8temp_num=0; staticu8humi_num=0; staticu8jvanlian_num=0;//卷帘位置 staticu8lumi_num=1; staticu8adcx; if(WiFi_sta) { if(t==10)//每2S读取一次 { t=0; DHT11_Read_Data(&temp,&hum);//读取DHT11传感器 adcx=Lsens_Get_Val(); LCD_ShowxNum(70,150+60+10,temp,3,16,0); LCD_ShowxNum(70,175+60+10,hum,3,16,0); LCD_ShowxNum(70,200+60+10,adcx,3,16,0); currentDataPoint.valueTemperature=temp;//温度数据 currentDataPoint.valuehumidity=hum;//湿度数据 currentDataPoint.valueillumination=adcx;//光数据 if(temp>=Temp_alarm)//温度>报警值 { temp_num++; if(temp_num>=alarm_num)//报警达到一定次数 { temp_num=0; currentDataPoint.valueTemp_alarm=1;//温度达上限报警 LCD_Fill(120,150+60+10,140,165+60+10,RED); if(currentDataPoint.valueManual_mode!=0x01) { BEEP=1; delay_ms(25); BEEP=0; } } else{ if(currentDataPoint.valueTemp_alarm==0) LCD_Fill(120,150+60+10,140,165+60+10,GREEN); } } else { currentDataPoint.valueTemp_alarm=0; LCD_Fill(120,150+60+10,140,165+60+10,GREEN); BEEP=0; } if(hum>=Humi_alarm)//湿度>报警值 { humi_num++; if(humi_num>=alarm_num)//报警达到一定次数 { humi_num=0; currentDataPoint.valuehumi_alarm=1;//湿度达上限报警 LCD_Fill(120,175+60+10,140,190+60+10,RED); if(currentDataPoint.valueManual_mode!=0x01) { Motor_2_PRun(); } } else { if(currentDataPoint.valuehumi_alarm==0) {LCD_Fill(120,175+60+10,140,190+60+10,GREEN);} } } else { currentDataPoint.valuehumi_alarm=0; LCD_Fill(120,175+60+10,140,190+60+10,GREEN); } if(adcx>=lumi_alarm)//光强>报警值 { lumi_num++; if(lumi_num>=alarm_num)//报警达到一定次数 { humi_num=0; currentDataPoint.valuelumi_alarm=1;//光照达上限报警 LCD_Fill(120,200+60+10,140,215+60+10,RED); if(currentDataPoint.valueManual_mode!=0x01) { Motor_1_PRun(); jvanlian_num=1; } } else { if(currentDataPoint.valuelumi_alarm==0) LCD_Fill(120,175+60+10,140,190+60+10,GREEN); } } else { currentDataPoint.valuelumi_alarm=0; LCD_Fill(120,200+60+10,140,215+60+10,GREEN); if(currentDataPoint.valueManual_mode!=0x01) { if(jvanlian_num==1) { Motor_1_NRun(); delay_ms(1000); delay_ms(1000); delay_ms(1000); jvanlian_num=0; Motor_1_STOP(); } } } } if(t%2)LED0=!LED0; t++; } else { if(temp_num!=0||humi_num!=0) { temp_num=0;humi_num=0; } } }//主函数intmain(void){ intkey; u8WiFi_con=0;//记录WiFi连接状态1:连接0:断开 u8buff[20]={0}; delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置NVIC中断分组2:2位抢占优先级,2位响应优先级 uart_init(115200); //串口初始化为115200 LED_Init(); //LED端口初始化 KEY_Init();//按键初始化 LCD_Init(); //初始化LCD Motor_12_Config(); Lsens_Init(); BEEP_Init(); //初始化蜂鸣器端口 Gizwits_Init();//协议初始化 POINT_COLOR=RED; //设置字体为红色 LCD_ShowString(30,70-20,200,16,16,"IOTTEST"); LCD_ShowString(30,110-20,200,16,16,"2017/6/1"); POINT_COLOR=BLUE; //设置字体为蓝色 while(DHT11_Init()) //DHT11初始化 { LCD_ShowString(30,130-20,200,16,16,"DHT11Error"); delay_ms(200); LCD_Fill(30,130,239,130+16,WHITE); delay_ms(200); } POINT_COLOR=RED; //设置字体为红色 LCD_ShowString(30,150+40+10,200,16,16,"WiFi:close"); POINT_COLOR=BLUE; //设置字体为蓝色 LCD_ShowString(30,150+60+10,200,16,16,"Temp:0C");LCD_ShowString(30,175+60+10,200,16,16,"Humi:0%"); LCD_ShowString(30,200+60+10,200,16,16,"lumi:0lux"); printf("机智云IOT-DHT11温湿度检测报警实验\r\n"); printf("KEY1:AirLink连接模式\tKEY_UP:复位\r\n\r\n"); while(1) { if(WiFi_con!=WiFi_sta) { WiFi_con=WiFi_sta; POINT_COLOR=RED; //设置字体为红色 WiFi_con? LCD_ShowString(78,150+40+10,200,16,16,"connect"): LCD_ShowString(78,150+40+10,200,16,16,"close"); POINT_COLOR=BLUE; //设置字体为蓝色 } userHandle();//用户采集gizwitsHandle((dataPoint_t*)¤tDataPoint);//协议处理 LCD_ShowString(30,130-20,200,16,16,"DHT11OK");sprintf((char*)buff,"Tempalarm:%dC",Temp_alarm); LCD_ShowString(30,150-20,200,16,16,buff);//把数据写到buff然后下面再发送到屏幕 memset(buff,0x00,20);//缓存清零 sprintf((char*)buff,"Humialarm:%d%%",Humi_alarm);//%% LCD_ShowString(30,150+20-20,200,16,16,buff); memset(buff,0x00,20);sprintf((char*)buff,"lumialarm:%dlux"/*为什莫后面只能跟符号*/,lumi_alarm);LCD_ShowString(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论