ESP-Hosted 入门介绍 &使用指南

ESP-Hosted 解决方案提供了将 ESP 板用作 Wi-Fi 和 Bluetooth/BLE 连接的通信处理器的方法。基本上为主机添加了一个网络接口和一个 HCI 接口,允许它与其他设备进行通信。

注:对于主机和 ESP 板之间的控制路径,ESP-Hosted 使用基于 Protobuf 的自定义实现。

1 基本功能与支持

  • Wi-Fi 功能 :802.11 b/g/n
  • BT/BLE 功能:v4.2 BR/EDR 和 BLE
  • 支持的 ESP 芯片型号:目前支持 ESP32, ESP32S2
  • 支持的主机:
    • 基于 linux 的主机 (树莓派 3 B 型,树莓派 3 型号 B+,Raspberry-Pi 4 模型 B) (支持 4.x 内核版本。 很快就会有 5.x 内核版本支持。 它实际上也适用于 5.x 内核,但有一些问题需要还待解决)
    • 基于 MCU 的主机, STM32 探索板 (STM32F469I-DISCO)
  • 支持的传输方式
    • ESP-Hosted 使用 UART, SDIO 或 SPI 总线来连接 ESP 板和主机平台。

不同的 ESP 设备支持不同的接口,下表说明了基于 Linux 主机的不同传输接口支持的不同功能。
ESP-Hosted 入门介绍 &使用指南

下表说明了基于 MCU 主机的不同传输接口支持的不同功能。
ESP-Hosted 入门介绍 &使用指南

2 基于 linux 的 SDIO 通讯步骤

  • 硬件连接需求

    • Raspberry-Pi model 3 Model B/B+ or Raspberry-Pi 4 model B
    • ESP32 board
    • 8-12 根 10 cm 长的跳线(短于 10 cm 长度的连接线)
  • 设备端(ESP32/ESP32S2)

  • host 端 (linux 系统)

  • 设置验证

    • 使用以下命令验证主机上是否可以看到ethsta0和ethap0接口。

       $ ifconfig -a
      
    • 使用以下命令验证 hci0 接口是否存在

       $ hciconfig
      

      如下图所示:
      ESP-Hosted 入门介绍 &使用指南

  • 测试 Wi-Fi 和 BT/BLE 功能

    此处可参考 ESP-Hosted with Linux Host (Raspberry-Pi) 用户指南。参考如下:

ESP-Hosted 入门介绍 &使用指南
ESP-Hosted 入门介绍 &使用指南

在设置过程中会出现有几种情况:

  1. 出现 /lib/modules/4.14.50-v7+/build: No such file or directory.
make ARCH=arm CROSS_COMPILE= -C /lib/modules/4.14.50-v7+/build M=/tmp/rtl8812au  modules
make[1]: *** /lib/modules/4.14.50-v7+/build: No such file or directory.  Stop.
Makefile:1052: recipe for target 'modules' failed
make: *** [modules] Error 2

出现如上的情况,这是因为安装 kernel-headers 有问题导致的,这个需要重新安装,可以通过如下命令:

sudo apt-get update && sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernel
sudo apt-get install raspberrypi-kernel-headers
reboot

然后再运行 ./rpi_init.sh sdio,将会看到如下截图所示:

ESP-Hosted 入门介绍 &使用指南

然后可以在 host_driver/esp32 下会有esp32_sdio.ko 生成,如下图所示:

ESP-Hosted 入门介绍 &使用指南

  1. 如果要用蓝牙模块,需要安装 bluez 工具。可参考 Linux_based_readme
上一篇:003-ESP32学习开发(SDK)-学习ESP32资料说明


下一篇:使用USB转TTL下载固件到ESP-01S(ESP8266)