WIFI模块开发总结(MCU)

在很多产品的应用场景中,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和端口。
例如:

printf("AT+CIPSTART=\"TCP\",\"221.23.452.22\",1883");

221.23.452.22是服务的IP地址,1883是端口。
4.手机也是去连接到服务器,这样整个系统就连接到一起了,实现了手机到设备的远程查看和设置,服务器更像是一个中间媒介,将手机和设备通过网络连接起来。
在这里插入图片描述

基于MCU开发串口WIFI模块需要了解哪些?

  1. AT指令
    串口WIFI模块的控制都是通过AT指令来实现,其他一些串口模块都是这样的。这里说一些处理AT指令处理的方法。
  • AT指令都是字符串格式的,C语言有专门处理字符串的函数,#include string.h这个头文件;
  • 指令和响应一般都是以\r\n作为结束符,处理数据时可以以此来作为判断;
  • 多看AT指令手册,仔细一点,说不定你遇到的问题在文档中已经提到了。
  1. 服务器通信协议
    有很多WIFI模块已经集成了一些网络通信协议,例如MQTT、HTTP等网络协议,但是有一些模块是没有这些个通信协议的,当然会便宜一些。这个时候模块只能建立TCP连接,需要开发者门自己编写程序来实相应的网络协议。这些协议都是标准协议,可以看其对应的文档,连接过程是什么样的,应该发什么样的数据格式。
    具体可以看一下我的另外一片文章。
    WIFI模块不支持MQTT协议,可通过MCU实现
    具体如何实现网络协议,都是在其对应的标准之下的,所以你需要去了解对应的协议标准。
  2. 建立通信协议
    上边说的是标准的网络通信协议,通过这个协议格式能够与服务器正常的连接上,能够正常的对话上,具体你发送的内容是什么,还是要再制定一个通信协议的。
  3. 与APP开发人员、后台管理系统开发人员沟通
    WIFI模块接入网络中之后,要有一个完整的生态,并不是一个人能完成的(大神除外)。所以就需要有一个良好的沟通,因为他们的软件开发跟嵌入式软件开发还是有不相通的地方。例如他们喜欢用json字符串,嵌入式喜欢用十六进制。

以上就是使用WIFI模块进行开发的一个粗略的过程。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值