码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • esp-hosted 方案介绍


    • esp-hosted SDK

    esp-hosted 方案介绍

    在这里插入图片描述

    • esp-hosted 方案主要为 Linux 或者 MCU 提供无线连接功能(WiFi 或者 BT/BLE)

    • esp-hosted 解决方案包含了 esp-hosted FG 和 esp-hosted NG 两套方案

    • 与传统 WiFi 网卡的区别在于 ESP 设备端需要烧录固件,而且对于 FG 方案来说, WiFi 相关的指令需要自定义命令


    esp-hosted 框架

    • esp-hosted FG 系统架构

    在这里插入图片描述

    • esp-hosted NG 系统架构
      在这里插入图片描述

    • esp-hosted FG和 esp-hosted NG 的区别

    在这里插入图片描述


    传输接口

    • esp-hosted FG 传输接口

    在这里插入图片描述

    • esp-hosted NG 传输接口

    在这里插入图片描述


    几种联网方案的区别

    在这里插入图片描述


    使用方法

    软硬件设置

    • esp-hosted FG 方案
    • esp-hosted NG 方案

    测试使用

    • esp-hosted FG 方案
    • esp-hosted NG 方案

    在这里插入图片描述


    通信速率

    • 通信速率 - NG

    在这里插入图片描述

    • 通信速率 - FG

    在这里插入图片描述


    吞吐量性能

    • 参见 esp-hosted 吞吐量 说明
      在这里插入图片描述

    吞吐优化的一些 debug 方法

    • 排查缓冲区瓶颈

    各个 TASK 之间一般都是通过 queue 来进行缓冲,如果速率比较低,则某个 queue 一般存在堵塞现象,可以在
    queue 的 send 接口加入毫秒级的超时机制,在超时之后将对应的 TASK 打印出来。

    • 分析 SDIO 线上空闲时间

    当出现吞吐低的时候, SDIO 线上肯定会出现大片的空闲时间。我们可以额外添加几个 GPIO 管脚,在传输的各个
    TASK 不同阶段使用 GPIO 管脚打点,此时也能准确的排查堵塞点。如果并行化优化的很好,那么此时线上这些 GPIO
    打点应该和 SDIO 传输会同时出现。

    当吞吐率高时, SDIO 线上的利用率也会比较高。通过分析 SDIO 线上空闲时间,可以确定线上是否还存在优化空
    间。


    esp-hosted 问题分析方法

    • 确定使用的芯片和外设接口 (比如使用 ESP32 芯片,SDIO 外设)

    • esp-hosted 的版本 (使用 FG 还是 NG,优先建议使用 tag 版本),Linux 驱动与芯片固件版本匹配

    • 内核打印(通过 dmesg 命令)以及芯片 LOG

    • 内核打印看到 WLAN 的信息,说明硬件通信正常,否则需要排查硬件和前面的初始化操作
      在这里插入图片描述

    • 测试 WiFi 命令是否可以通信,正常说明 /dev/esps0 没问题

    • 测试 DHCP 如果异常,则测试使用静态 IP,正常说明 DHCP Client 存在问题

  • 相关阅读:
    4x4矩阵键盘设计Verilog矩阵式键盘控制,视频/代码
    计算机视觉CV领域中多尺度特征的概念
    【Java八股文总结】之Linux常用指令
    如何处理 Angular 单页面应用里的 a 标签,避免点击后重新加载整个应用
    MATLAB中uiwait函数用法
    Matlab/Python教程系列 | 根据目录下的已有图片制作视频(动画)
    vue3响应式模块的实现 efffect reactive ref...
    删除node_modules文件夹
    关于云主机root无法从VNC登录处理
    北大肖臻老师《区块链技术与应用》系列课程学习笔记[15]以太坊-交易树和收据树
  • 原文地址:https://blog.csdn.net/Marchtwentytwo/article/details/132734770
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号