結合樹莓派和Javascript的家庭自動設計

結合樹莓派和Javascript的家庭自動設計

結合樹莓派和Javascript的家庭自動設計

鏈接到視頻

https://youtu.be/wh0OoLUTeM8 牆內的同學看不了

結合樹莓派和Javascript的家庭自動設計

介紹

自從我還是個一個孩子以來,就一直熱衷於電子化和不同種類的電子DIY。以前我用arduino做了一些其他的小型項目,像我的遊戲方向盤,還有我給我的車定製的LED轉速錶,語音控制LED等。最近我買了Raspberry PI 3和一些物聯網開發的套件,於是我決定開始自動化我的家。

技術棧

由於我非常熟悉javascript及其生態系統,所以決定通過自己的手機應用程序創建自己的手機應用程序react native,並將其連接websockets到NodeJS後臺。我使用ImmutableJS的記錄來保持數據結構的一致性和應用程序的性能。數據通過JSON字符串在客戶端和服務器之間發送,當雙方收到時,它們將被轉換回到不可變記錄。我將共享模塊(客戶端和服務器之間)分離到單獨的本地npm軟件包 - home記錄和home-config。對於GPIO的控制(樹莓派的引腳),我結合pi-blaster並一起使用了wiringPi的庫。由於我找不到我的AC代碼,於是我自己記錄之後,並將它們添加到lirc配置文件中。Duckdnscron被用作動態dns,因為我的IP地址定期更改,我不需要每次重新編譯整個應用程序或更改配置。服務器實時向所有連接的用戶廣播(應當譯為發送)更改。手機應用程序位於/ phone-app文件夾中,服務器位於/ server中。

https://github.com/deepsyx/home-automation

這裡是項目地址

硬件

Raspberry Pi 3

是控制單元。大功率器件(如LED條)通過外部12V 5A power supply(與PI共享接地)供電。AC通過950nm紅外LED控制。加熱系統通過繼電器(開和關)連接,舵機用於恆溫器。兩個白色LED和所述RGB經由連接IRLZ34N邏輯晶體管的PI。還有IR接收器,以防萬一我想記錄任何其他東西。溫度通過DS18B20溫度傳感器測量。佈線如下:

結合樹莓派和Javascript的家庭自動設計

新想法

我開放了關於不同模塊的各種想法。如果您有一些想法,如果您將其添加到問題跟蹤器並將其標記為,我將非常欣賞

你的Idea。

軟件依賴

  • Node&Npm

  • Pi-Blaster

  • WiringPi庫

  • LIRC

相關推薦

推薦中...