ESP8266
(→SDK) |
(→资源) |
||
(未显示1个用户的106个中间版本) | |||
第14行: | 第14行: | ||
− | ESP8266 | + | ESP8266 芯片详细特性,参考此页:[[ESP8266 特性]] |
+ | ESP8266 芯片体系结构,移步: [[ESP8266 Arch]] | ||
− | + | ESP8266 内部有一个完整的 32bit MCU 核心,可用 RAM 在 50KB 左右,主频 80MHz,应该是一个功能不错的 MCU,其体系结构为 Xtensa L106。关于这个体系结构,参考 Xtensa L106 体系结构精要: [[Xtensa L106 Architecture]] | |
− | + | <br><br> | |
− | + | == 开发板 == | |
+ | ESP8266 外围只需晶振、电容、电阻等 7 个元器件,就能正常运行。为提供效率,快速、方便地使用,我们还是建议直接使用模块或者开发板 | ||
− | |||
− | + | === ESP8266 模块 === | |
+ | ESP8266 模块,是在 ESP8266 芯片基础上,加上必要的晶振、电容、电阻、SPI Flash、WiFi 天线组成的一个最小 WiFi 系统 | ||
− | + | 市面流行的模块,参考: [[ESP8266 Module]] | |
− | |||
− | + | ESP8266 叠加 1MB flash 版本:ESP8285,更是小到了极致(仅 13 个外围器件): | |
− | + | [[文件:NODE C.png | 640px]] | |
− | + | 模块大小:15.5mm x 17.8mm,一角硬币大小 | |
+ | <br><br> | ||
− | + | === 基于模块的最简系统 === | |
− | + | 使用 ESP8266 和一个 USB 转串口板,亦可搭建一个精简开发环境,可以直接使用 Noduino (支持 esp8266 的 Arduino ),也可直接使用 Noduino-SDK,便宜又灵活 | |
− | + | 移步: [[ESP8266 最简系统]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<br><br> | <br><br> | ||
− | === | + | === Noduino Falcon === |
− | + | Noduino 官方第一块开发板,开源硬件,电路原理、布线、光绘文件:https://github.com/icamgo/Noduino-Falcon-Board | |
− | + | 快速成型评估板,可直接使用支持 esp8266 的 Arduino ,也可直接使用 Noduino-SDK | |
− | |||
− | + | [[Noduino Falcon 硬件焊接调试指南]] | |
− | + | [[文件:Falcon-v1.0-1000.jpg | 600px]] | |
− | + | [[文件:Falcon-v2.4p-04.jpg | 600px]] | |
<br><br> | <br><br> | ||
− | === | + | === NodeMCU === |
− | + | 市面在售体积小巧的开发版,可以直接使用 Noduino (支持 esp8266 的 Arduino ),也可直接使用 Noduino-SDK,方便、快捷、便宜 | |
− | + | [[文件:Nodemcu-v1.0-board.jpg | 600px]] | |
− | + | <br><br> | |
− | + | == 市售成品模块 == | |
− | + | ||
− | + | ||
− | + | ||
− | * | + | === OpenPlug === |
− | * | + | |
− | * | + | * AC 85V - 250V Smart Plug |
− | * | + | * ESP8285 inside |
− | + | * 250V 10A relay | |
− | + | * Shell size 53mm x 53mm x 27mm | |
+ | |||
+ | |||
+ | [[文件:Open-plug-board-shell.jpg | 600px]] | ||
+ | [[文件:Open-plug-board.jpg | 600px]] | ||
+ | |||
+ | |||
+ | Please refer to: [[Noduino OpenPlug]] | ||
+ | |||
+ | Chinese version please refer to: [[Noduino OpenPlug CN]] | ||
+ | |||
+ | [[Noduino OpenPlug Manufacturing Guide]] | ||
+ | |||
+ | [[Noduino OpenPlug Manufacturing Guide CN]] | ||
<br><br> | <br><br> | ||
− | == | + | === OpenOnoff === |
− | + | Open Source general Power Switch | |
− | + | [[文件:Open-onoff-3.jpg | 600px]] | |
− | |||
− | + | * AC 85V - 250V General Power Switch | |
+ | * ESP8285 inside | ||
+ | * 250V 10A relay | ||
+ | |||
+ | |||
+ | Please refer to: [[Noduino OpenOnoff]] | ||
+ | |||
+ | Chinese version please refer to: [[Noduino OpenOnoff CN]] | ||
+ | |||
+ | [[Noduino OpenOnoff Manufacturing Guide]] | ||
+ | |||
+ | [[Noduino OpenOnoff Manufacturing Guide CN]] | ||
+ | |||
<br><br> | <br><br> | ||
− | === | + | === OpenLight === |
− | + | OpenLight Bulb: | |
− | [[文件: | + | [[文件:Openlight-bulb-1024.jpg | 600px]] |
+ | |||
+ | |||
+ | OpenLight Controller: | ||
+ | |||
+ | [[文件:OpenLight-ceiling-1-1280.jpg | 600px]] | ||
+ | |||
+ | [[文件:OpenLight-ceiling-4-1280.jpg | 600px]] | ||
+ | |||
+ | [[文件:Openlight-ctrl-demo.jpg | 600px]] | ||
+ | |||
+ | |||
+ | Please refer to [[Noduino OpenLight]] | ||
+ | |||
+ | Chinese version please refer to: [[Noduino OpenLight CN]] | ||
+ | |||
+ | [[Noduino OpenLight Manufacturing Guide]] | ||
+ | |||
+ | [[Noduino OpenLight Manufacturing Guide CN]] | ||
<br><br> | <br><br> | ||
− | === | + | === OpenCurtain === |
− | + | [[文件:OpenCurtain.jpg | 600px]] | |
− | + | Please refer to: [[Noduino OpenCurtain]] Open Source Smart Curtain Controller | |
+ | |||
+ | |||
+ | * AC 85V ~ 250V Power Supply | ||
+ | * 2 pin used by position sensor | ||
+ | * 2 pin used for controlling motor | ||
<br><br> | <br><br> | ||
第132行: | 第168行: | ||
学习、熟悉、快速成型建议从 Arduino 开发环境开始。 | 学习、熟悉、快速成型建议从 Arduino 开发环境开始。 | ||
− | 精确控制,产品化,建议使用我们的 SDK: | + | 精确控制,产品化,建议使用我们的 SDK: noduino-sdk (专为智能硬件和物联网应用优化,无缝使用云服务) |
+ | |||
+ | |||
+ | '''74880:''' | ||
+ | |||
+ | For FTDI chip: | ||
+ | |||
+ | <pre> | ||
+ | $ sudo setserial -v /dev/ttyUSB2 spd_cust divisor $((24000000/76800)) | ||
+ | $ picocom -b 38400 /dev/ttyUSB2 | ||
+ | </pre> | ||
第150行: | 第196行: | ||
=== SDK === | === SDK === | ||
− | 产品级开发,我们建议直接使用 SDK 开发,可以尝试 Noduino 社区的 | + | 产品级开发,我们建议直接使用 SDK 开发,可以尝试 Noduino 社区的 SDK,基于乐鑫官方最新的稳定版 SDK(保持同步),并做了很多易用和专业改进: |
https://github.com/icamgo/noduino-sdk | https://github.com/icamgo/noduino-sdk | ||
+ | |||
+ | <br><br> | ||
==== Quick Start ==== | ==== Quick Start ==== | ||
第158行: | 第206行: | ||
* [[Getting Started with Noduino SDK on Linux]] | * [[Getting Started with Noduino SDK on Linux]] | ||
* [[Getting Started with Noduino SDK on Mac OS X]] | * [[Getting Started with Noduino SDK on Mac OS X]] | ||
− | * [[Getting Started with Noduino SDK on Windows]] | + | * [[Getting Started with Noduino SDK on Windows]] |
+ | |||
+ | |||
+ | |||
+ | 其他例子(进相应目录,直接 make flash 一步完成编译上传): | ||
+ | |||
+ | * [https://github.com/icamgo/noduino-sdk/tree/master/examples/noduino/blink/main.c Blink 点灯示例] | ||
+ | * [https://github.com/icamgo/noduino-sdk/tree/master/examples/noduino/hello/main.c Hello World] 打印到串口 | ||
+ | * [https://github.com/icamgo/noduino-sdk/tree/master/examples/noduino/printf/main.c Serail Printf] 更多串口输出示例 | ||
+ | * [https://github.com/icamgo/noduino-sdk/tree/master/examples/noduino/dht21/main.cpp DHT21 温度传感器] DHT21 温度湿度传感器示例,性能价格很好的平衡,传感器三根线,红接3.3V,黑接地,中间数据线接开发板 D1 口 | ||
+ | * [https://github.com/icamgo/noduino-sdk/tree/master/examples/noduino/dht11/main.c DHT11 温度传感器] DHT11 温度湿度传感器,性能差些,但便宜,传感器三根线,VCC 接3.3V,GND 接地,中间数据线接开发板 D1 口 | ||
+ | * [https://github.com/icamgo/noduino-sdk/blob/master/examples/noduino/bmp085/main.c BMP085 气压、温度传感器] BMP085 气压、温度传感器,I2C 接口,SCL --> D9,SDA --> D8 | ||
+ | * [https://github.com/icamgo/noduino-sdk/blob/master/examples/noduino/tsl2561/main.c TLS2561 光照传感器] TLS2561 光照传感器,I2C 接口,SCL --> D9,SDA --> D8 | ||
+ | * [https://github.com/icamgo/noduino-sdk/blob/master/examples/noduino/bh1750/main.c BH1750 光照传感器] BH1750 光照传感器,I2C 接口,SCL --> D9,SDA --> D8 | ||
+ | |||
+ | |||
+ | |||
+ | * [https://github.com/icamgo/noduino-sdk/tree/master/examples/rawsdk/wifi-ap WiFi AP] | ||
+ | * [https://github.com/icamgo/noduino-sdk/tree/master/examples/rawsdk/tcp-client TCP Client] | ||
+ | * [https://github.com/icamgo/noduino-sdk/tree/master/examples/rawsdk/tcp-server TCP Server] | ||
+ | * [https://github.com/icamgo/noduino-sdk/tree/master/examples/rawsdk/udp-listen UDP Listen] | ||
+ | * [https://github.com/icamgo/noduino-sdk/tree/master/examples/rawsdk/udp-send UDP Send Data] | ||
+ | * [https://github.com/icamgo/noduino-sdk/tree/master/examples/rawsdk/mqtt MQTT Example] | ||
+ | |||
+ | |||
+ | * [[ESP8266 SmartConfig]] | ||
+ | * [[ESP8266 AirKiss NFF]] 微信 AirKiss 近场发现,简化智能设备生产过程 | ||
+ | * [[ESP8266 ESP NOW]] | ||
<br><br> | <br><br> | ||
− | ==== | + | ==== 分析杂记 ==== |
* [[ESP8266 Boot]] | * [[ESP8266 Boot]] | ||
+ | * [[ESP8266 ROM XTOS]] | ||
+ | * [[ESP8266 Memory Map]] | ||
* [[ESP8266 UART]] | * [[ESP8266 UART]] | ||
* [[ESP8266 GPIO]] | * [[ESP8266 GPIO]] | ||
+ | * [[ESP8266 I2S]] | ||
+ | * I2C: D8 (GPIO4) ---> SDA, D9 (GPIO5) ---> SCL | ||
+ | * [[ESP8266 SPI]] | ||
* [[ESP8266 Sleep]] ESP8266 提供三种可配置的睡眠模式,实际根据应用的功耗要求选用 | * [[ESP8266 Sleep]] ESP8266 提供三种可配置的睡眠模式,实际根据应用的功耗要求选用 | ||
* [[ESP8266 Flash]] | * [[ESP8266 Flash]] | ||
* [[ESP8266 Module]] | * [[ESP8266 Module]] | ||
− | * [[ESP8266 | + | * [[ESP8266 ADC]] |
− | * [[ESP8266 | + | * [[ESP8266 Low Power]] |
+ | |||
+ | * [[Hack mini K]] | ||
+ | * [[ESP8266 Debug Notes]] | ||
+ | |||
+ | * [[Fixup AI Thinker Plug]] 安信可积压 WiFi 插座处理 | ||
<br><br> | <br><br> | ||
− | == | + | == 即取即用方案 == |
+ | |||
+ | * [[WiFi 智能插座]] | ||
+ | |||
+ | * [[WiFi 智能灯]] | ||
* [[庭院监控]] | * [[庭院监控]] | ||
− | * WiFi | + | * [[WiFi 工业传感器]] |
− | * WiFi | + | * [[ESP8266 MP3]] WiFi 音乐电台 ,WiFi 音箱,云音乐播放器。。。 |
− | |||
− | * WiFi | + | * [[WiFi 智能门磁]] |
+ | |||
<br><br> | <br><br> | ||
== 资源 == | == 资源 == | ||
+ | |||
+ | * [[电路板核心生产流程]] | ||
* https://github.com/jcmvbkbc/gcc-xtensa | * https://github.com/jcmvbkbc/gcc-xtensa | ||
* https://github.com/esp8266/Arduino | * https://github.com/esp8266/Arduino | ||
* http://www.esp8266.com | * http://www.esp8266.com | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br><br> | <br><br> |
2021年1月19日 (二) 17:18的最后版本
目录 |
[编辑] 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
ESP8266 叠加 1MB flash 版本:ESP8285,更是小到了极致(仅 13 个外围器件):
模块大小:15.5mm x 17.8mm,一角硬币大小
[编辑] 2.2 基于模块的最简系统
使用 ESP8266 和一个 USB 转串口板,亦可搭建一个精简开发环境,可以直接使用 Noduino (支持 esp8266 的 Arduino ),也可直接使用 Noduino-SDK,便宜又灵活
移步: ESP8266 最简系统
[编辑] 2.3 Noduino Falcon
Noduino 官方第一块开发板,开源硬件,电路原理、布线、光绘文件:https://github.com/icamgo/Noduino-Falcon-Board
快速成型评估板,可直接使用支持 esp8266 的 Arduino ,也可直接使用 Noduino-SDK
[编辑] 2.4 NodeMCU
市面在售体积小巧的开发版,可以直接使用 Noduino (支持 esp8266 的 Arduino ),也可直接使用 Noduino-SDK,方便、快捷、便宜
[编辑] 3 市售成品模块
[编辑] 3.1 OpenPlug
- AC 85V - 250V Smart Plug
- ESP8285 inside
- 250V 10A relay
- Shell size 53mm x 53mm x 27mm
Please refer to: Noduino OpenPlug
Chinese version please refer to: Noduino OpenPlug CN
Noduino OpenPlug Manufacturing Guide
Noduino OpenPlug Manufacturing Guide CN
[编辑] 3.2 OpenOnoff
Open Source general Power Switch
- AC 85V - 250V General Power Switch
- ESP8285 inside
- 250V 10A relay
Please refer to: Noduino OpenOnoff
Chinese version please refer to: Noduino OpenOnoff CN
Noduino OpenOnoff Manufacturing Guide
Noduino OpenOnoff Manufacturing Guide CN
[编辑] 3.3 OpenLight
OpenLight Bulb:
OpenLight Controller:
Please refer to Noduino OpenLight
Chinese version please refer to: Noduino OpenLight CN
Noduino OpenLight Manufacturing Guide
Noduino OpenLight Manufacturing Guide CN
[编辑] 3.4 OpenCurtain
Please refer to: Noduino OpenCurtain Open Source Smart Curtain Controller
- AC 85V ~ 250V Power Supply
- 2 pin used by position sensor
- 2 pin used for controlling motor
[编辑] 4 开发工具
学习、熟悉、快速成型建议从 Arduino 开发环境开始。
精确控制,产品化,建议使用我们的 SDK: noduino-sdk (专为智能硬件和物联网应用优化,无缝使用云服务)
74880:
For FTDI chip:
$ sudo setserial -v /dev/ttyUSB2 spd_cust divisor $((24000000/76800)) $ picocom -b 38400 /dev/ttyUSB2
[编辑] 4.1 Arduino
[编辑] 4.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
[编辑] 4.2 SDK
产品级开发,我们建议直接使用 SDK 开发,可以尝试 Noduino 社区的 SDK,基于乐鑫官方最新的稳定版 SDK(保持同步),并做了很多易用和专业改进:
https://github.com/icamgo/noduino-sdk
[编辑] 4.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 --> D9,SDA --> D8
- TLS2561 光照传感器 TLS2561 光照传感器,I2C 接口,SCL --> D9,SDA --> D8
- BH1750 光照传感器 BH1750 光照传感器,I2C 接口,SCL --> D9,SDA --> D8
- ESP8266 SmartConfig
- ESP8266 AirKiss NFF 微信 AirKiss 近场发现,简化智能设备生产过程
- ESP8266 ESP NOW
[编辑] 4.2.2 分析杂记
- ESP8266 Boot
- ESP8266 ROM XTOS
- ESP8266 Memory Map
- ESP8266 UART
- ESP8266 GPIO
- ESP8266 I2S
- I2C: D8 (GPIO4) ---> SDA, D9 (GPIO5) ---> SCL
- ESP8266 SPI
- ESP8266 Sleep ESP8266 提供三种可配置的睡眠模式,实际根据应用的功耗要求选用
- ESP8266 Flash
- ESP8266 Module
- Fixup AI Thinker Plug 安信可积压 WiFi 插座处理
[编辑] 5 即取即用方案
- ESP8266 MP3 WiFi 音乐电台 ,WiFi 音箱,云音乐播放器。。。
[编辑] 6 资源