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

    浏览量

    36589
  • ESP8266
    +关注

    关注

    50

    文章

    947

    浏览量

    43932
收藏 人收藏

    评论

    相关推荐

    nodemcu和esp8266是什么关系?

    nodemcu和esp8266是什么关系 nodemcu和esp8266是什么关系?通俗理解就是nodemcu是一个开发板,基于esp8266的开发板。 目前市面上搭载有ESP8266
    的头像 发表于 10-20 14:53 2269次阅读
    nodemcu和<b class='flag-5'>esp8266</b>是什么关系?

    esp8266ex引脚详细 ESP8266EX参考手册

    ESP8266EX 由乐鑫公司开发,提供了⼀套⾼度集成的 Wi-Fi SoC 解决⽅案,其低功耗、 紧凑设计和⾼稳定性可以满⾜⽤户的需求。 ESP8266EX 拥有完整的且⾃成体系的 Wi-Fi
    发表于 09-08 17:05 1次下载

    ESP8266物联网茶壶

    电子发烧友网站提供《ESP8266物联网茶壶.zip》资料免费下载
    发表于 07-10 16:45 0次下载
    <b class='flag-5'>ESP8266</b>物联网茶壶

    采用ESP8266的物联网开关

    电子发烧友网站提供《采用ESP8266的物联网开关.zip》资料免费下载
    发表于 07-06 15:03 4次下载
    采用<b class='flag-5'>ESP8266</b>的物联网开关

    ESP8266由游戏手柄控制的汽车机器人

    电子发烧友网站提供《ESP8266由游戏手柄控制的汽车机器人.zip》资料免费下载
    发表于 07-03 10:12 0次下载
    <b class='flag-5'>ESP8266</b>由游戏手柄<b class='flag-5'>控制</b>的汽车机器人

    使用Firebase的ESP8266物联网平台

    电子发烧友网站提供《使用Firebase的ESP8266物联网平台.zip》资料免费下载
    发表于 07-03 09:54 0次下载
    使用Firebase的<b class='flag-5'>ESP8266</b>物联网平台

    带有Blynk和IR的Arduino ESP8266控制继电器

    电子发烧友网站提供《带有Blynk和IR的Arduino ESP8266控制继电器.zip》资料免费下载
    发表于 06-30 10:31 0次下载
    带有Blynk和IR的Arduino <b class='flag-5'>ESP8266</b><b class='flag-5'>控制</b>继电器

    使用ESP8266 DIY控制任何家用电器

    电子发烧友网站提供《使用ESP8266 DIY控制任何家用电器.zip》资料免费下载
    发表于 06-27 14:55 0次下载
    使用<b class='flag-5'>ESP8266</b> DIY<b class='flag-5'>控制</b>任何家用电器

    灵活的ESP8266ESP32初始设备配置

    电子发烧友网站提供《灵活的ESP8266ESP32初始设备配置.zip》资料免费下载
    发表于 06-19 16:15 2次下载
    灵活的<b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32初始设备配置

    基于ESP8266的Agrumino Lemon

    电子发烧友网站提供《基于ESP8266的Agrumino Lemon.zip》资料免费下载
    发表于 06-15 09:19 0次下载
    基于<b class='flag-5'>ESP8266</b>的Agrumino Lemon

    ESP8266ESP32上的WiFi Webradio

    电子发烧友网站提供《ESP8266ESP32上的WiFi Webradio.zip》资料免费下载
    发表于 06-13 11:38 0次下载
    <b class='flag-5'>ESP8266</b>或<b class='flag-5'>ESP</b>32上的WiFi Webradio

    ESP8266初次如何实现无线通信(基于电脑与ESP8266)

    一.需要的软件及硬件 1.软件 2.硬件 二.ESP8266的使用 .ESP8266的介绍 2.ESP8266进行初始AT指令的配置步骤 三.所用软件安装分享 ESP8266
    发表于 05-30 09:53 14次下载
    <b class='flag-5'>ESP8266</b>初次如何实现无线通信(基于电脑与<b class='flag-5'>ESP8266</b>)

    CC2530采用ESP8266与手机APP通信

    项目概述: 项目实现通过CC2530控制ESP8266将其配置成AP+TCP服务器模式,并通过手机APP连接到TCP服务器并完成数据传输。ESP8266将作为一个热点(AP)来工作,其WiFi模块
    的头像 发表于 05-23 09:15 2851次阅读

    使用ESP8266驱动OLED屏

    在进行后续的ESP8266学习前,我们先来对OLED屏进行驱动,为后续学习提供直观的信息显示。
    的头像 发表于 05-19 14:37 1733次阅读
    使用<b class='flag-5'>ESP8266</b>驱动OLED屏

    如何使用ESP8266+ATMega组合板来学习和控制ESP8266

    我尝试使用 ESP8266+ATMega 组合板来学习和控制 ESP8266。 该板设置为 USB+esp(仅,未使用 ATMega) esp
    发表于 05-16 09:14