iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 3
0
IoT

homekit+pixhawk系列 第 3

home bridge with raspberry pi

  • 分享至 

  • xImage
  •  

在幾年前的Apple發表會上,蘋果提出了一個智慧家庭的東西,稱之為homekit,其中支援Homekit的所有物件,例如燈光、門鎖、溫濕度計以及插座等等各式感應器都可以透過iPhone上的家庭應用程式來控制,除此之外還可以透過Siri即時監控家庭的一切感應器狀態。Homekit初面市時所支援的硬體較少,直至今日,支援Homekit的硬體也寥寥無幾,其價格以及花費也不是市井小民可以開支的起的,因此就有了類似Homebridge的軟體出現,讓願意折騰樹莓派或是其他小型單板電腦,甚至Wifi分享器的使用者可以以較低廉的成本,享受到用Siri詢問房間溫濕度的能力,以及以Siri命令調整電燈亮度的功能。

homebridge簡介

https://user-images.githubusercontent.com/19808920/58770949-bd9c7900-857f-11e9-8558-5dfaffddffda.png

Homebridge is a lightweight NodeJS server that emulates the iOS HomeKit API.
homebridge的官網上是這樣說homebridge的,意思是homebridge是一款輕量級的Node.JS伺服器,用來模擬iOS上Homekit的API

homebridge 安裝方式

  1. 首先確認Node.JS的版本是不是大於4.3.2,可以透過node --version指令查詢目前的版本
  2. 若使用Linux的話需要安裝libavahi-compat-libdnssd-dev
    sudo apt-get install libavahi-compat-libdnssd-dev
    
  3. 透過npm安裝homebridge
    npm install -g homebridge
    
    或是
    sudo npm install -g --unsafe-perm homebridge
    
  4. 尋找需要用到的plugin來安裝,以DHT22為例
    npm i homebridge-dht
    
  5. 配置文件config.json
{ "accessory":   "Dht",
"name":        "dht22 - indoor",
"name_temperature": "Indoor Temperature",
"name_humidity": "Indoor Humdity",
"gpio":        "4",       
"service":     "dht22" },
{ "accessory":   "Dht",
"name":        "dht22 - outdoor",
"name_temperature": "Outdoor Temperature",
"name_humidity": "Outdoor Humdity",
"gpio":        "2",   
"service":     "dht22" }

上述文件代表raspberry pi上接兩個DHT22溫濕度傳感器,一個接在GPIO4,另一個接在GPIO2上,並分別命名為室內以及室外的溫濕度計
6. 執行homebridge
這個時候,你的raspberry pi就變成一個支援homekit的溫濕度計囉!

如何使用開機自動運行?

如果使用

sudo npm install -g --unsafe-perm homebridge

來安裝homebridge的話,可以透過pm2來使得homebridge可以開機自動運行
首先安裝pm2

npm install -g pm2

接著

pm2 startup

最後把homebridge掛在pm2上

pm2 start homebridge
pm2 save

這樣就完成一個隨插即用的homekit溫濕度計囉


上一篇
cmavnode取代mavproxy吧!
下一篇
利用mosquitto傳送MQTT資訊吧!
系列文
homekit+pixhawk30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言