推广 热搜: 百度  企业  可以  搜索引擎  使用  选择  上海  技术  货运  设备 

Esp8266开发物联网小工具(一)

   日期:2024-12-31     作者:tzau9    caijiyuan  
核心提示:目标 我们将通过ESP8266连接Thinkphp开发的接收API,将DHT11温度传感器获取到的环境温度、湿度等数据实时发送至服务器,用户可通
目标

我们将通过ESP8266连接Thinkphp开发的接收API,将DHT11温度传感器获取到的环境温度、湿度等数据实时发送至服务器,用户可通过设备和OLED触摸屏的实时数据界面查看实时环境温度。

硬件准备:

1)ESP8266-13 WIFI电路板

2)DHT11温湿度传感器

3)0.96”OLED(我使用的版本主控芯片是SSD1306、四线制SPI)

4)USB插座和5v至3.3V稳压器

5)USB-TTL串口下载模块

开发软件

arduino IDE

接下来我来介绍一下我们本次项目使用的控制器ESP8266

简介(来自官方)

  • 乐鑫智能互联平台ESP8266EX拥有高性能无线SOC,给移动平台
    设计师带来福音,它以最低成本提供最大实用性,为WiFi功能嵌入
    其他系统提供无限可能。

  • ·ESP8266EX是一个完整且自成体系的WiFi网络解决方案,能够
    立运行,也可以作为从机搭载于其他主机MCU运行。ESP8266EX
    在搭载应用并作为设备中唯一的应用处理器时,能够直接从外接闪存
    中启动。内置的高速缓冲存储器有利于提高系统性能,并减少内存需
    求。

  • 另外一种情况是,ESP8266EX负责无线上网接入承担WiFi适配器(网卡使用)
    的任务时,可以将其添加到任何基于微控制器的设计中,连接简单易
    行,身需通过SPI/SDIO接口或|2C/UART口即可。

    性能

    • 802.11b/g/n
    • 内置低功耗32位CPU:可以兼作应用处理器
    • 内置10bit,高精度ADC
    • 内置TCP/管协议栈
    • 内置TR开关、balun、LNA、功率放大器和匹配网络
    • 内置PLL、稳压器和电源管理组件
    • 支持天线分集
    • STBC、1×1MIMO、2×1 MIMO
    • A-MPDU、A-MSDU的聚合和0.4s的保护间隔
    • WiFi@2.4GHz,支持WPAWPA2安全模式
    • 支持STA/AP/STA+AP工作模式
    • 支持 Smart Config 功能(包括Android和iOS设备)
    • SDIO 2.0、(H)SPI、UART、I2C、12S、IR Remote Control、PWM、GPIO
    • 深度睡眠保持电流为10uA,关断电流小于5uA
    • 2ms 之内唤醒、连接并传递数据包
    • 802.11b模式下+20dBm的输出功率
    • 待机状态消耗功率小于1.0mW(DTIM3)
    • 工作温度范围:-40℃-125℃
    • 模细通过CC,CE,TELEC,WiFi Alliance及 SRRC认证

简要介绍一下这个ESP8266,它一共有三种工作模式,AP模式,STA模式,AP+STA模式,每种模式的使用情况介绍如下图:

接下来我来介绍一下我们本次项目使用的传感器DHT11温湿度传感器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E0qeg5MX-1593946859904)(https://techtutorialsx.files.wordpress.com/2016/04/dht11.png?w=197&h=153)]

DHT11可以测量温度和湿度,是简单环境监测项目的理想选择。它的温度分辨率为1ºC,相对湿度为1%。它的温度范围在0ºC到50ºC之间,湿度的测量范围取决于温度(您可以查看数据表中的详细信息)。

OLED

OLED,即有机发光二极管(OrganicLight-Emitting Diode),又称为有机电激光显示(OrganicElectroluminesence Display, OELD)。因为具备轻薄、省电等特性,因此从2003 年开始,这种显示设备在MP3播放器上得到了广泛应用,而对于同属数码类产品的DC 与手机,此前只是在一些展会上展示过采用OLED 屏幕的工程样品。自2007 年后,寿命得到很大提高,具备了许多LCD 不可比拟的优势。

ESP8266 DHT11 OLED GPIO_05 信号引脚 GPIO_14 SCL GPIO_02 SDA

下面我们开始配置Arduino IDE使其支持ESP8266的开发

如前所述,我们假设使用Arduino IDE对ESP8266进行编程。如果您尚未将其配置为支持ESP8266板。Arduino有一些库可以简化我们与DHT11还有OLED的交互的任务。一个非常简单易用且与ESP8266配合使用的是Simple DHT传感器库OLED则是u8g2。可以通过Arduino IDE Library Manager轻松安装这两个库。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tg3qy3tw-1593946859916)(https://techtutorialsx.files.wordpress.com/2016/04/dht11-esp8266-library1.png?w=640)]

温湿度获取编程:

要导入新安装的库,请在代码顶部添加以下include:

 

同时使用GPIO引脚的编号声明一个全局变量,以便于更改。在这种情况下,我们将使用GPIO5:

 

要允许将数据发送到计算机,请在设置功能中启动串行连接:

 

声明两个字节变量,一个用于温度,另一个用于湿度:

 

我们使用字节变量,因为DHT11在温度和湿度方面只有8位分辨率。

最后,在主循环函数中,读取值并通过串口发送它们:

 

打开Arduino IDE的串行监视器,应该会看到类似于图4的内容。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FPQdcSUe-1593946859922)(https://techtutorialsx.files.wordpress.com/2016/04/esp8266-dht11-readings.png?w=640)]

到这里我们就完成了ESP8266对温湿度的获取程序,下一步我们来点亮我们的OLED屏幕

 

下载程序后是不是屏幕上出现了Hello World!呢?好奇心严重的小宝宝可能发现了这代码没法显示中文啊!!!!

下面我们来修改代码让他显示中文

本文地址:http://ww.kub2b.com/tnews/3725.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类生活信息

文章列表
相关文章
最新动态
推荐图文
生活信息
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号