stm32f103c8t6驱动wifi模块前需要先对wifi模块进行配置,然后再去传输数据。
1 wifi模块ESP8266配置
1.1所需硬件
串口工具 PWLINK2
1.2 所需软件
都在这里(注意:烧录的固件一定要选对,否则烧录不成功)https://download.csdn.net/download/weixin_51248645/87707922?spm=1001.2014.3001.5501
wifi烧录工具 :flash_download_tool_3.9.2_0
wifi固件库:BAT_AT_V1.7.1.0_1M.bin
wifi串口调试工具:AiThinker Serial Tool V1.2.3.exe
1.3电路连接
参考这个,不再重复
ESP8266 01s刷回原厂固件方法_esp8266原厂固件_长不大的大头的博客-CSDN博客
1.4调试问题
1.4.1 烧录不成功
原因分析,从官网下载的固件库有32位和8位的,该器件要选8位。
烧32位报错如下:
改为烧8位后下载成功
1.4.2 串口发的送AT+RST没反应。
原因1:是固件错误,实测BAT_AT_V1.7.1.0_1M.bin这个可以,其他不行。
原因2:烧录完成后要复位一下,把rest接地,然后等一会再试试就可以了。
至此,wifi调试成功,然后就是配置wifi,然后连接MCU收发数据。
2.本地搭建TCP验证
2.1需要的工具
串口工具,用上面那个即可。
TCP工具:用来模拟云端。SocketTool V4.exe
2.2 通过串口向wifi模块进行配置。
发送指令顺序:
1.
AT
这个指令要看到有AT OK说明你的供电和TTL和wifi模块通讯正常
2.
AT+CWMODE=3
设置模式3,STA+AP,其实我们只用了STA
3.
AT+RST
让模块复位,能在接收信息最下面看到 ready,说明模块复位成功。复位后就是STA+AP模式了
4.
AT+CWJAP="your ssid","password"
输入你无线路由器的用户名和密码,一定要写正确,注意大小写
5.
AT+CIFSR
查询IP,因为有STA和AP两个模式,所以有两组MAC和IP,常见的是192.168.x.x局域网IP
6.
AT+CIPMUX=0
设置单链接,透传只能在单连接模式下进行,所以在建立连接之前一定要用(AT+CIPMUX=0 设置单连接)
7.
AT+CIPMODE=1
设置透传模式
8.
这里先连接上面搭建的TCP ip.
AT+CIPSTART="TCP","XXX.XXX.40.33",XX
下面是云平台的,先不连,最后都调通了再换到云平台上。
AT+CIPSTART="TCP","183.230.40.33",80
连接OneNet服务器
连接成功后,此时客户端就可以给蓝牙模块发数据了,然后蓝牙模块通过串口显示出来。如下图,发送hello,蓝牙模块就会收到hello。
下一步是让wifi给客户端发数据。执行下面命令。
9.
AT+CIPSEND
启动透传发送
启动透传后,数据就可以双向发送了,wifi可以收可以发。
测试结果如下,可以正确接收到数据。
3.接入物联网平台
3.1物联网平台注册账号
3.2 创建设备并添加
网关设备 MQTT协议
3.3 在线调试
点击右上方在线调试,模拟设备向云平台发送数据。
3.4 wifi配置IP接入云平台。
注1.wifi无法退出透传问题:把发送新行关了就可以了。
注2 由于上面那个工具无法发送多行数据,所以换个工具使用。USR串口工具发送指令没反应,原因是要指令后加换行再发送。