結合樹莓派和Javascript的家庭自動設計
結合樹莓派和Javascript的家庭自動設計
連結到視訊
https://youtu.be/wh0OoLUTeM8 牆內的同學看不了
介紹
自從我還是個一個孩子以來,就一直熱衷於電子化和不同種類的電子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溫度感測器測量。佈線如下:
新想法
我開放了關於不同模組的各種想法。如果您有一些想法,如果您將其新增到問題跟蹤器並將其標記為,我將非常欣賞
你的Idea。
軟體依賴
Node&Npm
Pi-Blaster
WiringPi庫
LIRC
相關文章
- 樹莓派的GPIO程式設計樹莓派程式設計
- 樹莓派GUI程式設計樹莓派GUI程式設計
- 樹莓派的啟動樹莓派
- 樹莓派安裝vnc server並設定自啟動樹莓派VNCServer
- 樹莓派使用入門:如何啟動一個新的樹莓派樹莓派
- 樹莓派是什麼 樹莓派能做什麼 樹莓派的功能用途樹莓派
- 樹莓派 | 修改樹莓派3熱點的名稱和密碼樹莓派密碼
- 樹莓派使用入門:教孩子們用樹莓派學程式設計的 5 種方法樹莓派程式設計
- 樹莓派使用入門:如何更新樹莓派樹莓派
- 教你用樹莓派打造一個家庭影院樹莓派
- 樹莓派FRP內網穿透及自啟動樹莓派FRP內網穿透
- 樹莓派使用入門:慶祝樹莓派的 14 天樹莓派
- 樹莓派使用樹莓派
- 用樹莓派 + Python + OpenCV 實現家庭監控和移動目標探測(下)樹莓派PythonOpenCV
- 樹莓派使用入門:用樹莓派學 Linux樹莓派Linux
- 配置樹莓派linux的核心和編譯並將映象拷貝至樹莓派樹莓派Linux編譯
- 樹莓派:最好的安排樹莓派
- 樹莓派的連線樹莓派
- Ubuntu和樹莓派遠端操作Ubuntu樹莓派
- 樹莓派使用入門:如何用樹莓派來娛樂樹莓派
- 樹莓派使用入門:如何購買一個樹莓派樹莓派
- 樹莓派CM4(四):樹莓派映象替換核心樹莓派
- 樹莓派作業系統安裝和啟動樹莓派作業系統
- python idea 利用樹莓派做家庭報警系統PythonIdea樹莓派
- 樹莓派筆記樹莓派筆記
- 樹莓派與FileZilla樹莓派
- 折騰樹莓派樹莓派
- 樹莓派裝opencv樹莓派OpenCV
- 新樹莓派入手樹莓派
- 樹莓派電臺樹莓派
- 樹莓派自建 NAS 雲盤之——資料自動備份樹莓派
- 樹莓派使用入門:如何為樹莓派社群做出貢獻樹莓派
- 「玩轉樹莓派」樹莓派 3B+ 配置無線WiFi樹莓派WiFi
- 樹莓派搭建git伺服器 | 樹莓派小無相系列樹莓派Git伺服器
- 樹莓派使用入門:透過樹莓派和 kali Linux 學習電腦保安樹莓派Linux
- 樹莓派opencv的安裝樹莓派OpenCV
- 樹莓派:光陰的故事樹莓派
- 樹莓派和 ArchlinuxARM(aarch64)樹莓派Linux