查看“︁Nethub架构和开发手册”︁的源代码
←
Nethub架构和开发手册
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
不允许您执行您所请求的操作。
您可以查看和复制此页面的源代码。
= Nethub = '''Nethub''' 是一个开源解决方案,使 Bouffalolab SoCs/模块(如 BL616/BL618D/BL616L)能够作为外部主机系统的'''无线通信协处理器'''。 它允许'''主机设备'''(基于 Linux 的系统或微控制器 MCU)通过'''标准接口'''(如USB、SPI、SDIO 或 UART)添加 Wi-Fi 和 BLE 功能。 === 主要特性 === * '''灵活的连接方式''':Wi-Fi + BLE * '''广泛的主机支持''':支持基于 Linux 和 MCU 的系统 * '''多种接口''':SPI、SDIO、UART * '''共享网络''':WiFiSoc 和主机可以共享相同的 IP 地址 * '''高能效''':为电池供电的应用场景提供低功耗模式 === 高层架构 === <pre> ┌─────────────────────────────────────────┐ │ Host (Linux/RTOS) │ ├─────────────────────────────────────────┤ │ UserAPP │ NetInterface │ RpcCtrl │ └─────────────────────────────────────────┘ │ USB/SDIO/SPI/UART/GPIO │ ┌─────────────────────────────────────────┐ │ Device Module │ ├─────────────────────────────────────────┤ │ Lowerpower │ wifi │ BLE │ RpcCtrl │ └─────────────────────────────────────────┘ </pre> == Nethub 变体 == === WiFiCard-Linux === 最适合需要标准 Wi-Fi 和 Bluetooth 集成的 '''Linux 主机''': * 作为原生 802.11 无线设备 * 可通过 <code>cfg80211</code> / <code>wpa_supplicant</code> 配置 * 支持 <code>NetworkManager</code> * 通过标准 HCI 接口使用 BLE ---- === Nethub-Linux === 专为 '''Linux 主机'''设计,采用自定义轻量级基于 RPC 的控制: * Ethernet 802.3 接口 * 通过基于 protobuf 的 RPC 进行 Wi-Fi 配置 * 完全可定制的 API * 通过标准 HCI 使用 BLE * 支持 Python 或 C 集成 * 当主机关机时,BouffaloLab Soc 保持网络连接 ---- === Nethub-MCU === 针对'''资源受限的 MCU'''优化: * 最小的内存占用 * 高效的功耗运行 * 已提供 STM32 作为主机的移植示例和 Demo * 即使主机处于深度睡眠或关机状态,WiFiSoc 仍保持连接 ---- == 变体对比 == {| class="wikitable" |- ! 特征 !! WiFiCard-Linux !! Nethub-Linux !! Nethub-MCU |- | '''目标主机''' || Linux || Linux || MCU |- | '''Wi-Fi 配置''' || <code>cfg80211</code> || RPC || RPC |- | '''网络接口''' || 802.11 Wi-Fi || 802.3 Ethernet || 802.3 Ethernet |- | '''Device 和主机共用 IP''' || || ✅ || ✅ |- | '''电源管理''' || || ✅ || ✅ |- | '''Wi-Fi 模式''' || || STA, AP, STA+AP || STA, AP, STA+AP |- | '''总线接口''' || || USB, SDIO, SPI, UART(及组合) || USB, SDIO, SPI, UART(及组合) |- | '''Wi-Fi 安全''' || || WPA, WPA2, WPA3, Open || WPA, WPA2, WPA3, Open |- | '''标准''' || || 802.11 b/g/n/ax, BLE || 802.11 b/g/n/ax, BLE |- | '''支持的芯片''' || || BL616/BL616D/BL616L || BL616/BL616D/BL616L |} ---- == 选择合适的变体 == {| class="wikitable" |- ! 使用场景 !! 推荐变体 |- | 标准 Linux Wi-Fi 配置 (<code>NetworkManager</code>、<code>wpa_supplicant</code>) || '''WiFiCard-Linux''' |- | 需要对 Wi-Fi 进行自定义/专有控制的 Linux(例如,智能门锁门铃、行车记录仪等) || '''Nethub-Dualstack-Linux''' |- | 嵌入式 Linux 平台(如 Raspberry Pi、BeagleBone) || '''Nethub-Dualstack-Linux''' |- | 资源受限设备(低 RAM/CPU 的 MCU) || '''Nethub-Dualstack-MCU(甚至直接只用AT方案)''' |- | 自定义网络或重复协议栈(主机和 WiFiSoc 上相同 IP) || '''Nethub-Dualstack-Linux''' 或 '''Nethub-Dualstack-MCU''' |- | 需要同时使用 BLE 和 Wi-Fi 的 IoT 应用场景 || '''Any''' |- | 需要协议定制/深度包检测 || '''Nethub-Dualstack-Linux''' 或 '''Nethub-Dualstack-MCU''' |} ---- == 文档与资源 == === WiFiCard-Linux === ... === Nethub-Linux === '''主机端 (Host)''' {| class="wikitable" |- ! 模块 !! 说明 |- | '''UserExt''' || 用户业务逻辑层,由用户自行开发 |- | '''EthernetDriver''' || 网络接口层,提供驱动源代码,将 SDIO 接口虚拟化为网卡。用户可使用对应 Linux 平台的工具链编译相关驱动 |- | '''VirtualChannel''' || WiFi 控制层,提供主机控制 Device 模块的接口,包括网络连接、断开、扫描、OTA 升级、用户私有数据传输等功能 |} '''Device端''' <blockquote> '''注意''':当前不支持从 SDIO 启动,因此 Device 模块需要配备 Flash 存储器。 </blockquote> {| class="wikitable" |- ! 模块 !! 说明 |- | '''UserExt''' || 用户业务逻辑层,由用户自行开发 |- | '''Lowpower''' || 低功耗功能层,需要与主控制器进行交互,可以通过额外的 GPIO 实现触发唤醒功能 |- | '''Filter''' || 默认的 filter 处理规则,也支持用户自定义 |} === Nethub-MCU === 常见问题 *sdiowifi和nethub框架方案对比 * [[ATModule 协议格式]] *
返回
Nethub架构和开发手册
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息