Esp8266发展委员会范例
片上微控制器本身提供17个 GPIO (通用输入/输出)和一个10位 ADC 模拟输入。系统芯片有四个 PWM 接口,只支持软件。该芯片具有一个 SPI 接口、一个 I2C 接口、两个 UART 接口和一个用于串行数据
通信的红外遥控接口。因此,一个精心挑选的 esp8266开发板拥有任何单板微控制器必须拥有的一切。新增的 Wi-Fi 网络功能允许基于 esp8266的开发委员会连接 Wi-Fi 网络,连接互联网,托管 web 服务器,并实现全面的支持 Wi-Fi 的物联网应用程序。
当自托管嵌入式/物联网应用程序时,SoC 需要一个外部闪存来直接引导它。当用作 Wi-Fi 适配器时,芯片可以使用 SPI、 I2C 或 UART 连接到单板微控制器或单板机。
Esp8266系统芯片是为超低功耗技术设计的。它的设计考虑了可穿戴
电子设备、移动设备和物联网的应用。该芯片可以在三种模式下工作——活跃、睡眠和深度睡眠。在深度睡眠模式下,芯片只消耗60ua,在睡眠模式下,当连接到 Wi-Fi 接入点时,芯片只消耗不到1.0 mA 和0.5 mA。SoC 有一个内置的实时时钟和看门狗定时器,它们在睡眠模式下仍然处于活动状态。内置的 RTC 可以编程唤醒 esp8266在任何需要的间隔或当一个指定的条件检测。这样,一个基于 esp8266的设备可以被编程保持在低功耗待机模式,直到需要 Wi-Fi。
Esp8266是一款低功耗的支持 wifi 的微控制器解决方案,非常适合设计电池供电的可穿戴电子设备和便携/移动物联网设备。
ESP8266的功能
Esp8266系统芯片的一些最显著的特性如下。
- Wi-Fi 2.4GHz with WPA/WPA2 security
- Wi-Fi Direct (P2P station) ,SoftAP,SoftAP + station
- 支持 IPv4、 TCP/UDP/HTTP/FTP 网络协议
- 空间分集(外部,PCB 痕迹,陶瓷芯片,IPEX 连接器)
- GPIO, SDIO 2.0, SPI, I2C, UART, I2S, IR Remote Control, PWM
- Built-in 10-bit ADC 内置10位 ADC
- 内置 TR 开关,巴伦,低噪声放大器,功率放大器,匹配网络
- 可以通过 AT 指令集、云服务器、安卓和 iOS 应用程序进行配置
- 固件可以通过 UART 下载和 OTA (通过 Wi-Fi 网络)升级
Esp8266模块
有几个基于 esp8266的模块。这些要么是独立的模块,要么是完整的开发板。独立模块通常只包含 ESP8266 SoC 和运行它所需的组件。大多数独立模块都可以从 ai 思考者供应商获得 ESP-NN (esp01到 ESP14)系列。一个独立的模块 esp-wroom-02可从 Espressif 本身获得。其他独立模块可以从其他供应商获得,如 Wireless-tag、 Olimex、 Smarttime 和 Qilianer。下表列出并比较了可用的独立 esp8266模块。
这些独立模块只作为 Wi-Fi 适配器或支持 Wi-Fi 的微控制器开发板。这些模块的大小不同,引脚被打破,暴露在芯片上的特点,天线类型,和闪存。一个简单的 ESP8266 SoC 需要一个外部闪存、复位和编程威廉希尔官方网站
、芯片启动威廉希尔官方网站
、3.3稳压器电源和一个 USB-to-Serial 适配器。所有这些必需的功能可能集成在一个模块中,或者一些可能需要外部提供。
基于 esp8266的开发板拥有所有需要的威廉希尔官方网站
,有或没有 USB 接口进行编程。一些流行的 esp8266开发板可以从 Adafruit、 SparkFun、 NodeMCU 和 AI Thinkers 获得。下表列出了其中一些 esp8266开发板的显著特性。
Esp8266开发版可分为两类:
- 具有 USB 接口的 esp8266开发板: 这些开发板有一个用于编程的 USB 接口。他们有所需的所有威廉希尔官方网站
板载,不需要任何外部威廉希尔官方网站
设置。这类开发板的一些例子包括 SparkFun ESP8266 Thing、 Adafruit Feather HUZZA、 SparkFun Blynk Board,以及一些 AI Thinker ESP-NN 板。当这些板通过 USB 线连接到桌面计算机时,它们会显示在 Windows PC 的设备管理器中或 Linux 系统的 lsu*** 中。它们有一个3.3 v 的内置稳压器,可以通过 USB 接口直接编程。这种开发板不需要任何外部威廉希尔官方网站
来安装和操作。最多,一个可能需要焊接头引脚或得到头已经焊接。
- 没有 USB 接口的 esp8266开发板: 这些开发板需要一个 USB 到串行适配器来编程。董事会可能有一个3.3 v 的调节器,或者甚至可能没有。除了3.3 v 稳压器和 u*** 到串行适配器,威廉希尔官方网站
板需要一个外部威廉希尔官方网站
来启用芯片,并添加一个复位和编程按钮。
U*** 到串行转换器必须工作在3.3 v。如果 USB-to-Serial 适配器工作在5v,它将损坏 esp8266开发板。最流行的 u*** 到串行适配器与 e***8266开发板使用是 FTDI FT232RL,因为它可以切换到5v 和3v3操作。
为了将 u***-To-serial 适配器与 esp8266开发板连接,将 u***-To-serial 适配器的 u***-To-serial 适配器接地、 RX-pin、 TX-pin 和 DTR 引脚(如果有的话)连接到 esp8266芯片的接地、 TX、 RX 和 DTR 引脚。
如果 esp8266开发板没有内置3.3 v 调节器,3.3 v 电源可以通过 Arduino 的3.3 v 输出或使用 lm1117-3.3提供。大多数 Arduino 板的3.3 v 输出功能不足以驱动 ESP 开发板。因此,最好建议通过 lm1117-3.3提供电源。Lm1117-3.3必须作为后续连接,以提供电力给 esp8266。
LM11173.3 v esp8266威廉希尔官方网站
板稳压器威廉希尔官方网站
图。
用于重置、启用和编写 esp8266的威廉希尔官方网站
图。
为了使 esp8266芯片能够运行,通过一个10k 电阻器将 CH _ pd (芯片能够/芯片断电)引脚连接到 VCC。通过一个10k 电阻连接 gpib 15到地,禁用 SD 卡启动。通过一个10k 电阻器将 gpib 0连接到 VCC,选择正常启动模式。为了避免随机复位,通过10k 电阻器将 RST 引脚连接到 VCC。2必须保持不连接。连接一个按钮之间的 RST 引脚和地面添加一个重置按钮。通过470ω 电阻器将 gpib 0接地,并增加一个程序按钮。在编写 esp8266程序时,gpib 必须拉低。该芯片启用,复位和编程威廉希尔官方网站
的 esp8266开发板显示如下。
编程 esp8266开发板
编程 esp8266开发板需要加载固件到它。编写 esp8266开发板的程序主要有三种方法。有不是一个而是几种方式可以编写 esp8266。
- 使用 Arduino IDE-Arduino 提供了一个第三方插件来为不同的 cpu 使用 Arduino IDE。它使用 Xtensa GCC 工具链,在 Github 上可以作为 esp8266/Arduino 获得。它还提供了 ESPTool 上传十六进制文件(草图/应用程序代码)到 ESP8266 SoC。一旦管理器 URL 被添加到 IDE 的偏好设置菜单中,并且 esp8266板是通过 Tools-> Boards-> Board Manager 安装的,那么 esp8266开发板的代码就可以像 Arduino 板一样从 Arduino IDE 中编写、编辑、编译和上传。
- 手动设置 GCC Toolchain 和 SDK: Github 上有一个用于 esp8266开发板的开源工具链。这个工具链可以用来为自己建立一个自定义固件文件。工具链只能在 Linux 主机上运行,或者可以在使用 Linux 虚拟机的其他桌面系统上运行。
- 使用预先构建的自定义工具链: 一些预先构建的自定义工具链可以直接下载为 esp8266固件,然后草图(应用程序代码)可以闪存到该固件的 ESP8266。
Esp8266应用程序
Esp8266是一个功能强大的 Wi-Fi 网络解决方案与单板微控制器的特点。它最适合移动设备、可穿戴设备和物联网设备。有几个可用的 esp8266开发板,他们可以编程使用不同的工具链。不同的工具链允许使用多种编程语言(如 c、 Python、 Javascript、 LUA 脚本和 AT 命令)编写 esp8266开发板。使用 esp8266开发板的一些可能的物联网应用包括家庭自动化、网状网络、 IP 摄像机、婴儿监视器、可穿戴电子设备、工业无线控制、安全 ID 标签、传感器网络、 Wi-Fi 位置感知设备、 Wi-Fi 定位系统信标、智能插头和灯具、互联网控制家用电器等。
esp8266的设计考虑
在选择支持 wifi 的物联网应用的 esp8266开发板之前,有几个因素必须考虑
ESP8266以3.3 v 的电压工作,即使是5v 的电压也能杀死 SoC。在 GPIO 的 esp8266只能源或汇12毫安每个输出引脚。因此,esp8266只适用于低功耗物联网应用。
Esp8266型模数转换器的电压范围仅为0 ~ 1V。这限制了 esp8266在模拟传感领域的应用。
Esp8266与 Wi-Fi 收发器共享 CPU 时间和系统资源。因此,应用程序代码不应该有永远不能完成执行的长循环。因此,esp8266必须用于特定的物联网应用。
Esp8266中的 PWM 和 I2C 在软件上进行了
仿真,没有专用的硬件。