问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

ESP8266带你玩转智能设备电路图

创作时间:
作者:
@小白创作中心

ESP8266带你玩转智能设备电路图

引用
CSDN
9
来源
1.
https://blog.csdn.net/zlllg/article/details/71196493
2.
https://blog.csdn.net/m0_58773352/article/details/139704793
3.
https://blog.csdn.net/qq_60225692/article/details/124084786
4.
https://blog.csdn.net/ShenZhen_zixian/article/details/121611608
5.
https://blog.csdn.net/weixin_41583631/article/details/106488941
6.
https://zhuanlan.zhihu.com/p/534349806
7.
http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-iot-basics/
8.
https://www.cnblogs.com/zjutlitao/p/14353305.html
9.
https://zhaomenghuan.js.org/blog/nodemcu-esp8266-gpio-pwm.html

ESP8266是乐鑫信息科技推出的一款高性价比WiFi芯片,广泛应用于物联网和智能家居领域。它以其强大的可编程性和通信能力,成为智能设备中不可或缺的核心组件之一。本文将详细介绍如何利用ESP8266进行智能家居设备的电路设计和应用开发。

ESP8266基础认知

ESP8266集成了32位Tensilica处理器、标准数字外设接口、天线开关、射频balun、功率放大器、低噪放大器、过滤器和电源管理模块等。仅需很少的外围电路,可将所占PCB空间降低。ESP8266EX专为移动设备、可穿戴电子产品和物联网应用而设计,通过多项专有技术实现了超低功耗。ESP8266EX内置超低功耗Tensilica L106 32位RISC处理器,CPU时钟速度最高可达160 MHz,支持实时操作系统(RTOS)和Wi-Fi协议栈,可将高达80%的处理能力留给应用编程和开发。

电路图解析

供电电路

供电采用ASM1117-3.3,能够将USB的5V转3.3V。除此之外,还用了一个ASM1117-5.0来产生5V的稳压,供其他外围电路使用(如舵机、马达等)。

串口电路

ESP8266烧写和调试一般都是用串口的,因此开发板上需要集成一个串口电路,选择一颗比较便宜的:CH340。其典型电路:

我们使用的电路没有那么复杂,只要电源部分加个滤波,RX和TX各串一个470R的电阻(这颗芯片偏大,还有更小一些的国产串口芯片,也非常好用)。

自动烧写电路

ESP8266工作模式:

  • 下载模式:芯片启动时,若IO0为低电平,芯片会进入下载模式;
  • 运行模式:芯片启动时,若IO0为高电平,芯片会进入运行模式;

上图的逻辑关系如下:

  • DTR = 0,RTS = 0,此时Q1截止,Q2截止,EN = 1,IO0 = 1;
  • DTR = 0,RTS = 1,此时Q1截止,Q2导通,EN = 1,IO0 = DTR = 0;
  • DTR = 1,RTS = 0,此时Q1导通,Q2截止,EN = RTS = 0,IO0 = 1;
  • DTR = 1,RTS = 1,此时Q1截止,Q2截止,EN = 1,IO0 = 1;

显然,这种逻辑关系下EN和IO0不可能同时为0

然而,ESP8266进入下载模式却需要如下条件:

  • EN = 0,IO0 = 0,ESP8266芯片掉电复位;
  • EN = 1,IO0 = 0,保持IO0为低电平重新上电

此时要看下esp8266的下载烧录脚本(esptool.py):


def _connect_attempt(self, mode='default_reset', esp32r0_delay=False):
    """ A single connection attempt, with esp32r0 workaround options """
    # esp32r0_delay is a workaround for bugs with the most common auto reset
    # circuit and Windows, if the EN pin on the dev board does not have
    # enough capacitance.
    #
    # Newer dev boards shouldn't have this problem (higher value capacitor
    # on the EN pin), and ESP32 revision 1 can't use this workaround as it
    # relies on a silicon bug.
    #
    # Details: https://github.com/espressif/esptool/issues/136
    last_error = None

    # If we're doing no_sync, we're likely communicating as a pass through
    # with an intermediate device to the ESP32
    if mode == "no_reset_no_sync":
        return last_error

    # issue reset-to-bootloader:
    # RTS = either CH_PD/EN or nRESET (both active low = chip in reset
    # DTR = GPIO0 (active low = boot to flasher)
    #
    # DTR & RTS are active low signals,
    # ie True = pin @ 0V, False = pin @ VCC.
    if mode != 'no_reset':
        self._setDTR(False)  # IO0=HIGH
        self._setRTS(True)   # EN=LOW, chip in reset
        time.sleep(0.1)
        if esp32r0_delay:
            # Some chips are more likely to trigger the esp32r0
            # watchdog reset silicon bug if they're held with EN=LOW
            # for a longer period
            time.sleep(1.2)
        self._setDTR(True)   # IO0=LOW
        self._setRTS(False)  # EN=HIGH, chip out of reset
        if esp32r0_

智能家居应用实例

环境监测系统

ESP8266可以采集环境数据,如温度、湿度、烟雾检测和人体红外检测。这些数据可以通过WiFi网络上传到云平台,实现远程监控。

数据上传与云平台通信

采用MQTT协议进行数据传输。首先需要在阿里云物联网平台创建产品和设备,定义属性和主题。然后在ESP8266端编写代码,将采集到的数据发送到指定主题。

云平台查看主题:

ESP8266向云平台发送数据:

人体红外传感器部分:

人体红外传感器数据采用中断方式上传,当检测到人体移动时立即触发中断,上传数据。这样可以确保数据的实时性和准确性。

通过以上步骤,可以实现一个基本的智能家居环境监测系统。用户可以通过手机APP实时查看环境数据,并在异常情况下接收警报通知。

总结与展望

ESP8266凭借其强大的功能和低廉的成本,在智能家居领域展现出巨大的潜力。通过本文的介绍,相信读者已经对ESP8266的基本应用有了初步了解。接下来,可以尝试搭建一个简单的智能家居系统,亲身体验ESP8266的强大功能。随着技术的不断发展,ESP8266将在更多领域发挥重要作用,为我们的生活带来更多便利。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号