基于NodeMcu的远程天气预报获取及智能温度控制系统

编程入门 行业动态 更新时间:2024-10-28 07:18:45

基于NodeMcu的远程天气预报获取及智能温度<a href=https://www.elefans.com/category/jswz/34/1769287.html style=控制系统"/>

基于NodeMcu的远程天气预报获取及智能温度控制系统

所用模块及平台

1、NodeMcu开发板
2、blynk云平台
3、心知天气服务器
4、5v继电器
5、直流电机

功能流程图

功能描述

通过NodeMcu上打搭载的esp8266WiFi模块,将其接入互联网,从而接入blynk云平台,通过平台手机终端控制MCU开发板,实现远程控制,另外既然NodeMcu连上了互联网则可以访问心知天气(一个提供天气信息的平台)服务器,通过程序代码写入待查询地区,向心知天气服务器发出请求以获取天气预报,再利用Arduino的第三方json库将获取的数据进行解析,将需要显示的信息通过IIC通信发送给0.96OLED 屏幕,使其显示出来,我设置的是当读到温度大于20摄氏度时就自动触发继电器从而使直流电机开启,不仅可以通过温度控制,还能通过blynk终端远程向开发板发送命令从而控制直流电机从而达到双重控制。另外人性化交互设置就是当温度低于20摄氏度时,屏幕就会显示“It’s cold,plsease close the fan!”当未打开天气获取功能时,屏幕上温馨提示:“No open,please wait !”至于为什么全部都是英文我在总结中已经解释过了。

重要模块学习介绍

Nodemcu开发板
这是一块集成好的esp8266模块,上面有十个GPIO口,可以通过控制这些IO口来实现所需的功能,由于是集成好的班子,引脚与IO口之间就有一个映射,映射关系见下图:

其中我要介绍一下esp8266的工作模式的使用,这篇是我学习工作模式的参考
另外在arduino中对8266引脚进行操作时,不要看板子上写的那个号码,要看其对应的GPIO口号码,(这是我如果的一个坑)
关于8266先讲这么多,以后有新学再补充。
blynk云平台及终端的使用
我在整个项目中就只用了两个按钮控件如下图:
关于blynk软件的使用参见我的上一篇博客blynk的使用
这里就不多说了。
1路继电器
我使用的是单组继电器,主要是因为NodeMcu板子最大输出电压是5v,直接用单片机给电机供电可能有时会烧坏板子,所以我就接了一个继电器,继电器的工作内容就相当一个开关,实现用小电流控制大电流,继电器和驱动就是把电机的电源独立出来,理论上讲只要有驱动单片机可以驱动汽车甚至货车的电机。其中继电器的触发方式有高电平触发和低电平触发两种,这里采用低电平触发,所以刚开始设置与其相连的单片机IO口为高电平,通过blyn控制单片机的高低电平来控制电机,其中继电器的的使用方式某宝上介绍的很详细:
下面是电路图

差不多就这些了,下面附上部分截图:


代码

#include <SeeedOLED.h>
#include <avr/pgmspace.h>
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ArduinoJson.h>
#include <U8g2lib.h>

更多推荐

基于NodeMcu的远程天气预报获取及智能温度控制系统

本文发布于:2024-03-04 20:45:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1710378.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:控制系统   天气预报   温度   智能   NodeMcu

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!