ESP32-CAM ArduinoIDE开发系列文章目录
第一篇:ESP32-CAM高性价比WIFI图传方案快速入门教程
第二篇:ESP32-CAM第一个无线点灯程序
第三篇:ESP32-CAM智能网关的设计与实现
第四篇:ESP32-CAM创建热点构成并发式DNS服务器
文章目录
前言
daodanjishui物联网核心原创技术之ESP32 Arduino IDE开发之嵌入式网页服务器架设、http请求收发与解析、单片机IO口读写操作、AJAX技术、并发服务器技术和DNS技术整合组成:ESP32-CAM创建热点构成并发式DNS服务器
一、ESP32-CAM创建热点构成并发式DNS服务器是什么?
代码的风格发生了变化(又借鉴了另一个老外的代码和试用了新的arduino库ESPAsyncWebServer),功能维持大体不变的情况下扩展程度变高,增加了两个热门功能:
(1)构成了并发式服务器,前三篇的服务器都是只能响应一个客户端的请求的,都是原官方程序的修改,现在第四篇的服务器可以同时接收多个客户端的请求,并发响应客户端的请求,使用到的是另外一套非官方的程序。这个新的库功能很强大,支持WebSocket功能,后期我会用WebSocket做一个集群控制机器人系统出来。
(2)局域网DNS域名解析,就是说ESP32-cam作为一个AP热点共享WIFI资源并且作为一个物联网嵌入式服务器,连上WIFI的移动设备在浏览器输入:http://daodanjishui.com 就能查看服务器的主页,前三期的设计只能输入模块串口助手打印出来的网址才能连上服务器。这一期只需要输入域名即可,成功打开服务器主页之后又可以观赏到服务器的IP地址,妈妈再也不用担心我一定要用串口调试助手才能连上服务器了。要是同学们想要做无线遥控车又不想加显示屏的情况下,我强烈建议要学一下这代码!
(3)因为我不想把事情复杂化了,没有集成视频功能和STA模式的功能,因为视频功能涉及到图传,不可能简单用
新的arduino库ESPAsyncWebServer完成图传设计,包括老外也一样。一般这种嵌入式服务器的代码量是比较大的,少说也有上万行,
下面是界面展示,但是服务器的代码全部被我替换了,因为后续我有更高的需求:

下面是该系统的运行调试视频地址:https://v.youku.com/v_show/id_XNTE3OTAyNzUwNA==.html
直接观看视频
ESP32-CAM创建热点构成并发式DNS服务器
二、系统设计
1.引入库
#include <AsyncTCP.h>和#include <ESPAsyncWebServer.h>和#include <FS.h>和#include <DNSServer.h>
引入库之后就是设计服务器逻辑了,一看代码其实不复杂:
void setup()
{
Serial.begin(115200);
// WiFi.mode(WIFI_AP_STA);//设置模式为AP+STA
WiFi.mode(WIFI_AP); //设置为AP模式
WiFi.softAP("DNSServer");
Serial.println("AP设置完成");
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
dnsserver.start(DNS_PORT, "daodanjishui.com",myIP); //启动DNS服务,daodanjishui即为注册的域名
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
//登录主页
request->send(200

本文介绍了如何利用ESP32-CAM通过Arduino IDE开发,实现实时创建热点、并发式DNS服务器解析和物联网设备控制。通过ESPAsyncWebServer库,创建了一个可以同时处理多个客户端请求的服务器,用户只需输入域名即可连接,增强了设备的易用性和无线控制能力。
最低0.47元/天 解锁文章
293





