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 主机的不同传输接口支持的不同功能。
下表说明了基于 MCU 主机的不同传输接口支持的不同功能。
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)
- 客户可以通过 esptool 脚本直接烧录 release 版本
- 也可以通过编译的方式生成,具体请参考 esp-idf-setup
-
host 端 (linux 系统)
-
安装需要的驱动,请参考 host-setup
-
通过 SDIO 通讯方式步骤链接,Wifi and Bluetooth over SDIO
-
-
设置验证
-
使用以下命令验证主机上是否可以看到ethsta0和ethap0接口。
$ ifconfig -a
-
使用以下命令验证 hci0 接口是否存在
$ hciconfig
如下图所示:
-
-
测试 Wi-Fi 和 BT/BLE 功能
此处可参考 ESP-Hosted with Linux Host (Raspberry-Pi) 用户指南。参考如下:
-
如果出现以上任何环节的问题,需要提供对应的故障说明,参考如下:
在设置过程中会出现有几种情况:
- 出现
/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,将会看到如下截图所示:
然后可以在 host_driver/esp32 下会有esp32_sdio.ko 生成,如下图所示:
- 如果要用蓝牙模块,需要安装 bluez 工具。可参考 Linux_based_readme。
标签:使用指南,ESP,主机,modules,Raspberry,Hosted,Pi 来源: https://blog.csdn.net/Marchtwentytwo/article/details/117480199