物联网之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 列的移动 在现代网页设计中,布局是构建用户界面的基石。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、表格处理程序示例 表格处理程序是一个二维的“细胞”网格,每个格子包含了一个数字或者字符串。专业的表格处理程序比如微软的Excel提供了执行数学运算的能力,比如计算格子中的值的和。表格处理程序示例无意挑战微软的市场地位,但是对于演示…...
es6中set和map的区别
在ES6(ECMAScript 2015)中,Set 和 Map 是两种新的集合类型,它们提供了更高级的数据结构来存储唯一值或键值对集合。尽管它们在功能上有些相似,但它们在用途和内部机制上存在一些关键区别。 1. 基本概念 Set࿱…...
高级实时通信:基于 Python 的 WebSocket 实现与异步推送解决方案
高级实时通信:基于 Python 的 WebSocket 实现与异步推送解决方案 目录 🟢 WebSocket 协议概述🔵 在 FastAPI 中实现 WebSocket🟣 Django Channels 实现异步实时通信🔴 使用 Redis 实现实时推送 🟢 1. WebS…...
大二上学期详细学习计划
本学习完成目标: 项目: 书籍:《mysql必知必会》《java核心技术卷》(暂时)加强JavaSE的学习,掌握Java核心Mysqlsql(把牛客上的那50道sql语句题写完)gitmaven完成springboot项目&…...
Kafka【十四】生产者发送消息时的消息分区策略
【1】分区策略 Kafka中Topic是对数据逻辑上的分类,而Partition才是数据真正存储的物理位置。所以在生产数据时,如果只是指定Topic的名称,其实Kafka是不知道将数据发送到哪一个Broker节点的。我们可以在构建数据传递Topic参数的同时ÿ…...
SQL优化:执行计划详细分析
视频讲解:SQL优化: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版本 激活路径:More tool windows->Build Variants->Active Build Variant->releaseAPK路径:Project\app\build\intermediates\apk\app-release.apk Debug版本 激活路径:More tool w…...
基于 SpringBoot 的实习管理系统
专业团队,咨询送免费开题报告,大家可以来留言。 摘 要 随着信息化时代的到来,管理系统都趋向于智能化、系统化,实习管理也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越…...
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 要说这个东西,其实和我们刚刚讲到的Lombok相类似。其是由我们的源代码加上MapStruct经过编译后得到.class文件,文件中自动补全了代码。那么补全了什么代码?实现了什么功能? MapStruct的产生&…...
35天学习小结
距离上次纪念日,已经过去了35天咯 算算也有5周了,在这一个月里,收获的也挺多,在这个过程中认识的大佬也是越来越多了hh 学到的东西,其实也没有很多,这个暑假多多少少还是有遗憾的~ 第一周 学习了一些有…...
【iOS】UIViewController的生命周期
UIViewController的生命周期 文章目录 UIViewController的生命周期前言UIViewController的一个结构UIViewController的函数的执行顺序运行代码viewWillAppear && viewDidAppear多个视图控制器跳转时的生命周期pushpresent 小结 前言 之前对于有关于UIViewControlller的…...
基于AutoHotkey的Windows桌面自动化工具开发实战
1. 项目概述与核心价值最近在整理个人项目库时,翻到了一个挺有意思的“老伙计”——cua_desktop_operator_skill。这个项目名听起来有点拗口,直译过来是“CUA桌面操作员技能”。乍一看,可能会让人联想到某种工业控制台的专用软件。但实际上&a…...
天学网口碑好不好?2026年最新用户实测反馈给你答案
作为深耕教育数字化落地领域5年的从业者,最近后台收到不少公立校电教组老师、学生家长的提问:主打AI英语教学的天学网口碑到底怎么样?刚好我们团队刚做完2026年第一季度的英语教育数字化工具落地效果调研,结合一手实测数据给大家客…...
开源AI代码助手实践:从数据到部署的全链路解析
1. 项目概述:从“copaw-code”看AI代码助手的开源实践最近在GitHub上看到一个挺有意思的项目,叫“QSEEKING/copaw-code”。光看这个名字,可能有点摸不着头脑。“copaw”这个词,听起来像是“co-pilot”(副驾驶ÿ…...
基于双线性插值的AMG8833热成像分辨率提升方案与嵌入式实现
1. 项目概述:从8x8到15x15,一次软件驱动的热成像分辨率革命如果你玩过基于AMG8833这类低成本红外热成像传感器的项目,大概率会对它那8x8的“马赛克”图像印象深刻——64个像素点,勉强能看出个温度轮廓,但细节ÿ…...
基于容器技术的在线代码沙盒:架构设计与安全实践
1. 项目概述:一个开箱即用的在线代码运行沙盒最近在折腾一些需要快速验证代码片段、或者给团队做技术分享的场景,我发现一个痛点:环境配置太麻烦了。你想让新人跑个Python脚本,他可能得先装Python、配环境变量、装依赖库ÿ…...
ElevenLabs菲律宾语语音突然变卡顿?紧急排查清单:DNS劫持、Token过期、区域节点错配(含curl诊断脚本)
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs菲律宾语语音突然变卡顿?紧急排查清单:DNS劫持、Token过期、区域节点错配(含curl诊断脚本) 当ElevenLabs API在调用菲律宾语(fil-P…...
改进极限学习机的电池健康状态估计(WOA-ELM)附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &…...
Linux 下用火焰图进行性能分析
软件的性能分析,往往需要查看 CPU 耗时,了解瓶颈在哪里。火焰图 (flame graph) 是性能分析的利器。 1. 火焰图简介 很多人感冒发烧的时候,往往会模仿神农氏尝百草的路子:先尝尝抗病毒的药,再试试抗细菌的药ÿ…...
Pinia Colada:革命性Vue数据获取层的完整入门指南
Pinia Colada:革命性Vue数据获取层的完整入门指南 【免费下载链接】pinia-colada 🍹 The smart data fetching layer for Vue 项目地址: https://gitcode.com/gh_mirrors/pi/pinia-colada Pinia Colada是Vue生态系统中一款革命性的数据获取层解决…...
为什么FlicFlac是Windows用户必备的音频格式转换神器?
为什么FlicFlac是Windows用户必备的音频格式转换神器? 【免费下载链接】FlicFlac Tiny portable audio converter for Windows (WAV FLAC MP3 OGG APE M4A AAC) 项目地址: https://gitcode.com/gh_mirrors/fl/FlicFlac 还在为不同设备间的音频格式不兼容而烦…...
