İçindekiler:

Raspberry Pi 3 Garaj Kapısı Açıcı: 15 Adım (Resimli)
Raspberry Pi 3 Garaj Kapısı Açıcı: 15 Adım (Resimli)

Video: Raspberry Pi 3 Garaj Kapısı Açıcı: 15 Adım (Resimli)

Video: Raspberry Pi 3 Garaj Kapısı Açıcı: 15 Adım (Resimli)
Video: Tarsens - Tarımda Yapay Zeka Uygulamaları 20201008 - Bandırma Onyedi Eylül Üniversitesi 2024, Kasım
Anonim
Raspberry Pi 3 Garaj Kapısı Açıcı
Raspberry Pi 3 Garaj Kapısı Açıcı

Bu talimatı 2014 yılında oluşturdum. O zamandan beri çok şey değişti. 2021'de Akıllı Garaj Kapısı Açıcıyı burada güncelledim.

Bir garaj kapısını açmak, kapatmak ve izlemek için bir Raspberry Pi ve bir akıllı telefon kullanın. Kapının açılıp kapanması, ailenin cep telefonlarına yüklenen kendinden imzalı sertifikalar kullanılarak güvence altına alınır. Garaj kapısı açık olmadığı halde açıksa, cep telefonuna kısa mesaj (SMS) gönderin.

Garaj kapısı 2014'ün sonlarından beri sürekli kullanılıyor. Yıllar içinde değişiklikleri güncel tutmaya çalıştım. Eğitilebilirdeki değişiklikleri açıklayan bir ek var.

Bu projenin hedefleri şunlardır:

  • İlk dersimi ver - Bunu yayınlamayı planlamamıştım, ancak birçok istek aldım
  • Standart bir uzaktan kumandayla bir garaj kapısı açın
  • Duvara monte kapı zili garaj açacağı ile bir garaj kapısı açın
  • Akıllı Telefon ile bir garaj kapısı açın
  • Garaj kapısının durumunu bir cep telefonu veya dizüstü bilgisayar aracılığıyla uzaktan izleyin (açık mı yoksa kapalı mı?)
  • Kapanması gerektiğinde kapı açıksa cep telefonuma kısa mesaj gönder
  • Garaj kapısını emniyete alın (örn. elektrik kesintisinde kapı açılmamalıdır)
  • Ağda başka kimsenin kapıyı açmasına izin vermeyin (iki yönlü kendinden imzalı SSL sertifikası)
  • Kablolu bağlantı yerine WiFi kullanın
  • Raspberry Pi 3 kullanın

Bu Garaj Kapısı Açıcı uygulamasının temeli, Instructable'dan türetilmiştir: Quartarian tarafından Raspberry Pi Garaj Kapısı Açıcı. Başlangıçta B+ Raspberry Pi modelini kullandım, sonra Raspberry Pi 2 model B'ye geçtim ve şimdi Raspberry Pi 3 kullanıyor.

Raspberry Pi ile iletişim kurmak için bir MacBook kullandım, ancak herhangi bir bilgisayar kullanılabilir.

Bu cihazı yapmak için zorlayıcı bir neden yok ama eğlenceliydi. Bir tane satın almak daha uygun maliyetlidir. Benzer bir cihaz yaklaşık 130 USD karşılığında satın alınabilir.

  • Asansör ustası 828LM
  • Chamberlain MyQ 129 $
  • Git Kapısı $179
  • Usta 100$

Notlar:

  • Maça içine alınmış metin, bunun gibi 'bunu değiştir' gerçek bir değerle değiştirilmelidir
  • Arduino altı çizili mavi metin bir bağlantıdır. Bu durumda, bir garaj kapısı açıcısının arduino versiyonuna bir bağlantıdır.
  • Kullanılan her kaynağa atıfta bulunmaya çalıştım. Herhangi bir eksiklik için özür dilerim. Bu belgenin çoğu diğer kişilerin çalışmalarına dayanmaktadır.
  • $, MacBook'taki bir terminal penceresinde yürütülen bir komutu belirtir ve genellikle Raspberry Pi'de yürütülür

Adım 1: Parçaları Toplayın

Parçaları ve araçları satın alın veya toplayın (fiyatlar USD cinsinden).

  • Raspberry Pi 3 Model B Newark Element14 $35
  • Amazon'dan 5,2V 2,5A USB Güç Adaptörü 9,99 ABD doları
  • Amazon'dan Mikro USB'den USB'ye kablo 6ft 7,99 ABD doları
  • Amazon'dan Dava 6,99 ABD Doları
  • SanDisk Ultra 16 GB microSDHC Sınıf 10 Adaptörlü (SDSQUAN-016G-G4A) Amazon'dan 8,99 ABD doları
  • SunFounder Arduino UNO 2560 için 2 Kanal 5V Röle Shield Modülü 1280 ARM PIC AVR STM32 Raspberry Pi - $6.79
  • 3x Dişi-Dişi Jumper Telleri. Fry's'tan 4,95 dolara satın alındı.
  • 30 ad için yılda 40 ABD doları dinamik DNS (dyn.com)
  • 1-Çete 18 cu. içinde. Eski İş Ağır Duvar Anahtarı ve Çıkış Kutusu, 3,12 $
  • Ultra Pro Tek Fırça Beyaz Duvar Plakası, 7.88 $
  • SECO-LARM SM 226L, Garaj Kapısı Sensörü, fiyat büyük farklılıklar gösterir, Amazon'da ücretsiz kargo ile 9,99 ABD doları
  • 50ft Katı termostat teli, Home Depot veya Lowe's, ~20$

Toplamım: ~172.00$

Aşağıdaki parçalara, araçlara ve hizmetlere sahiptim:

  • CAT5 Ethernet kablosu
  • Küçük ölçü teli, 6 ft uzunluğunda
  • Yıldız uçlu tornavidalar
  • Kargaburun
  • Kutu kesiciler
  • Kuyumcular düz uçlu tornavida, röle üzerindeki vidaları gevşetmek için gerekli
  • MacBook (PC kullanılabilir)
  • AT&T GigaPower (herhangi bir internet servis sağlayıcısı kullanılabilir)

2. Adım: Raspberry Pi'yi Monitör veya Klavye Olmadan Kurun

Raspberry Pi'yi Monitör veya Klavye Olmadan Kurma
Raspberry Pi'yi Monitör veya Klavye Olmadan Kurma

Tüm Raspberry Pi projeleri bir tür kurulum gerektirir. Aynı talimat setini kullanmayı seviyorum ve gerektiğinde bu talimatları güncellemek için tek bir yerim var.

Aşağıdaki talimatı kullanarak Raspberry Pi'yi kurun:

Raspberry Pi'yi Monitör veya Klavye Olmadan Kurma

Yukarıdaki talimat, ekte isteğe bağlı adımları içerir. Adımı yaptığınızdan emin olun:

Web sunucularına istemci tarafı sertifikaları ekleyin

Ahududu Pi'yi Kapatma

$ sudo kapatma -h 0

Kapattıktan sonra, kaldırın

  • Ethernet kablosu
  • USB seri kablosu

Bunlara daha fazla ihtiyaç olmayacak. Raspberry Pi'de komutları çalıştırmak için Mac Book'ta wifi, ssh ve bir terminal penceresi kullanın.

Gücü kesin ve gücü tekrar takın; ahududu pi yeniden başlatılmalıdır.

Adım 3: Wiring Pi, Apache ve PHP'yi kurun

Kablolama Pi'yi kurun

Mac Book'ta bir terminal penceresi açın. Raspberry Pi'ye giriş yapın, ardından Wiring Pi'yi indirin, derleyin ve kurun. Bu yazılım, GPIO pinlerinin kontrolünü sağlar. İşte adım adım bir kılavuz:

wiringpi.com/download-and-install/

İşte talimatların yoğunlaştırılmış bir versiyonu:

$ ssh pi@♣ahududu-pi-ip♣

şifre: ♣password♣ $ sudo apt-get install git-core $ git klon git://git.drogon.net/wiringPi $ cd kablolamaPi $ git çekme kaynağı $./build

Kurulumu kontrol etmek için gpio komutunu çalıştırın:

$ gpio -v

gpio sürümü: 2.29 Telif hakkı (c) 2012-2015 Gordon Henderson Bu, KESİNLİKLE GARANTİ YOKTUR ve ücretsiz bir yazılımdır. Ayrıntılar için tür: gpio -warranty Raspberry Pi Ayrıntılar: Tür: Model 2, Revizyon: 1.1, Bellek: 1024MB, Yapımcı: Sony [OV] Cihaz ağacı etkinleştirildi. Bu Raspberry Pi, kullanıcı düzeyinde GPIO erişimini destekler. -> Daha fazla ayrıntı için kılavuz sayfasına bakın $ gpio readall +-----+-----+---------+------+---+--- Pi 2---+---+------+--------+-----+-----+ | BCM | wPi | İsim | Mod | V | Fiziksel | V | Mod | İsim | wPi | BCM | ++----+-----+--------+------+---+----++----+---+- -----+--------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | İÇİNDE | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | İÇİNDE | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | ÇIKIŞ | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | İÇİNDE | 0 | 11 || 12 | 0 | İÇİNDE | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | İÇİNDE | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | İÇİNDE | 0 | 15 || 16 | 1 | İÇİNDE | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | İÇİNDE | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | İÇİNDE | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | İÇİNDE | 0 | 21 || 22 | 0 | İÇİNDE | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | İÇİNDE | 0 | 23 || 24 | 1 | İÇİNDE | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | İÇİNDE | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | İÇİNDE | 1 | 27 || 28 | 1 | İÇİNDE | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | İÇİNDE | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | İÇİNDE | 1 | 31 || 32 | 0 | İÇİNDE | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | İÇİNDE | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | İÇİNDE | 0 | 35 || 36 | 0 | İÇİNDE | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | İÇİNDE | 0 | 37 || 38 | 0 | İÇİNDE | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | İÇİNDE | GPIO.29 | 29 | 21 | ++----+-----+--------+------+---+----++----+---+- -----+--------+-----+-----+ | BCM | wPi | İsim | Mod | V | Fiziksel | V | Mod | İsim | wPi | BCM | +-----+-----+---------+------+---+---Pi 2---+---+--- ---+--------+-----+-----+

Yukarıdaki komutlar, kablolama Pi'nin iyi çalıştığına dair size biraz güven vermelidir.

Apache ve PHP'yi yükleyin

Aşağıdaki komutları çalıştırın:

$ cd..

$ sudo apt-get güncellemesi $ sudo apt-get yükleme apache2 php5 libapache2-mod-php5

Web sunucusunun çalıştığını doğrulamak için bir tarayıcı açın ve URL kutusuna şunu girin:

"ahududu-pi-ip"

Apache'nin varsayılan web sitesi "Çalışıyor!" ile yanıt verir.

4. Adım: Web sitesi

Mac Book'ta bir terminal penceresi açın. Raspberry Pi'ye giriş yapın, ardından varsayılan index.html dosyasını kaldırın, web sitesi dizinindeki izinleri değiştirin ve index.php adlı bir dosyayı düzenleyin.

$ ssh pi@♣ahududu-pi-ip♣

şifre: ♣parola♣ $ sudo rm /var/www/index.html $ sudo chown pi:root /var/www $ sudo nano /var/www/index.php

Ve aşağıdaki kodu girin:

garaj açacağı

Ev otomasyonu

<?php if ($switch == 1) { echo"

"; } başka { yankı"

"; } ?>

Garaj kapısı açıcısı Garaj Kapısı Açma Kılavuzu kapalı 1 0 aç
<?php if ($trigger == 0) { echo " <td colspan=\"4\" } else { echo"

var13 -->

Dosyayı yazmak için CTRL-o ve ENTER ve editörden çıkmak için CTRL-x.

Dosyadaki izinleri değiştirin

$ sudo chmod 664 /var/www/index.php

Adım 5: Web Sitesi Resmi

Web Sitesi Resmi
Web Sitesi Resmi
Web Sitesi Resmi
Web Sitesi Resmi

Web'den yüksek çözünürlüklü bir uzaktan garaj kapısı açıcı alın. Mac fırça kullanarak görüntüyü istediğiniz gibi değiştirin. Yukarıdaki görselde yüksek çözünürlüklü Genie Garaj Açıcı kullanılmış, ahududu pi logosu eklenmiş ve led çıkarılmıştır.

Görüntülerden biri arka plandır (remote-background.jpg), diğeri ise aktif görüntüdür (remote-press.jpg).

Plan, düğmeye basıldığında led'i yanıp sönmek yerine ahududu'nun yanıp sönmesiydi. Web sitesini basitleştirdim.

Görüntüleri ahududu pi'ye kopyalayın:

$ scp *-j.webp

şifre: ♣şifre♣

Web sitesinde tek bir buton bulunmaktadır. Doğrulamak için bir tarayıcı açın ve ♣raspberry-pi-ip♣ girin. Apache'nin "Çalışıyor!" yazan varsayılan web sitesi yerine, düğme görünmelidir. Basın.

Adım 6: Web Sunucusunu Uzaktan Kontrol Edin

Garaj Kapısı Açıcıya uzak bir konumdan erişmeyi kolaylaştırmak için dinamik bir DNS adı kullanıyorum. Çünkü IP adreslerini hatırlamaktan hoşlanmıyorum.

Bu özellik ile bir tarayıcının URL alanına ♣dynamic-hostname♣.getmyip.com giriyorum. Not: Ev yönlendiricilerindeki IP önceden bildirilmeksizin değiştirilebilir, ancak bu nadiren olur. DynDNS kullanmayı seçtim. Yönlendiricinizin genel IP adresini bilmeniz gerekir.

U-Verse Yönlendirici IP: ♣uverse-public-ip♣

Ana bilgisayar adlarınızı ve DynDNS Pro hesap ayrıntılarınızı görüntüleyebilirsiniz. İşte başlamak için birkaç ipucu:

  • Dinamik DNS ana bilgisayar adınızı oluşturun (1/30):

    • ♣dinamik-ana bilgisayar adı♣
    • Güncelleyici Anahtarı: ♣dinamik-ip-güncelleyici anahtarı♣
  • Ana bilgisayar adınızın her zaman doğru IP adresine yönlendirildiğinden emin olmak için bir güncelleme istemcisi kurun.

    • MacBook'a indirin ve yükleyin
    • AT&T U-verse IP'leri nadiren değişir, bu nedenle yukarıdaki güncelleyici her değiştiğinde çalıştırılabilir
    • Yönergeleri izleyin:

      • Hesap eklemek
      • Kullanıcı adını ve şifreyi girin: ♣dinamik-ip-kullanıcı adı♣ ♣dinamik-ip-parola♣
      • Ana bilgisayar adını seçin
      • Seçili Ana Bilgisayarları Yapılandır'a tıklayın
      • Ev sahibi aktif hale gelmeli
    • Ağınızı, cihazınıza İnternet'ten erişime izin verecek şekilde yapılandırın. Bunun nasıl yapılacağına ilişkin bazı genel talimatlar için Dyn Sihirbazımızı kullanabilir, PortForward.com gibi kaynakları kullanabilir veya yardım için cihazın üreticisiyle iletişime geçebilirsiniz.

      • AT&T U-ayet
      • 2 Kablolu 3801HGV için Bağlantı Noktası Yönlendirme - bu, sahip olduğum AT&T U-Verse yönlendiricisi. AT&T U-verse 5268ac yönlendiricide bağlantı noktasının nasıl iletileceğini öğrenmek için Ekteki Güncellemelere bakın.
      • Tarayıcıyı açın ve ♣raspberry-pi-ip♣'e gidin
      • Şifre: ♣şifre♣
      • Ayarlar
      • güvenlik duvarı

        • ♣raspberry-pi-hostname♣'yi seçin
        • sunucular

          • Web Sunucusu bağlantı noktası 80
          • HTTPS Sunucusu – 443 numaralı bağlantı noktası
        • Ekle
      • Kaydetmek

Bu yapıldıktan sonra, web sunucusu internetten çalışacaktır. Doğrulamak için ♣dynamic-hostname♣ girin ve garaj kapısı açıcı düğmesini görmelisiniz.

7. Adım: Devreyi Raspberry Pi'ye Bağlayın

Devreyi Raspberry Pi'ye Bağlayın
Devreyi Raspberry Pi'ye Bağlayın

Sağlanan kod için (adım 4 ve 6) GPIO pin 7'yi kullandım. GPIO 7'nin kablolama Pi pin 7 ile aynı olması tesadüf. İstediğinizi kullanabilirsiniz, ancak kodu değiştirdiğinizden emin olun.

Bükümlü kablo kullanmayı denedim ama röle bükülmüş kabloda iyi durmuyor. Katı tel daha iyidir.

İlk denememde üç bağlantı kablosu oluşturdum (dişiden erkeğe).

  • Üç dişiden dişiye atlama kablosu kullanın
  • Üç parça katı teli yaklaşık 1 inç olacak şekilde kesin.

    Katı telin her iki ucundan 1/4 inç soyun

  • Bir dişi atlama kablosuna bir katı tel takın.

Bağlantı kabloları (dişiden erkeğe) oluşturmanın daha iyi bir yolu:

  • Yalnızca sağlam tel kullanın
  • Üç adet 4 inçlik katı tel kesin
  • Katı telin her iki ucunda 1/4in şeritleyin
  • Dişi bağlantı pimleri kullanın

    • Bir dişi bağlantı pimini katı telin bir ucuna kaydırın ve kıvırın

      Dişi pim gevşememeli, gerekirse lehimlenmelidir

    • Gerilim azaltıcıyı dişi bağlantı pimi veya kapak pimi üzerinden elektrikçi bandıyla kaydırın

Röleyi şemada gösterildiği gibi pi'ye bağlayın:

  • Kablonun dişi ucunu Raspberry Pi pinine bağlayın.
  • Katı kabloyu Röleye yerleştirin.

8. Adım: Bir Başlangıç Hizmeti Oluşturun

Satın alınanlar da dahil olmak üzere çoğu röle şu şekilde çalışır:

  • Sinyal AÇIK olduğunda devre kapalı kalır.
  • Sinyal KAPALI olduğunda devre açıktır.

Raspberry Pi güç kaybederse rölenin devreyi KAPALI tutan bir güvenlik mekanizması vardır.

Rapberry Pi ve rölenin gücü geri yüklendiğinde, ancak Raspberry Pi, devreyi kapalı tutmak için gereken sinyali AÇIK konuma getirmek için önyüklemeyi bitirmeden önce bir sorun meydana gelebilir. Sabah garajınız açık ve potansiyel olarak birkaç yeni arkadaşınızla uyanabilirsiniz!

Ancak, GPIO pin modu şu komutla ayarlanana kadar röle aslında başlamaz: gpio mode 7 out. Ayrıca, GPIO modunu ayarlamadan önce GPIO pimi AÇIK (gpio yazma 7 1) ise, röle başlatıldığında kapalı kalacaktır.

Bu başlatmanın açılışta çalışmasını sağlamak ve yeni arkadaşlarla uyanmamak için aşağıdaki başlatma komut dosyasını kullanın.

$ ssh pi@♣ahududu-pi-ip♣

$ sudo nano /etc/init.d/garagerelay

Ardından bu komut dosyasını yapıştırın:

#! /bin/bash

# /etc/init.d/garagerelay # Sistem tarafından istendiğinde belirli işlevleri gerçekleştirin vaka "$1" başlangıçta) echo "Röleyi Başlatma" # Röleyi kapalı tutan 7'yi açın /usr/local/bin/gpio write 7 1 #Gpio /usr/local/bin/gpio modunu başlat 7 çıkış;; dur) echo "gpio durduruluyor";; *) echo "Kullanım: /etc/init.d/garagerelay {start|stop}" çıkış 1;; esac çıkış 0

Kaydetmek için: CTRL-o, ENTER

Nano'dan çıkmak için CTRL-x

Dosyayı yürütülebilir yapın:

$ sudo chmod +x /etc/init.d/garagerelay

Şimdi pi'nize bu betiği açılışta çalıştırmasını söyleyin:

$ sudo update-rc.d -f garaj rölesi başlangıç 4

(Not: "eksik LSB etiketleri" uyarısını güvenle yok sayabilirsiniz.)

Başlangıç komut dosyasının çalıştığından emin olun

$ sudo yeniden başlatma

Bir tarayıcı açın ve açıcıya tıklayın. Röle tıklamalıdır.

9. Adım: Ahududu Pi'yi Garaja Takın

Ahududu Pi'yi Garaja Takın
Ahududu Pi'yi Garaja Takın

Raspberry Pi'yi taşırken aşağıdakileri çalıştırdığınızdan emin olun:

$ kapatma -h 0

Garajın gücünü kapatmak isteyebilirsiniz. Yani kapı zili size elektrik çarpmaz:). Gerçek sebep, kabloları her kısa devre yaptığınızda, kapı yukarı ve aşağı gidecektir.

Kapı zilini duvara bağlayan kapı zili tipi açıcıdan duvar vidalarını sökün.

Kapı zili açıcısının arkasındaki garajdan evin içine bir delik açın. Teksas'ta Raspberry Pi garajda olmamalıdır, garajdaki sıcaklık değişimi Raspberry Pi'nin çalışma özelliklerinin dışındadır.

Röle kablolarını delikten geçirin (bir elbise askısı kullanın).

Kapı zili açıcısının arka tarafındaki iki vidayı da gevşetin.

Röle kablolarının her iki ucunu soyun: 1) röle tarafında yaklaşık 1/8 inç ve kapı zili tarafında yaklaşık ½ inç. Telin kapı zili tarafını, arka vidanın etrafına sığacak kadar büyük bir yarım halka şeklinde bükün.

Kapı zilinin arka tarafındaki her vidaya bir röle kablosu bağlayın ve vidayı sıkın. Bağlantılar resimde görüldüğü gibidir. Röle devreyi izole ettiği için hangi rölenin hangi vidaya takıldığı bile önemli değildir.

Adım 10: Raspberry Pi'yi SECO-LARM'a bağlayın

Rapberry Pi'yi SECO-LARM'a bağlayın
Rapberry Pi'yi SECO-LARM'a bağlayın
Rapberry Pi'yi SECO-LARM'a bağlayın
Rapberry Pi'yi SECO-LARM'a bağlayın

Kodu bitirmeden önce ailem ve ben tatildeydik ve tarayıcımı açtım. Tarayıcımın son görünümü garaj kapısı açıcıydı - sayfa yenilendi ve garaj kapısı açıldı. Birkaç gün sonra bir komşu aradı ve garaj kapısının açık olup olmayacağını sordu. Şans eseri 500 mil öteden kapatabildim.

Bu snafu, bunun olmaması için kodu değiştirmeye ve web sitesine bir sensör ve garaj kapısının durumunu eklemeye zorladı.

Bu, bir sensör eklemek için orijinal talimata bir bağlantıdır. Ancak, zaten tamamlanmış olan her şey göz önüne alındığında, sensörün kurulumu büyük ölçüde basitleştirilebilir ve python kullanmak yerine index.php'ye birkaç satır kod ekleyin.

closed

Mıknatıs, garaj kapısının sol üst iç tarafına takılır ve sensör garaj duvarına takılır. Bu yüzden, sensörden ahududu pi'ye katı termostat teli çekmek zorunda kaldım. Bu, garajdan tavan arasına ve tavan arasından garaj kapısı açıcısını (kapı zili anahtarı) içeren duvara bir delik gerektiriyordu.

SECO-LARM sensörü ile katı kablolar arasına mavi bir bağlantı kutusu yerleştirdim.

Benim evimde birinci katın tavanı ile ikinci katın altı arasında 18 inç boşluk var. Sanırım ısıtma ve soğutma kanallarının çalıştığı yer burası. İkinci kattan ve kapı zilini içeren üst 2x4'ten (üst plaka) geçecek kadar uzun bir matkap ucu uzantısına ihtiyacım vardı.

En önemli kısım, tavan arasından tellerin garaj kapısı açıcısına geçeceği alana sondaj yaparken elektriği delmemektir. Bunu düzeltmek eğlenceli değildi. Kıvılcımları görmek ve ışıkların sönmesi oldukça heyecan vericiydi!

Sensör, iki katı termostat teli veya görünmez köpek çit teli gerektirir.

Raspberry Pi'nin birden fazla pin açıklaması vardır (BCM, wPi, fiziksel). Kod, kablolama pi pin numaralarını kullanır. Tüm pinleri ve pin eşlemelerini ve pin değerlerini görmek için şunu girin:

$ gpio okuma

Bir gpio kılavuzu için şunu girin:

$ gpio adam

Orijinal talimatlarda, Fiziksel pim 9 topraklanmıştır ve SECO-LARM uçlarından birine bağlanır. Ancak, bu benim için çalışmıyor. Bunun yerine kabloları 15 ve 17 numaralı fiziksel pinlere bağlayın

SECO-LARM sensörü kapatıldığında, fiziksel pim 15 (wPi pim 3) 3.3V'a gider. Fiziksel pim 17 3.3v'dir. Çalışmıyorsa, SECO-LARM üzerindeki bağlantıları değiştirin.

SECO-LARM'i garaj kapısına ve duvara takın. Kabloları çalıştırın ve Raspberry Pi'ye bağlanın.

Adım 11: Kapanması Gerektiğinde Kapı Açıksa Uyarı Gönder

Garaj kapısı açık olmadığı halde açıksa, cep telefonuna kısa mesaj gönderin.

Basit SMTP'yi kurun ve yapılandırın.

AT&T cep telefonum var ve metin mesajları için ♣cep telefonu-numarası♣@txt.att.net kullanıyorum. Ayrıca bir gmail hesabım var ve aşağıdaki örnekte ♣gmail-account♣@gmail.com kullanılmaktadır. Farklı hizmetler kullanıyorsanız, uygun değişiklikleri yapın.

Aşağıdaki $ komutları için MacBook'ta bir terminal penceresi açın ve Raspberry Pi'nize giriş yapın.

Depoların güncel olduğundan emin olun:

$ sudo apt-get güncellemesi

Basit SSMTP ve posta yardımcı programlarını kurun:

$ sudo apt-get install ssmtp

$ sudo apt-get install mailutils

SSMTP yapılandırma dosyasını düzenleyin:

$ sudo nano /etc/ssmtp/ssmtp.conf

aşağıdaki gibi:

mailhub=smtp.gmail.com:587 hostname=♣ana-host-adınız♣ AuthUser=♣gmail-hesabı♣@gmail.com AuthPass=♣gmail-password♣ UseSTARTTLS=EVET

SSMTP takma ad dosyasını düzenleyin:

$ sudo nano /etc/ssmtp/revaliases

E-posta gönderebilecek her kullanıcı için bir satır oluşturun. Örneğin:

SSMTP yapılandırma dosyasının izinlerini ayarlayın:

$ sudo chmod 664 /etc/ssmtp/ssmtp.conf

/etc/ssmtp/ssmtp.conf dosyasının izinleri, Raspberry Pi'den kimlerin e-posta gönderebileceğini belirler. Varsayılan olarak bu dosyanın sahibi kullanıcı köküdür ve dosyanın grubu da köktür.

E-posta hesaplarıyla ilgili verileri içeren SSMTP takma adları dosyasını düzenleyin:

$ sudo nano /etc/ssmtp/ssmtp.conf

Yukarıdaki kurulum ve yapılandırma işlemi tamamlandıktan sonra komut satırından bir e-posta göndererek test edin.

$ echo "garaj kapısını kapat" | mail -s "Garaj Kapısı Açık" ♣cep telefonu-numarası♣@txt.att.net

Garaj kapısının açık olmadığı halde açık olup olmadığını kontrol etmek için bir komut dosyası oluşturun ve ardından bir kısa mesaj gönderin.

$ sudo nano /usr/local/bin/garage.sh

ve aşağıdakileri ekleyin:

#!/bin/bash

# garaj kapısının açık olup olmadığını kontrol edin. # Açıksa uyarı gönder ve syslog up'a yaz=0; kapı=$(/home/pi/wiringPi/gpio/gpio read 3) ise ["$door" -eq "$yukarı"] ise kaydedici ♣ana bilgisayar adınız♣: Garaj Kapısı Açık yankı "garaj kapısını kapatın" | mail -s "Garaj Kapısı Açık" ♣cep telefonu-numarası♣@txt.att.net fi çıkış 0

Ardından, gerekli saatlerde çalışacak bir crontab ekleyin:

$ sudo crontab –e

ve Ekle:

# Geceleri, garaj kapısının açık olup olmadığını her saat başı kontrol edin

0 22-23/1 * * * sudo /usr/local/bin/garage.sh 0 0-5/1 * * * sudo /usr/local/bin/garage.sh

Her şey çalışıyorsa, bir sonraki adıma geçin.

Adım 12: Raspberry Pi'yi Gizli Kitap'a koyun

Raspberry Pi'yi Gizli Kitaba Koy
Raspberry Pi'yi Gizli Kitaba Koy
Raspberry Pi'yi Gizli Kitaba Koy
Raspberry Pi'yi Gizli Kitaba Koy

Ahududu pi'yi gizli bir kitaba koyun. Bunu Michael'dan yaklaşık 7 dolara aldım. Kablolar ve güç kablosu için bazı küçük delikler açtım.

Adım 13: Ek: Referanslar

SunFounder Arduino UNO 2560 için 2 Kanal 5V Röle Shield Modülü 1280 ARM PIC AVR STM32

  • 5V 2 Kanallı Röle arayüz kartı ve her birinin 15-20mA'ya ihtiyacı var
  • Sürücü Akımı, yüksek akım rölesi, AC250V 10A ile donatılmıştır; DC30V 10A
  • Mikrodenetleyici ile direkt kontrol edilebilen standart arayüz (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL lojik)
  • Röle çıkış durumu için gösterge LED'leri Belgeyi indirmek için bağlantı:

Adım 14: Ek: Güncellemeler

21ŞUB2016

  • Orijinal talimatlarda, otomatik düzeltme, biçimlendirme ve yol tarifi netliği ile ilgili sorunlar vardı.

    • Örnek bir sorun, kod içindeki çift tırnakların italik çift tırnak gibi görünen bir şeye dönüşmesidir. Ancak, bunu bir komut dosyasına kesip yapıştırırsanız çalışmaz.
    • Eğitilebilir düzenleyici otomatik düzeltmeyi sever, bu nedenle wlan plana, autoremove otomatik kaldırmaya döner. Bu değişiklikleri fark etmek zordur.
    • Yönergelerimden bazıları yeterince açık olmayabilir.
    • Normalde, değiştirilmesi gereken bir şeyin göstergesi olarak köşeli parantez kullanırım. Editör bunları html'ye dönüştürür. Bu yüzden köşeli parantezlere geçtim, ancak bunlar kod gibi göründüğü için sorunlara neden olabilir. Sonunda, gerçek bir değerle değiştirme göstergesi olarak ♣s'ye karar verdim.
  • Zamanla bazı komut dosyalarını da geliştirdim.
  • 21-26 Adımları Düzenlendi

03Nisan2016

  • Sorun Giderme, Referanslar ve Güncellemeler içeren bir Ek Oluşturuldu (27-29 arasındaki adımlar)
  • Sorun Giderme, önceki adım 2'den Ek'e taşındı
  • Sorun giderme sayfası güncellendi ve alfabetik olarak sıralandı
  • Dosyanın adı test2wifi.sh'den garaj.sh'a değiştirildi - sadece daha açıklayıcı.
  • Garaj.sh kullanmak için cron güncellendi
  • Düzenlendi 1, 20-26 (Ek adımdan önce adım atmak için bir başlangıç hizmeti oluşturun)

04Nisan2016

  • 2-11 ve 16-20 arasındaki adımları benim standardımla değiştirdim, bir Raspberry Pi kurmaktı
  • Güncellenen parça listesi, 1. adım
  • Eklenen/birleştirilen fotoğraflar

05NİSAN2016

Basitleştirilmiş web sitesi ve resim (4. ve 5. adımlar)

01MAYIS2016

Seco-larm/ahududu Pi sensörü için sorun giderme eklendi

01MAYIS2016

Önceki düzenlemeler düzgün kaydedilmedi mi?

11KASIM2016

  • AT&T GigaPower'a güncellendi ve yönlendiriciyi 5268ac olarak değiştirdi
  • 5268ac geri döngüyü desteklemez, bu nedenle Garage Opener sunucusuna LAN üzerindeki bilgisayarlardan erişilemez. Bir MacBook'un garaj açıcı web sunucusuna erişmesi için aşağıdakileri yapın:

$ sudo nano /etc/hosts

ve satırı ekleyin

192.168.1.64 ♣sunucunun-harici-alan-adı♣

Kaydet ve çık, CTRL-o, CTRL-x

$ sudo killall -HUP mDNSResponder

  • 5268ac'nin HTTPS sunucusu, HTTP Sunucusu ve Web Sunucusu gibi yerleşik bağlantı noktası iletme kuralları çalışmaz. Bağlantı noktası iletmeyi işe almak için:

    • Bir tarayıcı açın ve 192.168.1.254'e gidin
    • Giriş yapmak
    • Ayarlar, Güvenlik Duvarı, Uygulamalar, iğne delikleri ve DMZ'yi seçin.
    • Garaj açıcı web sunucusunu seçin
    • Kullanıcı tanımlı seçin
    • Yeni bir kullanıcı tanımlı uygulamaya tıklayın

      • Uygulama Profili Adı alanına şunu girin: PortForwarding
      • Uygulama Tanımı Oluştur'da aşağıdakilerin her birini ekleyin ve Listeye Ekle'yi tıklayın:

        • 80'den 80'e TCP, 443 numaralı ana bilgisayar bağlantı noktasına eşleme
        • 443'ten 443'e kadar olan TCP, 443 numaralı ana bilgisayar bağlantı noktasına eşlenir
        • 443'ten 443'e UDP, 443 numaralı ana bilgisayar bağlantı noktasına eşleme
        • 80'den 80'e UDP, 443 numaralı ana bilgisayar bağlantı noktasına eşleme
    • Geri tıklayın
    • Web sunucunuzu yeniden seçin
    • Kullanıcı tanımlı seçin
    • PortYönlendirme Ekle
    • Kaydet'i tıklayın

21Ocak2018

  • Raspberry Pi 3'e güncellendi
  • Adımlarda birkaç düzenleme
  • Bazı parçalar ve fiyatlar güncellendi

Adım 15: Ek: Sorun Giderme

Kullanılan disk alanı

Son satır, kullanılan toplam disk alanını gösterir. SD kartta 8 GB var.

$ cd../..

$ sudo du –hx –c

e-posta

Sorun yaşıyorsanız, şunu deneyin:

$ yankı "testi" | sendmail -v ♣gmail-hesabınız♣@gmail.com

E-posta doğru ayarlanmışsa, gmail hesabınıza bir e-posta almalısınız.

Bir kimlik doğrulama hatası alırsanız:

Hesabınızdaki güvenliği düşürmeniz gerekebilir. Ancak, güvenliğin düşürülmesi TAVSİYE EDİLMEZ. Google, güvenlik ayarını düşürmek için bir bağlantı içeren bir e-posta gönderecektir.

Hesabınıza erişmek için www.gmail.com'u kullanmak için mevcut e-posta okuyucunuzdan geçiş yapabilirsiniz (önerilir) veya https://www.google.com/settings/security/lesssecu… adresinde ayarlarınızı değiştirebilirsiniz, böylece hesabınız artık modern güvenlik standartları ile korunmaktadır.

Güvenlik standartlarınızı düşürmenizi önermiyorum.

Yetkilendirme hatası alırsanız:

Bunun en olası nedeni, /etc/ssmtp/ssmtp.conf dosyasında gmail hesabınız için yanlış bir kullanıcı adı veya şifre belirtmiş olmanızdır. AuthUser ve AuthPass alanlarının değerlerini iki kez kontrol edin.

İşlemin ortasında bağlantı kesilirse:

Google smtp için /etc/ssmtp/ssmtp.conf veya /etc/ssmtp/revaliases içinde bir yerde yanlış bağlantı noktası belirtmiş olabilirsiniz.

Günlüklerinizin son satırlarını kontrol edin. Orada bazı ilgili hata mesajları olmalı:

$ tail /var/log/mail.log

$ tail /var/log/syslog

Garaj Kapısı açılmıyor

Her şey çalışıyorsa ve duruyorsa, yeniden başlatmayı deneyin. Bu işe yaramazsa, güç kablosunu Raspberry Pi'den çekin ve ardından gücü geri yükleyin. Raspberry Pi 2 dakikadan daha kısa sürede yeniden başlatılmalı ve her şey yolunda gitmeli. Bu genellikle Yerleşik Ağ Geçidinde güç kaybından kaynaklanır.

GPIO

Bir şeyler ters giderse, neler olduğunu görmenin en iyi yolu aşağıdaki komuttur:

$ gpio okuma

MacBook'tan ahududu pi'ye giriş yapın

terminal bir MacBook yardımcı programıdır: disk/uygulamalar/yardımcı programlar/terminal. Terminal uygulamasını dock'ta tutuyorum.

MacBook'ta terminali açın

$ ssh pi@♣ahududu-pi-ip♣

♣şifre♣

Konut ağ geçidine giriş yapın

MacBook'ta tarayıcıyı açın

URL = ♣ahududu-pi-ip♣

Giriş: ♣ağ geçidi-şifre♣

Kütükler

Bir şeyler ters giderse, bu günlükleri hatalar, uyarılar veya diğer sorunlar için kontrol edin.

$ cat /var/log/mesajlar

$ cat /var/log/syslog $ cat /var/log/dmesg

MAC Dizini

MacBook'ta web sitesi dosyalarının depolandığı dizin

MAC Dizini = /Kullanıcılar/♣macbook'um♣/Desktop/wi-fi özellikli ev/wifi özellikli garaj kapısı açıcı/web sitesi

Parola

Şifre = ♣ahududu-pi-şifre♣

Kullanılan RAM ve CPU

$ üst

çıkmak için CTRL-c

Raspberry Pi ana dizini

$ pwd

/ev/pi

Raspberry Pi ana bilgisayar adı

$ana bilgisayar adı

hostname = ♣hostname♣

Ahududu Pi IP

♣ahududu-pi-ip♣ = 192.168.1.93

Raspberry Pi Web Sitesi Dizini

/var/www

Seco-larm çalışmayı durdurur

01 MAYIS2016'da Seco-larm çalışmayı durdurdu. Bu, sensörün çalışmayı durdurduğu üçüncü zamandır. Bunu doğru söylemek gerekirse, Raspberry Pi üzerindeki fiziksel pin 15, 3.3v girişini algılamayı durdurdu. 3.3v fiziksel pin 1 ve 17'yi denedim ve her ikisi de hala 3.3v veriyordu. Fiziksel pin 15'ten başka bir GPIO'ya, fiziksel pin 16'ya (GPIO 4) geçtim ve tekrar çalışmaya başladı. Yani Seco-larm'da yanlış bir şey yok. Sorun Raspberry Pi GPIO'da gibi görünüyor.

GPIO 3, fiziksel pim 15 öldü. GPIO pinlerinin nasıl test edileceğine dair çok iyi bir yazı.

GPIO 3'ten GPIO 4'e geçtim ve kodu buna göre değiştirdim. GPIO pininin neden çalışmayı bıraktığından emin değilim. İşte iki olası sebep:

  • Seco-larm sensörünü taktım, böylece kapı kapatıldığında 3.3v veriyor. Garaj kapısı açık olduğundan daha sık kapanır. Belki de, GPIO pini az çok sabit bir 3.3v girişi alamaz.
  • Arıza bir güç kaybıyla çakıştı, belki bir güç artışı oldu.

U-verse Konut Geçidi

Yerleşik Ağ Geçidi ile AT&T U-verse'im var, ancak herhangi bir hizmet çalışmalı.

U-verse Gateway yeniden başlatılırsa veya güç kaybederse, Raspberry Pi'nin yeniden başlatılması gerekebilir.

U-verse konut ağ geçidi Genel IP = ♣router's-public-ip♣

Bir U-verse konut ağ geçidinin genel IP'si değişebilir, ancak bunu çok nadiren yapar

U-verse Residential Gateway Ana Sayfası = 192.168.1.254

U-verse Router kablosuz erişim noktasının SSID'si = ♣ssid♣

WiFi çıkışı beklenenden daha yavaş

Yönlendiriciyi daha az kullanılan bir kanalla değiştirin. Varsayılan olarak, tüm devre sağlayıcıları herkesin kablosuz bağlantısını kanal 1'e ayarlar. Daha az kullanılan bir kanala geçin, örneğin, 11. Tek bir sayı kullanmayı deneyin.

Not: Birkaç komşuya wi-fi'yi geliştirmek için ne yaptığımı söyledim ve şimdi herkes 9 veya 11'de, bu yüzden 1'e geri döndüm. Her zaman tek bir kanal kullanmalısın.

Bir tarayıcı açın.

U-verse için URL kutusuna 192.168.1.254 girin.

Kablosuz bağlantıya tıklayın ve kanal 6 veya 11'i seçin.

Akıllı telefon için wifi analizörü adında bir uygulama var. Ekranlardan biri, belirli bir kanalda yayın yapan yakındaki tüm wifi erişim noktalarını gösterir. Benim mahallemde herkes kanal 1'e ayarlı.

Raspberry Pi'nin fişini çekin ve ardından gücü geri yükleyin

Önerilen: