JavaWeb毕业设计智能家居MQTT物联网

2021-03-04

JavaWeb毕业设计-智能家居(MQTT)物联网

项目介绍

本项目是一个基于JavaWeb的智能家居系统,主要用于实现一个物联网服务端,接收来自客户端的数据,并通过Web页面实时显示室内传感器的值。项目中使用了MQTT协议进行数据传输,支持多客户端接入,能够区分来自不同客户端的消息,并针对不同家庭进行设备控制。

开发环境

  • JDK 1.8
  • Tomcat 8.5
  • MySQL 5.7

数据库表结构位于WebContent/db目录下。

功能实现

1. Web应用服务端

  • 数据接收与显示:服务端接收来自客户端的数据,并通过Web页面实时显示室内传感器的值。建议使用曲线图展示数据。
  • 设备控制:服务端可以根据接收到的指令控制各种设备,如空调、灯光、门窗磁等。

2. 物联网客户端

  • 设备模拟:客户端模拟各种设备,包括温度传感器、湿度传感器、空调、灯光、门窗磁等。
  • 数据发送:客户端产生数据并发送至服务器,服务器根据协议对数据进行处理。

3. 设备模拟

  • 温度传感器:数量1,采集房间温度信息。
  • 湿度传感器:数量1,采集房间湿度信息。
  • 空调:数量1,可以根据服务器发来的指令进行调节模式(制冷、制热、送风)、设置温度、风速;还可以根据服务器的指令上传当前状态(模式、温度、风速)。
  • 灯光:数量4,两盏只能开关,两盏调光模式,调光范围0到100。
  • 门窗磁:可以根据服务器发来的指令打开或关闭窗户。

4. 通信协议

  • 协议设计:设计应用层通信协议,包含首部和数据部分,用于完成数据的双向传输。
  • MQTT协议:数据传输方式使用MQTT协议,需要安装EMQ消息服务器。

5. 多客户端支持

  • 客户端区分:系统支持多客户端接入,在协议设计上能够区分来自不同客户端的消息。
  • 家庭区分:能够针对不同家庭进行设备控制。

注意事项

  • 请确保安装并配置好EMQ消息服务器,以便支持MQTT协议的数据传输。
  • 数据库表结构位于WebContent/db目录下,请根据需要进行数据库的初始化。

项目结构

javaWeb毕业设计-智能家居(MQTT)物联网
├── WebContent
│   ├── db
│   │   └── 数据库表结构文件
│   ├── WEB-INF
│   │   └── web.xml
│   └── 其他Web资源文件
├── src
│   └── 项目源代码
└── README.md

使用说明

  1. 克隆或下载本仓库到本地。
  2. 配置JDK 1.8、Tomcat 8.5和MySQL 5.7环境。
  3. 导入数据库表结构文件到MySQL数据库。
  4. 启动EMQ消息服务器。
  5. 部署项目到Tomcat服务器并启动。
  6. 访问Web页面,开始使用智能家居系统。

贡献

欢迎提交Issue和Pull Request,共同完善本项目。

下载链接

JavaWeb毕业设计-智能家居MQTT物联网