24小时联系电话:18217114652、13661815404
中文
行业资讯
ESP8266 入门
ESP8266 入门
如果您现在还没有听说过物联网 (IoT) 运动,那么您可能一直生活在困境中。如今,几乎所有嵌入式设备都以一种或另一种方式连接到互联网,以收集数据或将数据发送到云端。然后可以根据处理数据的服务器设置的不同条件来分析和/或操作该数据。为了将数据传输到云端,我们需要智能、可靠且廉价的互联网连接设备来帮助我们完成这一过程。虽然大多数物联网设备都可以使用功能强大的嵌入式计算设备(例如Raspberry Pi 4)开发,但我们的大多数应用程序都可以通过廉价、低功耗的设备实现。
大多数人都会同意 Arduino 是同类产品中第一个最简单、最便宜的微控制器平台。它在整个 Maker 社区中的扩散证明了这一点。作为公司和用户,社区发展壮大,Arduino Shields和设备本身也在发展。屏蔽(和一些较新的 Arduino 设备)增加了急需的互联网连接支持,使 Arduinos 成为真正的物联网设备。
进入ESP8266 MCU。这只小狗有一个微控制器 + 板载 Wi-Fi。将其与 Arduino IDE(通过使用外部库包)相结合,您现在拥有一个内置 Wi-Fi 的超便宜、类似 Arduino 的设备。像HiLetgo的NodeMCU板这样的板是完全独立的,可以像 Arduino 上的较小版本一样工作。在本文中,我们将学习如何开始使用HiLetgo的NodeMCU 板,并通过一些示例来运行任何基于 ESP8266 的评估板(由 Arduino IDE 库支持)。
开始设置
本教程假设您已安装并运行Arduino IDE软件。以下步骤将引导您在 Arduino IDE 环境中配置 ESP8266 板。
转到文件 > 首选项并将以下 URL 粘贴到“其他板管理器 URL”字段中:http :
//arduino.esp8266.com/stable/package_esp8266com_index.json
图 1:Arduino IDE 首选项
转到“工具”>“板”>“板管理器”……
搜索“esp8266”并按 Enter。一旦“esp8266”库出现,点击安装。
图 2:Arduino IDE 板管理器
现在将 Micro-USB 电缆插入您的电路板并根据您的电路板类型进行配置。在此示例中,我们使用HiLetgo的NodeMCU 板,因此我们需要配置更多板特定设置:
导航到工具 > 开发板,然后单击“NodeMCU 1.0(ESP-12E 模块)”
导航到“工具”>“闪存大小”并单击“4MB (FS:3MB OTA:~512KB)”
导航到“工具”>“CPU 频率”并单击“80 MHz”
导航到“工具”>“上传速度”,然后单击“921600”
导航到工具 > 端口并选择与您的设备关联的 COM 端口
你好世界:闪烁的 LED
在软件中,人们通常使用新语言或设置执行的最基本的测试是“Hello World”测试。这个概念很简单:在屏幕上打印“Hello World”。对于嵌入式系统,闪烁的 LED 很像相同的想法。闪烁的 LED 始终是测试微控制器是否正常工作的好方法,因为它让我们知道电路良好,例如电源、路由和其他电子设备。它还让我们知道编译的代码已被接受并加载到设备上,没有任何问题。
要开始使用固定的闪烁 LED 草图,请导航到文件 > 示例 > ESP8266,然后单击“闪烁”。此示例草图将打开和关闭 LED。点击左上角的“上传”按钮:
图 3:Arduino IDE 上传按钮
一旦设备被编程,你应该看到 NodeMCU 板的 LED 每隔一秒左右闪烁一次。
测试 Wi-Fi
正如介绍中提到的,在 Arduino 环境中使用 ESP8266 的整个想法是获得一个带有 Wi-Fi 的一体式、廉价、类似 Arduino 的设备。为了利用这一点,我们将要探索我们之前安装的 ESP8266 库附带的一些 Wi-Fi 草图示例。
让我们导航到文件 > 示例 > ESP8266HTTPClient 并单击“BasicHttpClient”。这将展示设备连接到 Wi-Fi 网络并从网页获取内容的能力。在第 35 行左右,您将看到以下代码:
WiFiMulti.addAP("SSID", "密码");
将“SSID”替换为您路由器的 Wi-Fi SSID,将“PASSWORD”替换为您的 Wi-Fi 密码。如果遇到问题,要记住的一件事是处理非字母数字字符。例如,如果您的路由器 SSID 是“我是路由器”,则有可能无法正确捕获撇号。为获得最佳效果,请确保使用仅包含数字和字母的 SSID。
替换 SSID 和密码后,请继续上传草图。草图上传到设备后,导航到工具并单击“串行监视器”。串行监视器输出应如下所示:
[SETUP] WAIT 3...
[SETUP] WAIT 2...
[SETUP] WAIT 1...
[HTTP] begin...
[HTTP] GET...
[HTTP] GET... code: 200
<HTML >
<HEAD>
<TITLE>Connection Header</TITLE>
</HEAD>
<BODY>
<P>
<IMG ALT="Jigsaw" BORDER="0" WIDTH=" 212"
HEIGHT="49" SRC="/icons/jigsaw">
<H1>
标题
</H1>
<P>
此页面将为您提供以下标题:
<P >
<CODE>ExtensionHeader: ExtensionValue<BR>
连接:扩展头</CODE>
<P>
如果您通过代理获取此页面,您应该<I>看不到</I>
<I>ExtensionHeader</I> !
<P>
<HR>
<BR>
<A HREF="mailto:[email protected]">[email protected]</A>
</BODY></HTML>
恭喜!您现在已成功将 ESP8266 设备连接到互联网。
ESP8266 和 MQTT
在MQTT 入门中,我们回顾了MQTT的概念以及如何使用以太网扩展板设置带有 Adafruit IO 的 Arduino Uno。这就是像 NodeMCU 这样的设备真正闪耀的地方。我们能够以低于 Arduino Uno 本身的成本组装一个完整的启用 MQTT 的设备,而无需任何外部屏蔽(因为我们内置了 Wi-Fi)。首先,我们将使用MQTT 入门中演示的相同示例除了我们将获取特定于 ESP8266 模块的草图。导航到文件 > 示例 > Adafruit MQTT 库,然后单击“mqtt_esp8266”。就像在上面的 HttpClient 示例中一样,我们需要在第 24 行附近提供 Wi-Fi SSID 和密码。我们还需要输入我们的 Adafruit IO 用户名和密钥(再往下几行)。有关设置 Adafruit IO 帐户或如何获取密钥的说明,请参阅MQTT 入门。填写完所有连接详细信息并上传草图后,您应该会在串行监视器(工具 > 串行监视器)中看到类似的输出:
......
WiFi 连接的
IP 地址:
192.168.68.136
连接到 MQTT。 .. MQTT 已连接!
发送光电管 val 0...OK!
发送光电管 val 1...OK!
发送光电管 val 2...OK!
发送光电管 val 3...OK!
您现在可以导航到 Adafruit IO 上的光电池馈送,以观察从您的 ESP8266 模块发送到您的 Adafruit IO MQTT 代理的数据。这是我自己的提要在一段时间后的样子:
图 4:在 Adafruit IO 上观察到的 MQTT 数据