有没有通过USB驱动WIFI模块程序的STM32芯片?

There is no STM32 chip through the USB driver WIFI module program?

我想做一个网络摄像头,stm32通过摄像头采集图像,然后通过WIFI模块发送到服务器。由于1秒钟需要传输很多数据,所以想用USB接口的wifi模块程序来实现。或者有什么更好的解决方案来实现。 谢谢!

我认为您不知道 USB 是如何工作的。

你有几个解决方案。

  1. 使用带SPI接口的wifi模块。
  2. 使用类似 CC3200.L
  3. 的 SOC
  4. 使用 ESPxxxx 模块或类似模块 (RTL8710)

您当然可以尝试将STM 与主机usb 接口一起使用,但您必须实现USB 主机堆栈+ USB wifi 模块驱动程序+ 网络堆栈(例如TCP/IP 堆栈)。但它非常复杂,因为 STM 的不是很好,有一些收入更高的 - 但价格昂贵。 USB host实现起来并不容易

如果您想在 STM32 上走 "networking over USB" 道路(我假设您不打算购买任何商业驱动程序),那对您来说会很艰难。

当谈到 USB 时,绝大多数 WiFi 加密狗驱动程序都是专有的,除非您使用 Windows 或 Linux 等操作系统,否则您就不走运了,除非您想进行逆向工程或至少从 Linux 移植部分驱动程序。对于 USB,您可以考虑使用 USB-ECM(USB 以太网)class,但这里有两点。一 - ST 不提供此 class 的任何免费实现,因此您无法搜索它或自己实现它。经过一番谷歌搜索后,我在 githbu 上找到了一个这样的实例,尽管我自己还没有测试过。第二件事 - 这不再是无线的,因为你需要连接到某种提供互联网连接的主机,此时最好根本不使用 USB-ECM 和网络,只使用 [=23 发送数据=] 可以轻松实现(USB-CDC 或 USB-HID)。我有点担心这里的吞吐量。

您也可以尝试寻找通过其他接口连接的WiFi模块。通常这些模块通过 UART 连接,一些通过 SPI 连接。这样,将它与 TCP/IP 堆栈集成也将取决于您,至少在实现 WiFi 模块协议(最有可能是 AT 命令)和实现网络接口时,堆栈可以 "talk" 到它。在这种方法中,我几乎可以肯定您将缺乏应用程序所需的吞吐量。

就我个人而言,如果可以的话,我强烈建议尝试以太网。它将是最高带宽(您将需要),而且它是最多 "out of the box"。有多个项目通过此接口使用免费的 LWIP 堆栈实现各种应用程序,包括 ST 的 CubeMX 生成的示例。