该项目将涉及进行以下连接。
- STM32 和 ESP8266 之间的 UART 连接。
- ESP8266 和手机之间的 WiFi 连接。
- ESP8266 与在移动设备上运行的应用程序之间的应用层协议。
对于 1,您实际上可以使用 Arduino IDE 对 ESP8266 进行编程,只需将 ESP8266 的 UART TX/RX 引脚分别与 STM32 的 RX/TX 引脚连接即可。您可以创建一个测试项目,其中 ESP8266 通过 UART 向 STM32 发送数据以验证此连接。
对于 2,您需要考虑 wifi 网络模式,即确定 wifi 连接是 ad-hoc(移动设备直接连接到 ESP8266)还是基础设施模式(移动设备和 ESP8266 通过共享接入点连接)。您可以在两种模式下配置 ESP8266。您只需在 ESP8266 中编写 Wifi 网络的 SSID 和密码(在 ad-hoc 的情况下,它是 ESP8266 通告的网络的 SSID,在基础设施模式下,它是普通 AP 的 SSID)。这个 wifi 功能也可以在 Arduino IDE 中轻松编程,用于 ESP8266。
最后,在 ESP8266 和移动设备之间建立物理连接后,您需要一个应用程序级协议来连接在移动设备上运行的应用程序与 ESP8266。您可以在 ESP8266 和移动应用程序之间使用套接字连接,也可以为物联网设备使用更高级别的通信协议,例如 MQTT,Arduino IDE 中也提供了该协议。
最终的连接图可能是这样的:
application -> mqtt msgs -> wifi packets -> esp8266 recv pkts -> parse mqtt msgs -> forward data to STM32 over UART