初识ESP8266

简介: 玩了IoT好几年了大多数时间都耗在搞4轴上,通信方式一直也就用着2.4G (nrf2401),以前一直认为这是一种最廉价的组合,用Arduino 做一个应用也是手到拈来,学无止境!当我无意地发现被我扔到角落上的ESP8266时,我在IoT中形成的世界观崩溃了,当然每次的崩溃带来的是极大的喜悦,因为终于找到了比Arduino 和STM更好的板子和开发方法。

玩了IoT好几年了大多数时间都耗在搞4轴上,通信方式一直也就用着2.4G (nrf2401),以前一直认为这是一种最廉价的组合,用Arduino 做一个应用也是手到拈来,学无止境!当我无意地发现被我扔到角落上的ESP8266时,我在IoT中形成的世界观崩溃了,当然每次的崩溃带来的是极大的喜悦,因为终于找到了比Arduino 和STM更好的板子和开发方法。

nodemcu

先来说说ESP8266的特点吧:

  • 提供硬件的高级接口,可以将应用开发者从繁复的硬件配置、寄存器操作中解放出来。用交互式Lua脚本,像arduino一样编写硬件代码!
  • 事件驱动型API极大的方便了用户进行网络应用开发,使用类似Nodejs的方式编写网络代码,并运行于5mm*5mm大小的MCU之上,加快物联网开发进度。
  • 用于快速原型的开发板,售价也就在10人民币左右 (Arudino + WIFI 可不止这个数)

ESP产品家族

ESP32

ESP8266
ESP-01
ESP-07
ESP-202
ESP-8266EX

ESP8266开发环境准备

ESP8266 针位

解决无法在Mac连接ESP8266的问题

CP210x USB to UART Bridge VCP Driver 安装后当接上ESP8266的测试板后死活无法找到该USB转串口的驱动,经过一番折腾终于在 https://blog.sengotta.net/signed-mac-os-driver-for-winchiphead-ch340-serial-bridge/ 上找到答案,这是由于CP210X驱动在Serial上没有合法的签名而导致加载失败( Sierra - macOS 10.12 的安全性被提高了),所以只能下载安装另一个驱动加以取代:CH304 就是一取代方案。

安装后连以前一直无法连接上的Arduino Nano 也被成功驱动了,确实是功夫不负有心人!

如何在macOS上刷NodeMCU的固件

首先按照下图所示的跳线方式将FTDI转串口的板子与ESP8266连接:

esp8266 刷固件跳线

下表为跳线的具体对应

ESP8266 (esp-01) FTDI Basic interface
RX TX
TX RX
VCC VCC 3.3V
GND GND
RESET �悬空
CH_PD VCC 3.3v
GPIO-0 GND
GPIO-2 �悬空

刷固件时GPIO必须接地

接着按node-emcu-devkit"Geting Started on OSX"一文的推荐,在Mac下可以用Python的esptool工具来刷ESP8266的固件,在终端用pip来安装esptool:

 $ pip install esptool

以下是esptool的具体用法帮助:

esptool 用法

安装成功esptool.py后接上ESP8266并在终端里读取一下串行端口的信息

$ esptool.py --port /dev/tty.wchusbserial1430 --baud 115200 read_mac

以上的指令是从串行口的驱动中读取物理的MAC地址(/dev/tty.wchusbserialXXX就是ESP8266的挂载点) 它将会返回这样的结果:

esptool.py v1.3
Connecting....
MAC: a0:20:a6:14:37:e2

接下来就需要将固件包刷到ESP8266上了,先从node-flasher 下载固件包:

本来有两个的,我只将常用的这个放上来,其它的你可以到GitHub上下载

最后,在终端输入以下指令进行固件更新:

$ esptool.py --port /dev/tty.wchusbserial1430 --baud 115200 write_flash 0x0 ./nodemcu-master-10-modules-2015-08-29-11-33-14-float.bin

使用Arduino IDE编程

刷完固件之后就可以开始着手编程了,由于这么多年一直在玩Arduino和树莓,一切硬件开发最终都是采用纯C,所以说开发环境一定是可以通用的,带着这种想法一入手NodeMCU立马想到的就是用Arduino IDE。

本文就先写这么多吧下一部分中我将会介绍NodeMCU中关于编程上让人极为兴奋的一些功能。

相关资源

相关文章
|
6月前
esp32s3实现openmv
esp32s3实现openmv
113 0
|
1月前
|
传感器 前端开发 IDE
基于ESP32的灌溉系统
基于ESP32的灌溉系统
39 1
|
5月前
|
传感器 IDE 开发工具
使用两块ESP8266实现ESP-NOW通信
ESP-NOW是一个强大的协议,可以在没有Wi-Fi网络的情况下实现设备间的快速通信。通过以上步骤,你可以使用两块ESP8266开发板建立一个简单的ESP-NOW通信系统。这种方式特别适用于低功耗、低延迟和无需网络基础设施的应用场景。希望这篇博客能帮你快速入门ESP-NOW,开启你的无线通信开发之旅。
526 4
|
5月前
|
监控 IDE 物联网
使用ESP32和OV2640进行图传
本文详细介绍了如何使用ESP32和OV2640进行图像传输。通过硬件连接、软件配置和编程实现,我们可以轻松地将摄像头捕捉的图像通过WiFi传输到浏览器中进行查看。这一技术在智能家居、安防监控等领域具有广阔的应用前景。希望这篇文章能为您提供有价值的参考。
533 2
|
6月前
汇编指令学习(MOV,MOVSX,MOVZX,LEA,XCHG)
汇编指令学习(MOV,MOVSX,MOVZX,LEA,XCHG)
87 0
|
传感器 存储 IDE
ESP32
ESP32是一系列低成本、低功耗的SoC微控制器,集成了Wi-Fi和双模蓝牙功能。ESP32系列采用Tensilica Xtensa LX6微处理器,包括双核和单核版本,也有Xtensa LX7双核微处理器或单核RISC-V微处理器,内置天线开关、射频平衡器、功率放大器、低噪声接收放大器、滤波器和电源管理模块。ESP32由上海的Espressif Systems公司创建和开发,使用台积电的40纳米工艺制造。它是ESP8266微控制器的后继产品。
746 3
|
数据安全/隐私保护
Esp8266+阿里云+STM32点灯(二)
Esp8266+阿里云+STM32点灯(二)
|
C语言 开发工具
STM32 ESP8266-01S 简单无线控灯
机智云物联网平台 STM32 ESP8266-01S 简单无线控灯
418 1