码农知识堂 - 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 存在问题

  • 相关阅读:
    Vuex 的用法
    iOS 通知扩展插件
    前端设计模式——外观模式
    国产自主可控C++工业软件可视化图形架构源码
    牛客刷题——剑指offer(第6期)
    项目:TCP在线云词典
    (龙霸区块链)公链开发学习笔记
    Unicorn 嵌入Android系统
    多角度了解ABeam(德硕)技术架构
    JAVA毕业设计web大学生宿舍管理系统计算机源码+lw文档+系统+调试部署+数据库
  • 原文地址:https://blog.csdn.net/Marchtwentytwo/article/details/132734770
  • 最新文章
  • Java 流程编排新范式 Solon Flow:一个引擎,七种节点,覆盖规则/任务/工作流/AI 编排全场景
    AnyDrop 一款自部署的内容共享工具
    vulnhub:Noob: 1(拿下的第一台靶机)
    AScript如何实现LINQ语法
    让数学公式自动推导
    MewUI 项目:面向 NativeAOT 的超轻量级.NET GUI 架构、底层图形管线与性能演进
    Jstack定位生产环境线程阻塞问题解决
    【Azure Relay】记录使用Azure Relay在通信中遇见侦听器(Listener)或发送端(Sender)断开时的异常日志 (Hybrid Connection by Websocket)
    AirSIM+PX4+QGC无人机仿真环境
    pybind11函数指针入门到放弃
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号