【E2469】基于FPGA的机房环境采集监控系统设计

2021-11-26 23:14:46      索炜达电子      541     

项目编号:E2469

文件大小:130M

源码说明:带中文注释

开发环境:Verilog

简要概述

实现功能

使用FPGA采集机房的温湿度、烟雾浓度信息,将数据从本地上传到云端服务器,可打开网页实时监控机房信息,也可使手机联网(互联网)打开相应App监控机房信息。当机房环境剧烈变化时,一方面通过蜂鸣器现场报警,另一方面通过手机APP报警,当机房环境平稳后手动使用APP或者是网页将蜂鸣器关闭。


客户端

Fpga

模拟各传感器的时序(单总线协议(DHT11)、IIC协议(pcf8591)),读出温度、湿度、烟雾等等。


编写UART协议实现对esp8266数据的收发。


Esp8266

使用乐鑫Nonos-SDK或Micropython 完成


esp8266的联网

MQTT协议的编写

消息的订阅及收发

UART串口的通信

_注:推荐使用Micropython _


Web

使用python和html作为开发的语言


网页端折线图的绘制

前后台的交互

多线程的创建及线程间消息的传递

Android

使用已有的IoT MQTT Panel

使用Linear-mqtt-dashboard

注:后者可现实实时折线图


服务端

创建服务器 使用开源物联网MQTT消息服务器emq作为通信的服务端

开放相关端口

【E2469】基于FPGA的机房环境采集监控系统设计

访问域名+18083完成对控制台的控制

在客户端连接到服务器

目录│文件列表:

 └ Graduation-project

    ├ Client

    │  │ EMQ - 客户端.mhtml

    │  ├ Android

    │  │  │ IoT MQTT Panel.apk

    │  │  └ linear-mqtt-dashboard-master

    │  │     └ linear-mqtt-dashboard-master

    │  │        └ linear-mqtt-dashboard-master

    │  │           │ .gitignore

    │  │           │ build.gradle

    │  │           │ gradle.properties

    │  │           │ gradlew

    │  │           │ gradlew.bat

    │  │           │ README.md

    │  │           │ settings.gradle

    │  │           ├ .idea

    │  │           │  │ compiler.xml

    │  │           │  │ encodings.xml

    │  │           │  │ gradle.xml

    │  │           │  │ misc.xml

    │  │           │  │ modules.xml

    │  │           │  │ runConfigurations.xml

    │  │           │  │ vcs.xml

    │  │           │  ├ caches

    │  │           │  │  │ build_file_checksums.ser

    │  │           │  │  └ gradle_models.ser

    │  │           │  ├ codeStyles

    │  │           │  │  └ Project.xml

    │  │           │  └ copyright

    │  │           │     └ profiles_settings.xml

    │  │           ├ app

    │  │           │  │ .gitignore

    │  │           │  │ build.gradle

    │  │           │  │ proguard-rules.pro

    │  │           │  ├ libs

    │  │           │  │  └ mqtt-client-1.13-SNAPSHOT-uber.jar

    │  │           │  ├ release

    │  │           │  │  └ output.json

    │  │           │  └ src

    │  │           │     ├ androidTest

    │  │           │     │  └ java

    │  │           │     │     └ com

    │  │           │     │        └ ravendmaster

    │  │           │     │           └ myapplication

    │  │           │     │              └ ApplicationTest.java

    │  │           │     ├ main

    │  │           │     │  │ AndroidManifest.xml

    │  │           │     │  │ ic_launcher-web.png

    │  │           │     │  │ Thumbs.db

    │  │           │     │  ├ assets

    │  │           │     │  │  └ web

    │  │           │     │  │     │ help_application_server_mode.html

    │  │           │     │  │     │ help_notifier.html

    │  │           │     │  │     │ help_onreceive.html

    │  │           │     │  │     │ help_onshow.html

    │  │           │     │  │     │ help_push_topic.html

    │  │           │     │  │     └ logo135.png

    │  │           │     │  ├ java

    │  │           │     │  │  └ com

    │  │           │     │  │     └ ravendmaster

    │  │           │     │  │        └ linearmqttdashboard

    │  │           │     │  │           │ BoardFragment.java

    │  │           │     │  │           │ ItemAdapter.java

    │  │           │     │  │           │ ListFragment.java

    │  │           │     │  │           │ Log.java

    │  │           │     │  │           │ MySwipeRefreshLayout.java

    │  │           │     │  │           │ TabData.java

    │  │           │     │  │           │ TabItemAdapter.java

    │  │           │     │  │           │ TabListFragment.java

    │  │           │     │  │           │ TabsCollection.java

    │  │           │     │  │           │ Utilites.java

    │  │           │     │  │           ├ activity

    │  │           │     │  │           │  │ MainActivity.java

    │  │           │     │  │           │  │ OpenFileActivity.java

    │  │           │     │  │           │  │ TabsActivity.java

    │  │           │     │  │           │  └ WidgetEditorActivity.java

    │  │           │     │  │           ├ customview

    │  │           │     │  │           │  │ ButtonsSet.java

    │  │           │     │  │           │  │ ComboBoxSupport.java

    │  │           │     │  │           │  │ Graph.java

    │  │           │     │  │           │  │ Meter.java

    │  │           │     │  │           │  │ MyButton.java

    │  │           │     │  │           │  │ MyColorPicker.java

    │  │           │     │  │           │  │ MyColors.java

    │  │           │     │  │           │  │ MyTabsController.java

    │  │           │     │  │           │  └ RGBLEDView.java

    │  │           │     │  │           ├ database

    │  │           │     │  │           │  │ DbHelper.java

    │  │           │     │  │           │  │ HistoryCollector.java

    │  │           │     │  │           │  │ HistoryContract.java

    │  │           │     │  │           │  └ TopicsCollector.java

    │  │           │     │  │           └ service

    │  │           │     │  │              │ AppSettings.java

    │  │           │     │  │              │ Autostart.java

    │  │           │     │  │              │ CallbackMQTTClient.java

    │  │           │     │  │              │ Dashboard.java

    │  │           │     │  │              │ DashboardsConfiguration.java

    │  │           │     │  │              │ MQTTService.java

    │  │           │     │  │              │ Presenter.java

    │  │           │     │  │              └ WidgetData.java

TAG机房
  • 7 次
  • 1 分