İçindekiler:

IOT CA2 Güvenli Akıllı Ev/Oda: 8 Adım
IOT CA2 Güvenli Akıllı Ev/Oda: 8 Adım

Video: IOT CA2 Güvenli Akıllı Ev/Oda: 8 Adım

Video: IOT CA2 Güvenli Akıllı Ev/Oda: 8 Adım
Video: İkizler Memocan 2. Bölüm - FULL Bölüm 2024, Temmuz
Anonim
IOT CA2 Güvenli Akıllı Ev/Oda
IOT CA2 Güvenli Akıllı Ev/Oda
IOT CA2 Güvenli Akıllı Ev/Oda
IOT CA2 Güvenli Akıllı Ev/Oda

İçindekiler

1 Smart Secure Home'a Genel Bakış

2 Donanım gereksinimleri + Kurulum

3 Yazılım gereksinimleri + Kurulum

4 Raspberrypi'yi bir şey olarak kaydedin

5 Bir S3 Kovası Oluşturun

6 DynamoDB kurulumu + Kurallar

7 Beklenen sonuç

8 Kod (Pastebin'den)

9 Referans

genel bakış

Hoş geldin! Bu Raspberry Pi projesi, belirli güvenlik özelliklerine sahip bir "akıllı ev" yönetim sistemidir. Proje sıcaklık ve ışık gibi çeşitli değerleri ölçebilmektedir. Güvenlik bölümü Buzzer, kart tarayıcı sistemi (Yetkililer kartı), iç ve dış kamera ile SMS uyarı sisteminden oluşmaktadır. Aşağıdaki talimatlar tüm projenin kurulumunu kapsayacaktır.

Temel olarak, ışık değerlerinin yanı sıra sıcaklığı da almak için bir ışık diyot direncine ve bir DHT11 sensörüne sahibiz. Değerler daha sonra "akıllı oda/sensörler/değerler" olarak yayınlanacak ve değerlerin yayınlanıp yayınlanmadığını kontrol etmek için konuya abonelik olacaktır. Değerler yayınlandıktan sonra değerler DynamoDB tablomuza da gönderilecektir. DynamoDB içinde saklanan değerler, web arayüzümüzde gerçek zamanlı değerleri görüntüleyen bir grafikte çıkarılabilir ve çizilebilir. (Işık grafiği) Değerleri elde etmek için sensörleri analiz amacıyla grafiğimizi çizmek için kullanmanın yanı sıra, dht11 sensörümüz aynı zamanda potansiyel bir “yangın” dedektörü olarak da kullanılmaktadır. Yangın olabilecek belirli bir sıcaklığa ulaştığında, sıcaklığı 'akıllı oda/sensör/yangın' konusuna yayınlayacak yayınHeat.py adlı bir komut dosyamız var, dairenin dışını simgeleyen devre tahtası daha sonra buna abone olacaktır. ve olası bir yangın olabileceğini belirtmek için bir LED ışığının yanmasını sağlayın. Potansiyel bir yangın olabileceği zaman ev sahibini uyarmak için bir SMS'in yanı sıra alarm da çalacaktır.

Eve/odaya girmek için kullanıcının RFID tarayıcıda kartına dokunması gerekir. Dokunulan kart yanlışsa, doğru kimlik bilgilerine sahip bir karta dokunulana kadar alarm çalar. Ayrıca, yanlış bir karta dokunulduğunda, dışarıdaki güvenlik kamerası, karta dokunan kullanıcının fotoğrafını çekecek ve resmi S3 kovasına yükleyecektir. Ev sahibi ayrıca birisinin evine girmeye çalıştığını belirten bir SMS alacaktır. Odada ayrıca kapının açık/kilitli olup olmadığını etiketlemek için dışarıda bir LED göstergesi vardır. Kapı kilitlendiğinde sarı LED yanar. Kilit açıldığında yeşil LED yanacaktır. Yetkili bir karta dokunulduğunda, kapı 15 saniyeliğine açılır ve yeşil LED yanar, ardından sarı LED yanarken kilit açık moduna geri döner.

Kullanıcılar, bir göstergenin grafiksel gösterimine ve geçmiş bir grafiğin yanı sıra mevcut ölçüm değerlerini gösteren Düğüm-Kırmızı bir Gösterge Tablosu aracılığıyla toplanan verileri görüntüleyebilir. Gösterge Tablosu ayrıca, mevcut verileri ve zamanı gösteren bir saat ve LED'ler ve sesli uyarı olarak gösterilen çeşitli elektrikli cihazları uzaktan kontrol etmek için anahtarlar gibi ek özellikler içerir.

Son olarak bir de telegram bot özelliğimiz var. Telegram botu, odanın içinde olup bitenlerin fotoğraflarını uzaktan çekebilir ve bunları S3 kovasına kaydedebilir. Bu resimler “Homed/User” isimli bir klasör içerisinde etiketlenecektir. Telegram botu odadaki LED ışığını da uzaktan kontrol edebilecektir.

Adım 1: Donanım Gereksinimleri + Kurulum

Donanım Gereksinimleri + Kurulum
Donanım Gereksinimleri + Kurulum
Donanım Gereksinimleri + Kurulum
Donanım Gereksinimleri + Kurulum

Aşağıdaki bileşenleri yukarıdaki fritzing diyagramlarında gösterildiği gibi 2 ahududu pisinizle bağlayın.

2 x Ahududu Pi

3 x Ekmek Tahtası

1 x MCP3008 ADC

1 x DhT 11 sensörü

1 x LDR

1 x RFID/NFC MFRC522 Kart Okuyucu

4 x LED

1 x LCD Ekran

3 x 10k Direnç

4 x 220/330 Direnç

1 x Düğme

1 x Zil

34 x Erkek - erkek kablolar

11 x Erkek - dişi kablolar

2. Adım: Yazılım Gereksinimleri + Kurulum

Yazılım Gereksinimleri + Kurulum
Yazılım Gereksinimleri + Kurulum
Yazılım Gereksinimleri + Kurulum
Yazılım Gereksinimleri + Kurulum
Yazılım Gereksinimleri + Kurulum
Yazılım Gereksinimleri + Kurulum

Aşağıdaki komutları, kurulu olduklarından emin olmak için ahududu pi terminalinize yazın.

Aşağıdaki yazılımlardan herhangi biri pi'nize zaten indirilmişse, sudo pip install (Yazılım adı) --upgrade onu güncelleme hilesini yapacaktır.

- sudo pip kurulum geventi

- sudo pip yükleme şişesi

- sudo pip kurulum nexmo

- sudo pip install --upgrade --force-reinstall pip==9.0.3

- sudo pip kurulum AWSIOTPythonSDK --upgrade --disable-pip-version-check

- sudo pip kurulumu --upgrade pip

- sudo apt-get install python-dev

- sudo pip yükleme boto3

- sudo pip yükleme botocore

- sudo pip kurulumu numpy

- cd~

git klon

cd ~/SPI-Py

sudo python setup.py kurulumu"

- cd~

git klonu

cd ~/MFRC522-python

sudo python setup.py kurulumu"

- sudo nano /boot/config.txt, device_tree_param=spi=on satırlarının olup olmadığını kontrol edin

dtoverlay=spi-bcm2835 içeride, yoksa ekleyin.

3. Adım: Bir Şeyi Kaydetme

Bir Şeyi Kaydetmek
Bir Şeyi Kaydetmek
Bir Şeyi Kaydetmek
Bir Şeyi Kaydetmek
Bir Şeyi Kaydetmek
Bir Şeyi Kaydetmek
Bir Şeyi Kaydetmek
Bir Şeyi Kaydetmek

a) Önce hizmetlere, ardından IoT Core'a tıklayarak AWS web sitesinde IoT Core'a gidin.

b) Yönet altındaki gezinme çubuğunda bir şeyler seçin ve bir şeyi kaydet'i seçin.

c) Tek bir şey oluştur'u seçin.

d) Şeyiniz için bir ad girin, örneğin MyRaspberryPi2. Kalan alanları varsayılan değerleriyle bırakın. Sayfanın alt kısmındaki ileriyi tıklayın.

e) Sertifika oluştur'a tıklayın. Dört dosyayı da indirin. Kök CA dosyası için Amazon Root CA 1'i indirin ve bir not defterine kaydedin.

f) İşiniz bittiğinde, dört dosyayı ahududu pi'deki bir dizine taşıyın.

g) Etkinleştir'e tıklayın.

h) İlke ekle'ye tıkladıktan sonra bir sonraki sayfaya yönlendirileceksiniz. Kayıt şeyini tıklayın, politika daha sonra oluşturulacak.

i) iot panosunda, güvenli bölümün altındaki ilkelere gidin. Politika oluştur'u tıklayın.

j) Politikanız için bir ad girin, bu örnekte bu MyRaspberryPiSecurityPolicy olacaktır ve Add deyimleri altında aşağıdakileri girin. Ardından Oluştur'a tıklayın.

k) iot panosunda, güvenli bölümü altındaki sertifikalara gidin. Daha önce oluşturduğunuz sertifikayı seçin ve eylemler açılır menüsünden ilke ekle'yi tıklayın. Daha önce oluşturduğunuz politikayı ekleyin.

l) Daha önce oluşturduğunuz sertifikayı tekrar seçin ve bir şey ekle'ye tıklayın. Daha önce oluşturduğunuz politikayı ekleyin. Daha önce oluşturduğunuz şeyi ekleyin.

Adım 4: Bir S3 Kovası Oluşturma

S3 Kovası Oluşturma
S3 Kovası Oluşturma
S3 Kovası Oluşturma
S3 Kovası Oluşturma
S3 Kovası Oluşturma
S3 Kovası Oluşturma
S3 Kovası Oluşturma
S3 Kovası Oluşturma

a) AWS yönetim konsolundaki arama işlevini kullanarak başlayacağız ve “s3”ü arayacağız.

b) Kova oluştur'a tıklayın.

c) Kova için bir ad yazın. Bu örnek için “sp-p1703263” adını kullanacağız. us-doğu-1 olan “US EAST(K. VIRGINIA)” bölgesini seçeceğiz. Bu yapıldıktan sonra, Oluştur'a tıklayın.

d) Yeni oluşturulan paket, kontrol panelinde görünecektir.

Adım 5: DynamoDB Tablosu Oluşturma ve Kuralları Belirleme

DynamoDB Tablosu Oluşturma ve Kuralları Belirleme
DynamoDB Tablosu Oluşturma ve Kuralları Belirleme
DynamoDB Tablosu Oluşturma ve Kuralları Belirleme
DynamoDB Tablosu Oluşturma ve Kuralları Belirleme
DynamoDB Tablosu Oluşturma ve Kuralları Belirleme
DynamoDB Tablosu Oluşturma ve Kuralları Belirleme
DynamoDB Tablosu Oluşturma ve Kuralları Belirleme
DynamoDB Tablosu Oluşturma ve Kuralları Belirleme

a) İlk olarak, üzerine tıklayarak AWS hizmetlerine gidin.

hizmetler, ardından DynamoDB. Tablo oluştur'u tıklayın.

b) "iotdata" tablo adını ve "datetimeid" sıralama anahtarıyla "deviceid" birincil anahtarını girin, ardından sayfanın altındaki oluştur'u tıklayın.

c) Bundan sonra, IoT Core sayfasına geri dönün. Uygula'yı ve ardından yeni bir kural oluştur'u tıklayın.

d) “MyDynamoDBRule” adında bir kural oluşturun. Kural sorgu deyimi konusunun altına “sensörler/ışık” girin.

e) Bir veya daha fazla eylem ayarla bölümü altında, eylem ekle'ye tıklayın, "mesajı bir veritabanı tablosunun birden çok sütununa böl" üzerine tıklayın. Eylemi yapılandır'a tıklayın. Tablo adı altında iotdata'yı seçin. IAM rol adı altında, daha önce oluşturduğunuz “dynamodb_role” rolü seçin. Eylem ekle'yi ve ardından kural oluştur'u tıklayın.

f) Kural oluştur'a tıklayın.

Adım 6: Beklenen Sonuç

Beklenen sonuç
Beklenen sonuç
Beklenen sonuç
Beklenen sonuç

Dış mekan

odanın dışını temsil eden pi için, heatdetector.py ve AccessDoor.py komut dosyaları çalıştırılacaktır. RFID tarayıcıya yanlış bir kart dokunursa, sarı LED ışığı hala yanık haldeyken alarm çalar. Olası bir izinsiz girişten haberdar olmak için ev sahibinin telefonuna bir SMS gönderilecektir. Alarm da çalacaktır. Ayrıca bir resim çekilecek ve anında S3 Bucket'a yüklenecektir. Dokunulan karta yetki verilmişse yeşil LED yanacak ve kullanıcı giriş yapabilecektir. 15 saniye sonra kapı tekrar kilitlenecektir (Yeşil LED sönecek ve sarı LED tekrar yanacaktır). Odanın/evin içindeki sıcaklık çok yükselirse (ev/oda potansiyel olarak yanıyor olarak gördüğümüz bir sıcaklığa), ev sahibine bir SMS uyarısı göndeririz. Alarm ayrıca kırmızı LED dış yandığında çalacaktır.

Kapalı

odanın iç mekanını temsil eden pi için, yayınHeat.py, server.py, pubsub.py, telegrambot.py komut dosyaları çalıştırılacaktır. Pubsub.py, gerçek zamanlı değerleri DynamoDB'de saklayacaktır. server.py çalıştırıldığında, tarayıcıya rpi'nin ip adresini:5000 yazın, web arayüzümüze yönlendirileceksiniz. pubsub.py'deki sensörlerimizden elde edilen gerçek zamanlı ışık değerlerini DynamoDB'de gösteren bir grafiğimiz var. Ayrıca geçmiş ışık değerleri de web arayüzümüzde görüntülenecektir. PublishHeat.py, yangın sensörü amaçları için sıcaklık değerlerini dış mekan devre tahtasına yayınlayacaktır. telegrambot.py, kullanıcının odadaki/evdeki LED ışığının açılıp kapanmasını uzaktan kontrol etmesini ve ayrıca içeride neler olup bittiğinin bir resmini çekmesini ve resmi S3 kovasına yüklemesini sağlayacaktır.

Beklenen sonucun nasıl görünmesi gerektiğine dair daha iyi görselleştirme için:

Adım 7: Kaynak Kodları (Pastebin)

Kaynak Kodları (Pastebin)
Kaynak Kodları (Pastebin)

Linki tıkla. Gerekli tüm kaynak kodlarından oluşur:

Adım 8: Referanslar

Referanslar
Referanslar

Iotguider. (2019). Python kullanarak Raspberry Pi'den SMS gönderin. [çevrimiçi] Şu adresten ulaşılabilir: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Erişim tarihi 21 Ağustos 2019].

Önerilen: