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

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

3天内不再提示

使用ESP8266将STM32F103C8连接到互联网的方法

科技观察员 来源:circuitdigest 作者:普拉莫斯·坦加维 2022-10-28 17:25 次阅读

在本教程中,我们使用 ESP8266STM32F103C8 连接到互联网。在这里,我们将ESP8266 Wi-Fi 模块与我们的蓝丸 STM32F103C8 板接口,并将数据发送到 ESP8266 网络服务器上托管的网页。

所需组件

蓝丸STM32F103C8板

ESP8266 无线无线模块

笔记本电脑和无线网络热点

ESP8266 无线无线模块

大多数人将 ESP8266 称为 WIFI 模块,但它实际上是一个微控制器。ESP8266 是乐鑫公司(一家总部位于上海的公司)开发的微控制器的名称。该微控制器具有执行WIFI相关活动的能力,因此被广泛用作WIFI模块。

pYYBAGNbn_WAXxMOAACpGAA6_AY799.jpg

poYBAGNbn_eAMOxaAABKLJ9Hx4g218.jpg

接地(0 V)

发射,传输数据位 X

GPIO 2,通用输入/输出 2 号

CH_PD,芯片掉电

GPIO 0,通用输入/输出编号 0

瑞星病,复位

接收数据位 X

电压调节比 (+3.3 V)

AT 命令用于与 ESP8266 通信。下表显示了一些有用的 AT 命令

pYYBAGNbn3mAALMxAAB4QBXILzU084.png

pYYBAGNbn4OAUloSAACXHXFgdv4646.png

电路图和连接

下图显示了STM32和ESP8266无线模块之间的连接。

pYYBAGNbn_iAPhYFAACdcbdUWM8179.png

请参阅下表,将 ESP8266 引脚与 STM32 引脚连接:

poYBAGNbn5KARl1oAAA1raVN84o997.png

SMT32F103C8具有三套UART串行通信。在下图中,您可以看到相同的以下引脚:

pYYBAGNbn5mARniKAAAum6QLjlU781.png

STM32-Pin-Details_0.png

ESP8266 使用串行通信与微控制器进行交互。所以这里 ESP8266 的 TX 和 RX 都与 STM32 板的串行 2 端口 (PA2 和 PA3) 连接。

工作和代码解释

ESP8266 与 STM32 的接口工作非常简单。您可以在本教程末尾的视频以及代码中找到完整的工作。

我们使用arduino IDE编写代码并将其上传到STM32。了解有关使用Arduino IDE对STM32板进行编程的更多信息

首先,我们需要按照电路图中所示进行电路连接。上传代码后,打开串行监视器(工具>>串行监视器)以查看发生的情况。您将在串行监视器上看到IP地址,从串行监视器复制IP地址并将其粘贴到浏览器中,然后单击Enter以查看我们的网页。请记住将计算机和 ESP8266 模块连接到同一 Wi-Fi 网络上。

完整的代码在最后给出,并通过注释很好地解释了,在这里我们解释了其中的几个重要部分。

首先,我们使用以下两个语句开始串行监视器和 ESP8266 的串行通信:

Serial.println(cmd);

Serial2.println(cmd);

注意:我使用过STM32串行2端口的引脚(PA2,PA3),因为它可以承受3.3V。

然后,我们需要让 ESP8266 准备就绪,方法是通过重置任何旧的已连接的 AP 并将其设置为 AP 和 STA 来退出任何旧的 AP

connect_wifi("AT",100); //Sends AT command with time(Command for Acknowledgement)

connect_wifi("AT+CWMODE=3",100); //Sends AT command with time (For setting mode of Wi-Fi)

connect_wifi("AT+CWQAP",100); //Sends AT command with time (for Quit AP)

connect_wifi("AT+RST",5000); //Sends AT command with time (For RESETTING WIFI)

然后将ESP8266 与无线网络连接。您必须填写您的Wi-Fi详细信息,如下面的代码所示:

connect_wifi("AT+CWJAP="Pramo","pokemon08"",7000); //provide your WiFi username and password here

然后我们获取 ESP8266 模块的 IP 地址,并使用下面的代码将其显示在串行监视器上

Serial2.println("AT+CIFSR"); //GET IP AT COMMAND

if(Serial2.find("STAIP,")) //This finds the STAIP that is the STATIC IP ADDRESS of ESP8266

Serial.print(IP); //prints IP address in Serial monitor

接下来,我们将为网页编写 HTML 代码。要将HTML代码转换为Arduino代码,您可以使用此链接。

webpage = "

Welcome to Circuit Digest

"; //This is the heading line with black font colour

String name="

Circuit Digest

A community of electrical and electronics students, engineers and makers

";

String data="

Data Received Successfully.....

"; //These two lines are of two paragraph

webpage = "

接下来在空发送()函数中,我们使用发送网络数据函数打印了HTML,并使用AT + CIPCLOSE = 0关闭了服务器连接

void Send() //This function contains data to be sent to local server

{

webpage = "

Welcome to Circuit Digest

";

sendwebdata(webpage);

webpage=name;

sendwebdata(webpage);

delay(1000);

webpage = "

webpage+=data;

sendwebdata(webpage);

Serial2.println("AT+CIPCLOSE=0"); //Closes the server connection

}

完成所有工作后,您可以通过在任何 Web 浏览器中打开 ESP8266 的 IP 并单击网页上显示的链接来测试工作,单击此处进入 circuitdigest.com,如下所示

pYYBAGNboAWAC7pzAACa3inWEdg454.png

单击链接后,您会在网页上看到一条文本,上面写着“数据已成功接收.....”

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

    关注

    54

    文章

    11153

    浏览量

    103282
  • STM32F103C8
    +关注

    关注

    1

    文章

    23

    浏览量

    8084
  • ESP8266
    +关注

    关注

    50

    文章

    962

    浏览量

    44980
收藏 人收藏

    评论

    相关推荐

    ESP8266无法连接到互联网是怎么回事?

    您好,我更改了路由器上的频道,现在我的ESP8266无法连接到互联网。它仍然连接到本地网络,但即使路由器切换回原始频道也无法解决我的问题。
    发表于 07-16 06:14

    如何让Windows 8自动连接到ESP8266

    有没有办法让 Windows 8 自动连接到ESP8266,而不考虑同一台 PC 中的有线以太网连接? 我还注意到,由于每个页面之前都会暂停,连接
    发表于 07-18 08:08

    关于esp8266连接互联网问题

    esp8266怎么连接互联网,以实现远程通过3G网控制esp8266来控制单片机工作。8266已经工作在AP+STA模式上,
    发表于 07-30 22:06

    如何在没有Wi-Fi的情况下esp8266连接到互联网的gsm模块?

    我正在寻找能够在没有 Wi-Fi 的情况下 esp8266 连接到互联网的 gsm 模块。有什么建议么?
    发表于 04-26 06:50

    如何ESP8266连接到Google表格?

    esp8266-01。 我在互联网上查了查,我了解到使用 ESP8266wifi.h 库不适用于我的设置。没有这个库,有没有办法连接到谷歌表格?
    发表于 05-08 08:13

    在数字时钟项目中使用ESP8266,ISP失去互联网连接怎么解决?

    我在数字时钟项目中使用 ESP8266。我遇到的问题是我的 ISP 偶尔会断开互联网连接。该程序发现它仍然连接到 WiFi,但是当它尝试从互联网
    发表于 05-30 06:19

    如何通过ESP8266共享互联网

    我正在尝试通过 OTA 上传代码。但我无法所有 ESP8266连接到互联网,所以我选择 hc12 进行远程传输。但我对如何通过 ESP8266
    发表于 05-31 08:17

    如何存储来自esp的响应以确保它已连接到互联网

    我已将 ESP8266 与 PSoC 4200 BLE 连接起来。我在 UART 接口的帮助下连接了它。我已经使用 AT 命令集连接到互联网
    发表于 06-09 07:36

    使用esp8266实现STM32联网(最简单USART方法

    电脑上的java程序 这一篇 esp8266STM32连接,电脑通过STM32配置esp8266实现
    发表于 11-22 11:51 1.3w次阅读

    如何ESP8266连接到WiFi

    在之前的ESP8266项目中,我简要介绍了ESP8266 WiFi模块,如何开始使用ESP8266和Arduino,ESP8266 ESP-
    的头像 发表于 07-29 11:32 8.7w次阅读
    如何<b class='flag-5'>将</b><b class='flag-5'>ESP8266</b><b class='flag-5'>连接到</b>WiFi

    ESP8266连接手机

    esp8266的三种模式1为Station 模式:ESP8266 模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。2为A
    发表于 11-30 16:06 37次下载
    <b class='flag-5'>ESP8266</b><b class='flag-5'>连接</b>手机

    stm32f103c8t6控制ESP8266与手机APP通信

    stm32f103c8t6ESP8266-01S(默认波特率115200)除此之外还需要手机下载一个通讯软件,我用的是安卓手机应用宝上面的TCP连接这个APPWIFI模块的连接如下所示:代码很简单,我主要附上主函数代码:/*
    发表于 12-27 18:53 80次下载
    <b class='flag-5'>stm32f103c8</b>t6控制<b class='flag-5'>ESP8266</b>与手机APP通信

    步进电机与STM32F103C8连接的教程

    在本教程中,我们步进电机与STM32F103C8(蓝色药丸)板连接
    的头像 发表于 11-07 15:52 7497次阅读
    <b class='flag-5'>将</b>步进电机与<b class='flag-5'>STM32F103C8</b>板<b class='flag-5'>连接</b>的教程

    ESP8266 WIFI的stm32f103的完整工程

    ESP8266WIFI 的stm32f103 的完整工程资料分享
    发表于 11-17 15:23 29次下载

    STM32 ESP8266阿里云链接源码

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