码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • bcn_timout,ap_probe_send_start


    ESP32 使用 beacon 超时机制检测 AP 是否活跃。如果 station 在 inactive 时间内未收到所连接 AP 的 beacon,将发生 beacon 超时。inactive 时间通过调用函数 esp_wifi_set_inactive_time() 设置。

    beacon 超时发生后,station 将向 AP 发送 5 个 probe request,如果仍未从 AP 接收到 probe response 或 beacon,station 将与 AP 断开连接并产生 WIFI_EVENT_STA_DISCONNECTED 事件。

    需要注意的是,扫描过程中会重置 beacon 超时所使用的定时器,即扫描过程会影响 WIFI_EVENT_STA_BEACON_TIMEOUT 事件的触发。

    API esp_wifi_set_config() 可用于配置 station。配置的参数信息会保存到 NVS 中。下表详细介绍了各个字段。

    字段

    描述

    ssid

    station 想要连接的目标 AP 的 SSID。

    password

    目标 AP 的密码。

    scan_method

    WIFI_FAST_SCAN 模式下,扫描到一个匹配的 AP 时即结束。WIFI_ALL_CHANNEL_SCAN 模式下,在所有信道扫描所有匹配的 AP。默认扫描模式是 WIFI_FAST_SCAN。

    bssid_set

    如果 bssid_set 为 0,station 连接 SSID 与 “ssid” 字段相同的 AP,同时忽略字段 “bssid”。其他情况下,station 连接 SSID 与 “ssid” 字段相同、BSSID 与 “bssid” 字段也相同的 AP。

    bssid

    只有当 bssid_set 为 1 时有效。见字段 “bssid_set”。

    channel

    该字段为 0 时,station 扫描信道 1 ~ N 寻找目标 AP;否则,station 首先扫描值与 “channel” 字段相同的信道,再扫描其他信道。如果您不知道目标 AP 在哪个信道,请将该字段设置为 0。

    sort_method

    该字段仅用于 WIFI_ALL_CHANNEL_SCAN 模式。

    如果设置为 WIFI_CONNECT_AP_BY_SIGNAL,所有匹配的 AP 将会按照信号强度排序,信号最好的 AP 会被首先连接。比如,如果 station 想要连接 ssid 为 “apxx” 的 AP,且扫描到两个这样的 AP。第一个 AP 的信号为 -90 dBm,第二个 AP 的信号为 -30 dBm,station 首先连接第二个 AP。除非失败,才会连接第一个。

    如果设置为 WIFI_CONNECT_AP_BY_SECURITY,所有匹配的 AP 将会按照安全性排序。比如,如果 station 想要连接 ssid 为 “apxx” 的 AP,并且扫描到两个这样的 AP。第一个 AP 为开放式,第二个 AP 为 WPA2 加密,station 首先连接第二个 AP。除非失败,才会连接第一个。

    threshold

    该字段用来筛选找到的 AP,如果 AP 的 RSSI 或安全模式小于配置的阈值,则不会被连接。

    如果 RSSI 设置为 0,则表示默认阈值、默认 RSSI 阈值为 -127 dBm。如果 authmode 阈值设置为 0,则表示默认阈值,默认 authmode 阈值无授权。

    注意

    二、抓包分析

    苹果电脑自带抓包工具

    How to Sniff Packets & Capture Packet Trace in Mac OS X the Easy Way

    乐鑫 Wireshark 使用指南 - ESP32 - — ESP-IDF 编程指南 latest 文档

    ref:

    Wi-Fi 驱动程序 - ESP32 - — ESP-IDF 编程指南 latest 文档

    wifi:bcn_timout,ap_probe_send_start after esp_http_client use? (IDFGH-3754) · Issue #5674 · espressif/esp-idf · GitHub

    Heap Memory Allocation - ESP32 - — ESP-IDF Programming Guide latest documentation 

    Heap Memory Debugging - ESP32 - — ESP-IDF Programming Guide latest documentation

    Where's the rest of the internal memory? - ESP32 Forum

    https://www.esp32.com/viewtopic.php?f=13&t=18168

    esp32 heap 内存管理简析_六文钱的博客-CSDN博客_esp32 malloc

     

  • 相关阅读:
    python加密字符串安全保护你的数据
    css3带你实现3D转换效果
    MATLAB 2022b 中设置关闭 MATLAB 之前进行询问
    java-代码操作服务器之SSH连续发送命令
    【视觉基础篇】13 # 如何给简单的图案添加纹理和复杂滤镜?
    论文阅读 DyREP:Learning Representations Over Dynamic Graphs
    mac里提示‘.bash_profile’: not a valid identifier,该怎么处理
    【场景化解决方案】深度融合钉能力,实现企业级办公费控精细化管理
    Python OpenCV 视频抽帧处理并保存
    【毕业设计】基于stm32的智能婴儿车 婴儿床 系统 - 物联网 单片机
  • 原文地址:https://blog.csdn.net/wwwlyj123321/article/details/127916535
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号