当前位置: 首页 > news >正文

物联网之ESP32配网方式、蓝牙、WiFi

MENU

  • 前言
  • SmartConfig(智能配网)
  • AP模式(Access Point模式)
  • 蓝牙配网
  • Web Server模式
  • WPS配网(Wi-Fi Protected Setup)
  • Provisioning(配网服务)
  • 静态配置(硬编码)
  • 总结


前言

ESP32配网(Wi-Fi配置)的方式有多种,每种方式都有各自的优缺点。
根据具体项目需求,可以选择适合的配网方式。


SmartConfig(智能配网)

原理
ESP32通过监听周围的Wi-Fi信号,解析来自手机或其他设备发送的Wi-Fi配置数据,并自动连接到相应的网络。


优点
配置简单,用户只需通过手机App即可完成。
支持大量设备同时接入。
不需要用户手动输入Wi-Fi SSID和密码。


缺点
对部分手机型号或操作系统的兼容性不够稳定。
在信号复杂或干扰较多的环境中,配网速度较慢或可能失败。
需要额外的App支持。


AP模式(Access Point模式)

原理
ESP32启动时作为热点(Access Point),用户通过手机或电脑连接该热点,并在浏览器中输入Wi-Fi配置信息,ESP32接收到配置信息后切换到STA模式(Station)连接到目标Wi-Fi网络。


优点
配置简单,设备无须额外的App支持,直接通过网页浏览器配置。
适用于各种设备,包括手机、电脑、平板。


缺点
需要用户手动切换Wi-Fi到ESP32的热点,有时用户体验不够顺畅。
每次修改Wi-Fi配置信息时需要重新连接ESP32热点。


蓝牙配网

原理
ESP32支持蓝牙协议,用户通过蓝牙将Wi-Fi SSID和密码发送给ESP32,ESP32再连接到相应的Wi-Fi网络。


优点
配网过程简单,尤其在手机支持蓝牙的情况下操作便捷。
在没有Wi-Fi环境时,蓝牙信号更稳定,适用于局域环境。


缺点
配网距离有限(蓝牙距离通常在10米内)。
配网速度可能较慢,尤其是蓝牙版本较低时。


Web Server模式

原理
ESP32在初次启动时创建一个Web服务器,用户通过手机或电脑访问ESP32的网页,输入Wi-Fi SSID和密码,ESP32接收后连接到网络。


优点
用户体验好,直接在网页上操作,无需额外的App。
可以通过网页提供更多的自定义功能和配置选项。


缺点
同样需要用户手动连接ESP32的热点。
对于新手用户来说,可能需要解释热点切换过程。


WPS配网(Wi-Fi Protected Setup)

原理
通过WPS协议,用户按下路由器的WPS按钮,ESP32自动获取路由器的Wi-Fi信息并进行连接。


优点
用户无需输入SSID和密码,操作简单。
配网快速,几乎是即时连接。


缺点
需要路由器支持WPS功能。
WPS存在一定的安全性问题,容易受到攻击。
并不是所有设备和网络都支持WPS。

Provisioning(配网服务)

原理
Espressif提供ESP-IDF中的Wi-Fi配网服务,支持蓝牙、AP或二维码扫描等方式为设备进行Wi-Fi配置。


优点
官方支持,集成度高。
提供多种配网方式选择(蓝牙、AP、二维码等),灵活度高。
适合复杂场景,可以提供安全性较高的配网流程。


缺点
配置较为复杂,适合开发者和高级用户。
对初学者来说,集成和调试可能需要更多的时间。


静态配置(硬编码)

原理
通过硬编码的方式将Wi-Fi SSID和密码直接写入代码中,设备启动时直接连接到特定Wi-Fi。


优点
实现简单,不需要用户操作。
适用于小批量的固定场景。


缺点
不灵活,Wi-Fi网络变化时需要重新烧录固件。
安全性低,Wi-Fi密码硬编码在固件中,容易被破解。


总结

1、SmartConfig和蓝牙配网更适合大规模设备部署,但受限于环境和设备兼容性。
2、AP模式和Web Server模式适合通用场景,用户体验较好,但需要用户参与配置。
3、WPS配网简单直接,但依赖特定硬件支持,且有安全隐患。
4、静态配置仅适用于特定小范围项目,不建议在大规模应用中使用。

相关文章:

物联网之ESP32配网方式、蓝牙、WiFi

MENU 前言SmartConfig(智能配网)AP模式(Access Point模式)蓝牙配网Web Server模式WPS配网(Wi-Fi Protected Setup)Provisioning(配网服务)静态配置(硬编码)总结 前言 ESP32配网(Wi-Fi配置)的方式有多种,每种方式都有各自的优缺点。 根据具体项目需求,可以…...

golang 字符串浅析

go的字符串是只读的 测试源代码 package mainimport ("fmt""unsafe" )func swap(x, y string) (string, string) {return y, x }func print_string(obj *string, msg string) {string_ptr : (*[2]uintptr)(unsafe.Pointer(obj))first_obj_addr : string_…...

jantic/DeOldify部署(图片上色)附带Dockerfile和镜像

1. 克隆代码到DeOldify git clone https://github.com/jantic/DeOldify.git DeOldifyDeOldify源码 2. 安装依赖 这里会安装python以及创建deoldify环境 cd DeOldify conda env create -f environment.yml(base) rootDESKTOP-1FOD6A8:~/DeOldify# conda env create -f environm…...

2024年9月9日--9月15日(freex源码抄写+ue5肉鸽视频一节调节)

现在以工作为中心,其他可以不做硬性要求。周一到周四,晚上每天300行freex源码抄写,周六日每天1000行。每周3200行,每天完成该完成的即可,早上有时间时进行一小节独立游戏相关的视频教程作为调节即可,不影响…...

CLIP官方github代码详解

系列文章目录 文章目录 系列文章目录一、Usage1、conda install --yes -c pytorch pytorch1.7.1 torchvision cudatoolkit11.02、代码3、 二、1、2、3、 三、1、2、3、 四、1、2、3、 五、1、2、3、 六、1、2、3、 七、1、2、3、 八、1、2、3、 一、Usage 1、conda install --…...

ElementUI 布局——行与列的灵活运用

ElementUI 布局——行与列的灵活运用 一 . 使用 Layout 组件1.1 注册路由1.2 使用 Layout 组件 二 . 行属性2.1 栅格的间隔2.2 自定义元素标签 三 . 列属性3.1 列的偏移3.2 列的移动 在现代网页设计中&#xff0c;布局是构建用户界面的基石。Element UI 框架通过其强大的 <e…...

Docker快速部署Apache Guacamole

Docker快速部署Apache Guacamole ,实现远程访问 git clone "https://github.com/boschkundendienst/guacamole-docker-compose.git" cd guacamole-docker-compose ./prepare.sh docker-compose up -dhttps://IP地址:8443/ 用户名:guacadmin 密码:guacadmin docker …...

C++学习笔记----7、使用类与对象获得高性能(一)---- 书写类(1)

1、表格处理程序示例 表格处理程序是一个二维的“细胞”网格&#xff0c;每个格子包含了一个数字或者字符串。专业的表格处理程序比如微软的Excel提供了执行数学运算的能力&#xff0c;比如计算格子中的值的和。表格处理程序示例无意挑战微软的市场地位&#xff0c;但是对于演示…...

es6中set和map的区别

在ES6&#xff08;ECMAScript 2015&#xff09;中&#xff0c;Set 和 Map 是两种新的集合类型&#xff0c;它们提供了更高级的数据结构来存储唯一值或键值对集合。尽管它们在功能上有些相似&#xff0c;但它们在用途和内部机制上存在一些关键区别。 1. 基本概念 Set&#xff1…...

高级实时通信:基于 Python 的 WebSocket 实现与异步推送解决方案

高级实时通信&#xff1a;基于 Python 的 WebSocket 实现与异步推送解决方案 目录 &#x1f7e2; WebSocket 协议概述&#x1f535; 在 FastAPI 中实现 WebSocket&#x1f7e3; Django Channels 实现异步实时通信&#x1f534; 使用 Redis 实现实时推送 &#x1f7e2; 1. WebS…...

大二上学期详细学习计划

本学习完成目标&#xff1a; 项目&#xff1a; 书籍&#xff1a;《mysql必知必会》《java核心技术卷》&#xff08;暂时&#xff09;加强JavaSE的学习&#xff0c;掌握Java核心Mysqlsql&#xff08;把牛客上的那50道sql语句题写完&#xff09;gitmaven完成springboot项目&…...

Kafka【十四】生产者发送消息时的消息分区策略

【1】分区策略 Kafka中Topic是对数据逻辑上的分类&#xff0c;而Partition才是数据真正存储的物理位置。所以在生产数据时&#xff0c;如果只是指定Topic的名称&#xff0c;其实Kafka是不知道将数据发送到哪一个Broker节点的。我们可以在构建数据传递Topic参数的同时&#xff…...

SQL优化:执行计划详细分析

视频讲解&#xff1a;SQL优化&#xff1a;SQL执行计划详细分析_哔哩哔哩_bilibili 1.1 执行计划详解 id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1.1.1 ID 【概…...

Android Studio -> Android Studio 获取release模式和debug模式的APK

Android Studio上鼠标修改构建类型 Release版本 激活路径&#xff1a;More tool windows->Build Variants->Active Build Variant->releaseAPK路径&#xff1a;Project\app\build\intermediates\apk\app-release.apk Debug版本 激活路径&#xff1a;More tool w…...

基于 SpringBoot 的实习管理系统

专业团队&#xff0c;咨询送免费开题报告&#xff0c;大家可以来留言。 摘 要 随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;实习管理也不例外&#xff0c;但目前国内仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越…...

vmware workstation 17 linux版

链接: https://pan.baidu.com/s/1F3kpNEi_2GZW0FHUO-8p-g?pwd6666 提取码: 6666 1 先安装虚拟机 不管什么错误 先安装vmware workstation 17 2 编译 覆盖安装vmware-host-modules-workstation-17.5.1 只需这样就可以 # sudo apt install dkms build-essential bc iw…...

Windows环境本地部署Oracle 19c及卸载实操手册

前言: 一直在做其他测试,貌似都忘了Windows环境oracle 19c的部署,这是一个很早很早的安装记录了,放上来做个备录给到大家参考。 Oracle 19c‌:进一步增强了自动化功能,并提供了更好的性能和安全性。这个版本在自动化、性能和安全性方面进行了重大改进,以满足现代企业对数…...

MapStruct介绍

一、MapStruct 1.1何为MapStruct 要说这个东西&#xff0c;其实和我们刚刚讲到的Lombok相类似。其是由我们的源代码加上MapStruct经过编译后得到.class文件&#xff0c;文件中自动补全了代码。那么补全了什么代码&#xff1f;实现了什么功能&#xff1f; MapStruct的产生&…...

35天学习小结

距离上次纪念日&#xff0c;已经过去了35天咯 算算也有5周了&#xff0c;在这一个月里&#xff0c;收获的也挺多&#xff0c;在这个过程中认识的大佬也是越来越多了hh 学到的东西&#xff0c;其实也没有很多&#xff0c;这个暑假多多少少还是有遗憾的~ 第一周 学习了一些有…...

【iOS】UIViewController的生命周期

UIViewController的生命周期 文章目录 UIViewController的生命周期前言UIViewController的一个结构UIViewController的函数的执行顺序运行代码viewWillAppear && viewDidAppear多个视图控制器跳转时的生命周期pushpresent 小结 前言 之前对于有关于UIViewControlller的…...

Realistic Vision V5.1 生态工具集成展示:与Cursor等AI编程助手联动工作流

Realistic Vision V5.1 生态工具集成展示&#xff1a;与Cursor等AI编程助手联动工作流 最近在尝试把各种AI工具串起来用&#xff0c;发现了一件挺有意思的事。以前我们做开发&#xff0c;写代码是一个工具&#xff0c;画界面图是另一个工具&#xff0c;做流程图还得再开一个软…...

PFC-FLAC3D耦合学习案例解析

pfc-flac3D耦合学习案例 !岩土工程师的桌面摆满了数值模拟手册 在边坡监测现场见到裂缝的那一刻&#xff0c;我突然意识到离散元与连续介质耦合不再是教科书里的概念——PFC的颗粒崩落和FLAC的应力云图必须握手言和。今天咱们用Python当翻译官&#xff0c;看看这对冤家怎么在滑…...

单目双目相机精准标定与IMU联合校准技术

单目双目相机标定。 相机、imu联合标定。标定这玩意儿说难不难&#xff0c;说简单吧又总有几个坑等着你跳。搞视觉的兄弟们肯定都懂&#xff0c;传感器不准的时候那真是两眼一抹黑。咱们今天直接上干货&#xff0c;聊聊单目双目相机标定&#xff0c;顺带把相机和IMU的联合标定也…...

高效批量OCR处理实战指南:提升图片文字提取效率的完整方案

高效批量OCR处理实战指南&#xff1a;提升图片文字提取效率的完整方案 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件&#xff0c;适用于Windows系统&#xff0c;支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com/…...

普里斯特利时间轴制作教程:使用chart-doctor创建精美历史时间线

普里斯特利时间轴制作教程&#xff1a;使用chart-doctor创建精美历史时间线 【免费下载链接】chart-doctor Sample files to accompany the FTs Chart Doctor column 项目地址: https://gitcode.com/gh_mirrors/ch/chart-doctor chart-doctor是GitHub加速计划中的一个实…...

MoneyPrinterPlus未来路线图深度解析:AI短视频生成工具的终极进化指南 [特殊字符]

MoneyPrinterPlus未来路线图深度解析&#xff1a;AI短视频生成工具的终极进化指南 &#x1f680; 【免费下载链接】MoneyPrinterPlus 使用AI大模型技术,一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! Generat…...

Web开发全栈实践:搭建展示MiniCPM-V-2_6能力的交互式网站

Web开发全栈实践&#xff1a;搭建展示MiniCPM-V-2_6能力的交互式网站 最近在探索多模态大模型的应用&#xff0c;发现MiniCPM-V-2_6在视觉理解方面表现挺有意思。光看技术文档和跑跑Demo总觉得不过瘾&#xff0c;不如自己动手&#xff0c;用最熟悉的Web技术栈&#xff0c;给它…...

JavaScript DXF文件生成:在浏览器中创建CAD图纸的终极方案

JavaScript DXF文件生成&#xff1a;在浏览器中创建CAD图纸的终极方案 【免费下载链接】js-dxf JavaScript DXF writer 项目地址: https://gitcode.com/gh_mirrors/js/js-dxf 你是否需要在Web应用中集成工程图纸生成功能&#xff1f;JavaScript DXF文件生成库为你提供了…...

从零开始:如何使用nanorc为你的专属编程语言创建语法高亮

从零开始&#xff1a;如何使用nanorc为你的专属编程语言创建语法高亮 【免费下载链接】nanorc Improved Nano Syntax Highlighting Files 项目地址: https://gitcode.com/gh_mirrors/na/nanorc nanorc是一个为Nano编辑器提供增强语法高亮功能的项目&#xff0c;通过简单…...

FlyByWire A32NX与A380X实战指南:5个提升飞行模拟体验的关键技巧

FlyByWire A32NX与A380X实战指南&#xff1a;5个提升飞行模拟体验的关键技巧 【免费下载链接】aircraft The A32NX & A380X Project are community driven open source projects to create free Airbus aircraft in Microsoft Flight Simulator that is as close to realit…...