注:本文內容的准確性僅限於筆者寫該篇文章時的情況,不保證后續與實際項目代碼一致。實時內容還請關注Github項目托管頁面:https://github.com/GenialX/hestia-server
樹莓派,一個五臟俱全,集幾乎所有功能於一身的微型計算器。大約一兩月之前,屈屈300百大洋收入囊中。
入手之后,出於對自動化的興趣,慢慢地研究如何實現室內家電的智能自動化控制。在斷斷續續地,不斷地摸索之后,有了若干想實現的點子,迄今為止也有所實踐。
點子
利用紅外線傳感器智能控制空調、電視等基於紅外遙控的家電設備;
智能控制家中的燈泡設備(部分基於網絡協議);
(待更新...)
方案
硬件
首先,除了樹莓派之外,還需要如下硬件:
- 移動端設備 iPhone一台(安卓手機當然也沒問題,但是本案例中只基於iPhone做了實現)
- 外網可直接訪問的服務器一台(本案例使用阿里雲服務器)
- 基於樹莓派的傳感器若干
- 基於光敏電阻的光線傳感器一個
軟件
此外,本案例同樣需要如下軟件環境的支持(注:如果您完全不懂軟件,且不願意為實現本案例的結果而學習軟件知識,那么下面的需要軟件知識的相關內容可以不用深究):
- 主要涉及的編程語言:Java、Python、Swift(iOS)
- 基於Linux系統的公網服務器
- 基於較新版本的iOS系統設備iPhone(之所以標注“較新”是因為筆者對iOS 軟件研發理解尚淺,未能進行多種版本的兼容測試,所以只提供一個版本參考:iOS系統版本11.1.2親測有效)
- 基於raspberry系統的樹莓派
架構
系統大致分為三部分
- 服務端
- Hestia Server 部署在公網服務器中的項目
- 客服端
- Hestia RPi 部署在樹莓派中的項目
- Hestia iOS 部署在iPhone移動設備中的項目
各部分的主要用途
- Hestia Server 用於連接、監控其他客服端,傳輸命令信息
- Hestia RPi 用於接受服務端信息、控制傳感器等設備
- Hestia iOS 用於發送當前地理位置信息

Hestia Server 系統架構
項目
Hestia Server https://github.com/GenialX/hestia-server
Hestia RPi https://github.com/GenialX/hestia-rpi
Hestia iOS https://github.com/GenialX/hestia-ios
實現功能
- 實時監控主人的地理位置,並推送給主人的手機中移動端設備iPhone
- 通過GPS實時將當前的經緯度信息發送給服務器,服務器將當前位置信息推送給iPhone
- 基於室內光線明亮程度,在主人離家與回家時會智能控制燈泡的開關
- 基於移動設備iPhone的位置信息與室內光線傳感器的信息來智能控制室內宜家燈泡的開關,對室內燈泡的控制是基於tcp協議的
總結
未完待續...