STM32--ESP8266物联网WIFI模块(贝壳物联)--温湿度数据上传服务器显示_bigiotstm32-master\bigiot\project\stm32f10x_led\md-程序员宅基地

技术标签: 无线数据数据上传  stm32  STM32  服务器  物联网  ESP8266  

本文适用于STM32F103C8T6等MCU,其他MCU可以移植,完整资源见文末链接

一、简介

随着移动物联网的发展,各场景下对于物联控制、数据上传、远程控制的诉求也越来越多,基于此乐鑫科技推出了便宜好用性价比极高的wifi物联模块——ESP8266,话不多少我们先来看看这个神奇的模块长什么样子!
下图是ESP8266-01模块,与之对应的还有ESP8266-01S,两者基本一致,只是后者内部集成了上拉电阻,ESP8266-01使用的时候需要手动接上拉电阻(CH_PD管脚接10k上拉电阻)
在这里插入图片描述
除了上述简单的wifi模块外,还有如下图所示的WIFI模组,具有更多的IO和控制资源
在这里插入图片描述
ESP8266是智能家居等物联网场景下常用的数传模块,具有强大的功能,通过串口转WIFI的方式可实现远距离无线数据传输、远程控制、在线查询等基本物联网诉求!

ESP8266模块有两种模式:
模式一:连网传输数据,就是连接你家中的路由器,即Station模式,本文主要基于该模式进行介绍
模式二:这个模块本身作为一个热点来让你的手机连接它,即AP模式
如果要彻底搞懂这个模块还需要了解AT指令集和mqtt协议,这些相对比较复杂,不在此展开,本文直接上干活,争取用最短的时间教会大家做出项目,并可以按照自己的需求修改

本系列文章就基于ESP8266-01S+STM32F103进行简单的数传/控制介绍,从而了解ESP8266的基本功能。内容比较多,我尽量每一步详细说明,请耐心看完。

二、电气特性

产品参数如下:
在这里插入图片描述
注意:模块电压为3.0-3.6V,不可直接用5V供电,电流大于500mA,需要单独供电

模块管脚定义:
在这里插入图片描述

三、透传设置

透传主要为了设置开机自动透传,断线自动重连,可实现数据连续上传,透传设置包括配置(1)WiFi名称(2)WiFi密码,这个设置对于后续数据自动上传至关重要,若WiFi信息更改需要重新透传设置。

常用的透传设置包括
(1)手动透传:借助串口助手+AT指令配置——本文介绍透传方式
(2)自动透传:这里主要借助Arduino单片机实现配置,如果这个单片机不熟悉的话建议选择方式一手动透传

接下来就重点介绍利用串口助手进行数据透传设置,准备工作如下:
(1)串口助手软件(文末附资源链接)
(2)USB转串口模块,某宝上搜索有很多**USB模块供电不够,需要单独外部供电**
(3)服务器网站(本文选用“贝壳物联”,网址:https://www.bigiot.net/)

手动透传接线说明

ESP8266-01S USB转串口模块
VCC 3V3(注意:透传设置时模块功耗高,需外部供电)
GND GND
RXD TXD
TXD RXD
CH_PD 如果使用ESP8266-01需要接10K上拉,-01s无需接线

接线图
在这里插入图片描述
检测ESP8266模块是否正常
在这里插入图片描述
在串口助手中发送"AT"指令,如果返回“OK”则表示正常启动,否则需要检查下接线是否正确,电源及RXD/TXD是否接反,以及模块单体是否损坏

查询固件版本
使用"AT+GMR"命令查询当前固件版本:
在这里插入图片描述
通过命令透传设置
如果固件是V0.9.5.2版本,在串口助手中依次输入以下命令进行透传设置

//设置WiFi应用模式为Station
AT+CWMODE=1
//连接到WiFi路由器,请将SSID替换为路由器名称,Password替换为路由器WiFi密码(也可以是手机热点)
AT+CWJAP="SSID","Password"
//连接贝壳物联服务器
AT+CIPSTART="TCP","www.bigiot.net",8181
//设置为透传模式
AT+CIPMODE=1
//进入透传模式
AT+CIPSEND

完成以上命令重启,自动进入透传模式,并连接贝壳物联服务器

如果固件是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透传设置完成,后面连接单片机后就可以正常传输数据了

四、温湿度数据上传显示

前面介绍了ESP8266模块并完成透传设置,接下来就可以连接STM32单片机进行数据上传显示了,这里以STM32F103C8T6单片机为例说明,其他MCU也是类似的。STM32采集DHT11温湿度数据,然后再通过串口传输给ESP8266,通过wifi传输给服务器端显示。

ESP8266-01S和STM32F103C8T6接线图

ESP8266-01S STM32F103C8T6
VCC 3V3(电流大于500mA,需独立供电)
GND GND
RXD PA9
TXD PA10
CH_PD ESP8266-01需要接10K上拉,-01s不需要

DHT11和STM32F103C8T6接线图

DHT11 STM32F103C8T6
VCC 3V3
GND GND
DATA PA8

系统框图
基于DHT11模块的温湿度数据传输框图如下所示,STM32接收到温湿度数据后再将数据通过串口传输给ESP8266模块,然后再传输给贝壳物联在这里插入图片描述
贝壳物联服务器端设置
STM32和ESP8266配置好还只是数传的开始,只是硬件模块搭建好了,若想实现数据上传服务器端,还需要对服务器端进行设置,本文以贝壳物联为例进行说明,网站链接如下:
https://www.bigiot.net/

进入网站首页,点击右上角“注册”、“登录”拥有自己的账号
在这里插入图片描述

注册成功后主页面显示如下,注意这里面的 “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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011816009/article/details/131014271

智能推荐

java 实现 数据库备份_java数据备份-程序员宅基地

文章浏览阅读1k次。数据库备份的方法第一种:使用mysqldump结合exec函数进行数据库备份操作。第二种:使用php+mysql+header函数进行数据库备份和下载操作。下面 java 实现数据库备份的方法就是第一种首先我们得知道一些mysqldump的数据库备份语句备份一个数据库格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 ..._java数据备份

window10_ffmpeg调试环境搭建-编译64位_win10如何使用mingw64编译ffmpeg-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏14次。window10_ffmpeg调试环境搭建_win10如何使用mingw64编译ffmpeg

《考试脑科学》_考试脑科学pdf百度网盘下载-程序员宅基地

文章浏览阅读6.3k次,点赞9次,收藏14次。给大家推荐《考试脑科学》这本书。作者介绍:池谷裕二,日本东京大学药学系研究科教授,脑科学研究者。1970年生于日本静冈县,1998年取得日本东京大学药学博士学位,2002年起担任美国哥伦比亚大学客座研究员。专业为神经科学与药理学,研究领域为人脑海马体与大脑皮质层的可塑性。现为东京大学药学研究所教授,同时担任日本脑信息通信融合研究中心研究主任,日本药理学会学术评议员、ERATO人脑与AI融合项目负责人。2008年获得日本文部大臣表彰青年科学家奖,2013年获得日本学士院学术奖励奖。这本书作者用非常通俗易懂_考试脑科学pdf百度网盘下载

今天给大家介绍一下华为智选手机与华为手机的区别_华为智选手机和华为手机的区别-程序员宅基地

文章浏览阅读1.4k次。其中,成都鼎桥通信技术有限公司是一家专业从事移动通讯终端产品研发和生产的高科技企业,其发布的TD Tech M40也是华为智选手机系列中的重要代表之一。华为智选手机是由华为品牌方与其他公司合作推出的手机产品,虽然其机身上没有“华为”标识,但是其品质和技术水平都是由华为来保证的。总之,华为智选手机是由华为品牌方和其他公司合作推出的手机产品,虽然外观上没有“华为”标识,但其品质和技术水平都是由华为来保证的。华为智选手机采用了多种处理器品牌,以满足不同用户的需求,同时也可以享受到华为全国联保的服务。_华为智选手机和华为手机的区别

c++求n个数中的最大值_n个数中最大的那个数在哪里?输出其位置,若有多个最大数则都要输出。-程序员宅基地

文章浏览阅读7.6k次,点赞6次,收藏17次。目录题目描述输入输出代码打擂法数组排序任意输入n个整数,把它们的最大值求出来.输入只有一行,包括一个整数n(1_n个数中最大的那个数在哪里?输出其位置,若有多个最大数则都要输出。

python overflowerror_python – 是否真的引发了OverflowError?-程序员宅基地

文章浏览阅读520次。Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34)[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> float(1...

随便推点

Android面试官,面试时总喜欢挖基础坑,整理了26道面试题牢固你基础!(3)-程序员宅基地

文章浏览阅读795次,点赞20次,收藏15次。AIDL是使用bind机制来工作。java原生参数Stringparcelablelist & map 元素 需要支持AIDL其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。下图是我进阶学习所积累的历年腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

机器学习-数学基础02补充_李孟_新浪博客-程序员宅基地

文章浏览阅读248次。承接:数据基础02

短沟道效应 & 窄宽度效应 short channel effects & narrow width effects-程序员宅基地

文章浏览阅读2.8w次,点赞14次,收藏88次。文章目录1. 概念:Narrow Width Effect: 窄宽度效应Short Channel effects:短沟道效应阈值电压 (Threshold voltage)2. 阈值电压与沟道长和沟道宽的关系:Narrow channel 窄沟的分析Short channel 短沟的分析1. 概念:Narrow Width Effect: 窄宽度效应在CMOS器件工艺中,器件的阈值电压Vth 随着沟道宽度的变窄而增大,即窄宽度效应;目前,由于浅沟道隔离工艺的应用,器件的阈值电压 Vth 随着沟道宽度_短沟道效应

小米组织架构再调整,王川调职,雷军自任中国区总裁_小米更换硬件负责人-程序员宅基地

文章浏览阅读335次。5月17日,小米集团再发组织架构调整及任命通知。新通知主要内容为前小米中国区负责人王川调职,雷军自任中国区总裁。小米频繁调整背后,雷军有些着急了中国区手机业务持续下滑。根据IDC最近公布的数据,小米一季度全球出货量为2750万台,相比去年同期的2780万台,小幅下降。参考Canalys、Counterpoint的统计,小米一季度出货量也都录得1%的同比下滑。作为对比,IDC数据显示,华为同期出..._小米更换硬件负责人

JAVA基础学习大全(笔记)_java学习笔记word-程序员宅基地

文章浏览阅读9.1w次。JAVASE和JAVAEE的区别JDK的安装路径[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-perPRPgq-1608641067105)(C:\Users\王东梁\AppData\Roaming\Typora\typora-user-images\image-20201222001641906.png)]卸载和安装JDK[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SYnXvbAn-1608641067107)(C:\Users_java学习笔记word

vue-echarts饼图/柱状图点击事件_echarts 饼图点击事件-程序员宅基地

文章浏览阅读7.8k次,点赞2次,收藏17次。在实际的项目开发中,我们通常会用到Echarts来对数据进行展示,有时候需要用到Echarts的点击事件,增加系统的交互性,一般是点击Echarts图像的具体项来跳转路由并携带参数,当然也可以根据具体需求来做其他的业务逻辑。下面就Echarts图表的点击事件进行实现,文章省略了Echarts图的html代码,构建过程,option,适用的表格有饼图、柱状图、折线图。如果在实现过程中,遇到困难或者有说明好的建议,欢迎留言提问。_echarts 饼图点击事件