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

时间:2017-05-27 06:47:37

标签: stm32

我想制作网络摄像机,stm32通过摄像头收集图像,然后通过WIFI模块发送到服务器。由于1秒需要传输大量数据,所以我想用USB接口wifi模块程序来实现。或者更好的解决方案。 谢谢!

2 个答案:

答案 0 :(得分:0)

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

你有几个解决方案。

  1. 使用带SPI接口的wifi模块。
  2. 使用SOC,如CC3200.L
  3. 使用ESPxxxx模块或类似设备(RTL8710)
  4. 您当然可以尝试将STM与主机USB接口一起使用,但您必须为USB wifi模块+网络堆栈(例如TCP / IP堆栈)实现USB主机堆栈+驱动程序。但它很复杂,因为STM不是很好,有一些更好的付费 - 但价格昂贵。 USB主机不易实现。

答案 1 :(得分:0)

如果您想继续使用STM32上的“通过USB连接”路径(并且我假设您不打算购买任何商业驱动程序),那么对您来说将会非常糟糕。

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

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

我个人强烈建议尝试以太网,如果这是你的选择。它将是最高带宽(您将需要),加上它是“开箱即用”的最高带宽。有多个项目通过此接口使用免费的LWIP堆栈实现各种应用程序,包括由ST的CubeMX生成的示例。