基于Raspberry PI的應(yīng)用程序的典型場(chǎng)景家庭自動(dòng)化
資料介紹
描述
介紹
自 Windows 10 IoT 推出以來(lái),Raspberry PI 是一個(gè)新平臺(tái),可使用熟悉的開(kāi)發(fā)環(huán)境(如 Visual Studio 和 C#)實(shí)施各種應(yīng)用程序。但是,Windows IoT 平臺(tái)不支持開(kāi)箱即用的 Web 應(yīng)用程序開(kāi)發(fā),需要自定義解決方案(例如,作為后臺(tái)應(yīng)用程序運(yùn)行的 Web 服務(wù)器)。
家庭自動(dòng)化
基于 Raspberry PI 的應(yīng)用程序的典型場(chǎng)景是家庭自動(dòng)化。除了使用各種傳感器的典型監(jiān)控應(yīng)用外,通風(fēng)裝置、功率計(jì)、光伏逆變器、供暖鍋爐、Z-Wave 控制等不同設(shè)備的集成也成為一個(gè)重要問(wèn)題。
問(wèn)題
各種設(shè)備提供廣泛的應(yīng)用程序和用戶界面,范圍從 Web 界面、基于 REST 的 Web API 到工業(yè) Modbus TCP。一些系統(tǒng)提供對(duì)需要不同安全支持(兩階段登錄、OAuth、自定義機(jī)密、密碼等)的基于云的服務(wù)的遠(yuǎn)程訪問(wèn)。
目標(biāo)
家庭控制 Web 應(yīng)用程序應(yīng)為所選數(shù)據(jù)提供 Web 界面,與ThingSpeak等基于云的監(jiān)控服務(wù)集成,以及基于 REST 的整合 Web API 以簡(jiǎn)化數(shù)據(jù)訪問(wèn)。
家庭控制 Web 應(yīng)用程序使用基于 REST 的 Web API 或 Modbus TCP 從各種來(lái)源收集數(shù)據(jù)。
- ETA PU 11 顆粒鍋爐
- b-Control EM300 能源管理器
- Helios KWL EC 200 通風(fēng)設(shè)備
- Fronius Symo 逆變器
- Netatmo 氣象站和模塊
- Zipato Zipatile Z-Wave 家庭控制單元
- BMW i Wallbox 充電站
ASP.NET 核心 2.2
借助ASP.NET Core 2.2,跨平臺(tái)開(kāi)發(fā)各種應(yīng)用程序類型(控制臺(tái)應(yīng)用程序、Web 應(yīng)用程序等)的承諾成為現(xiàn)實(shí)。如前所述,將ASP.NET Web 應(yīng)用程序部署到運(yùn)行 Windows 10 IoT 的 Raspberry PI 非常簡(jiǎn)單 - 只需為win-arm運(yùn)行時(shí)平臺(tái)編譯 Web 應(yīng)用程序并將所有內(nèi)容發(fā)布到 Raspberry 上的目錄圓周率。
軟件組件
- Windows 10物聯(lián)網(wǎng)
- ASP.NET核心 2.2
- Serilog日志框架
- 適用于ASP.NET Core的 Syncfusion Essential Studio
- Modbus TCP(NModbus庫(kù))
- 招搖(Swashbuckle.AspNetCore )
執(zhí)行
對(duì)各種設(shè)備的訪問(wèn)是在面向 .NET Standard 2.2 的自定義庫(kù)中實(shí)現(xiàn)的。這允許在不同的應(yīng)用程序(控制臺(tái)應(yīng)用程序、Windows 通用應(yīng)用程序、ASP.NET Web 應(yīng)用程序)中使用這些庫(kù)。數(shù)據(jù)訪問(wèn)的所有內(nèi)部細(xì)節(jié)都是隱藏的,僅公開(kāi)各種數(shù)據(jù)屬性以及讀取和(可選)寫(xiě)入操作。
- EM300LR
- ETAPU11
- KWLEC200
- SYMO823M
- 伏能士
- Netatmo
- 齊帕托
- 壁箱
- NModbus
為了便于訪問(wèn)實(shí)際監(jiān)視(或控制)的數(shù)據(jù),添加了屬性集和獲取例程,以允許對(duì)支持嵌套類和簡(jiǎn)單數(shù)組和列表的屬性進(jìn)行點(diǎn)表示法。
通訊總線
提供 Modbus TCP 接口的設(shè)備是使用NModbus庫(kù)集成的,該庫(kù)具有針對(duì)其他數(shù)據(jù)類型(例如字符串、浮點(diǎn)數(shù)和雙精度數(shù))的多個(gè)擴(kuò)展。Modbus TCP協(xié)議只在內(nèi)部網(wǎng)絡(luò)使用,不對(duì)外暴露。這也用于其他工具,例如通用命令行 Modbus 應(yīng)用程序或通過(guò) HTTPS 提供基于 REST 的接口的 Modbus TCP 網(wǎng)關(guān)。
使用剃須刀頁(yè)面和用于個(gè)人用戶身份驗(yàn)證的Sqlite數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)ASP.NET Web 應(yīng)用程序模板已被使用。添加了幾個(gè)頁(yè)面以顯示來(lái)自各個(gè)組件的選定數(shù)據(jù)。一個(gè)額外的頁(yè)面用于嵌入Swagger Web API。Swagger 頁(yè)面和選定的其他頁(yè)面需要身份驗(yàn)證才能訪問(wèn)。ASP.NET Core Web 應(yīng)用程序還使用 HTTPS 作為訪問(wèn)頁(yè)面的唯一協(xié)議。Syncfusion UI組件(社區(qū)版)用于顯示儀表和圖表,但可以使用任何其他ASP.NET Core 2.2 兼容組件代替。
最近的發(fā)展是ASP.NET Core 2.0中SignalR通信框架的可用性。用于在后臺(tái)自動(dòng)更新關(guān)聯(lián)網(wǎng)頁(yè)上選定的監(jiān)控?cái)?shù)據(jù)。
數(shù)據(jù)提供者和監(jiān)控服務(wù)
簡(jiǎn)單的單例服務(wù)提供對(duì)各種設(shè)備實(shí)例的訪問(wèn)。后臺(tái)運(yùn)行的監(jiān)控服務(wù)實(shí)現(xiàn)監(jiān)控?cái)?shù)據(jù)的自動(dòng)更新、訪問(wèn)設(shè)備(Modbus TCP、Web API 等)和同步本地緩存數(shù)據(jù)實(shí)例。更新周期通常為 60 秒,其中一項(xiàng)監(jiān)控服務(wù)將選定的數(shù)據(jù)發(fā)送到 Zipato 家庭控制單元進(jìn)一步處理和顯示。例如,來(lái)自Netatmo室內(nèi)模塊的 CO2 值用于根據(jù) CO2 水平修改 LED 燈的顏色。
REST API和招搖
來(lái)自各種設(shè)備的監(jiān)控?cái)?shù)據(jù)也可通過(guò)一組基于 REST 的整合 Web API 獲取。Swashbuckle項(xiàng)目提供的 Swagger 集成將Swagger添加到結(jié)合??了 ApiExplorer 和 Swagger-UI 的 WebApi 項(xiàng)目,從而為 REST API 消費(fèi)者提供豐富的發(fā)現(xiàn)、文檔和游樂(lè)場(chǎng)體驗(yàn)。
部署
Home Control Web 應(yīng)用程序可以部署在 ASP.NET Core 2.2 框架支持的各種平臺(tái)上。它還使用 Windows 10 IoT 在 Raspberry PI 3 或 Raspberry PI 2 B 上運(yùn)行,只需發(fā)布??到 Raspberry PI 上的目錄即可。必要的配置文件
如Internet上所示, ASP.NET Web 應(yīng)用程序可以在重新啟動(dòng)時(shí)使用一個(gè)簡(jiǎn)單的命令文件和schtasks
使用Powershell的命令自動(dòng)啟動(dòng)。
代碼已更新,以反映最新升級(jí)的ASP.NET Core 2.2,以及最新的Swashbuckle、Serilog和NModbus庫(kù)。
Windows 10 UWP 應(yīng)用程序和 Xamarin Android 應(yīng)用程序
例如,Windows 10 UWP 應(yīng)用程序使用基于 REST 的 Web 服務(wù)來(lái)檢索選定數(shù)據(jù)并相應(yīng)地顯示它們。
Xamarin Android 應(yīng)用程序是使用 .NET Core 庫(kù)和 Web 服務(wù)顯示選定數(shù)據(jù)的類似示例。
筆記:
所有源代碼現(xiàn)在都可以在 Github ( dtv42/HomeControl ) 上找到。
- 使用Raspberry Pi來(lái)托管服務(wù)應(yīng)用程序以及運(yùn)行客戶端程序
- 基于物聯(lián)網(wǎng)的家庭自動(dòng)化
- 使用物聯(lián)網(wǎng)的家庭自動(dòng)化
- 具有Azure數(shù)據(jù)庫(kù)支持的Raspberry Pi無(wú)線家庭自動(dòng)化
- 基于諾基亞5110的Raspberry Pi帽子 0次下載
- 使用Node MCU的家庭自動(dòng)化
- 使用螺栓模塊的家庭自動(dòng)化
- 家庭自動(dòng)化系統(tǒng)開(kāi)源分享
- 使用Raspberry Pi的音頻可視化器
- 基于藍(lán)牙的家庭自動(dòng)化
- 語(yǔ)音、手動(dòng)和應(yīng)用程序控制的家庭自動(dòng)化系統(tǒng)
- 《愛(ài)上Raspberry Pi》中譯版-電子書(shū)籍.pdf 0次下載
- Android應(yīng)用程序GUI遍歷自動(dòng)化方法 0次下載
- raspberry_pi各版本差別 0次下載
- 現(xiàn)代家庭自動(dòng)化遙控系統(tǒng)電路圖
- 工業(yè)自動(dòng)化和自動(dòng)化區(qū)別是什么 1033次閱讀
- keil自動(dòng)化編譯腳本 1268次閱讀
- 過(guò)程自動(dòng)化控制和運(yùn)動(dòng)自動(dòng)化控制的原理詳解 1352次閱讀
- 使用Raspberry Pi Pico W和MicroPython開(kāi)發(fā)物聯(lián)網(wǎng)應(yīng)用 1673次閱讀
- ASOC系列:如何通過(guò)應(yīng)用安全自動(dòng)化擴(kuò)展應(yīng)用安全 621次閱讀
- Selenium在自動(dòng)化中有何用處 1613次閱讀
- 基于樹(shù)莓派產(chǎn)品 Raspberry Pi微控制器板的優(yōu)缺點(diǎn) 2710次閱讀
- 基于PlatformIO IDE的家庭自動(dòng)化系統(tǒng)設(shè)計(jì)方案實(shí)現(xiàn) 2298次閱讀
- 基于Raspberry Pi Pico開(kāi)發(fā)先進(jìn)的家庭自動(dòng)化系統(tǒng) 2850次閱讀
- 微雪電子ZeroW| Raspberry Pi ZeroW主板簡(jiǎn)介 2429次閱讀
- 微雪電子Raspberry Pi 3 Model主板簡(jiǎn)介 2873次閱讀
- digilentchipKIT Pi主板介紹 1213次閱讀
- 利用Raspberry Pi構(gòu)建存儲(chǔ)和虛擬化時(shí)間序列數(shù)據(jù) 884次閱讀
- 一文了解Raspberry Pi 4各項(xiàng)性能跑分 2.9w次閱讀
- 現(xiàn)場(chǎng)總線技術(shù)在變電站自動(dòng)化系統(tǒng)中的典型應(yīng)用 1012次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多