第一篇:ESP32-CAM高性价比WIFI图传方案快速入门教程
第二篇:ESP32-CAM第一个无线点灯程序
第三篇:ESP32-CAM智能网关的设计与实现
第四篇:ESP32-CAM创建热点构成并发式DNS服务器
第五篇:ESP32-CAM高性价比温湿度监控系统
第六篇:基于ESP32CAM实现WebSocket服务器实时点灯
daodanjishui物联网核心原创技术之ESP32 Arduino IDE开发之物联网系统设计最新Websocket技术探索。
daodanjishui在上一篇的项目:ESP32-CAM高性价比温湿度监控系统详细介绍了使用了ESP32嵌入式webserver服务器的开发技术,所使用的网络通信协议是Tcp/Ip,http协议,但是没有使用到WebSocket技术,所以不能实现网页与服务器硬件长时间通信,也是上一篇不足的地方,物联网系统设计中关于web的设计中需要网页与硬件保持长链接,所以这个WebSocket技术需要好好探索一下。
daodanjishui在这一篇的项目中,采用新技术,使用现在最流行的WebSocket前端技术在ESP32CAM上构建一个Websocket服务器实时响应浏览器客户端的请求,实现实时点灯,这次客户端再也不用发送get或者post请求响应了,后期我要用这个WebSocket做一些图像处理和MQTT远程控制的“吓人”的核心高科技。硬件效果如下图所示:
视频演示效果如下:
ESP32-CAM实现嵌入式WebSocket服务器点灯
视频网址如下:https://www.bilibili.com/video/BV1BU4y1d7iZ?t=0.0
链接跳转
Websocket技术介绍:现在网页与单片机的通信方式一共有2种:一种是tcp/ip协议下的post和get请求,一种是Websocket通信方式。前者在我发布的很多电路方案中都有体现,但是后者是第一次出现,后期我会将两者结合起来构建物联网监控系统。总体来概括后者的功能:在网页不需要刷新的条件下让网页与服务器长期链接,所以在网页上可以实时打印出开关灯的状态和服务器返回的消息。在单片机上运行Websocket有什么用呢?第一可以实现在线OTA固件升级,第二可以实现网页与单片机实时交互,不需要使用get请求也能提交表单。在物联网中起到一个实时反馈的好效果。后期我会做好几个专题,包括:Websocket图传、Websocket智能小车、Websocket网页智能配网、Websocket物联网监控系统等等。
这次的代码也不算复杂,程序中开了一个热点,手机和笔记本电脑在浏览器输入192.168.4.1就可以访问到websocket的主页,这主页是写死在单片机里面的。可以方便更改。
#include
#include //引入相应库
AsyncWebServer server(80); // 声明WebServer对象
AsyncWebSocket ws("/"); // WebSocket对象,url为/
#define LAMP_PIN 4 //定义闪光灯的管脚,ESP32CAM自带的闪光灯
// 以下为网页文件
String indexhtml = String("") +
"\n" +
"\n" +
" \n" +
" WebSocket Test \n" +
" \n" +
"\n" +
"\n" +
" daodanjishui ESP32-CAM免费开源WebSocket服务器点灯程序,原创经典值得拥有
"
+
" 说明:点击按键-开灯,则开灯,反之-关灯,则关灯,网页会实时显示调试信息
"+
" \n" +
" \n" +
" 实时调试信息:
\n" +
"
\n" +
"\n" +
"