基于ESP8266+网络调试助手点灯实验

这篇具有很好参考价值的文章主要介绍了基于ESP8266+网络调试助手点灯实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ESP8266串口wifi模块

基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试

简介

ESP8266 是一种低成本、高性能的 Wi-Fi 模块,内置了 TCP/IP 协议栈,它可以作为单独的无线网络控制器,或者与其他微控制器进行串口通信。它具有以下特点:
1、采用CH340芯片,是一款高性价比开发板;
2、设计,使USB接口更加牢固;
3、文档资料齐全,任何人可免费获取,仅供传阅;
4、每一块出货板子都是经过严格测试(测试一块板子需2-5分钟),严格把控质量。

支持无线802.11 b/g/n标准;
支持STA/AP/STA+AP三种工作模式;
内置TCP/IP协议栈,支持多路TCPClient连接(5MAX);
传输速率:110-460800bps:支持UART/GPIO数据通信接口;支持远程固件升级(OTA);工作温度:-40℃~+125℃;驱动形式:双路大功率H桥驱动

在本次实验中实现ESP8266手机点灯,即通过手机 APP 控制 ESP8266 来实现点亮LED和熄灭LED。

实验准备

ESP8266模块 1个
LED 1个
Microusb数据线(用于板子下载程序和供电) 1条
杜邦线 若干
网络调试助手APP 1个

硬件接线

首先确定led要连接在esp8266的哪个引脚,查看esp8266引脚定义:
基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试
本次实验点亮LED使用esp8266模块的D2引脚,通过引脚定义可以知道它为GPIO4. 所以在arduino中定义led引脚为4, 其中led正极固定接vin给高电平,led负极通过D2引脚给高低电平变化,控制led的亮灭。硬件连接图如下:

基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试
基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试

程序下载

#include <ESP8266WiFi.h>

#define led 4 //led接在esp8266的GPIO4上
const char *ssid     = "YXDZ_8266";    //要连接的wifi名称
const char *password = "12345678";    //连接的wifi密码
const char *host = "172.21.150.2";    //要连接的手机端IP,手机和8266要在同一网络下

WiFiClient client;           //创建WiFiClient对象client,用于处理TCP连接
const int tcpPort = 8080;  //创建服务器时指定的端口号


void setup()
{
    Serial.begin(9600);               //初始化串口通信,波特率为9600
    pinMode(led,OUTPUT);             //将LED引脚设置为输出模式
    delay(10);
    Serial.println();
    Serial.print("Connecting to ");
    Serial.println(ssid);          //通过串口显示连接的wifi名称

    WiFi.begin(ssid, password);   //建立WiFi连接

     //等待连接建立
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(500);
    }

 //连接成功信息及打印8266ip地址
    Serial.println("");
    Serial.println("Connection established!");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
}

void loop()
{
    while (!client.connected())             //若未连接到主机,则客户端进行连接
    {
        if (!client.connect(host, tcpPort))//如果客户端未连接,使用client.connect()函数尝试连接主机并在500毫秒后再次尝试
        {
            Serial.println("connection....");
            delay(500);
        }
    }
    while (client.available())   //如果客户端连接成功,使用while (client.available())循环处理从主机接收到的数据
    {
        char val = client.read();   //将接收到的字符存储在变量val中
        if(val=='1'){              //如果val等于'1',则通过将LED引脚设置为LOW来关闭LED

           digitalWrite(led, LOW);
        }
        if(val=='0')             //如果val等于'0',则通过将LED引脚设置为HIGH来打开LED
        {
            digitalWrite(led, HIGH);
        }
    }
}

上面的代码实现了以下功能:

WiFi连接:通过WiFi.begin(ssid, password)语句连接到指定的WiFi网络。在setup()函数中,代码会一直等待,直到成功连接到WiFi网络为止。连接成功后,通过WiFi.localIP()获取并打印ESP8266的IP地址。

与手机端通信:使用client.connect(host, tcpPort)建立与手机端的TCP连接。在loop()函数中,代码会检测是否已连接到手机端。如果未连接,则通过延迟等待一段时间,并重试连接。一旦成功连接,代码会继续执行。

接收和处理数据:通过client.available()检测是否有数据可用。如果有数据可用,通过client.read()读取数据。在这个例子中,代码会判断接收到的数据是否为1或0,并根据接收到的值点亮或熄灭连接到ESP8266的LED。

综上所述,上述代码实现了通过ESP8266连接到指定的WiFi网络,并与手机端建立TCP连接进行数据交互。通过接收来自手机端的指令,控制LED的亮灭。这个代码可以作为一个简单的远程控制示例,可用于控制远程设备的开关状态。

程序完成后我们将程序上传至esp8266模块:

基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试
程序下载后esp8266会连接wifi,通过串口可以查看wifi连接相关信息:
基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试

手机连接与esp8266连接的同一wifi,

基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试

手机上打开网络调试助手,新建服务器:
基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试
点击新建的服务器进入,会自动监听,显示已连接,表示手机端与esp8266已经连接成功,此时就可以通过手机与esp8266通信了,
基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试

选中最下面的纸飞机可以进行快捷发送,这样就能比较方便的控制led的亮灭了。
基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试

基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试
实验效果:
基于ESP8266+网络调试助手点灯实验,ESP专栏,网络,单片机,模块测试

注意事项

在使用以上代码实现功能时,请注意以下几点:

  1. 替换ssid和password变量的值为您要连接的WiFi网络的凭据。确保凭据正确,以便ESP8266能够成功连接到WiFi网络。

  2. 替换host变量的值为您要连接的主机的IP地址。确保IP地址正确,以便ESP8266能够成功建立TCP连接。

  3. 确保连接的主机在指定的端口上监听TCP连接。在代码中,端口号为8080,如果您的主机使用了不同的端口,请相应地修改tcpPort常量的值。

  4. 根据您的硬件连接,确保将LED正确连接到ESP8266模块的指定引脚。在代码中,LED连接到引脚4,如果您将LED连接到其他引脚,请相应地修改led常量的值。

  5. 如果您的主机发送的数据是按照不同的格式或协议进行的,请根据您的需求修改loop()函数中处理接收数据的代码。目前的代码只是简单地根据接收到的字符来控制LED的状态。

  6. 如果手机上没有对应的网络调试助手,也可以通过电脑PC端的网络调试助手进行连接,这里推荐一个方便好用的软件NetAssist,支持快捷指令发送,和手机上的实验效果一样。

在使用代码之前,确保您已经安装了适用于ESP8266开发板的Arduino开发环境,并正确配置了开发环境。这包括选择正确的开发板和端口,并安装了ESP8266库。

总结

本文主要介绍了ESP8266连接WiFi并与手机端通信的功能。使用ESP8266WiFi库来连接WiFi网络,并使用WiFiClient库与手机端进行通信。代码中定义了一个LED连接到ESP8266的GPIO4上,然后在setup()函数中初始化串口、LED引脚和WiFi连接。在loop()函数中,首先检测是否已连接到服务端,并在连接成功后开始接收来自手机端的数据。如果收到的数据是1,则点亮LED,如果是0,则熄灭LED。

通过本文,我们学习了如何使用ESP8266模块连接到WiFi网络,并通过与主机建立TCP连接来控制LED。这是一个简单的示例,说明了ESP8266在物联网应用中的潜力。您可以根据自己的需求和创意,进一步扩展该示例,实现更复杂的功能。希望这篇文章对您有所帮助,以上如有错误,欢迎各位留言指正!谢谢阅读!文章来源地址https://www.toymoban.com/news/detail-615178.html

到了这里,关于基于ESP8266+网络调试助手点灯实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ESP8266从点灯到遥控小车(三)——组装小车,0代码开发APP控制小车

    ESP8266开发板 已配置好的Arduino IDE环境(配置传送门) 数据线 L298N电机驱动模块 12V电池组(电源) 充电宝 小车车身及零件(传送门) 1.ESP8266-NodeMCU 开发板 ESP8266 是一款适用于物联网和家庭自动化项目的 Wi-Fi 模块。 ​ ESP8266-NodeMCU是一个开源硬件开发板,由于它允许您像使用

    2024年01月17日
    浏览(53)
  • STM32+ESP8266+QT客户端上位机显示DHT11温湿度与点灯

    目录 1、简介 2、硬件连接 3、上位机源码 3.1 widget.h 3.2 widget.c  3.3 显示图  4、下位机源码 4.1 cubemax配置  4.2 keil源码 本文使用STM32F103C8T6单片机使用单片机通过ESP8266WIFI模块与QT设计的上位机进行通讯,ESP8266设置AP模式。实现DHT11传感器温湿度的显示与远程控制LED小灯的亮灭

    2024年02月06日
    浏览(49)
  • ESP8266控制LED点灯和按钮,配合巴法云平台和微信小程序实现远程控制

    ESP8266控制LED点灯和按钮,配合巴法云平台和微信小程序实现远程控制 本文将介绍如何使用ESP8266控制LED点灯和按钮,同时利用巴法云平台和微信小程序实现远程控制。具体实现过程如下: 一、硬件准备 ESP8266模块 LED灯 按钮 杜邦线 面包板 二、开发环境搭建 ESP8266使用Arduino

    2024年02月12日
    浏览(45)
  • 基于正点原子电机实验的pid调试助手代码解析(速度环控制)

    通过前两节文章,我已经了解了基本的pid算法,现在在完成了电机编码测速,pid控制电机转速的前提,我们来解析一下下位机是如何pid调试助手进行数据传递的. 首先用c#写一个PID调试助手,然后拟定好传递数据的通信协议,然后下位机配置好串口,下位机使用串口发送指令给

    2024年02月13日
    浏览(96)
  • esp8266(MQTT固件)+串口助手连接阿里云服务测试

    esp8266烧录MQTT固件 阿里云创建产品步骤 登录阿里云,没有阿里云账号的需自行注册。 创建产品 在物联网平台下,点击 设备管理 - 产品 -创建产品 产品名称根据自身需求填写,选择自定义品类,选择直连设备,连网方式选wifi,数据格式选JSON格式(配置可根据自己需求选择)

    2023年04月08日
    浏览(89)
  • 【毕设调试一】WiFi模块esp8266的调试

    提示 : 主控芯片STM32F103C8T6,与WiFi通信串口为串口二,打印串口为串口三(不使用串口一是当时设计时,方便pcb走线) 说明 : 因为我是使用PCB画板的方式来走线的,并不是按模块来拼接的,走线的时候需要注意WiFi模块和主控芯片串口的连接(RX-TX),如下图所示,这个是可

    2024年02月05日
    浏览(43)
  • 实验四:ESP8266WIFI通讯实验

    本实验开发板基于:GD32F103 我们首先需要看一下原理图 根据原理图可以看到,ESP8266是通过PA2 PA3这个串口进行通讯,PA13是控制它的复位, 从芯片手册中可以看到PA2PA3是串口1,PA2是串口1的发送,PA3是串口1的接收。 本项目使用ESP8266型号为ESP-01S 自带排针WIFI模块 功能特点:基

    2024年02月03日
    浏览(32)
  • 无障碍轮椅——ESP8266总体介绍及ESP-01S入门调试

    ESP8266 是一个带完整 WiFi 功能、 同时 带一个 32bit MCU 的 SoC ,可以取代原 Arduino 核心板 + WiFi 扩展板完成的大部分应用。 【NodeMCU(支持 esp8266 的 Arduino )】 模块核心处理器 ESP8266 在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU,带有 16 位精简模式,主

    2024年02月07日
    浏览(43)
  • FPGA——ESP8266发送0、1实验

    定义两个串口,分别接收两个按键输入0、1,或接收PC发送的AT指令,两个输入,通过按键切换输入到esp8266,从而完成WiFi连接、TCP服务器连接、以及数据0、1发送。 uart_tx.v串口发送模块 uart_rx.v串口接收模块 param.v波特率常量定义 key_debounce.v按键消抖模块 date_send.v数据发送模块

    2024年02月06日
    浏览(35)
  • STM32+esp8266,让你的STM32开发板连接网络-----esp8266

    分享一下,STM32开发板连接网络的第一种方法:连接esp8266。 esp8266与STM32利用串口通信连接,esp8266连接网络,把收到的数据通过串口的方式传输给STM32,之后STM32接收到消息做出对应的反应。 使用到的开发板如图:esp-12和正点原子stm32f103zet6. 首先,我们先掌握一下什么事串口通

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包