İçindekiler:

Raspberry Pi ile SmartHome: 5 Adım
Raspberry Pi ile SmartHome: 5 Adım

Video: Raspberry Pi ile SmartHome: 5 Adım

Video: Raspberry Pi ile SmartHome: 5 Adım
Video: AKILLI CİHAZLARINIZI TEK YERDEN YÖNETİN | Home Assistant (Hassio) kurulumu 2024, Kasım
Anonim
Raspberry Pi ile SmartHome
Raspberry Pi ile SmartHome

Bu proje için bir web sitesi ve mobil tarafından çalıştırılabilen bir SmartHome yaptım. Bunun için Raspberry PI'yi veritabanı ve web sunucusu olarak kullanıyorum.

Gereçler

Bunu başlatmak istiyorsanız, birkaç şeye ihtiyacınız var:

  • 5 beyaz led (5mm)
  • 1 tek telli sıcaklık sensörü
  • 1 LDR (ışığa bağlı direnç)
  • 2 servo motor
  • 1 microSD (Raspberry Pi için)
  • 1 Breadboard güç kaynağı
  • 1 Raspberry Pi 3 Model B+
  • 3 Köpük plakalar
  • 1 Step motor (5V)
  • 1 RFID-RC522 okuyucu
  • 8 direnç (220 Ohm)
  • 1 direnç (10K Ohm)
  • 2 ekmek tahtası
  • 2 paket atlama teli
  • 1 adet 16x2 LCD ekran
  • 1 PCF8574AN
  • 4 küçük pencere (3D baskılı)
  • 1 kapı (3D baskılı)
  • 2 büyük pencere (3D baskılı)
  • 1 garaj kapısı (3D baskılı)

Tüm bunları satın almak için ihtiyacınız varsa, maksimum maliyet yaklaşık 150 € olacaktır.

Adım 1: Kablolama

kablolama
kablolama
kablolama
kablolama
kablolama
kablolama

Başlamanın en kolay yolu kablolamadır, böylece temel bilgilere zaten sahip olursunuz, bu yöntemle kodu yazarken her şeyin çalışıp çalışmadığını kolayca kontrol edebilirsiniz.

Bu sayede Raspberry Pi üzerinde her şeyi bağlamak için yeterli pininiz olup olmadığını görebilirsiniz. Bu durumda, LCD'mi daha az GPIO piniyle kontrol etmek için PCF8574AN'ı kullandım.

Şemayı çizmek için Fritzing kullandım. Kablolamalarınızı iyi organize edilmiş bir şekilde görüntüleyebileceğiniz kullanışlı bir programdır.

İkinci fotoğrafta da görebileceğiniz gibi çok fazla kablo var, bu yüzden yine de düzenli bir şekilde çalışmanız gerekiyor.

2. Adım: Muhafaza

Konut
Konut
Konut
Konut
Konut
Konut
Konut
Konut

Konut için duvar olarak köpük levhalar kullandım. Tahtaları istenilen şekillerde kesmek için bıçak kullandım. Pencereler, kapılar ve garaj kapısı 3D olarak basılmıştır. Tabii ki evi önceden çizdim, böylece hangi boyutları kullanmam gerektiğini biliyordum.

Evi çizmek için SketchUp'ı kullandım. Duvarları düz tutmak ve bir arada tutmak için tutkal tabancası kullandım,Fotoğraflarda görüyorsanız, pencere ve garaj kapısı yeterince sağlam olması için yapıştırıcı ile yapıştırılmıştır. Kara kutu 3. fotoğrafta her şeyin sağlam kalması için taşıdığım bir kutu var

3. Adım: Veritabanı

Veri tabanı
Veri tabanı

Öncelikle veritabanını Mysql Workbench kullanarak tasarlamanız gerekiyor. Bu başarılırsa, Raspberry Pi'ye Mysql veritabanını yüklemeniz gerekir.

Attığınız ilk adım, Pi'nizin güncel olup olmadığını kontrol etmektir. Aşağıdaki komutu kullanabilirsiniz:

sudo apt-get güncellemesi

ve

sudo apt-get yükseltme

Artık Mysql sunucusunu kurabilirsiniz:

sudo apt-get install mysql-server

Mysql sunucusu kuruluysa, Mysql istemcisini kurun

sudo apt-get install mysql-client

Şimdi sql sunucusuna şu komutla bakarsanız:

sudo mysql

Artık veritabanı kodunuzu sql workbench ve forward mühendisi ile.mwb dosyasını açarak içe aktarabilirsiniz. Kodu kopyalayıp Raspberry'den mysql içerisine yapıştırıyorsunuz. Veritabanı yapılır.

Kullanıcının tüm izinleri alması için kullanıcı adınızı tabloya eklemeniz yeterlidir.

akıllı evde* tüm ayrıcalıkları 'adınız' ile tanımlanan 'adınız'@'%' öğesine verin;

tabii ki şimdi masayı yenilemen gerekiyor

FLUSH AYRICALIKLARI;

Bunu kontrol etmek için basitçe deneyebilirsiniz:

akıllı ev kullanın;

historiek'ten * seçin;

Kullanıcı tablosunda kullanıcıların isimleri rozetleri ile birlikte gelir, buradan yeni kullanıcılar ekleyebilirsiniz. Cihazlar tablosunda tüm aktif sensörleri kimlikleriyle birlikte bulabilirsiniz. Tarihsel tablo, sıcaklık sensörü, garaj kapısının durumunu gösteren rozet ve daha fazlası gibi olan her şeyi gösterir.

4. Adım: Kurulum

Raspberry Pi'de imajı ayarlamak için Putty kullanabilirsiniz, bu ücretsiz bir programdır. Temel imaj dosyasını burada bulabilirsiniz:

Arayüzler

Elbette Pi'de bazı arayüzleri etkinleştirmeniz gerekiyor. İlk önce yapılandırma sayfasına gidin.

sudo raspi yapılandırması

Artık 1-Wire ve Spi kategorilerine gidebilir ve her ikisini de etkinleştirebilirsiniz. Sıcaklık sensörü için bunlara ihtiyacınız olacak.

Wifi

Pi'de wifi almak için sonraki adımları izleyin.

İlk önce root olarak giriş yapın

sudo-i

Ardından wifi ağınızın adını ve şifresini girin

wpa_passphrase="wifiname" "parola" >> /etc/wpa_supplicant/wpa_supplicant.conf

Ardından WPA istemcisine girin

wpa_cli

arayüzü seçin

arayüz wlan0

Şimdi yapılandırmayı yeniden yükleyin

yeniden yapılandırmak

Ve şimdi bağlı olup olmadığınızı kontrol edebilirsiniz

ip bir

Paketler

Yapılacak ilk şey, en son sürümleri güncellemektir.

sudo uygun güncelleme

Python için kuruyoruz ve Pi'nin doğru sürümü seçtiğinden emin oluyoruz

güncelleme alternatifleri --install /usr/bin/python python /usr/bin/python2.7 1güncelleme alternatifleri --install /usr/bin/python python /usr/bin/python3 2

Web sunucusunun Siteyi çalıştırabilmesi için Apache2'yi kurmamız gerekiyor.

sudo apt apache2'yi yükleyin -y

Bazı python paketlerinin de yüklenmesi gerekiyor

  • şişe
  • Şişe-Kors
  • Flask-MySQL
  • Şişe-SoketIO
  • PyMySQL
  • Python-soketIO
  • istekler
  • pip
  • gpio
  • Gevent
  • Gevent-websocket

Bulunamayan bir paketle ilgili sorunlar varsa, üzerine sağ tıklayın ve yüklemesine izin verin.

Adım 5: Kod

kod
kod
kod
kod

arka uç

Backend için kodu python ile yazıyoruz ve yazmak için pycharm kullanıyoruz. Backend'den gelen yolları postacı ile kontrol etmek mümkün. Bu uygulama ile POST ve GET yöntemlerini kullanabilirsiniz. Arka uçta çoklu iş parçacığı kullandım, böylece her şey arka planda çalışıyor ve birlikte çalışabiliyor. Raspberry Pi'deki görüntüyü ayarlamak için Putty'yi kullanabilirsiniz, bu ücretsiz bir programdır.

başlangıç aşaması

Ön uçta ışıkları yakabilen, garaj portunu ve kapıyı açan birkaç düğme var. Javascript ve CSS kullanarak, aktif olduklarında butonların stili değişir. Ayrıca canlı bir sıcaklık ve geçmiş sıcaklıklara sahip bir grafik var. Kullanıcı sayfasında çeşitli kullanıcıları görebilir, ayrıca veritabanına bir kullanıcı ekleyebilir ve garaj kapısını en son kimin açıp kapattığını görebileceğiniz bir kullanıcı geçmişi vardır.

Ön uç ve arka uç için kodu şurada bulabilirsiniz:

github.com/NMCT-S2-Project-1/nmct-s2-proje…

Önerilen: