İçindekiler:

Ok Google Plant Waterer/su Tabancası: 20 Adım
Ok Google Plant Waterer/su Tabancası: 20 Adım

Video: Ok Google Plant Waterer/su Tabancası: 20 Adım

Video: Ok Google Plant Waterer/su Tabancası: 20 Adım
Video: Magarsus | 1. Bölüm 2024, Kasım
Anonim
Ok Google Plant Waterer/su Tabancası
Ok Google Plant Waterer/su Tabancası

Bu, birisine su püskürtmek veya bazı bitkileri sulamak için Google Home'u veya üzerinde Google asistanı olan herhangi bir telefonu kullanan eğlenceli bir projedir. Ayrıca ışıklar, ısıtma, fanlar vb. gibi diğer kullanımlar için birçok potansiyel uygulamaya sahiptir. Bunu beğendiyseniz, lütfen IOT yarışmasında bu projelere oy verin. Teşekkürler.

1. Adım: Gerekli Kaynaklar

Gerekli Kaynaklar
Gerekli Kaynaklar

Aşağıdakilere ihtiyacınız olacak:

  • Ahududu pi (internete erişimi olan herhangi bir model)
  • 12v su pompası (Bu benim kullandığım)
  • Bir 12v güç kaynağı (Bunu veya etrafta yatan birini kullanın)
  • 5v 2 kanallı röle(Bu benim kullandığım tip)
  • Bazı kadın-kadın jumper yol açar
  • Su tutmak için plastik bir kutu
  • Suyun pompadan fışkırtılmasının bir yolu (plastik bir boruyu büktüm ama sadece pipet kullanabilirsiniz)

Ahududu pi ile uzaktan açmaya izin verdiği için, sadece bir anahtar olsaydı, açmak için fiziksel olarak orada olmak zorunda kalmadan röleleri kullandık.

2. Adım: Google Asistan

Google asistanına erişmenin bir yolunun olduğundan emin ol. Bir google ev veya telefon kullanabilirsiniz.

Adım 3: Telleri Kesmek

Kesme Telleri
Kesme Telleri

12v besleme ve pompanızın uçlarını kesmek ve ardından röleye bağlanabilmeleri için pompalamak için tel kesiciler kullanın. Sağlam bir bağlantıya izin vermek için kılıfı yeterince sıyırdığınızdan emin olun.

Adım 4: Pompayı Röleye Takın

Pompayı Röleye Bağlayın
Pompayı Röleye Bağlayın
  1. Her iki röledeki orta terminali sökün
  2. Su pompasından kabloları takın
  3. tekrar vidala

Adım 5: Güç Kaynağını Röleye Takma

Güç Kaynağını Röleye Takma
Güç Kaynağını Röleye Takma
  1. Terminalleri sökün
  2. 12v güç kaynağından gelen kabloları
  3. Onları yerine vidalayın

Adım 6: Raspberry Pi'yi Röleye Bağlama

Raspberry Pi'yi Röleye Bağlama
Raspberry Pi'yi Röleye Bağlama

Raspberry pi'yi yukarıdaki şemada gösterildiği gibi röleye bağlayın. Röleyi toprağa, 5v ve 2 GPIO pinine bağlamanız gerekecektir.

Adım 7: Pompanın Sabitlenmesi

Pompanın Sabitlenmesi
Pompanın Sabitlenmesi

Pompayı plastik bir kaba sabitlemek için blu-tack veya koli bandı kullanın.

Adım 8: Suyu Yönlendirmek

Suyu Yönlendirmek
Suyu Yönlendirmek
Suyu Yönlendirmek
Suyu Yönlendirmek

Suyun birinin yüzüne fışkırtmasını istiyorsanız, yönlendirilmesi gerekir. Bunu yapmak için plastik bir boruyu yukarıda gösterilen şekle bükmek için bir ısı tabancası kullandım. Sonra üstüne bir kalem kapağı bantladım. Alternatif olarak, bir saman kullanabilirsiniz.

Bazı bitkileri sulamak isterseniz plastik bir tüp veya bir kalemin içini ekleyebilirsiniz.

9. Adım: Her Şeyi Bir Araya Getirmek

Her Şeyi Bir Araya Getirmek
Her Şeyi Bir Araya Getirmek
Her Şeyi Bir Araya Getirmek
Her Şeyi Bir Araya Getirmek
Her Şeyi Bir Araya Getirmek
Her Şeyi Bir Araya Getirmek

Başka bir plastik kutu ekledim ve ahududu pi'yi koydum ve ıslanmaması için içine aktardım.

Devreyi biraz daha net hale getirmek için yukarıda bir devre şeması ekledim.

Adım 10: Donanım Çalışmalarını Test Etme

Pompanın çalışmasını test etmek için ahududu pi üzerinde aşağıdaki kodu çalıştırın. Bu, pompayı kapatıp açmalı (veya tam tersi).

gpiozero'dan içe aktarma LED'i

içe aktarma zamanı #bu, bu kod için ihtiyacımız olan ilgili modülleri içe aktaracaktır.

röle = LED(14)

röle2 = LED(15) #rölelere bir LED atama

Doğru iken:

röle.on() #tahmin ettin… röleyi açmaröleyi açma.off() #tahmin ettin… röleyi kapatma time.sleep(1) #1 saniye uyku röle.on() #relay on röle.off () #röle kapalı zaman.sleep(1) #uyku

Adım 11: Şişeyi İçe Aktarma

Google asistanının ahududu pi'yi kontrol etmesinin en kolay yolu, bir web sunucusunu barındırmasını sağlamaktır. Daha sonra, bir şey söylediğinizde Google'ın o sunucudaki bir sayfayı ziyaret etmesini sağlayabilir ve sunucu ziyaret edildiğinde röleyi açıp kapatmak için ahududu pi'yi kodlayabiliriz. Daha ayrıntılı bir flask öğreticisi istiyorsanız, o zaman: ahududu pi tarafından bu öğreticiyi ziyaret edin.

Ahududu pi'nizde şişe modülünü python'a alın.

  1. İnternete bağlı olduğunuzdan emin olun
  2. Bir terminal açın
  3. Yazın:

sudo pip3 yükleme şişesi

Bu işe yaramazsa:

  • İnternete bağlı olduğunuzdan emin olun
  • Bu kılavuza bakın

Adım 12: Programımız için bir Klasör Oluşturun ve İçine Girin

Bunu bir terminal açıp şunu yazarak yapın:

mkdir web uygulaması

cd web uygulaması

Adım 13: Web Sunucusunun Kodlanması

  1. Boşta 3'ü aç
  2. Dosya > Yeni oluştur
  3. Yeni oluşturduğunuz web uygulaması klasörüne kaydedin
  4. Bu kodu ekle

flask'tan import Flask from gpiozero import LED import time #bunlar bu proje için gerekli olan import modülleridir röle = LED(14) röle2 = LED(15) #rölelere bir LED uygulaması atama = Flask(_name_) #Flaske bir değişken adı atama böylece kodu onunla daha sonra @app.route('/', method=['GET']) üzerinde çalıştırmak daha kolaydır. #doing a GET web sayfasında """bu işlev ana sayfada görüntüleneni döndürür """ def index(): return 'Ana sayfa' @app.route('/on') #aşağıdaki işlev aracılığıyla röleleri açmak """röleleri açmak ve işlevin düzgün çalışıp çalışmadığını kontrol etmek için merhaba yazdırmak" "" def on(): print("hi")röle.on() röle2.off() 'on' @app.route('/off') #röleleri aşağıdaki fonksiyon aracılığıyla kapatarak """döndürme röleleri kapatın ve işlevin düzgün çalışıp çalışmadığını kontrol etmek için merhaba yazdırın""" def off(): print("hi")röle.off() röle2.on() return 'off' @app.route('/go') #fonksiyonun çalıştırılması go """bu fonksiyon röleleri çalıştırarak su püskürtür""" def go():röle.on() r elay2.off() time.sleep(3) röle.off() röle2.on() return ('go') """web sayfasına ilgili port (8000 genellikle evdir) ve ana bilgisayar üzerinden erişim""" _name_ == '_main_': app.run(debug=True, port = 8000, host='0.0.0.0')

Yorumlar kodda neler olduğunu açıklıyor

Adım 14: Kod Çalışmalarını Test Etme

Web tarayıcınızı açın ve https://127.0.0.1:5000/on URL'sini girin

Beyaz bir ekran görmelisiniz, ancak rölenin tıkırtısını duyabiliyor olmalısınız veya pompa prize takılıysa, devam etmelidir.

Pompayı kapatmak için https://127.0.0.1:5000/off adresine gidin.

Not: 127.0.0.1 'ev' anlamına gelir, yani bu bilgisayar:5000, web sunucusunun üzerinde çalıştığı bağlantı noktası olan 'port 5000' anlamına gelir. Bu işe yararsa, aşağıdakileri yaparak bir adım daha ileri gidebilirsiniz:

1. Aşağıdakileri yazarak ahududu pis ip adresinizi öğrenin:

ana bilgisayar adı -I

2. Pisipadresi/on'u ziyaret eden pi'nizle aynı wifi'ye bağlı herhangi bir bilgisayarda

Bu röleyi açmalıdır.

Bu, ahududu pi'nizi ahududu pi'nizle aynı wifi'ye bağlı herhangi bir bilgisayardan nasıl kontrol edebileceğinizi gösterir.

Adım 15: Tünel Açma

Google Home'un bu web sitesini ziyaret edebilmesi için, aynı ip adresine bağlı olmayan bilgisayarların röleyi açıp kapatabilmeniz için bir tünel oluşturmanız gerekecek. Bunu ngrok ile yapabilirsiniz. Bu, herhangi bir bilgisayardan flask web sitesini ziyaret etmenizi sağlayacak ahududu pi'ye yükleyebileceğiniz bir programdır.

Daha fazla bilgi için web sitelerini ziyaret edin:

Adım 16: Ngrok'u Kurma

Ahududu pi'nize şu bağlantıyı girin: https://ngrok.com/download ve ngrok'u indirmek ve kurmak için talimatları izleyin.

Adım 17: Ngrok'u Test Etme

Flask sunucunuzun çalıştığından emin olun. Başka bir terminal açın ve cd webapp yazın

Ardından yazarak ngrok'u başlatın

./ngrok http 5000

Bu size herhangi bir cihazda gidebileceğiniz bir URL göstermelidir. Bunu kopyalayın ve bir sonraki adım için kendinize e-posta ile gönderin

Bu işe yaramazsa:

  1. Şişenin çalıştığından emin olun
  2. Flask programıyla aynı klasörde ngrok çalıştırdığınızdan emin olun.
  3. Doğru bağlantıyı kopyaladığınızdan emin olun (programı her yeniden başlattığınızda değişir)

Adım 18: IFFF

IFFF: Eğer Bu O Zaman Bu, google ana sayfanızı bir web sunucusuna bir şey söylerken ziyaret etmesini sağlamak için kullanılabilecek ücretsiz bir programdır, Bunu ayarlamak için şu adımları izleyin:

  1. https://ifttt.com/ adresini ziyaret edin veya uygulamayı indirin
  2. Bir hesap oluşturun
  3. Yeni uygulama oluştur'u tıklayın (bazen uygulamalarımın altında)
  4. Buna tıkla
  5. Google'da arama yapın ve Google Asistan'ı seçin
  6. Basit bir cümle söyle'yi tıklayın
  7. Söylemek istediğin şeyin altına "su tabancasını çalıştır" yaz.
  8. Tetikleyici oluştur'a tıklayın
  9. buna tıklayın
  10. Web'de ara
  11. Webnooks'u tıklayın
  12. Web isteği yap'a tıklayın
  13. URL altında, ngrok'un size daha önce verdiği URL'yi girin/git
  14. Yöntem altında GET'i seçin
  15. İçerik altında metin/düz seçin
  16. Oluştur'u tıklayın
  17. Bitir'i tıklayın

Adım 19: Tamamlandı

Şimdi hey google dediğinizde (seçtiğiniz ifadeyi girin), pompa açılmalıdır.

Bu işe yaramazsa (çalışması için yaklaşık 15 denemem gerekti):

  1. Tüm programların çalıştığından emin olun
  2. Tüm Lead'lerin bağlı olduğundan emin olun
  3. IFTT'ye girdiğiniz URL'nin en sonuncusu olduğundan emin olun.
  4. Raspberry pi'nin internete bağlı olduğundan emin olun

Adım 20: IOT Yarışması

Bu öğreticiyi beğendiyseniz, lütfen IOT yarışmasında bize oy verin. Çok teşekkür ederim.

Önerilen: