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

ESP32 C3 smartconfig一键配网报错

    AP配网

    在调试我的esp32c3的智能配网过程中,发现ap配网使用云智能App是可以正常配置的。

    切记用户如果在menu菜单里使能AP配网,默认SSID名字为adh_PK值_MAC后6位。用户可以修改这个apssid的键值,但是要使用云智能app则这个名字的开头必须为adh_xxxxx,其它配网软件还没测试过,但云智能app是这样要求的。

d4daf775cbfb43c58a3f233cb10427a6.png

 一键配网

    这个地方遇到了坑,智能配网过程中,ESP32C3不停地扫描所有通道2.4G的通道1到通道13。注意这个时间为60秒,用户可以修改宏设定自己的超时时间,或者在超时回调函数里面再次启动CONN_SC_ZERO_MODE或者启用CONN_SOFTAP_MODE  AP配网模式。超时后,默认会进入AP配网模式。这个时候我使用云智能APP里面的别家产品配网,发现报zconfig_get_ssid_passwd:passwd err 意思就是秘钥解密错误,但SSID是能够解密出来的。换个别家配网APP现象是一致的。

    我网上看到说是阿里云四元组的事,这个时候我拿到别家能够配置好的先复位后配网,它是能够解析到SSID和PASSWORD的。此时我将它代码里的阿里云四元组给注释掉,复位上电配网测试,发现能够解析出SSID但密码就是解析不出来同样报passwd err 此时我将对四元组逐个释放屏蔽,最终发现必须要有PS值。

    此时可以断定配网的秘钥与PS值有关联,这个时候我使用云智能app对别家的产品进行配网,发现还是报passwd err这个气候就能发现,这个配网的PS值和和esp32里面的PS值必须统一,可以推断,SSID应该是明码发过来的,那个passwd大多数使用AES128加密而这个PS就是对passwd解密的秘钥,其它产品是解析不出来的,只有我的esp32里面有对应的PS值可以。

    将别家的PS值复制到我的工程替代,使用别家的App进行配网。通过串口打印,发现SSID和passwd均可以解密出家,并去连接这个路由器可以获取到IP。这个时候我的产品无法连接到阿里云,因为它的PS值是错的,这个地方我在代码里获取到IP后重新将我的PS值设置进入。下一步eap去连接阿里云刚好用的就是我刚设置的PS值。

至此这个一键配网就OK了。官方代码默认不显示passwd密码在串口上。算了为了安全不明码打印出来了。

后面我将开启蓝牙辅助配网给加入进去。

相关文章:

ESP32 C3 smartconfig一键配网报错

AP配网 在调试我的esp32c3的智能配网过程中,发现ap配网使用云智能App是可以正常配置的。 切记用户如果在menu菜单里使能AP配网,默认SSID名字为adh_PK值_MAC后6位。用户可以修改这个apssid的键值,但是要使用云智能app则这个名字的开头必须为ad…...

力扣labuladong——一刷day25

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣528. 按权重随机选择 带权重的随机选择算法 前言 一、力扣528. 按权重随机选择 class Solution {private int[] preSum;private Random rand new Ra…...

从单体到微服务:使用Spring Boot构建事件驱动的Java应用程序

Spring Boot是Pivotal团队设计的一种微服务框架, 基于Spring开发,用于简化新Spring应用的初始搭建及开发过程,提升Spring 开发者的体验。它秉持“约定大于配置”的思想,集成了大量开箱即用的第三方库,支持绝大多数开源…...

WMS配送中心主要业务流程

业务流程图 入库 波次出库 按门店和门店所属送货路线确定出库波次 入库 出库 移库、封仓 门店欠货能要点 1. 日常补货:分拣仓位商品小于当前商品在该位置的补货下限的时候;生成对此进行补货任务;补货完成后确认任务,系统变更库存…...

《LeetCode力扣练习》代码随想录——数组(螺旋矩阵II---Java)

《LeetCode力扣练习》代码随想录——数组(螺旋矩阵II—Java) 刷题思路来源于 代码随想录 59. 螺旋矩阵 II 左闭右开——[x,y) class Solution {public int[][] generateMatrix(int n) {if(n1){return new int[][]{{1}};}int[][] resultnew int[n][n];int…...

计算机毕业设计选题推荐-农产品销售微信小程序/安卓APP-项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

Linux AMH 服务器管理面板远程访问

文章目录 1. 前言2. Linux 安装AMH 面板3. 本地访问AMH 面板4. Linux安装Cpolar5. 配置AMH面板公网地址6. 远程访问AMH面板7. 固定AMH面板公网地址8、结语 1. 前言 AMH 是一款基于 Linux 系统的服务器管理面板,它提供了一系列的功能,包括网站管理、FTP …...

arcsinx的导数

...

邻接表储存图实现广度优先遍历(C++)

目录 基本要求: 邻接表的结构体: 图的邻接表创建: 图的广度优先遍历(BFS): 邻接表的打印输出: 完整代码: 测试数据: 结果运行: 通过给出的图的顶点和…...

解构赋值详解以及例子

以下是使用解构赋值的所有可能方式的示例代码: 数组解构赋值 const array [1, 2, 3];// 基本形式 const [a, b, c] array; console.log(a); // 1// 只获取部分值 const [, second] array; console.log(second); // 2// 设置默认值 const [d, e, f, g 4] arra…...

Spring Boot 3.0正式发布及新特性解读

目录 【1】Spring Boot 3.0正式发布及新特性依赖调整升级的关键变更支持 GraalVM 原生镜像 Spring Boot 最新支持版本Spring Boo 版本版本 3.1.5前置系统清单三方包升级 Ref 个人主页: 【⭐️个人主页】 需要您的【💖 点赞关注】支持 💯 【1】Spring Boo…...

【tgowt】更新thirdparty

更新完毕后是这样的 之前有过构建但是不能用在owt-p2p项目中,会有崩溃? 【tgowt】cmake转ninja vs构建现在好像都更新到108了 submodule比较麻烦 只修改这里的还不行:一旦git submodule init 后,再改这里的似乎晚了?如果能成功clone就有生成 还必须要改这里的 折腾好几次才…...

金字塔原理小节

目录 第1章 为什么要用金字塔结构 一、归类分组,将思想组织成金字塔 二、奇妙的数字“7” 三、归类分组搭建金字塔 四、找出逻辑关系,抽象概括 五、自上而下表达,结论先行 第1章 为什么要用金字塔结构 如果受众希望通过阅读你的文章、听…...

osg点云加载与渲染

目录 效果 laslib 关键代码 完整代码 效果 las点云读取使用了laslib这个库。 laslib 关键代码 {// 这里演示读取一个 .txt 点云文件const char* lasfile path.c_str();std::ifstream ifs;ifs.open(lasfile, std::ios::in | std::ios::binary);liblas::ReaderFactory f;libl…...

后端架构选择:构建安全强大的知识付费小程序平台

构建知识付费小程序平台需要考虑后端架构,确保系统安全性、性能和可扩展性。以下是一些常见的后端技术和最佳实践,能帮助您构建强大且安全的知识付费小程序平台。 1. 服务器端语言和框架选择 选择流行、成熟的后端语言和框架,如Node.js、P…...

第四节(2):修改WORD中表格数据的方案

《VBA信息获取与处理》教程(10178984)是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网…...

Qt中对Udp数据打包发送和接收

有些小伙伴对怎么对Udp的数据打包不太清楚。下面我举例说明。 比如我们要发送一个Person的数据。可以先用一个结构把Person的数据封装。 struct Person {QString name;int age; };下面是udp客户端和服务器端完整的代码例子。 #ifndef UDPCLIENT_H #define UDPCLIENT_H#includ…...

回调地狱 与 Promise(JavaScript)

目录捏 前言一、异步编程二、回调函数三、回调地狱四、Promise1. Promise 简介2. Promise 语法3. Promise 链式 五、总结 前言 想要学习Promise,我们首先要了解异步编程、回调函数、回调地狱三方面知识: 一、异步编程 异步编程技术使你的程序可以在执行一…...

【Android】UI开发中的一些小细节笔记

序言 本篇笔记用于记录在UI界面编写时的一些很简单但是可能一时想不起来的一些小的知识点。(持续更新…) 正文 TextView 1.当文字比较多,需要多行显示的时候,设置每行文字之间的上下的间距 android:lineSpacingExtra根据需要调整这个值设置行间距 …...

第十三章《搞懂算法:神经网络是怎么回事》笔记

目前神经网络技术受到追捧,一方面是由于数据传感设备、数据通信技术和数据存储技术 的成熟与完善,使得低成本采集和存储海量数据得以成为现实;另一方面则是由于计算能力的大幅提升,如图形处理器(Graphics Processing Unit,GPU)在神…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

【单片机期末】单片机系统设计

主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

LLMs 系列实操科普(1)

写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

软件工程 期末复习

瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...

Linux 下 DMA 内存映射浅析

序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存,但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程,可以参考这篇文章,我觉得写的非常…...