蓝牙和wifi之间的简单传感器读取应用的建议

物联网 微控制器 无线的 stm32
2021-06-12 14:01:58

所以我有一个简单的应用程序,它涉及通过 UART 通过终端读取输入,然后相应地响应,无论是切换 LED 还是通过 I2C 输出传感器读数。作为一个进步,我一直在考虑合并一些无线功能,以便可以通过无线方式发送/读取数据,即 WiFi 或蓝牙。

我个人认为对于这个简单的应用程序,考虑到即使是最大标准波特率(0.256Mbps)也比蓝牙(~2Mbps)可以达到的比特率要低,蓝牙就足够了,但从学习的角度来看,什么是建议的方法?

我想到的一个简单的 BLE 用例是连接到移动应用程序,并通过空中和 UART 从模块向 MCU 发送/接收数据。

对于 WiFi,我没有做太多研究,但我必须先设置本地服务器,将模块连接到 wifi 互联网,设置获取/发布请求和一些我猜的后端处理。

我有一个 STM32F4 MCU。另外,是否需要实时操作系统?

1个回答

如果您的应用程序使用电池运行,您可能应该选择 BLE。任何其他要求都可以通过 WiFi 或蓝牙来满足。您也可以通过 WiFi 或蓝牙连接到移动应用程序。

至于 STM32,有非常方便的蓝牙和 WiFi 模块,您可以将 UART 连接到 STM32 并通过 AT 命令或其他方式控制它。

例如,对于 WiFi,您可以使用通过 UART 连接的 AT 模式 (ESP8266) ESP01。我已经在带有 ESP01的 STM32 上运行Paho MQTT C库以进行 WiFi 连接。您可以将Mosquitto MQTT Broker 设置为 PC 或 RPi 上的服务器,并且可以使用移动应用程序来可视化数据。

还有蓝牙模块,您可以将其作为虚拟 COM 端口连接到您的 PC 并读取串行输出。我认为这些将是最快的原型,然后你可以继续使用移动应用程序等。

至于 RTOS,您最好先不使用 RTOS,一旦您的无线连接和应用程序的细节变得更加可靠,您就可以决定引入 RTOS。