在很多产品的应用场景中,WIFI网络会给我们提供很多便捷,MCU开发中大多使用串口WIFI蓝牙模块来实现产品接入WIFI网络中。
具体的使用模型如下图所示:整个系统涉及到WIFI网络、手机、服务器平台以及我们设计的产品,一个完整的生态是这样的。服务器端要有数据库和管理平台,手机端有一个APP来远程查看或者操控,大多数智能家居产品使用这个模式。
常规的使用流程:
1.产品的WIFI蓝牙模块首先应该处在AP模式下,手机连接WIFI蓝牙模块释放的WIFI网络,实现手机与设备之间的网络通信,这一步是用来给WIFI配置网络使用的,这个网络是能够连接到互联网中的。
2.当设备收到手机端传来的WIFI名称(SSID)和密码(password)时,WIFI蓝牙模块进入到STA模式下,去连接手机配置的这个WIFI网络,如果网络连接成功之后,就可以去跟服务器进行通信了。
需要注意的是,部分WIFI蓝牙模块厂家的模块连接的WIFI名称和密码都必须是英文字符和数字,例如中文名的WIFI就无法连接。
3.WIFI连接成功之后,就是连接服务器了,可以通过一条AT指令与服务器建立一个TCP或者UDP连接或者其他什么网络连接。使用AT指令去建立连服务器的IP和端口。
例如:
221.23.452.22是服务的IP地址,1883是端口。
4.手机去连接到服务器,这样整个系统就连接到一起了,实现了手机到设备的远程查看和设置,服务器更像是一个中间媒介,将手机和设备通过网络连接起来。
基于MCU开发串口WIFI蓝牙模块需要了解哪些?
AT指令
串口WIFI蓝牙模块的控制都是通过AT指令来实现的,其他一些串口模块都是这样的。这里说一些处理AT指令处理的方法。
AT指令都是字符串格式的,C语言有专门处理字符串的函数,#include string.h这个头文件;
指令和响应一般都是以rn作为结束符,处理数据时可以以此来作为判断;
服务器通信协议
有很多WIFI蓝牙模块已经集成了一些网络通信协议,例如MQTT、HTTP等网络协议,但是有一些模块是没有这些通信协议的,价格会便宜一些。如果没有通信协议,WiFi蓝牙模块只能建立TCP连接,需要开发工程师自己编写程序来实现相应的网络协议。这些协议都是标准协议,可以参考相应的文档,包括连接过程,数据格式等。
WIFI蓝牙模块不支持MQTT协议,可以通过MCU实现。
如何实现网络协议?需要开发工程师找到相对应的协议标准,根据协议标准去开发,因此开发工程师要对这些协议标准比较熟悉。
建立通信协议
上面介绍的是标准的网络通信协议,通过协议格式能够与服务器正常的连接上,能够正常的通信。但是具体发送什么内容,还需要再制定一个通信协议。
MesoonRF美迅物联网是工业物联网无线通信模块生产厂商,提供WiFi蓝牙模块,低功耗蓝牙模块,Mesh组网模块,UWB模块,NFC模块等产品,并通过了BQB,FCC,CE,ROHS,REACH等认证。产品包括蓝牙串口透传模块,蓝牙双模,低功耗蓝牙4.2/5.0/5.1/5.2/5.3,hc05/06,BM77/78,蓝牙mesh组网等工业级、车规级物联网方案。