如何用raspberry-pi和ifttt構建光感應智慧開關

智慧家居小玩意太貴?建立你自己的!下面介紹如何使用Raspberry Pi和IFTTT製作光感智慧開關。...

黃昏到黎明開關和定時器開關都是方便的方式來自動控制您的燈光。如果你能將兩者結合起來,甚至把它們連接到互聯網上,形成一個真正的智能照明系統,那不是很好嗎?

light-sensing-switch

一個樹莓圓周率,一個繼電器,一個光傳感器,和一個破折號的代碼是所有你需要實現這一自動照明涅磐在一個小錢。

你需要什麼

光感應智能開關的組件很容易找到。您需要:

  • 任何型號的樹莓皮運行樹莓。
  • 亞馬遜上很容易找到的中繼板。
  • Adafruit TSL2561光度傳感器。
  • 跨接導線。
  • 一些自動控制的燈!

SunFounder 2 Channel DC 5V Relay Module with Optocoupler Low Level Trigger Expansion Board for Arduino R3 MEGA 2560 1280 DSP ARM PIC AVR STM32 Raspberry Pi BUY NOW ON AMAZON

光感應智能開關的工作原理

通過使用繼電器在我們的自動**開門器項目相同的方式,你可以編程一個樹莓Pi開關照明電路在固定的時間和關閉。在混合中添加一個亮度傳感器意味著Pi可以檢測周圍的光照水平,並且只有在真正需要的時候才選擇打開燈光。

因為Pi是一臺可以連接到網絡的微型計算機,所以你也可以將它設置為通過互聯網進行控制。您的智能燈將有三個輸入來確定何時亮起:

  1. 計劃好的時間表。
  2. 環境光照水平。
  3. 通過網絡發送的超控信號。

步驟1:將樹莓pi連接到繼電器

如果您對使用GPIO還不熟悉,請先閱讀關於Raspberry Pi GPIO引腳的所有需要了解的內容。

首先,檢查您的中繼板是否有跳線將VCC和JD-VCC引腳連接在一起。如果有,請將其拆下。

JD-VCC to VCC relay board jumper

關閉所有電源後,將中繼板連接到Pi,如下所示:

  • Pi引腳2(5v)至繼電器板上的JD-VCC。
  • Pi引腳6(GND)至繼電器板上的GND。
  • Pi引腳15(GPIO 22)至繼電器板上的IN1
  • Pi引腳17(3.3v)至繼電器板上的VCC。

Raspberry Pi Zero W connected to a relay board

步驟2:連接亮度傳感器

TSL2561是一種光傳感器,可以探測紅外線、全光譜和人體可見光。它可以發送一個非常精確的數字讀數到樹莓皮。傳感器以0.1(無光)到40000(明亮的太陽)的比例報告光照級別。

TSL2561板使用i2c協議與Raspberry Pi通信。I2C只需要兩個連接,一個用於時鐘以保持兩個設備的同步,另一個用於傳輸的數據。當然,lux傳感器也需要一些電源,因此總共有四個連接:

  • 將Pi針腳1(3.3v)連接到照度傳感器上的Vin(或VCC)上
  • 將Pi針腳3(SDA)連接到照度傳感器上的SDA
  • 將Pi針腳5(SCL)連接到照度傳感器上的SCL
  • 將Pi針腳9(GND)連接到照度傳感器的GND

Raspberry Pi Zero W connected to TSL2561 lux sensor

步驟3:配置和安裝依賴項

在進一步討論之前,您需要檢查Raspberry Pi上是否啟用了I2C(默認情況下已禁用)。在終端中鍵入以下內容:

sudo raspi-config

選擇“接口選項”>P5 I2C,然後選擇“是”。

Interfacing opti*** in raspi-config utility

點擊Enter鍵,然後選擇Finish退出配置屏幕。重新啟動Pi以使更改生效:

sudo reboot

一些依賴關係是Pi能夠與傳感器板通信所必需的。鍵入以下命令:

sudo apt-get updatesudo apt-get install -y python-**bussudo apt-get install -y i2c-tools

您可以通過鍵入以下內容檢查一切是否正常:

sudo i2cdetect -y 1

如果安裝了依賴項並且正確連接了lux傳感器,您將看到如下響應:

IC-Detect utility reporting lux sensor address

在這裡,該實用程序報告它在I2C地址39處找到了I2C設備(lux傳感器)。

您還沒有完全處理依賴項。你也需要一些圖書館。首先,創建一個文件夾,將與此項目相關的所有內容保存在:

mkdir ~/lightingcd ~/lighting

下一步,下載瓶子,一個輕量級的框架,它將在你的Pi上創建一個簡單的web服務器。你可以用它來控制網絡上的燈光。

wget https://bottlepy.org/bottle.py

您需要的其他庫都在Github上,因此如果您的Raspberry Pi尚未安裝Git,請立即添加它:

sudo apt-get install git

現在克隆兩個庫,如下所示:

git clone https://github.com/adafruit/Adafruit_Python_GPIO.gitgit clone https://github.com/adafruit/Adafruit_Python_PureIO.git

最後,通過創建一個新文件來創建一個測試腳本:

nano test.py

粘貼此代碼(由Adafruit提供):

#!/usr/bin/env python# -*- coding: utf-8 -*-from __future__ import absolute_import, division, print_function, unicode_literalsfrom tsl2561 import TSL2561if __name__ == "__main__": tsl = TSL2561(debug=True) print(tsl.lux())

按Ctrl+X保存,按照屏幕上的說明退出。

完成後,運行測試腳本:

python test.py

如果所有的東西都安裝好並正常工作,你會得到一個號碼。這個數字是傳感器的勒克斯讀數。試著堵住傳感器,或者移動它,使它得到更多或更少的光。然後再次運行測試腳本,看看數字是如何變化的。

步驟4:創建自動化腳本

樹莓皮將開關燈時,它變得黑暗,但也關閉他們在某些時候。例如,你可能希望你的燈在晚上天黑的時候亮起來,然後在午夜左右熄滅以節省電力。他們可以一大早再來,等天亮了再關掉。

要管理這樣具有多個時區的計劃,有兩種不同的腳本。一個(onzone.py文件)如果天黑的話,你希望你的燈亮著的時候每分鐘都會跑。另一個(離區.py)在您希望關燈的時間內,無論燈光級別如何,都將每分鐘運行一次。

Smart lighting script schedule

腳本將被安排使用cron作業運行。通過選擇每個腳本在白天和晚上運行的時間,可以很容易地設置燈光可以自動打開的時間。您可以根據需要設置任意多的打開和關閉時段。

除了用於自動控制燈光的腳本之外,還有第三個用於管理覆蓋情況的腳本。這將允許您遠程打開燈光,而不考慮環境光照級別。

腳本1:on區域

這個Python腳本將在一天中的每一分鐘都運行,如果是黑暗的話,您希望燈光亮起。通過將此命令複製並粘貼到終端中來下載腳本:

wget https://gist.githubusercontent.com/hamishdownell/ea151d2ff7c888ac09f8a850afaab4ee/raw/10b0e9d8ec42f8577750941da46a93d16b597c05/onzone.py

每一次onzone.py文件運行時,它將從傳感器獲取勒克斯值,以查看是否黑暗。如果是的話,它會檢查燈是開著還是關著。如果它們關閉了,它就會打開它們。如果天不黑,腳本就會看到燈是否亮了。如果它們是,它將關閉它們,除非它們已被覆蓋。

這個腳本使用一個名為lowlux的變量來決定在哪個點足夠暗來打開燈。您可以通過更改靠近頂部的這一行中的值,將其更改為適合您自己安裝的內容onzone.py文件:

lowlux = 50

劇本二:禁區

此腳本將在一天中的每一分鐘運行,您希望燈光保持關閉,除非它們已被覆蓋。下載腳本:

wget https://gist.githubusercontent.com/hamishdownell/fb8970909145bbfefbbef8dba5f5a00f/raw/eae5a6057a51ca4727907c7d061f0a48b07da944/offzone.py

這個劇本不在乎它有多亮有多暗。它的工作就是在燈亮時關閉(除非它們被覆蓋)。

腳本3:重寫服務器

此腳本創建一個簡單的web服務,可以接受執行以下操作的命令:

  1. 不管周圍的光線如何,都要打開燈幾分鐘。
  2. 把燈關掉。
  3. 找出燈當前是開著還是關著。
  4. 找出燈在被覆蓋時應該保持亮多久。

下載腳本:

wget https://gist.githubusercontent.com/hamishdownell/2303bfd9fb30d42e79923bdb7e69ed4e/raw/7dcb456b81b8ae58ae48efa225adb41ba7d7f69c/lightserver.py

在繼續下一步之前,請運行離區.py腳本如下:

python offzone.py

這將創建腳本用來跟蹤所有內容的控制文件。

第5步:安排腳本

你的Raspberry Pi可以用cron運行自動化腳本。按如下方式設置時間表:

sudo crontab -e

將這兩行粘貼到文本編輯器中:

* 7,8,9,17,18,19,20,21,22,23 * * * python /home/pi/lighting/onzone.py > NULL* 0,1,2,3,4,5,6,10,11,12,13,14,15,16 * * * python /home/pi/lighting/offzone.py > NULL

注意:如果您登錄到Raspberry Pi的用戶名不是默認Pi,請相應地更改路徑。

在第一行列出你想在天黑的時候開燈的所有時間。所有你想關燈的時間都在第二行。

現在,將覆蓋腳本設置為在Pi啟動時自動運行:

sudo nano /etc/rc.local

將此行粘貼到文件底部,然後保存並退出:

nohup python /home/pi/lighting/lightserver.py &

最後,重新啟動Raspberry Pi,這樣就可以檢查服務器腳本是否正常加載

sudo reboot

步驟6:測試繼電器

在連接燈之前,使用覆蓋功能測試所有東西是否正常工作。在與您的Pi位於同一網絡的web瀏覽器中鍵入以下內容,將IP地址替換為您自己的Raspberry Pi地址:

11.22.33.44:1234/overrideon/3

如果一切正常,您將聽到繼電器的咔嗒聲,瀏覽器將響應燈已打開三分鐘。

當繼電器閉合時,可以測試其他超控功能。這將告訴您由於超控,指示燈將再亮幾分鐘:

11.22.33.44:1234/getoverrideremaining

這應該告訴你燈亮了:

11.22.33.44:1234/lightstatus

最後,您可以通過以下方式再次關閉它們:

11.22.33.44:1234/overrideoff

繼電器打開時會發出咔嗒聲。

第七步:連接你的燈

在把燈連接到繼電器之前,關掉並拔下你的樹莓皮。使用繼電器板上的常開(NO)連接器代替常規開關,如下所示:

Inserting the relay into the lighting circuit

最後,你可以安裝你的勒克斯傳感器在一個地方,它將捕捉環境光線水平。請注意,TSL2561將報告為飽和,如果它遇到直接明亮的陽光,所以最好保持在陰涼處,如果可能的話。

更多樹莓pi項目供您嘗試

通過在web瀏覽器中鍵入命令來遠程覆蓋新的智能照明設置相當麻煩。更好的方法是連接類似Amazon Echo的東西,使事情變得更簡單。在IFTTT上結合Alexa服務和Webhooks服務是添加語音控制的簡單方法。

請參閱我們的IFTTT使用指南,以幫助您入門。

IFTTT Applet to connect **art lights to Alexa

另一個選擇是使用Siri快捷方式。帶有菜單的單個快捷方式可以查詢燈光的狀態,並使用覆蓋功能打開和關閉燈光。

如果你喜歡這個項目,一定要看看這些奇怪的樹莓Pi項目的更多想法。

  • 發表於 2021-03-22 21:01
  • 閱讀 ( 52 )
  • 分類:DIY

你可能感興趣的文章

5個智慧家庭辦公室創意,簡化您的日常生活

有一個家庭辦公室很方便,但也有很多煩惱。以下智慧家庭辦公室的想法將有助於減少分心和自動化您的一天。最重要的是,您需要的智慧家居裝置完成這些過程是非常經濟的。 ...

  • 發佈於 2021-03-11 16:17
  • 閲讀 ( 95 )

如何設定和使用三星smartthings系統

當談到馴服智慧家居裝置的瘋狂世界時,很少有嘗試能比三星SmartThings系統更成功。SmartThings Hub廣泛支援多種智慧家居裝置,將您所有的東西連線在一起,主要是以無縫和使用者友好的方式。 ...

  • 發佈於 2021-03-13 07:19
  • 閲讀 ( 56 )

如何用arduino遙控你的家,5個diy專案

隨著經濟實惠的智慧家居技術的出現,改造您的家變得前所未有的容易。有很多有用的小玩意可以現貨供應來做這件事,而且隨著越來越多的競爭者加入市場,其中許多產品的價格已經下降。 ...

  • 發佈於 2021-03-13 11:21
  • 閲讀 ( 57 )

如何用老式智慧手機構建安全攝像網路

如今,建立一個無線家庭安全攝像頭系統其實並不是什麼大事,尤其是如果你有合適的裝置。無線IP網路攝像頭非常理想,因為它們可以放在家裡的任何地方,而且不需要連線到計算機,在那裡可能會有駭客之類的額外危險。但...

  • 發佈於 2021-03-14 03:25
  • 閲讀 ( 40 )

用這些arduino專案像個怪人一樣控制你的燈光

...。使用者JestinèCubetech已經建立了一個專案,使用Arduino和Raspberry-Pi透過脈寬調製(PWM)來控制燈泡的亮度。 ...

  • 發佈於 2021-03-15 06:56
  • 閲讀 ( 54 )

7款便宜的小玩意,讓你的家充滿未來感

... 1laykor非接觸式自動感應水龍頭[不再提供] ...

  • 發佈於 2021-03-16 00:20
  • 閲讀 ( 57 )

如何用高畫質電視買到便宜的智慧電視

... 如果Windows作業系統不是那麼重要,那麼對於HTPC來說,Raspberry-Pi是一個更便宜的選擇。在Linux作業系統上執行時,它提供了同樣的低能耗、小尺寸的好處。 ...

  • 發佈於 2021-03-16 22:50
  • 閲讀 ( 49 )

安裝wemo交換機:分步指南

你屈服於同齡人的壓力,最終買了一個智慧電燈開關,這樣你也可以成為精英“智慧家居”人群的一員。哪個開關?最簡單的安裝和設定當然:貝爾金韋莫燈開關(加州,英國)。 ...

  • 發佈於 2021-03-17 09:15
  • 閲讀 ( 48 )

如何用樹莓皮打造自己的android平板電腦

... 雖然Raspberry-Pi上可以安裝多個版本的Android,但您需要一個與觸控式螢幕相容的版本。兩個關鍵的Android版本值得考慮。 ...

  • 發佈於 2021-03-18 17:31
  • 閲讀 ( 66 )

如何用retropie構建一個定製的raspberry-pi-nes或snes-classic模擬器

...你很幸運,你可以把RetroPie作為一個應用程式安裝在你的Raspberry-Pi上,並在需要的時候載入你的模擬軟體。 ...

  • 發佈於 2021-03-23 11:41
  • 閲讀 ( 50 )
雁過江水寒
雁過江水寒

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦