基于STM32通过云平台实现智慧大棚【手机远程查看温湿度】【报警】

一、成果演示

STM32通过物联网远程监测的温湿度和气压

二、所用到的模块

  • STM32
  • 正点原子WIFI模块
  • DHT11温湿度传感器
  • 蜂鸣器
  • 气压传感器模块
  • 面包板
  • USB转TTL模块
  • 杜邦线若干

三、实现的功能

  1. 将采集的温湿度数据通过WIFI上传到云平台,可通过电脑和手机就能远程查看到农业大棚里的数据
  2. 报警功能,当温度和湿度超过或者低于阈值时进行报警
  3. 气压环境监测

四、接线说明

蜂鸣器 核心板
GND
IO ------ PA8
VCC ----- 3.3v

温度传感器 – 采集环境温度 环境气压
VCC — 3.3V
GND
SCL — PB6
SDA — PB7
WIFI模块 链接原子云
VCC —3.3V
GND
TX —PA10
RX — PA9
RST — PC14

adc检测电压 气压和电压有一个对应关系
VCC — 5V
GND
AO — PA3
在这里插入图片描述

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1972dbb9ec1f4732a4375a5c76170545.png

五、WIFI模块配置步骤

5.1云平台介绍

项目中用到的云平台是原子云,在此项目中,相较于其他云平台兼容性要好很多,环境很好搭建。
云平台无非实现的就是远程控制和远程查看数据等功能,实现远程了解当地场景信息的目的,不用人为的去现场查看实际情况,节省人力物力。

5.2云平台使用

  1. 进入到原子云,没有账号需要先注册一个账号
  2. 点击左侧的设备管理
    在这里插入图片描述
  3. 点击新增设备,选择ESP8266,因为我们买的wifi模块是这个型号
  4. 名称随便输入就好,比如“智慧大棚”
  5. 记住密码,默认是“12345678”
  6. 创建好之后就会有一个编号了,这个编号就是在网络上的唯一标识,就相当于人的身份证号
  7. 在分组管理中根据下图进行操作
    在这里插入图片描述
  8. 账号信息中 将自己的API TOKEN记录一下

5.3使用USB转TTL测试联通云平台

WIFI模块可以使用STM32进行配置,也可以通过USB模块进行配置,都是通过串口进行的,本项目中是用的STM32直接发送串口指令,对WIFI模块进行配置,如果脱离STM32,使用USB转TTL配置也是可以实现上云通信功能的。

在电脑上通过串口小助手,以此发送以下指令

AT+RST
AT+CWMODE=1
AT+RST
ATE0
AT+CWJAP="GMWIFI-7402","GM5610322"
这里要久一点,大约10s左右,其他5s即可
AT+CIFSR(当断电,只需执行这两条指令就好)
AT+ATKCLDSTA="59312767944153276773","12345678"(当断电,只需执行这两条指令就好)
//实现透传发送数据验证一下 This ATK-MW8266D ALIENTEK Cloud Test

六、STM32代码编写

代码是通过HAL库实现的,外设驱动是使用软件STM32CubeMX配置的。
main.c中核心代码:

int main(void)
{
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_I2C1_Init();
  MX_TIM2_Init();
   DHT11_Init();
   bmp180_get_cal_param();
  while (1)
  {
        demo_run();
  }
}

demo_run:

void demo_run(void)
{
    uint8_t ret;
    char ip_buf[16];
    uint8_t key;
    uint8_t is_atkcld = 0;
    /* 初始化ATK-MW8266D */
    ret = atk_mw8266d_init(115200);
    if (ret != 0)
    {
        ret = atk_mw8266d_init(115200);
    }
    ret  = atk_mw8266d_restore();                               /* 恢复出厂设置 */
    ret += atk_mw8266d_at_test();                               /* AT测试 */
    ret += atk_mw8266d_set_mode(1);                             /* Station模式 */
    ret += atk_mw8266d_sw_reset();                              /* 软件复位 */
    ret += atk_mw8266d_ate_config(0);                           /* 关闭回显功能 */
    ret += atk_mw8266d_join_ap(DEMO_WIFI_SSID, DEMO_WIFI_PWD);  /* 连接WIFI */
    ret += atk_mw8266d_get_ip(ip_buf);                          /* 获取IP地址 */
    if (ret != 0)
    {
        while (1)
        {
             HAL_Delay(200);
        }
    }
//    demo_show_ip(ip_buf);
    /* 重新开始接收新的一帧数据 */
    atk_mw8266d_uart_rx_restart();
    demo_key1_fun(&is_atkcld); 
        /* 切换原子云连接状态 */
    if(is_atkcld == 0)
    {
        demo_key1_fun(&is_atkcld);   
    }        
    while (1)
    {
        DHT11_Read(&hum, &temp);
        GetRawData();
        if(bmp180_t>=30)
        {
          beep = 1;
        }
        else
        {
          beep = 0;
        }
        /* 功能测试 */
        demo_key0_fun(is_atkcld);
        /* 发送接收自原子云的数据到串口调试助手 */
        demo_upload_data(is_atkcld);
        HAL_Delay(500);
        HAL_Delay(500);
        HAL_Delay(500);
    }
}

全部详细可通过下面链接资源下载:
https://download.csdn.net/download/m0_48216397/89585199

七、手机上查看数据

6.1下载软件(仅限安卓手机)

百度网盘链接:提取码:y5q4

6.2操作

下载后会让输入TOKEN,也就是在原子云中的账号信息中的TIKEN,输入上就进入到界面中了。
进入界面后点击订阅按钮,采集的数据就出现在手机上了,程序中设计的是每间隔1s往云上发送一次数据。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通过STM32微控制器实现舵机的远程控制,可以采用以下步骤: 1. 连接STM32云平台:首先,将STM32与互联网连接起来,可以使用WiFi模块、以太网模块或者其他通信模块。确保STM32能够通过网络与云平台进行通信。 2. 注册云平台账号:在云平台上注册一个账号,并创建一个设备或者应用程序,获取到对应的访问密钥或API密钥。 3. 编写STM32代码:使用相应的开发工具(如Keil、STM32CubeIDE等),编写STM32的程序代码。首先,配置网络连接,确保STM32能够正常地连接到云平台。然后,根据云平台提供的API文档或开发指南,实现云平台的通信协议,例如MQTT或HTTP。 4. 实现舵机控制:在STM32的代码中,通过适配器或驱动程序控制舵机。根据云平台的指令或控制信号,改变舵机的角度或速度。可以使用PWM信号或其他适配方式来实现舵机控制。 5. 与云平台通信:在STM32的代码中,使用云平台提供的API或SDK,建立与云平台的连接,并发送舵机控制指令。可以通过订阅主题或向云平台发送请求来实现远程控制。 6. 测试与调试:将STM32连接到电源,运行程序,观察舵机的动作。同时,通过云平台的监控界面或日志信息,确认STM32云平台的通信是否正常,舵机是否按照预期进行控制。 通过以上步骤,可以实现基于STM32通过云平台远程控制舵机的功能。具体的实现方式和细节可能会根据使用的云平台和舵机型号有所差异,需要根据具体情况进行调整和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值