基于ESP8266-WiFi和Android的空调控制系统
一、实验目标
通过ESP8266-WiFi芯片、红外线发射器、DHT11温度传感器与Android客户端实现空调的远程控制(空调开关、温度调节、风速调节、机房温度监测、定温开关、定时开关)与服务器机房温度的实时监控与控制。
二、主要技术
1、MQTT协议(Message Queuing Telemetry Transport)
MQTT协议是一种轻量级的发布/订阅消息传输协议。对于需要较小代码占用空间或网络带宽非常宝贵的远程连接非常有用,是专为受限设备和低带宽、高延迟或不可靠的网络而设计。这些原则也使该协议成为新兴的“机器到机器”(M2M)或物联网(IoT)世界的连接设备,以及带宽和电池功率非常高的移动应用的理想选择。
特点:开放消息协议,简单易实现;发布订阅模式,一对多消息发布;基于TCP/IP网络连接,提供有序,无损,双向连接;1字节固定报头,2字节心跳报文,最小化传输开销和协议交换,有效减少网络流量;消息QoS支持,可靠传输保证
MQTT协议广泛应用于物联网、移动互联网、智能硬件、车联网、电力能源等领域。
2、HTTP协议(HyperText Transfer Protocol)
HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。
3、JDBC
JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。本次实验采用JDBC三层架构。
4、JSON
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得
JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
5、SPIFFS文件系统
SPI Flash File System,简称SPIFFS闪存文件系统。即使文件系统与程序存储在同一个闪存芯片上,烧入新的代码也不会修改文件系统内容。这允许使用文件系统来存储Web服务器的代码数据、配置文件或内容。而这个SPIFFS文件系统的大小可以通过烧写环境来配置,目前一般有1M,2M,3M等等。
5、NTP
Network Time Protocol,网络时间协议是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的Internet环境中提供精确和健壮的时间服务。
三、功能说明
1、空调开关
开关功能通过MQTT协议与红外线发射管实现,Android端发布消息到mosquitto服务器,Arduino端订阅Android端发布消息的主题,即可从mosquitto服务器接收信息。Arduino端再接收到信息后,红外线发射管发出指令,控制空调开关。
2、空调模式调节
实现原理同上
3、空调温度调节
实现原理同上
4、空调风速调节
实现原理同上
5、