ESP8266
目录 |
1 概述
ESP8266 是一个带完整 WiFi 功能、 同时带一个 32bit MCU 的 SoC,可以取代原 Arduino 核心板 + WiFi 扩展板完成的大部分应用
最重要的,他的价格,只有 RMB 10 块左右
带 1MB Flash 的模块价格,也只在 RMB 13 块左右,批量的价格更便宜
下图是一个典型的、可独立运行的模块,外部元器件 10 个以内(实际 7 个外围元器件就行):
ESP8266 芯片详细特性,参考此页:ESP8266 特性
ESP8266 芯片体系结构,移步: ESP8266 Arch
ESP8266 内部有一个完整的 32bit MCU 核心,可用 RAM 在 50KB 左右,主频 80MHz,应该是一个功能不错的 MCU,其体系结构为 Xtensa L106。关于这个体系结构,参考 Xtensa L106 体系结构精要: Xtensa L106 Architecture
2 开发板
ESP8266 外围只需晶振、电容、电阻等 7 个元器件,就能正常运行。为提供效率,快速、方便地使用,我们还是建议直接使用模块或者开发板
2.1 ESP8266 模块
ESP8266 模块,是在 ESP8266 芯片基础上,加上必要的晶振、电容、电阻、SPI Flash、WiFi 天线组成的一个最小 WiFi 系统
市面流行的模块,参考: ESP8266 Module
2.2 基于模块的最简系统
使用 ESP8266 和一个 USB 转串口板,亦可搭建一个精简开发环境,可以直接使用 Noduino (支持 esp8266 的 Arduino ),也可直接使用 Noduino-SDK,便宜又灵活
移步: ESP8266 最简系统
2.3 NodeMCU
市面在售体积小巧的开发版,可以直接使用 Noduino (支持 esp8266 的 Arduino ),也可直接使用 Noduino-SDK,方便、快捷、便宜
2.4 Falcon
努力完善中。。。目标为智能硬件快速成型评估板,兼顾极客玩家。。。,可以直接使用 Noduino (支持 esp8266 的 Arduino ),也可直接使用 Noduino-SDK,方便、快捷、便宜
2.5 市售各种集成模块
市售如下两款集成模块,都预留了串口,可以使用 Noduino SDK 进行串口升级,刷写您自己编译的固件:
带 4 路 PWM 的灯具调光模块:
带继电器的开关通断模块:
3 开发工具
学习、熟悉、快速成型建议从 Arduino 开发环境开始。
精确控制,产品化,建议使用我们的 SDK: noduino-sdk (专为智能硬件和物联网应用优化,无缝使用云服务)
3.1 Arduino
3.1.1 Quick Start
- Getting Started with Noduino on Windows (Arduino ESP8266 Extended)
- Getting Started with Noduino on Mac OS X (Arduino ESP8266 Extended)
- Getting Started with Noduino on Linux (Arduino ESP8266 Extended)
详细参考:ESP8266 Arduino
3.2 SDK
产品级开发,我们建议直接使用 SDK 开发,可以尝试 Noduino 社区的 SDK,基于乐鑫官方最新的稳定版 SDK(保持同步),并做了很多易用和专业改进:
https://github.com/icamgo/noduino-sdk
3.2.1 Quick Start
- Getting Started with Noduino SDK on Linux
- Getting Started with Noduino SDK on Mac OS X
- Getting Started with Noduino SDK on Windows
其他例子(进相应目录,直接 make flash 一步完成编译上传):
- Blink 点灯示例
- Hello World 打印到串口
- Serail Printf 更多串口输出示例
- DHT21 温度传感器 DHT21 温度湿度传感器示例,性能价格很好的平衡,传感器三根线,红接3.3V,黑接地,中间数据线接开发板 D1 口
- DHT11 温度传感器 DHT11 温度湿度传感器,性能差些,但便宜,传感器三根线,VCC 接3.3V,GND 接地,中间数据线接开发板 D1 口
- BMP085 气压、温度传感器 BMP085 气压、温度传感器,I2C 接口,SCL --> D1,SDA --> D2
- TLS2561 光照传感器 TLS2561 光照传感器,I2C 接口,SCL --> D1,SDA --> D2
- BH1750 光照传感器 BH1750 光照传感器,I2C 接口,SCL --> D1,SDA --> D2
- WiFi AP
- TCP Client
- TCP Server
- UDP Listen
- UDP Send Data
- MQTT Example 参考:https://github.com/icamgo/noduino-sdk/tree/master/lib/mqtt
- ESP8266 SmartConfig
- ESP8266 AirKiss NFF 微信 AirKiss 近场发现,简化智能设备生产过程
- ESP8266 ESP NOW
3.2.2 分析杂记
- ESP8266 Boot
- ESP8266 Upload
- ESP8266 Memory Map
- ESP8266 UART
- ESP8266 GPIO
- ESP8266 I2S
- ESP8266 Sleep ESP8266 提供三种可配置的睡眠模式,实际根据应用的功耗要求选用
- ESP8266 Flash
- ESP8266 Module
4 即取即用方案
- WiFi 低功耗传感器示例: https://github.com/EspressifSystems/low_power_voltage_measurement https://github.com/EspressifSystems/low_power_voltage_measurement/wiki
5 资源
- https://github.com/jcmvbkbc/gcc-xtensa
- https://github.com/esp8266/Arduino
- http://www.esp8266.com
- https://github.com/nodemcu