2021-11-26 23:14:46 索煒達(dá)電子 885
項(xiàng)目編號(hào):E2469
文件大?。?30M
源碼說明:帶中文注釋
開發(fā)環(huán)境:Verilog
簡(jiǎn)要概述
實(shí)現(xiàn)功能
使用FPGA采集機(jī)房的溫濕度、煙霧濃度信息,將數(shù)據(jù)從本地上傳到云端服務(wù)器,可打開網(wǎng)頁實(shí)時(shí)監(jiān)控機(jī)房信息,也可使手機(jī)聯(lián)網(wǎng)(互聯(lián)網(wǎng))打開相應(yīng)App監(jiān)控機(jī)房信息。當(dāng)機(jī)房環(huán)境劇烈變化時(shí),一方面通過蜂鳴器現(xiàn)場(chǎng)報(bào)警,另一方面通過手機(jī)APP報(bào)警,當(dāng)機(jī)房環(huán)境平穩(wěn)后手動(dòng)使用APP或者是網(wǎng)頁將蜂鳴器關(guān)閉。
客戶端
Fpga
模擬各傳感器的時(shí)序(單總線協(xié)議(DHT11)、IIC協(xié)議(pcf8591)),讀出溫度、濕度、煙霧等等。
編寫UART協(xié)議實(shí)現(xiàn)對(duì)esp8266數(shù)據(jù)的收發(fā)。
Esp8266
使用樂鑫Nonos-SDK或Micropython 完成
esp8266的聯(lián)網(wǎng)
MQTT協(xié)議的編寫
消息的訂閱及收發(fā)
UART串口的通信
_注:推薦使用Micropython _
Web
使用python和html作為開發(fā)的語言
網(wǎng)頁端折線圖的繪制
前后臺(tái)的交互
多線程的創(chuàng)建及線程間消息的傳遞
Android
使用已有的IoT MQTT Panel
使用Linear-mqtt-dashboard
注:后者可現(xiàn)實(shí)實(shí)時(shí)折線圖
服務(wù)端
創(chuàng)建服務(wù)器 使用開源物聯(lián)網(wǎng)MQTT消息服務(wù)器emq作為通信的服務(wù)端
開放相關(guān)端口
訪問域名+18083完成對(duì)控制臺(tái)的控制
在客戶端連接到服務(wù)器
目錄│文件列表:
└ 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