要开始使用物联网 (IoT),您的设备需要连接到互联网。基本的 Arduino 微控制器默认情况下不具备互联网连接功能,因此您需要为其添加以太网、Wi-Fi 扩展板或适配器,或者购买具有内置互联网连接功能的 Arduino。除了复杂性之外,这两种方法都会增加成本并占用已经很宝贵的 Arduino 闪存 RAM 用于程序空间,从而限制了您可以执行的操作。
另一种方法是使用 Raspberry Pi 或 类似的单板计算机,它们运行像 Linux 这样的完整操作系统。Raspberry Pi 是 许多物联网用例的可靠选择,但当您真正只想读取传感器并将读数发送到云服务器时,它通常显得大材小用。Raspberry Pi 不仅可能增加您项目的 成本、复杂性和功耗,而且它运行的是需要修补的完整操作系统,并且比简单的微控制器具有更大的攻击面。当涉及到 物联网设备和安全性 时,越简单越好,这样您就可以花更多时间制作,而花更少时间修补您已经制作的东西。
当 ESP8266 Wi-Fi 芯片在 2014 年上市时,几乎没有英文文档,创客社区对其很感兴趣,但并不完全了解其全部潜力。由于其低成本(2 美元)和一个热爱挑战的充满活力的社区,创客们很快弄清楚了如何使用 ESP8266 为他们的 Arduino 启用 Wi-Fi 功能。随着他们越来越多的协作,他们意识到 ESP8266 可以充当独立的微控制器,无需 Arduino 每隔几个月快速前进一次。社区很快将 ESP8266 支持添加到 Arduino IDE 中,使 ESP8266 像 Arduino 一样易于编程。作为微控制器的低成本 Wi-Fi 启用器和微控制器本身,ESP8266 迅速成为那些了解内情的创客的 地板蜡和甜点配料。
ESP8266 到底是什么?ESP8266 是 乐鑫科技 制造的 32 位 RISC CPU。它的时钟默认以 80MHz 运行,它有 64KB 的指令 RAM、96KB 的数据 RAM,并支持高达 16MB 的外部闪存。与 Arduino UNO 相比,这些规格令人印象深刻,Arduino UNO 以 16MHz 运行,只有 2KB 的 SRAM、32KB 的闪存、1KB 的 EEPROM,并且价格是其几倍。另一个很大的区别是 ESP8266 的工作电压为 3.3 伏,而大多数 Arduino 的工作电压为 5 伏。在将您现有的 Arduino 知识和项目扩展到 ESP8266 时,请记住这种电压差异,以防止 魔烟。
虽然芯片是相同的,但许多开源硬件制造商开发了 令人眼花缭乱的模块和板卡,具有独特的功能,因此请明智地选择。最大的区别在于暴露的引脚数量、程序存储的闪存 RAM 大小以及外形尺寸。
2014 年使 ESP8266 声名鹊起的模块是 ESP-01,如下图所示,您可以在其中看到 ESP8266 芯片、闪存 RAM 芯片和内置 Wi-Fi 天线。
ESP-01 模块的顶面,该模块搭载了 ESP8266 Wi-Fi 芯片。此照片已根据 CC-BY-SA 4.0 获得许可。
ESP-01 售价 2 美元,仅比您的拇指指甲稍大一点,似乎是开始进入 ESP8266 和物联网世界的完美选择,但它确实存在一些限制。首先,您需要一个 USB 转串口转换器来对其进行编程。其次,您需要一个 3.3 伏电源为其供电。它也不适合面包板,因此您需要使用跳线或适配器。最后,只暴露了两个 GPIO 引脚,这使得该设备很有用,但不如拥有更多可用引脚的 Arduino 那样有用。总的来说,ESP-01 是一款非常紧凑的设备,适用于成品项目,但对于入门和原型设计来说,有更好的板卡。
对于入门和原型设计,我推荐 NodeMCU 或 WeMos D1 系列。这些低于 6 美元的设备通过提供内置 USB 转串口连接、(基本)兼容面包板以及暴露大部分(如果不是全部)可用的 ESP8266 GPIO 引脚来弥补 ESP-01 的局限性。
NodeMCU 最初引人注目是因为它配备了专门的固件,使您可以使用 Lua 脚本语言对其进行编程。对于像我这样的 Arduino 死忠爱好者,您也可以使用 Arduino IDE 及其类似 C 语言的编程语言。在(基本)兼容面包板方面,NodeMCU 有 几个版本,外形尺寸略有不同。就我个人而言,我喜欢 NodeMCU v2,因为它足够窄,可以安装在面包板中,您可以在每一侧使用一排面包板引脚。v1 和 v3 版本更宽,NodeMCU 需要跨接在两个面包板并排。判断 NodeMCU 是否为 v2 的一个简单方法是确认 USB 转串口芯片是方形的 CP2102(如下图所示),而较宽的版本通常使用矩形的 CH340G。
NodeMCU 开发板,它基于 ESP8266 Wi-Fi 芯片。此照片已根据 CC-BY-SA 4.0 获得许可。
WeMos 也生产了几款基于 ESP8266 的板卡。D1 复制了 Arduino Uno 的外形尺寸,这使您可以重复使用许多您已经拥有的 Arduino 扩展板。D1 mini 和 D1 mini pro 像 NodeMCU 一样兼容面包板,但两者都比 NodeMCU 更小。更紧凑的尺寸比 NodeMCU 暴露的 GPIO 引脚更少,但这些型号本身就配备了丰富的 扩展板。
您可以使用 ESP8266 做什么?简而言之,很多。您可以将传感器连接到它,并将数据 显示在 ESP8266 本身运行的 Web 服务器上,或者将数据 记录在云端 或 到 MQTT 消息代理。反过来,您可以将显示器连接到 ESP8266 以跟踪 天气、飞机 或您想要的任何其他内容。其他示例包括 使用 Amazon Alexa 进行家庭自动化 和 广播到您的电视。有关更多想法,请查看 Hackaday 和 YouTube。
总的来说,我发现 ESP8266 是我的创客工具包的完美补充,与我的 Raspberry Pi 和 Arduino 并驾齐驱。鉴于其低成本和充满活力的用户社区,您每天都会看到新的和令人兴奋的用例出现。
您试用过 ESP8266 吗?我很想在下面的评论中听到您的经验。
9 条评论