基于STM32F103C8T6+ESP8266温室大棚远程监控系统

目录

一、项目功能

二、原理图

三、实物图

四、ATK-ESP8266WiFi模块固件烧录

五、原子云设置

 六、程序

七、资料清单

资料下载地址:基于STM32F103C8T6+ESP8266温室大棚远程监控系统

一、项目功能

 1、检测环境温湿度并显示;

2、检测土壤湿度并显示;

3、检测环境光照强度并显示;

4、检测环境中CO2并显示;

5、通过ESP8266将数据上传云平台和手机app;

6、超限蜂鸣器报警和电机系统工作;

二、原理图

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第1张图片

三、实物图

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第2张图片

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第3张图片

四、ATK-ESP8266WiFi模块固件烧录

使用的是正点原子的ESP8266模块 

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第4张图片

固件烧录

alientek_esp8266_32MC1_v2.4.bin           0x0000

esp_init_data_default_v08.bin                 0x3fc000

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第5张图片

 基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第6张图片

文件校验

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第7张图片

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第8张图片

五、原子云设置

首先我们进入原子云 原子云-用户登录 ,没有账号的需要先注册一个账号。

注册好之后就进入了以下页面,我们首先点击设备管理注册一个设备。

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第9张图片

点击新增设备选择ESP8266

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第10张图片

设备名称随便输入 

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第11张图片

 创建好设备之后就像下面一样,记住这个编号,后面会用到。可以看到现在状态是断开的。

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第12张图片

创建好设备之后,我们需要再创建一个分组。
我们点击分组管理,选择创建分组,分组名称自己填写

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第13张图片

然后我们还需要将我们创建好的设备添加进分组,刚创建好的分组,设备数量是0个,当我们把设备添加进分组之后,设备数量会变成1,如下图:

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第14张图片

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第15张图片

最后,我们点击账号信息,记住这个API,这是我们登录原子云demo的”账号密码“

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第16张图片

至此,云端的设置就大功告成了!

 六、程序

部分程序

void ESP8266_Station_Mode_yuanziyun_Test ( void )
{
	char i = 0;
   uint8_t value1 = 0, value2 = 0;
    uint8_t ucStatus;
    char cStr [ 100 ] = { 0 };

    uint8_t ucId;
    char cStr1 [ 100 ] = { 0 };
    char * pCh;

    printf ( "\r\n正在配置 ESP8266 ......\r\n" );

    //macESP8266_CH_ENABLE();											//使能ESP8266   使用的模块默认被使能  所以词句代码不起作用 可以删除

    //1、向模块发送测试指令 AT
    ESP8266_AT_Test ();
    //2、设置模块模式为STA模式 AT+CWMODE=1
    ESP8266_Net_Mode_Choose ( STA );
    //3、设置要连接路由器的 ID 和密码
    while ( ! ESP8266_JoinAP ( macUser_ESP8266_ApSsid, macUser_ESP8266_ApPwd ) )
	{
		Get_DHT11_Dat();
		Get_Soil_Light_CO2_Dat();
		
	}
    //4、连接原子云 发送设备编号和密码
    while ( ! ESP8266_ConnectYuanziyun ( yuanziyun_DeviceID, yuanziyun_DevicePassWord ) )
	{
		Get_DHT11_Dat();
		Get_Soil_Light_CO2_Dat();
	}

    printf ( "\r\n配置 ESP8266 完毕\r\n" );
    while ( 1 )
    {
		Get_DHT11_Dat();
		Get_Soil_Light_CO2_Dat();
		alarm();
//		sprintf ( cStr, "\r\10 20 30 40 50 \r\n");
//        printf ( "%s", cStr );                                             //打印数据
        ESP8266_SendString ( ENABLE, strtemp, 0, Single_ID_0 );               //通过透传模式 发送信息到原子云
		ESP8266_SendString ( ENABLE, "\r\n", 0, Single_ID_0 );
         ESP8266_SendString ( ENABLE, strhumi, 0, Single_ID_0 ); 
		ESP8266_SendString ( ENABLE, "\r\n", 0, Single_ID_0 );
		ESP8266_SendString ( ENABLE, adcxstr, 0, Single_ID_0 ); 
		ESP8266_SendString ( ENABLE, "\r\n", 0, Single_ID_0 );
		ESP8266_SendString ( ENABLE, soilstr, 0, Single_ID_0 ); 
		ESP8266_SendString ( ENABLE, "\r\n", 0, Single_ID_0 );
		ESP8266_SendString ( ENABLE, co2str, 0, Single_ID_0 ); 
		ESP8266_SendString ( ENABLE, "\r\n", 0, Single_ID_0 );
		Delay_ms ( 100 );
	        
        
    }
}

七、资料清单

基于STM32F103C8T6+ESP8266温室大棚远程监控系统_第17张图片

你可能感兴趣的:(stm32,ESP8266,温室大棚,温湿度,APP)