0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用Internet控制ESP8266

454398 来源:工程师吴畏 2019-07-29 14:23 次阅读

概述

尽管ESP8266 WiFi模块的主要目的是将互联网连接引入我们的小型DIY项目,但我相信到目前为止我们还没有完全利用ESP8266 WiFi模块的功能,即一个真正的IoT物联网)项目。

我想通过互联网实际控制ESP8266,让ESP8266项目更进一步。在这个过程中,我们将学习如何通过互联网控制连接到ESP8266 WiFi模块的一个GPIO引脚的LED(仅用于演示工作)来控制ESP8266,即ESP8266的另一个网络未连接到

这与WiFi控制的LED项目有什么不同?

非常好题。这个项目和早期的项目实际上有两个不同之处。第一个区别是ESP8266 WiFi模块是如何控制的。在之前的项目中,我通过WiFi网络控制ESP8266,即通过与ESP8266连接到同一网络的计算机或电话控制ESP8266。

来到这个项目,目的是是通过互联网控制ESP8266,即通过互联网连接从世界任何地方的计算机或电话控制。

第二个区别是ESP8266 WiFi模块的配置方式。如果你还记得,我特别提到ESP8266 WiFi模块必须用AT命令固件刷新,我们将通过上传到Arduino的程序控制ESP8266。

但是,在这个项目中,我将直接将代码上传到ESP8266 WiFi模块的ROM中(现有的程序或固件将被删除)。

现在我们已经看到了差异,让我们继续进行项目的电路图和电路设计

电路图

以下电路用于通过互联网控制ESP8266。让我们先看一下这些组件,然后详细解释电路的设计。

怎样用Internet控制ESP8266

下图显示了电路图中使用的ESP8266 WiFi模块的引脚。有关实际引脚图,请参阅开始使用ESP8266和ARDUINO 项目。

必需的组件

Arduino UNO(作为USB转串口转换器

ESP8266(ESP-01)WiFi模块

滑动开关(SPDT开关)

按钮

1KΩ电阻(1/4瓦)

2.2KΩ电阻(1/4瓦)

330Ω电阻(1/4瓦)

LED

连接电线

迷你面包板

注意:

Arduino UNO用作USB转串口转换器。所以,我已经从Arduino UNO Board中移除了ATmega328p微控制器。如果您有专用的USB转串口转换器(USB转TTL),那么您将不需要Arduino。

此外,我已经制作了一个简单的ESP8266分线板一个名为 DIY PCB FOR ESP8266 的早期项目。它包含与ESP8266 WiFi模块相关的所有重要组件。我将在此项目中使用相同的电路板。

电路设计

将ESP8266的VCC和GND连接到Arduino的3.3V和GND。 CH_PD引脚也连接到3.3V电源。按钮连接在复位引脚和GND之间。

ESP8266 WiFi模块的TX引脚连接到Arduino的TX引脚,ESP8266的RX引脚连接到连接到Arduino的RX引脚,但通过一个由两个电阻(1KΩ和2.2KΩ)组成的分压器。

LED连接到ESP8266的GPIO2引脚。最后,GPIO0引脚连接到SPDT开关的极点(滑动开关的中心端子)。开关的一个投射端子连接到GND,另一个投射端子保持打开,但可以用于GPIO连接。

代码

必须将以下程序上传到ESP8266 WiFi模块。它将设置WiFi连接并创建一个简单的HTML页面,可以使用ESP8266的IP地址进行访问。

注意:

在将代码上传到ESP8266之前,请确保在Arduino Boards部分中选择了“Generic ESP8266 Module”。

有关如何将程序上传到ESP8266的更多信息,请参阅ESP8266和Arduino项目入门。

在代码中输入WiFi网络的详细信息。

我已将ESP8266 WiFi模块的静态IP地址分配为“192.168.1.254”。在确认没有其他具有此IP地址的设备后,我选择了此地址。分配静态IP地址时,请确保相同。

除静态IP地址外,还必须提供其他信息,如默认网关和子网掩码。您可以通过在Windows的命令提示符下键入“ipconfig”来找到它。

工作

要上传代码,将GPIO0引脚滑动到编程模式(将GPIO0连接到GND),然后按RESET开关。在Arduino IDE中选择正确的板和端口后,上传代码。

上传代码后,将开关滑动到正常模式并按一下RESET按钮。打开串行监视器。在那里,您可以看到WiFi连接的详细信息。

您还可以看到ESP8266 WiFi模块的IP地址。由于我分配了一个静态IP地址,我会得到相同的。如果您已选择不分配静态IP地址,则使用路由器分配的地址。

在代码中,我在端口255创建了服务器。所以,服务器的URL将是http://192.168.1.254:255 。

在连接到同一WiFi网络的计算机或手机中打开网络浏览器并输入以上内容提到的URL。将打开一个简单的HTML页面,其中包含少量文本和链接。下图是已打开URL的手机的屏幕截图。

您可以点击指向的特定链接在本地控制LED,即在WiFi网络内。

如何通过互联网控制ESP8266?

现在是通过互联网控制ESP8266 WiFi模块的技巧部分。有两种方法可以实现这一目标。一种方法是使用端口转发,我将在此项目中使用,另一种方法是使用专用的远程服务器,如ThingSpeak或aREST。

我已经设置我的ESP8266 WiFi模块的静态IP地址,下一步是继续进行端口转发。

从任何浏览器打开路由器页面并使用路由器登录详细信息登录。转到路由器的Port Forwarding页面(取决于路由器,在我的情况下是我的WAN设置)。

启用端口转发并提供本地服务器IP地址等必要的详细信息( ESP8266的静态IP地址),端口号等,并保存设置。

现在,转到具有高级安全设置的Windows防火墙并添加新的入站规则。选择“端口”的规则类型并指定端口号。

打开任何Web浏览器并搜索“我的IP地址是什么”。它会生成路由器的WAN IP地址。请记下来。

现在,从另一台计算机(任何未连接到与ESP8266相同的WiFi网络的计算机),键入您刚才记下的IP地址端口号。例如,如果您的IP地址是183.92.192.58且端口号是255,则在任何Web浏览器中键入“183.92.192.58:255”。您现在将获得用于控制LED的HTML页面。

重要说明:

建议不要使用端口转发,因为它会将计算机打开到外部,并且很容易受到病毒或恶意软件的攻击。《/span》

此外,还有许多ISP(Internet服务提供商)不允许端口转发。

另一种方法是使用ThingSpeak或aREST等专用安全服务器。

下一个项目,我将向您展示如何使用其中一种服务从互联网上控制ESP8266。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Internet
    +关注

    关注

    0

    文章

    400

    浏览量

    36852
  • ESP8266
    +关注

    关注

    50

    文章

    962

    浏览量

    44990
收藏 人收藏

    评论

    相关推荐

    esp8266加入到c51单片机单通道程序怎么写

    要将ESP8266模块加入到C51单片机的单通道程序中,您需要了解如何通过串行通信(UART)与ESP8266进行通信。以下是如何实现这一点的步骤和示例代码。 步骤 1:硬件连接 首先,您需要
    的头像 发表于 10-18 11:32 599次阅读

    ESP8266 太空人动画的 OLED 显示

    ESP8266 太空人动画的 OLED 显示
    的头像 发表于 10-08 15:06 278次阅读
    <b class='flag-5'>ESP8266</b> 太空人动画的 OLED 显示

    ESP8266 通过 MQTT 协议实现 LED 的远程控制

    本文简要介绍了搭建 EMQX 服务器实现基于 MQTT 协议远程控制 NodeMCU ESP8266 板载 LED 的解决方案。
    的头像 发表于 09-25 09:11 2005次阅读
    <b class='flag-5'>ESP8266</b> 通过 MQTT 协议实现 LED 的远程<b class='flag-5'>控制</b>

    STM32 ESP8266阿里云链接源码

    stm32F103C8T6 ESP8266 物联网电表 登录阿里云
    发表于 08-29 14:21 6次下载

    esp32和esp8266代码共用吗

    本文将介绍ESP32和ESP8266两款流行的微控制器在代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32和
    的头像 发表于 08-19 18:23 1150次阅读

    esp8266esp32区别是什么

    以下是关于ESP8266ESP32的主要区别: 处理器和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理器,属于Xtensa架构。 ESP32 :使
    的头像 发表于 08-19 18:16 5387次阅读

    ESP8266需要烧录固件库嘛

    需要。ESP8266是一款非常流行的Wi-Fi模块,广泛应用于物联网项目中。它具有低成本、低功耗、易于编程等特点,因此受到了许多开发者的喜爱。在开发ESP8266项目时,烧录固件库是一个非常重要
    的头像 发表于 08-19 17:30 878次阅读

    esp8266不烧录可以使用吗

    ESP8266是一款非常流行的Wi-Fi模块,广泛应用于物联网项目中。然而,如果不进行烧录,ESP8266将无法正常工作。 1. ESP8266简介 ESP8266是一款由Espres
    的头像 发表于 08-19 17:28 803次阅读

    esp8266wifi模块怎么连接手机

    ESP8266 WiFi模块连接手机主要可以通过两种方式实现: 通过路由器连接(STA模式)和直接作为热点连接(AP模式) 。以下是两种连接方式的步骤: 一、通过路由器连接(STA模式) 配置
    的头像 发表于 08-19 17:27 2791次阅读

    请问如何从ESP8266共享互联网?

    我是 esp8266 的新手,在指挥部学习。 我试图从esp8266通过Internet,但失败了。 在 cwmode=3 时 AT+CWJAP=\"HomeAP\"
    发表于 07-16 07:05

    utuntu环境下,ESP32和ESP8266设置环境变量时有冲突,怎样兼容呢?

    :$PATH\" export PATH=\"$HOME/esp/xtensa-lx106-elf/bin:$PATH\" 如果同时要开发esp32和esp8266怎样设置PATH
    发表于 06-28 11:10

    ESP8266网络天气时钟OLED显示

    基于ESP8266实现网络获取天气和时钟并OLED显示
    的头像 发表于 06-28 04:46 1157次阅读
    <b class='flag-5'>ESP8266</b>网络天气时钟OLED显示

    国产低成本Wi-Fi SoC解决方案芯片ESP8266ESP8285对比差异

    ESP8266ESP8285对比差异 ESP8285相当于在ESP8266基础上多加了1/2MB Flash, ESP8285与
    的头像 发表于 05-17 11:44 1338次阅读
    国产低成本Wi-Fi SoC解决方案芯片<b class='flag-5'>ESP8266</b>与<b class='flag-5'>ESP</b>8285对比差异

    使用Wi-Fi ESP8266方案模组接入云平台

    ESP8266的模块芯片是基于无线通信协议的UARTWi-Fi透传模块芯片,支持802.11b/g/n的无线标准,并带有三种可选择的工作模式。ESP8266模块的控制是通过AT指令的形式控制
    的头像 发表于 05-10 08:20 1852次阅读
    使用Wi-Fi <b class='flag-5'>ESP8266</b>方案模组接入云平台

    STM32、ESP8266与MQTT连接阿里云物联网的串口通信异常解析

    STM32、ESP8266与MQTT协议连接阿里云物联网平台时常见的串口通信异常介绍 在构建物联网应用时,STM32、ESP8266与MQTT协议的结合是实现设备与网络间稳定通信的关键。然而,在连接
    的头像 发表于 04-19 17:19 1453次阅读