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

文章目录

  • 一、成果演示
  • 二、所用到的模块
  • 三、实现的功能
  • 四、接线说明
  • 五、WIFI模块配置步骤
    • 5.1云平台介绍
    • 5.2云平台使用
    • 5.3使用USB转TTL测试联通云平台
  • 六、STM32代码编写
  • 七、手机上查看数据
    • 6.1下载软件(仅限安卓手机)
    • 6.2操作

一、成果演示

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往云上发送一次数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/49534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

String、StringBuffer和StringBuilder

一、String类 1. String类的理解 2. String类结构 1. String类实现了Serializable接口,说明String对象可以串行化,即可以在网络上传输 2. String类实现了Comparable接口,说明String对象可以比较 String底层是一个字符数组,这个数组里存的是字符串的内容 例如:…

005 仿muduo实现高性能服务器组件_通信连接管理

​🌈个人主页:Fan_558 🔥 系列专栏:仿muduo 📒代码仓库: 项目代码 🌹关注我💪🏻带你学更多知识 文章目录 前言Channel模块设计原因整体设计代码如下 Connection模块设计原…

Florence2:Advancing a unified representation for a variety of vision tasks

Florence-2模型:开启统一视觉基础模型的新篇章_florence -2-CSDN博客文章浏览阅读1.1k次,点赞108次,收藏109次。Florence-2是由微软Azure AI团队开发的一款多功能、统一的视觉模型。它通过统一的提示处理不同的视觉任务,表现出色且优于许多大型模型。Florence-2的设计理念是…

用Postman Flows打造你的专属API:外部公开,轻松上手!

引言 Postman Flows 是一个使用 GUI 进行无代码 API 调用流程创建的服务。这篇文章我尝试使用 Flows 来构建将 Momento Topic 中的数据保存到 TiDB 的保存 API,因此想分享一些使用过程中的技巧等。 实现内容 将从 Momento Topics 配发的 JSON 数据保存到 TiDB 中。…

C++ 栈( stack )学习

目录 1.栈 2.模拟栈 1.1.入栈( push ) 1.2.出栈( pop ) 1.3.获取栈顶元素( top ) 3.直接使用栈( stack ) 3.1.导入头文件并创建栈 3.2.栈的操作 3.2.1.入栈( push ) 3.2.2.出栈( pop ) 3.2.3.获取栈顶元素( top ) 3.2.4.获取栈中元素个数( size ) 3.2.5.判断栈是否…

代码随想录算法训练营day8 | 344.反转字符串、541.反转字符串 II、卡码网:54.替换数字

文章目录 344.反转字符串思路 541.反转字符串 II思路 卡码网:54.替换数字思路复习:字符串 vs 数组 总结 今天是字符串专题的第一天,主要是一些基础的题目 344.反转字符串 建议: 本题是字符串基础题目,就是考察 revers…

docker挂载部署reids6.2.1

1.拉取镜像 docker pull redis:6.2.12.创建挂在目录(根据自己要求修改具体目录) mkdir -p /home/admin/redis/{data,conf}3.在/home/admin/redis/conf目录下创建redis.conf文件 cd /home/admin/redis/conf touch redis.conf4.复制下面文本到redis.conf…

浅析JWT原理及牛客出现过的相关面试题

原文链接:https://kixuan.github.io/posts/f568/ 对jwt总是一知半解,而且项目打算写个关于JWT登录的点,所以总结关于JWT的知识及网上面试考察过的点 参考资料: Cookie、Session、Token、JWT_通俗地讲就是验证当前用户的身份,证明-…

不断把别人“装”进我们的灵魂口袋

嘿,朋友们!今天我们来聊聊一种超酷的能量——本色示人。这不是什么秘密武器,但它比任何超能力都来得实在。 第一部分:本色示人,能量界的“超级赛亚人” 1.1 坦诚的超能力 想象一下,如果你的内心强大到可以…

Window部署Ollama+Qwen2.0+Open-WebUI

文章目录 Windows下安装Docker安装Docker检查是否安装成功, 出现版本即为安装成功安装Ollama启动 Ollama 并拉取模型(选做) 修改默认地址和端口(选做) Ollama 进行跨域配置安装open-webui Windows下安装Docker 准备条件 开启Hyper-V,在“启用或关闭Windows功能”里…

C语言 #指针数组 #数组指针 #数组参数、指针参数

文章目录 前言 一、指针数组 1、概念: 2、指针数组有什么用呢? 二、数组指针 1、数组指针的定义 2、数组名与 &数组名 的区别 3、数组指针如何初始化? 4、数组指针的用法 三、根据代码区分 指针数组 和 数组指针 四、数组参数、指针参数 …

Shell编程之正则表达式与文本三剑客

目录 一、正则表达式 1.引言--什么是正则表达式 1.1正则表达式的功能 2.基础正则表达式(BRE) 2.1特殊字符 2.2定位符 2.3非打印字符 3.扩展正则表达式(ERE) 4.元字符操作的案列 二、命令小工具 1.cut:列截取工具 2.sort排序 …

【Android】使用ViewPager2与TabLayout实现顶部导航栏+页面切换

【Android】使用ViewPager2与TabLayout实现顶部导航栏+页面切换 TabLayout与ViewPager2概述 TabLayout TabLayout 是 Android 支持库中的一个组件,它是 Design 支持库的一部分。TabLayout 提供了一个水平的标签页界面,允许用户在不同的视图…

CogVideo 实测,智谱「清影」AI视频生成,全民免费,连 API 都开放了!

不得不说,AI 视频生成界最近非常火热~ 前有快手「可灵」开放内测,一下子带火了老照片修复,全网刷屏: 怕是你还没拿到内测资格,被称为 “国货之光” 的「可灵」就结束了免费无限量模式。每天只有66点的免费额度&#x…

鸿蒙(API 12 Beta2版)【创建NDK工程】

创建NDK工程 下面通过DevEco Studio的NDK工程模板,来演示如何创建一个NDK工程。 说明 不同DevEco Studio版本的向导界面、模板默认参数等会有所不同,请根据实际工程需要,创建工程或修改工程参数。 通过如下两种方式,打开工程创…

2024-07-27 Unity Excel —— 使用 EPPlus 插件读取 Excel 文件

文章目录 1 前言2 项目地址3 使用方法3.1 写入 Excel3.2 读取 Excel3.3 读写 csv 文件 4 ExcelSheet 代码 1 前言 ​ 前几日,一直被如何在 Unity 中读取 Excel 的问题给困扰,网上搜索相关教程相对古老(4、5 年以前了)。之前想用 …

【openavis】明厨亮灶算法仓

明厨亮灶算法仓主要用于学校食堂,餐厅等饮食卫生安全监管场景,目前包含的算法如下: 算法类型 算法卡片 明厨亮灶算法仓 老鼠检测 垃圾桶未盖 厨师服检测 厨师帽检测 口罩检测 手套检测 动火离人 1. 算法规格介绍: 算…

基于STM32瑞士军刀--【FreeRTOS开发】学习笔记(一)|| RISC / 底层代码执行步骤 / 汇编指令

本篇文章基于韦东山老师讲课笔记和自己理解编写。 RISC ARM芯片属于精简指令集计算机(RISC:Reduced Instruction Set Computing),它所用的指令比较简单,有如下特点: ① 对内存只有读、写指令 ② 对于数据的运算是在CPU内部实现 …

你在找提升效率的解决方案还是追求效果的解决方案

企业在寻求“解决方案”时,最好先想清楚,你是想提升某项工作的效率,还是要改善某项工作的效果? 提升效率的解决方案主要是为了在保证质量的前提下提升某项确定工作的完成速度。以政务解决方案为例:当任何人都能通过移…

HAL STM32 SPI/ABZ/PWM方式读取MT6816磁编码器数据

HAL STM32 SPI/ABZ/PWM方式读取MT6816磁编码器数据 📚MT6816相关资料(来自商家的相关资料): 资料:https://pan.baidu.com/s/1CAbdLBRi2dmL4D7cFve1XA?pwd8888 提取码:8888📍驱动代码编写&…