ESP32/ESP8266 WIFI接入通过HTTP响应远程控制(附可用源码)

这篇具有很好参考价值的文章主要介绍了ESP32/ESP8266 WIFI接入通过HTTP响应远程控制(附可用源码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.esp32/esp8266相关介绍:

1.1ESP-WIFI工作模式:

ESP共有三种工作模式,分别是无线接入点模式(AP)、无线终端模式STA(Wireless Station)以及混合模式(以上两种模式的混合)。

2.网络连接:

ESP的WiFi设置是储存在它的闪存系统中的。因此在启动ESP8266并连接WiFi时,它都会尝试使用闪存系统中储存的信息来进行WiFi连接

ESP32/ESP8266 WIFI接入通过HTTP响应远程控制(附可用源码)

连接网络基本步骤:

1.引用WiFi库 #include <WiFi.h>  /  esp8266使用<ESP8266WiFi.h>
2.配置STA模式下IP地址 config()(非必须)
3.开启STA模式,连接AP WiFi.begin(ssid, password);

ESP32/ESP8266 WIFI接入通过HTTP响应远程控制(附可用源码)

3.配置和代码:

本次我使用的是STA模式接入已创建的AP,再使用ESP利用互联网或局域网向网络服务器发送HTTP请求,并且分析网络服务器返回的HTTP响应信息,进行相应的控制

//#include <ESP8266WiFi.h>
//#include <WiFi.h>   ESP32使用这个头文件就行
#ifndef STASSID
#define STASSID "小奇" // 要接入的wifi名称      
#define STAPSK  "********"   // wifi密码
#endif
 //   esp与被控设备接入同一局域网下 进行网页端HTTPX响应远程控制

const char* ssid = STASSID;
const char* password = STAPSK;

//http://IP/gpio/(0/1)打开网页端控制(低电平亮)
//IP连接成功后由串口发送给上位机


//创建服务器,监听指定端口(led)
WiFiServer server(80);

void setup() {
  Serial.begin(115200);

  // LED
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, 0);

  // 连接 WiFi 
  Serial.println();
  Serial.println();
  Serial.print(F("Connecting to "));
  Serial.println(ssid);
  //  STA模式
  WiFi.mode(WIFI_STA);
  // 开始接入AP
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(F("."));
  }
  Serial.println();
  Serial.println(F("WiFi connected"));

  // 开始连接 WiFi 
  server.begin();
  Serial.println(F("Server started"));

  // 打印IP地址
  Serial.println(WiFi.localIP());
}

void loop() {
  // 检查是否连接成功
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
  Serial.println(F("new client"));

  client.setTimeout(5000); // 默认值1000

  // 读取第一行指令
  String req = client.readStringUntil('\r');
  Serial.println(F("request: "));
  Serial.println(req);

  // 匹配相应指令
  int val;
  if (req.indexOf(F("/gpio/0")) != -1) {
    val = 0;
  } else if (req.indexOf(F("/gpio/1")) != -1) {
    val = 1;
  } else {
    Serial.println(F("invalid request"));
    val = digitalRead(LED_BUILTIN);
  }

  // 设定led状态
  digitalWrite(LED_BUILTIN, val);

 //读取
  while (client.available()) {

    client.read();
  }

 //发送响应给客户端
  client.print(F("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO is now "));
  client.print((val) ? F("high") : F("low"));
  client.print(F("<br><br>Click <a href='http://"));
  client.print(WiFi.localIP());
  client.print(F("/gpio/1'>here</a> to switch LED GPIO off, or <a href='http://"));
  client.print(WiFi.localIP());
  client.print(F("/gpio/0'>here</a> to switch LED GPIO on.</html>"));

//客户端实际上会被刷新,然后断开连接
//当函数返回时,'client'对象被销毁(超出范围)
// flush =确保写入的数据被对方接收
  Serial.println(F("Disconnecting from client"));
}

 然后建议的话是直接下载arduino编译器,下载对应的包即可,vscode可能还需要进行一些环境的配置。

然后复制上方代码就可以实现接入WIFI然后在服务端链接进行远程控制了,我这次做的是简单的LED控制,如有需要可以自行进行修改从而达到大家的需求

以上便是本文的所有内容,希望能帮到大家,谢谢!

 文章来源地址https://www.toymoban.com/news/detail-405717.html

到了这里,关于ESP32/ESP8266 WIFI接入通过HTTP响应远程控制(附可用源码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 毕业设计——基于STM32的智能家具控制系统(ESP-01S(8266)、手机app远程控制、远程显示温度)

    智能家具系统分为两个不同版本系列: ①系列一:手机app远程控制、远程检测温湿度显示在app,(云平台)    ---------本文章 ②系列二:语音识别控制                https://blog.csdn.net/m0_59113542/article/details/123742383 步进电机及相关驱动 步进电机28BYJ48 uln2003驱动板器4相5线

    2023年04月09日
    浏览(32)
  • stm32+AT指令+ESP8266接入华为云物联网平台并完成属性上报与命令响应

    (示例:stm32f103c8t6+esp 01s 串口A T 指令模式) 流程简介:       本期教程使用的是stm32+AT指令控制esp01s接入华为云联网平台完成数据上报与命令处理,在先前如果使用Arduino开发过后的esp8266可能已经无法使用AT指令,或者出厂固件不支持全部的MQTT功能,这里我们首先对esp8266进

    2024年02月02日
    浏览(26)
  • STM32通过串口2使用ESP8266WIFI模块连接新大陆云平台

    目录 使用硬件: 分步骤:配置TCP连接,连接WIFI 1.使用ESP8266的复位引脚进行复位 2.发送基本AT指令 3.连接新大陆 4.新大陆云平台显示在线及上传数据测试成功 5.串口显示 5.涉及的函数 发生AT检测WIFI模块错误,如图,代码运行停留在了.AT,在while中一直循环,没有往下跑了,这种

    2024年04月24日
    浏览(42)
  • thingsboard+ESP8266+MQTT实现设备远程控制

    本次主要想实现功能:thingsboard平台远程控制设备 设备(ESP8266上的灯作为一台设备,模拟控制灯的开关) 指令传输通过thingsboard平台集成的MQTT协议 利用thingsboard仪表盘库的一个控制组件模拟发送指令来控制我们的 灯的开关 之前搭建好的thingsboard平台 NodeMCU开发板 开发NodeMC

    2023年04月19日
    浏览(50)
  • 【智能家居远程控制系统】ESP8266连接阿里云(六)

    第一章 阿里云物联网平台搭建 第二章 订阅与发布MQTT消息 第三章 为ESP8266-NodeMCU搭建ArduinoIDE环境  第四章 ESP8266连接阿里云 第五章 阿里云平台云产品流转 第六章 使用Aruino与云产品流转实现远程控制ESP8266 目录 前言 一、远程控制的意义 二、准备工作 1.阿里云平台设备创建

    2024年02月03日
    浏览(39)
  • 【智能家居远程控制系统】ESP8266连接阿里云(一)

    第一章 阿里云物联网平台搭建 第二章 订阅与发布MQTT消息 第三章 为ESP8266-NodeMCU搭建ArduinoIDE环境  第四章 ESP8266连接阿里云 第五章 阿里云平台云产品流转 第六章 使用Aruino与云产品流转实现远程控制ESP8266 文章目录 目录 系列文章目录 前言 一、注册阿里云IOT 二、创建MQTT.

    2024年02月07日
    浏览(37)
  • 实现手机app和微信小程序和树莓派智能音箱远程控制arduino获取甲醛温湿度和控制灯(esp8266 ZE08-CH2O DHT11 MQTT 语音识别 语言合成 http请求转串口通信系统 )

    首先你有这样的esp8266 这种esp8266自身带2个按键和烧录芯片方便调试,综合性价比较高。 需要有一个arduino uno 连接甲醛探测器和温湿度探测器 或者其他芯片都行。 还有就是你要有树莓派和usb麦克风,用来实现智能音箱,有了这3个开发板我们开始吧! https://www.bilibili.com/video

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

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

    2024年02月12日
    浏览(27)
  • 2-远程升级篇(自建物联网平台)-STM32通过EC800使用http或https下载程序文件升级程序(APP通过MQTT控制单片机更新)

    1,用户在APP上点击 \\\"固件升级\\\" 按钮, APP使用MQTT发送:  {\\\"data\\\":\\\"updata\\\",\\\"cmd\\\":\\\"DeviceInfo\\\"} //询问设备固件信息 2,设备通过MQTT收到该消息以后,发送 {\\\"data\\\":\\\"updata\\\",\\\"cmd\\\":\\\"DeviceInfo\\\",\\\"DeviceModel\\\":\\\"STM32EC800BKAPP\\\",\\\"FirmwareVersion\\\":\\\"0.0.0\\\"} (STM32EC800BKAPP是设备的型号;  0.0.0是设备当前的固件版本) 3,APP收到

    2024年04月16日
    浏览(131)
  • ESP8266通过MQTT接入Home Assistant实践

          此前我在《用树莓派构建家庭智能家居控制中心》一文中介绍了如何在Home Assistant中集成MQTT,以便下一步集成个人DIY设备。本文将用WIFI模块ESP8266来DIY一个智能插座以控制灯的开关,并通过MQTT集成到Home Assistant,实现与小米、华为等厂商的智能家居设备和传感器联动。

    2023年04月23日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包