STM32 |
您所在的位置:网站首页 › esp8266传输速度 › STM32 |
本文适用于STM32F103C8T6等MCU,其他MCU可以移植,完整资源见文末链接 一、简介随着移动物联网的发展,各场景下对于物联控制、数据上传、远程控制的诉求也越来越多,基于此乐鑫科技推出了便宜好用性价比极高的wifi物联模块——ESP8266,话不多少我们先来看看这个神奇的模块长什么样子! 下图是ESP8266-01模块,与之对应的还有ESP8266-01S,两者基本一致,只是后者内部集成了上拉电阻,ESP8266-01使用的时候需要手动接上拉电阻(CH_PD管脚接10k上拉电阻) ESP8266模块有两种模式: 模式一:连网传输数据,就是连接你家中的路由器,即Station模式,本文主要基于该模式进行介绍 模式二:这个模块本身作为一个热点来让你的手机连接它,即AP模式 如果要彻底搞懂这个模块还需要了解AT指令集和mqtt协议,这些相对比较复杂,不在此展开,本文直接上干活,争取用最短的时间教会大家做出项目,并可以按照自己的需求修改 本系列文章就基于ESP8266-01S+STM32F103进行简单的数传/控制介绍,从而了解ESP8266的基本功能。内容比较多,我尽量每一步详细说明,请耐心看完。 二、电气特性产品参数如下: 模块管脚定义: 透传主要为了设置开机自动透传,断线自动重连,可实现数据连续上传,透传设置包括配置(1)WiFi名称(2)WiFi密码,这个设置对于后续数据自动上传至关重要,若WiFi信息更改需要重新透传设置。 常用的透传设置包括 (1)手动透传:借助串口助手+AT指令配置——本文介绍透传方式 (2)自动透传:这里主要借助Arduino单片机实现配置,如果这个单片机不熟悉的话建议选择方式一手动透传 接下来就重点介绍利用串口助手进行数据透传设置,准备工作如下: (1)串口助手软件(文末附资源链接) (2)USB转串口模块,某宝上搜索有很多 (3)服务器网站(本文选用“贝壳物联”,网址:https://www.bigiot.net/) 手动透传接线说明 ESP8266-01SUSB转串口模块VCC3V3(注意:透传设置时模块功耗不高,可直接连接使用USB供电)GNDGNDRXDTXDTXDRXDCH_PD如果使用ESP8266-01需要接10K上拉,-01s无需接线接线图 查询固件版本 使用"AT+GMR"命令查询当前固件版本: 完成以上命令重启,自动进入透传模式,并连接贝壳物联服务器 如果固件是V1.0+版本,在串口助手中输入以下命令进行透传设置(本文使用的固件刷新方法) 其中,SSID是路由器名称,Password是路由器WiFi密码,其他不需要修改 +++ AT ATE0 AT+RESTORE AT+CWMODE=3 //连接到WiFi路由器,请将SSID替换为路由器名称,Password替换为路由器WiFi密码 AT+CWJAP="SSID","Password" AT+CIPMUX=0 AT+CIPMODE=1 //这块是贝壳物联网站地址,不用修改 AT+SAVETRANSLINK=1,"121.42.180.30",8181,"TCP"
前面介绍了ESP8266模块并完成透传设置,接下来就可以连接STM32单片机进行数据上传显示了,这里以STM32F103C8T6单片机为例说明,其他MCU也是类似的。STM32采集DHT11温湿度数据,然后再通过串口传输给ESP8266,通过wifi传输给服务器端显示。 ESP8266-01S和STM32F103C8T6接线图 ESP8266-01SSTM32F103C8T6VCC3V3(电流大于500mA,需独立供电)GNDGNDRXDPA9TXDPA10CH_PDESP8266-01需要接10K上拉,-01s不需要DHT11和STM32F103C8T6接线图 DHT11STM32F103C8T6VCC3V3GNDGNDDATAPA8系统框图 基于DHT11模块的温湿度数据传输框图如下所示,STM32接收到温湿度数据后再将数据通过串口传输给ESP8266模块,然后再传输给贝壳物联 进入网站首页,点击右上角“注册”、“登录”拥有自己的账号 注册成功后主页面显示如下,注意这里面的 “ID”和“APIKEY” 这两个参数是和你添加智能设备后就有的,不会改变,后面代码中会用到 如果需要添加新的智能设备的话,可以在“智能设备”——“添加设备”中添加 由于是要将传感器采集到的温湿度数据上传到贝壳物联服务器中,所以这里面需要用到数据接口,如下所示,可以点击“添加接口”进行新增 添加配置完接口后显示如下,可以任意配置接口,但是需要注意的每个接口都有唯一一个"ID",这个ID很重要,后续代码中会体现出来 上述全部配置完成后,把我们的程序下载到STM32中,即可在数据页面显示对应的温湿度数值,数据显示界面入口如下: STM32代码下载:(完整代码资源及串口助手见文末链接) 代码打开路径:bigiotSTM32-master\bigiot\Project\STM32F10x_LED\MDK-ARM\Project 其中“DEVICEID”和“APIKEY”就是你网站注册后的数据 /*以下两个变量必须修改为自己的设备ID及APIKEY,在贝壳物联用户中心添加设备即可获得*/ char *DEVICEID = "30017"; char *APIKEY = "90e6c4964";服务器网站对应参数截图 配置对应数据显示接口 if(ReceiveState == 1) { ReceiveState = 0; i = 0; processMessage(aRxBuffer); //其中30017就是设备ID,26630是独立的数据显示接口地址,不同显示接口有对应不同的地址 update1("30017","26630",temp); RxCounter = 0; }服务器网站对应参数截图 以DHT11温湿度数据上传为例,间隔几十秒显示一次数据,间隔时间可修改 STM32--ESP8266物联网WIFI模块(贝壳物联)--温湿度数据上传服务器显示 完整代码链接:代码打开路径:bigiotSTM32-master\bigiot\Project\STM32F10x_LED\MDK-ARM\Project 百度网盘下载 链接: https://pan.baidu.com/s/1cVvkJJhgMXOqvALUiWFsQw 提取码: xfd9 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |