Raspberry Pi Kullanarak IOT Akıllı Garaj Açıcı Nasıl Yapılır?

En son teknolojinin bizi her geçen gün nesnelerin internetini (IoT) istila etmeye devam ettirdiği bu çağda, son zamanlarda elektronik cihazları otomatikleştirmek ve dolayısıyla insan müdahalesini büyük ölçüde azaltmak için son teknoloji bir yaklaşım olarak ortaya çıktı. Birçok teknoloji, aşağıdaki gibi cihazların kablosuz kontrolünü destekler: Radyo frekansı tanımlama (RFID), Bluetooth, Wifi, vb Bu projede Raspberry Pi Kullanarak Akıllı Garaj Kapısı Açacağı yapacağız. Ahududu pi web sunucusu, akıllı telefonunuzu kullanarak garaj kapısını açıp kapatmak için oluşturulacaktır.

Raspberry Pi Ve Diğer Donanım Bileşenleri Nasıl Kurulur?

Bu projenin temel amacını anladığımıza göre, şimdi bileşenleri toplama ve birleştirme yolunda bir adım daha ileri gidelim.

Adım 1: Gerekli Bileşenler

Adım 2: Raspberry Pi Modelini Seçme

Piyasada birkaç ahududu pi modeli mevcuttur. Ahududu pi sıfır dışında herhangi bir model tercih edilebilir. Bunun nedeni Pi zero'da bir ağ kurmanın çok yorucu bir iş olmasıdır. 3A +, 3B + veya 4 gibi son modeller satın alınabilir. Yeni Raspberry Pi 3, Raspberry Pi Foundation'ın bugüne kadar piyasaya sürdüğü en hızlı ve en baskın cihazdır. Yani bu projede Raspberry Pi 3B + kullanacağız.

3. Adım: İşletim Sistemini Seçme

Öncelikle uygun bir işletim sistemine sahip bir SD karta ihtiyacımız olacak. İşletim sistemini seçerken, günümüzde "geleneksel" Raspbian'dan özel medya çalışma çerçevelerine ve hatta Windows 10 IoT'ye kadar çeşitli alternatifler var. Raspbian, 35000'in üzerinde paket ile geldiği için tercih edilmektedir. Raspbian mümkün olduğunca çok Debian paketinin kararlılığını ve performansını iyileştirmeye vurgu yapan, aktif geliştirme aşamasında olan bir topluluk projesidir.

Adım 4: Ahududu ile Dizüstü Bilgisayarı Arayüz

HDMI kablosu kullanan harici monitör veya LCD, Raspberry Pi ile bağlantı kurmak için ekran olarak kullanılabilir. Herhangi birinin LCD'si yoksa, Pi'yi bağlamak için bir dizüstü bilgisayar kullanabilir, ancak bağlantı için bazı yapılandırmaların yapılması gerekecektir. Kullanacağız Güvenli Kabuk (SSH) istemcisi olarak bilinir Macun Pi'yi bir dizüstü bilgisayar kullanarak bağlamak için. Arabirim, aşağıda belirtilen adımlarda açıklanmaktadır:

  1. Advanced IP Scanner'ı Yükleme: Advanced IP Scanner, Wifi yönlendiriciniz tarafından cihazlara atanan IP'leri tespit etmek için kullanılan bir araçtır. Buraya tıklayarak bu yazılımı kuracağız
  2. Raspberry Pi'ye Atanan IP Algılama: Şimdi, Raspberry Pi'mize atanan statik IP'yi kontrol edeceğiz.

    Raspberry Pi'mize atanan IP adresi 192.168.1.16. Bu IP adresini not edin, çünkü daha ileri konfigürasyonlarda gerekli olacaktır. Not: Wifi yönlendiricisine bağlı olarak her kişiye farklı bir IP adresi atanacaktır.

  3. Macunu İndirin ve İçine IP Adresini Girin: Putty bir SSH istemcisidir ve kaynak kodu ile kullanılabilen açık kaynaklı bir yazılımdır. Buradan indirilebilir. Putty'yi indirdikten sonra açın ve dizüstü bilgisayara bağlanmak için “192.168.1.16” statik IP adresini girin.
  4. Giriş:IP adresini girdikten sonra ekran görünecek ve kullanıcı adı ve şifre sorulacaktır. Varsayılan kullanıcı adı "pi"Ve şifre"Ahududu". İstersek giriş bilgilerini de değiştirebiliriz.

Adım 5: Devre Şeması

Artık bileşenlerin nasıl çalıştığını bildiğimize göre, devam edip bu bileşenleri bir araya getirip aşağıda gösterildiği gibi bir devre yapalım.

Röle 5 V Raspberry Pi ile güçlendirilmiştir Genel Amaçlı Giriş Çıkışı (GPIO-14), İÇİNDE rölenin. Röleye ne zaman geçeceğini söyleyecektir AÇIK ve KAPALI. Rölenin çıkışına 12V AC ampul bağladık, böylece garaj kapısı açıldığında ampul dönecek. AÇIK ve garaj kapısı kapatıldığında ampul yanar KAPALI.

Adım 6: Garaj Kapısını Kontrol Etmek İçin Pi'de Şişe Kurulumu

Prototipimizi ağ üzerinden kontrol etmek için Web sayfasından Raspberry Pi'ye komut göndermenin yolunu açacak olan Flask kullanarak bir Web sunucusu oluşturacağız. Flask, python içeriklerimizi bir web sitesi sayfası üzerinden çalıştırmamızı sağlar ve Raspberry Pi'den internet tarayıcısına ve diğer yollara bilgi gönderip alabiliriz. Bir mikro çerçevedir. Python. Bu araç, yerleşik geliştirme sunucusu ve hata ayıklayıcı, entegre birim test desteği, güvenli tanımlama bilgileri desteği ve kullanımı kolay olan Unicode tabanlıdır, bu özellikler onu uzmanlar için değerli kılar. Kurulum için Cep şişesi Raspberry Pi'nizde aşağıdaki komutları yazın:

sudo apt-get update sudo apt-get install python-pip python-flask

Şimdi, Flask'ı yüklemek için pip komutunu çalıştırın ve bağımlılıkları:

sudo pip yükleme şişesi

7. Adım: Kapı Açıcı İçin Bir Python Komut Dosyası Oluşturun

Bu betik, Raspberry Pi GPIO'larımızla işbirliği yapacak ve web sunucusunu kuracaktır. Projemizin ana senaryosudur. Python betiği aşağıdaki bölümlerde açıklanacaktır:

Öncelikle bir klasör yapacağız. Diğer tüm gerekli klasörler yalnızca bu klasörde olmalıdır. Bir klasör oluşturmak için aşağıdaki komutları çalıştırın ve ardından adlı bir python dosyası oluşturun. app.pybu klasörün içinde:

mkdir garage_door cd garage_door nano app.py

Yukarıdaki komutlar, aşağıdaki komut dosyasını yazacak olan Nano düzenleyiciyi açacaktır. Önemli kitaplıkları dahil edin:

RPi.GPIO'yu şişeden içe aktarım Şişesinden GPIO olarak içe aktarın, render_template, request app = Flask (__ name__, static_url_path = '/ static')

Şimdi, şu şekilde bir sözlük oluşturun:iğnelerPIN, isim ve pin durumunu saklamak için. İhtiyacınıza göre birden fazla pin kullanabilirsiniz:

iğneler = {14: {'name': 'Garaj Kapısı', 'durum': GPIO.LOW}}

Ardından, pini çıkışa ayarlayın ve başlangıçta düşük olarak ayarlayın:

pimler için: GPIO.setup (pin, GPIO.OUT) GPIO.output (pin, GPIO.LOW)

Fonksiyonu pin durumunu okuyacak ve bu durumu bir değişkende saklayacağız:

@ app.route ("/") def main (): pinler için: pinler [pin] ['state'] = GPIO.input (pin) ..

Bu verileri bizim HTML giriş düğmesi durumunu kontrol edebilmemiz için sayfa:

 render_template ('ana.html', ** şablonData) döndür

Gelen talepleri işlemek için URL PIN ile bir işlev yapın ve içinde işlem yapın:

@ app.route ("//", yöntemler = ['GET', 'POST']) def eylem (changePin, eylem):

Bundan sonra pin'i URL'den bir tam sayıya dönüştürün;

changePin = int (changePin)

URL'nin işlem kısmı "açık, "Bu noktada şunları yapın:

action == "open" ise: GPIO.output (changePin, GPIO.HIGH) eğer action == "close" ise: GPIO.output (changePin, GPIO.LOW)

Komut dosyasının tamamını sonuna ekleyeceğim ve herhangi biri kopyalamak isterse bunu düğmesine basarak yapabilir. ctrl + x ve sonra Giriş. Şimdi python betiğini bitirdik ve bir HTML Python komut dosyasıyla etkileşim için sayfa.

Adım 8: Raspberry Pi Sunucusu İçin HTML Sayfası Oluşturma

Daha önce oluşturduğumuz garage_door klasöründe değişiklikler yapacağız. Adlı başka bir klasör oluşturacağız şablonlar ve bu klasörün içinde aşağıdaki komutları kullanarak bir .html dosyası oluşturun:

mkdir şablonları cd şablonları nano main.html

Şimdi, nano metin düzenleyiciyi açın ve HTML kodu. Düzenleyebiliriz sayfanın bir bölümünü ve kendi seçimimize göre değiştirin. Bağlantı etiketini kullanarak üçüncü taraf CSS şemasını kullandık. Kodun tamamı aşağıda verilmiştir:

Bir web sayfası oluşturmak üzere HTML kodunu indirmek için burayı tıklayın.

Adım 9: Kapıyı Açmak ve Kapatmak İçin Bir Düğme Oluşturma

Düğmeyi açıp kapatmak için bir durum atamamız gerekecek. Bu düğme, GPIO durumunu python betiğinden gönderecek ve getirecektir. Yukarıdaki HTML kodunu tamamladığımız için artık editörde kullanabilir ve kaydedebiliriz ve sonunda web sunucumuz başlatılmaya hazırdır. Terminali açın ve şuraya gidin:garaj kapısı klasörüne gidin ve aşağıda belirtilen aşağıdaki komutu çalıştırın:

sudo python app.py

Tarayıcıyı açın ve Raspberry Pi'nin IP adresini girin ve Enter tuşuna basın. Bu tür bir sayfa gösterilecek:

Adım 10: Donanımı Kurma

Yazılım kurulumunu tamamladığımız gibi, şimdi bir adım öne geçelim ve donanımı bir araya getirelim. Röle modülünün Raspberry Pi'ye bağlı olduğundan emin olun. Test için geçiş yapmak için açma düğmesine basın AÇIK geçiş yapmak için röle ve kapatma düğmesi KAPALI röle. Röle açılır açılmaz AC ampulü yanar ve kapının açık olduğunu öğreniriz ve ampul kapatıldığında kapının kapalı olduğunu anlarız. Sunucuyu durdurmak için ctrl + c tuşlarına basın.

Donanımı kurmak için kodu indirmek için burayı tıklayın.

Facebook Twitter Google Plus Pinterest