标题:
STM32智能家居系统源码,自己原创
[打印本页]
作者:
假大宝剑
时间:
2018-7-18 22:09
标题:
STM32智能家居系统源码,自己原创
这个是我用32做的智能家居系统,可通过esp8266模块通过手机控制电器,超级方便哦
单片机源程序如下:
#include "stm32f4xx.h"
#include "systick.h"
#include "led.h"
#include "sys.h"
#include "key.h"
#include "tim4.h"
#include "beep.h"
#include "usart.h"
#include "stdio.h"
#include "DHT11.h"
#include "duoji.h"
#include "PWN.h"
#include "stdlib.h"
char read_data[30]={0};
uint16_t count=0;
float temp=22,Humi=67;
uint8_t data;
int kk=5,kkk=0,kai=0;
char Strf[2000]={0};
uint8_t dht_data[5]={0},ret=0;
char Strf[2000];
void wendu()
{
USART3_SendString("AT+CIPSEND=0,21\r\n");
delay_ms(700);
ret = dht11_read_data(dht_data);
if(ret == 0) //????
{
sprintf(Strf,"Temp=%d.%d,humi=%d.%d\r\n",dht_data[2],dht_data[3],dht_data[0],dht_data[1]);
USART3_SendString(Strf);
}
}
void duoji_pwm(uint32_t zhuan)
{
int i;
for(i=0;i<100;i=i+zhuan)
{
TIM_SetCompare2(TIM3,i);
delay_ms(50);
}
}
//-----------------------------------------------------------------
void moshi_1()
{
int a=0,i=5,j=0,k=0,c_s=3;
uint16_t shu[4];
int ceshi[5]={0};
if(read_data[count-1]=='n' && read_data[count-7]=='b')
{
PFout(8)=1;
a=0;
}
else if(read_data[count-1]=='f' && read_data[count-8]=='b')
{
PFout(8)=0;
a=0;
}
if(read_data[count-1]=='l' && read_data[count-9]=='G')
{
int x=0;
wendu();
a=0;
}
if((read_data[count-7]=='l' || read_data[count-6]=='l' || read_data[count-5]=='l')&&(read_data[count-6]=='e' || read_data[count-5]=='e'|| read_data[count-4]=='e'))
{
for(i=0;read_data[count-1-i]!='_';i++)
{
shu[i]=read_data[count-1-i];
}
if(i==3)
{
j=100;
}
else if(i==2)
{
j=(shu[0]-'0')+(shu[1]-'0')*10;
}
else if(i==1)
j=shu[0]-'0';
ceshi[c_s++]=j;
delay_ms(20);
if((ceshi[c_s-1])-(ceshi[c_s-2])==0)
{
a=0;
c_s=3;
}
TIM_SetCompare1(TIM14,j);
a=0;
}
if((read_data[count-7]=='d' || read_data[count-6]=='d'|| read_data[count-5]=='d' )&&(read_data[count-6]=='u' || read_data[count-5]=='u'|| read_data[count-4]=='u'))
{
for(i=0;read_data[count-1-i]!='_';i++)
{
shu[i]=read_data[count-1-i];
}
if(i==3)
{
j=(shu[0]-'0')+(shu[1]-'0')*10+(shu[2]-'0')*100;
}
else if(i==2)
{
j=(shu[0]-'0')+(shu[1]-'0')*10;
}
else if(i==1)
j=shu[0]-'0';
ceshi[c_s++]=j;
delay_ms(20);
if((ceshi[c_s-1])-(ceshi[c_s-2])==0)
{
a=0;
c_s=3;
}
if(j==0){kkk=0;}
if(j<45&&j>0){kk=14;kkk=1;}
else if(j>45&&j<90){kk=10;kkk=1;}
else if(j>90&&j<135){kk=7;kkk=1;}
else if(j>135&&j<180){kk=3;kkk=1;}
}
}
int main(void)
{
Systick_init(168);
usart1_init();
usart3_init(115200);
ESP8266_Init();
beep_init();
led_init();
tim7_init();
hongwai_init();
DHT11_init();
tim14_pwm_init();
tim3_ch2_pwm_init();
while(1)
{
if(a==0)
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
zonggongcheng19.rar
(4.08 MB, 下载次数: 67)
2018-7-18 22:09 上传
点击文件名下载附件
总工程
下载积分: 黑币 -5
作者:
形象代言人o
时间:
2019-5-10 11:19
感谢楼主的热心分享,能不能把原理图和接线图也发一下?
作者:
zheshen
时间:
2019-6-9 10:37
牛皮 学习一下
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1