**主要内容:**
在办公环境下,人们需要控制并了解办公环境的数据。因此基于arduino的办公室环境监测与可视化系统需要完成对基本环境数据的采集与显示、对部分数据的可视化、对功能的控制、常用功能的集成等工作。所以,本系统采用arduino UNO作为下位机实现数据的采集、功能的控制、数据的发送等功能。上位机方面,利用java实现定制的串口通讯与数据转发工具、利用python实现本地数据可视化、利用mysql与javaweb实现云端数据存储与云端数据可视化。
**基本要求:**
\1. 下位机需要利用arduino UNO3实现基本的控制功能、数据采集功能、数据发送功能、基本环境控制功能。
\2. 上位机:
(1) 利用java编写串口通讯与数据转发到云端工具。
(2) 利用python编写本地数据可视化脚本。
(3) 利用云端的mysql数据库以及web服务器分别实现数据的存储和web端数据可视化。
# 1 需求说明
# 2 功能描述
## 2.1 系统功能描述
### 2.1.1 下位机功能描述
\1. Arduino系统总控制模块:实现对数据发送、光控、风控的关闭与打开;实现了万年历、温湿度数据显示;实现了红外信号的控制。
\2. Arduino数据发送模块:实现了温湿度数据的串口发送。
\3. Arduino功能模块:实现风控与光控功能。
### 2.1.2 上位机功能描述
\1. 串口通讯模块与数据转发模块:通过java Swing实现的串口通讯与数据转发到云端数据库。
\2. 数据可视化脚本:通过python matplotlib库实现对云端数据的加载和数据的可视化绘图
\3. Web服务器:通过java web相关技术搭建可访问的数据可视化网站。
# 3 系统设计及实现
## 3.1 系统总体设计
\1. 下位机:
利用三个arduino UNO3 实现三大模块:控制模块、数据发送模块、功能模块。
\2. 上位机:
利用java实现串口通讯与数据转发;
利用python实现本地数据可视化。
利用mysql实现数据的存储
利用web实现云服务器
## 3.3 系统设计准备
### 3.3.1 器材
Arduino UNO3:3个
DTH11:1个
光敏传感器:2个
红外传感器:1个
LCD1602:1个
电机:1个
电位器:1个
LED:若干
电阻:若干
杜邦线:若干
面包板:若干
### 3.3.2 环境
\1. 下位机:
(1) VS 2015
(2) Arduino IDE 1.8
(3) Fritzing
(4) 串口通讯助手
\2. 上位机:
(1) JDK1.8+Eclipse+windowbulider
(2) Python3.5+pycharm+pip matplotlib
(3) Mysql 5.5+Navicat12
(4) Eclipse EE+Tomcat8+JDK1.8+jQuery+JavaScript+echarts-all
### 3.3.3 实物连接
## 3.4 系统下位机设计
### 3.4.1 控制台模块实现
\1. 完成功能:
控制数据是否可以上传到云端
控制风扇工作
控制光控灯工作
万年历显示
温湿度显示
\2. 实现方案:
采用红外控制lcd1602显示指定菜单,提示指定键可以操作开关。开关使用引脚电平高低控制其他的arduino。温湿度通过接入指定的引脚的数据进行读入。
### 3.4.2 数据上传模块实现
1. 完成功能:完成数据发送到串口
2. 实现方案:采用Arduino Serial
3. 效果展示:数据库中的数据如图所示:
![](https://i.loli.net/2019/04/04/5ca5612f65487.jpg)
## 3.5 系统上位机设计
左侧的panel是关于串口数据的发送与接收,窗口可显示串口数据的接受,包含开启关闭串口等功能,还有清空串口刷新新添加串口等功能。右侧的panel是转发数据到数据库,通过设置指定的mysql url、username、password、table等可开启服务发送数据到云服务器,此过程必须在联网状态下进行。
![](https://i.loli.net/2019/04/04/5ca5617000e57.jpg)
图3- 7串口通讯与数据转发模块展示
### 3.5.2 本地数据可视化脚本实现
1. 完成功能:本地数据的可视化
2. 实现方案:python3+matplotlib
利用python脚本实现从云服务器提取数据字典,利用matplotlib库绘制图像。
1. 效果展示:
![](https://i.loli.net/2019/04/04/5ca5618d3f09d.jpg)
图3- 8本地可视化模块
### 3.5.3 云端数据库及web服务器实现实现
1. 完成功能:任意联网设备访问指定地址即可查看环境数据
2. 实现方案:javawe(servlet+jQueryjson+JavaScript+echarts+tomcat8+mysql)
利用java Servlet搭建服务器,mysql实现数据库存储,jquery json数据实现前端后台数据传递,echart JavaScript库实现前端图像绘制。下面是项目结构和数据表单。
![](https://i.loli.net/2019/04/04/5ca561a4e2c59.jpg)
图3- 9 数据库
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
资源推荐
资源详情
资源评论
收起资源包目录
基于arduino的环境可视化(arduino+mysql+javaweb+javaSwing串口调试+python可视化)(结课作业).zip (51个子文件)
Archieabc
上位机
串口通讯与数据转发
ArduinoShang
lib
mysql-connector-java-5.1.22-bin.jar 813KB
RXTXcomm.jar 60KB
src
com
mmciel
tool
SerialTool.java 6KB
Tools.java 492B
data
MysqlLink.java 1KB
DataMain.java 2KB
DataIni.java 374B
gui
Hello.java 3KB
Main.java 13KB
serialException
SerialPortInputStreamCloseFailure.java 320B
ReadDataFromSerialPortFailure.java 291B
PortInUse.java 261B
NotASerialPort.java 285B
SerialPortOutputStreamCloseFailure.java 321B
ExceptionWriter.java 1008B
SendDataToSerialPortFailure.java 285B
NoSuchPort.java 283B
SerialPortParameterFailure.java 301B
TooManyListeners.java 277B
test
StartTest.java 158B
本地端数据可视化
ViewArduinoData.py 835B
web服务器
arduino_dataview
src
com
mmciel
Dao
SunDao.java 1KB
TemDao.java 3KB
HumDao.java 1KB
servlet
SunServlet.java 1KB
HumServlet.java 1KB
TemServlet.java 1KB
bean
Bar.java 404B
WebContent
echarts-all.js 2.09MB
WEB-INF
lib
xom-1.2.6.jar 303KB
ezmorph-1.0.6.jar 84KB
commons-collections-3.2.1.jar 562KB
mysql-connector-java-5.1.22-bin.jar 813KB
json-lib-2.4-jdk15.jar 155KB
commons-beanutils-1.8.0.jar 226KB
commons-lang-2.6.jar 278KB
commons-logging-1.1.1.jar 59KB
gson-2.7.jar 227KB
web.xml 1KB
index.jsp 6KB
jquery.js 265KB
META-INF
MANIFEST.MF 36B
其他
原理图
原理图_bb.jpg 2.31MB
原理图.fzz 21KB
下位机
NoUpload.ino 851B
~$ngshuo 物联网工程17-01 第4组.doc 162B
~WRL0001.tmp 100KB
DataUpload.ino 1KB
Main.ino 9KB
~$网设计及应用课程设计报告 物联网工程17-01 第1组 (1).doc 162B
README.md 5KB
共 51 条
- 1
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2300
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Matlab人脸肤色定理的教师人数统计+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab霍夫曼变换的表盘读数识别+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab火灾烟雾检测源码带GUI界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的恶劣天气交通标志识别系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB的霍夫曼变换的表盘示数识别+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的车道线识别系统 +源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB的教室人数统计系统带Gui界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB的教室人数统计系统带Gui界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB 的霍夫曼变换答题卡识别源码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab+bp神经网络的神经网络汉字识别系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功