İçindekiler:
- Adım 1: Genel Bakışa Bakalım
- 2. Adım: Raspberry Pi 1 (Ofis) için Kurulum
- 3. Adım: Raspberry Pi 2 (Kapı) Kurulumu
- 4. Adım: Telegram Botunu Kurun
- Adım 5: DynamoDB'yi Kurun
- 6. Adım: AWS S3 Bucket'ı Kurun
- 7. Adım: AWS SNS'yi Kurun
- Adım 8: Bir Kural Oluşturma
- Adım 9: Web Arayüzü Oluşturma
- Adım 10: Ana Komut Dosyaları
Video: Raspberry Pi - Akıllı Ofis: 10 Adım (Resimlerle)
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Uygulama ne hakkında?
OfficeHelperBOT, akıllı ofis ortamına yönelik bir uygulamadır. Bunun için 2 Raspberry Pi 3 Model B kurulacaktır.
Raspberry Pi 1, sensörlerden tüm değerleri alacak, verileri MQTT üzerinden yayınlayacak, DynamoDB kullandığımız bulut veritabanına veri depolayacak ve web portal sunucusunu çalıştıracak ana makine olacaktır.
Kapıda Raspberry Pi 2 kullanılacaktı. Ofise girmelerine izin verilmeden önce çalışanın kimliğini doğrulaması gerekir. Bunu yapmanın bir pin kodu dizisi ve bir QR kodu doğrulaması yoluyla olmak üzere iki yöntemi vardır. Doğrulamanın kötüye kullanılabileceği durumlarda, doğrulamada başarısız olan kişinin fotoğrafını çeker ve kişinin görüntüsünü AWS S3 Bucket'a kaydederiz.
Bir web sayfası, ofisin DHT, ışık, hareket algılamalı fotoğrafları ve videosunu görüntüleyebilir. Web sayfası ayrıca ofis ışıklarını kontrol edebilecek ve ayrıca ofisin CCTV'sinin canlı akışını görüntüleyebilecektir.
Ayrıca ofisteki LED ışıkların kontrolünü sağlayan, sıcaklık gibi sensör değerlerinin değerini kontrol eden ve ayrıca çalışanların QR kod görüntüsünü kaybetmeleri veya pinlerini unutmaları durumunda QR kod görüntüsünü almalarına izin veren bir Telegram botu olacaktır. AWS S3 Bucket'tan QR kod görüntüsünü isteyip alarak.
Adım 1: Genel Bakışa Bakalım
Sistem Mimarisi Şeması
Makineler birbirleriyle nasıl iletişim kuracak?
Donanım Sonucu
İki Raspberry Pi'nin sonunda nasıl görüneceğine bakın
Web Portalı
Flask aracılığıyla Python kullanılarak yapılan web portalını görüntüleyin
Telgraf Botu
Yarattığımız Botu Bulmak
Canlı yayın
1 PiCam'i CCTV olarak kullanma ve canlı görüntü akışı
Donanım Gereksinimi
- 2x Ahududu Pi
- 2x GPIO Kartı
- 1x LDR
- 1x DHT11
- 1x Hareket Sensörü
- 4x LED
- 7x Düğme
- 2x Zil
- 2x LCD Ekran
- 1x Web kamerası
2. Adım: Raspberry Pi 1 (Ofis) için Kurulum
- HTML adlı şablonlarınızı saklamak için bir klasör oluşturun
- Statik adlı css/javascript dosyalarınızı depolamak için bir klasör oluşturun
- Capture_photos, motion_photos, motion_videos adlı 3 alt klasörle kamera adı verilen kamera dosyalarınızı depolamak için bir klasör oluşturun
mkdir ~/ca2
mkdir ~/ca2/şablonlar
mkdir ~/ca2/statik
mkdir ~/ca2/statik/kamera
mkdir ~/ca2/statik/kamera/yakalama_fotoğrafları
mkdir ~/ca2/statik/kamera/hareket_fotoğrafları
mkdir ~/ca2/statik/kamera/motion_Videos
3. Adım: Raspberry Pi 2 (Kapı) Kurulumu
- Kapı adı verilen dosyalarınızı saklamak için bir klasör oluşturun
- QR Code resimlerinizi saklamak için qr_code adlı bir klasör oluşturun
mkdir ~/kapı
mkdir ~/kapı/qr_code
4. Adım: Telegram Botunu Kurun
- Telegram'ı aç
- "BotBaba" yı bulun
- "/başlat" yazın
- "/newbot" yazın
- Talimatları izleyin, bot adı, bot kullanıcı adı, bot kimlik doğrulama jetonunu not alın
Adım 5: DynamoDB'yi Kurun
- AWS'ye kaydolun
- AWS Hizmetinde DynamoDB'yi arayın
- "Tablo oluştur" u tıklayın
- Tablo adını doldurun
- Bölüm anahtarını 'id'(String) olarak ayarlayın ve Sıralama Anahtarını 'datetime'(String) olarak ekleyin
- 4 masa, dht, ışıklar, galeri, çalışan için yapın
4 Tablonun Önizlemesi
6. Adım: AWS S3 Bucket'ı Kurun
- AWS S3'ü arayın
- "Kepçe oluştur" u tıklayın
- Kovayı adlandırmak için kuralları izleyin
- Ekran görüntülerini takip edin
- Paket Oluştur
S3 kovasına nasıl yükleyebilirim?
Bir yönetici portalımız olmadığından QR Kodu görüntüsünü AWS grafik kullanıcı arabirimi aracılığıyla manuel olarak içe aktarırdık. Kovayı oluşturmak için ekran görüntülerini takip edin. Kodun snippet'i, görüntüyü S3 Bucket'a yüklemek için gereken mantıktır.
7. Adım: AWS SNS'yi Kurun
- AWS SNS'yi arayın
- Konu Etiketini Takip Edin
- Yeni Konu Oluştur
- Konu adını ve görünen adı ayarlayın
- Herkesin yayınlamasına izin vermek için politikayı düzenleyin
- Oluşturulan konuya abone olun
- Değer belirli bir değere ulaştığında e-posta almak için uç nokta alanında e-postayı ayarlayın
Adım 8: Bir Kural Oluşturma
- "Bir kural oluştur" u tıklayın
- İsim ve kısa açıklama yazın
- MQTT mesajının tamamını göndermek için en son SQL sürümünü seçin
- Kural motoru, MQTT mesajı alındığında hangi kuralların tetikleneceğini belirlemek için konu filtresini kullanır.
- "Eylem ekle"ye tıklayın
- SNS push bildirimi yoluyla mesaj göndermeyi seçin
Adım 9: Web Arayüzü Oluşturma
adlı bu yeni html dosyalarını oluşturun.
- kafa
- giriş yapmak
- kütükler
- dht
- ışık
- galeri
- hareket
- Led
Google Drive dosyasından kopyalayıp ilgili html'ye yapıştırın.
drive.google.com/file/d/1zd-x21G7P5JeZyPGZp1mdUJsfjoclYJ_/view?usp=sharing
Adım 10: Ana Komut Dosyaları
3 ana komut dosyası var
- server.py - Bir Web Portalı oluşturun
- Working.py - Raspberry Pi 1 için Mantık (Ofis)
- door.py Raspberry Pi 2 için Mantık (Kapı)
İstediğimiz sonucu elde etmek için 3 kodu da çalıştırıyoruz
Main.zip altındaki Google sürücüsünden alabiliriz
drive.google.com/open?id=1xZRjqvFi7Ntna9_KzLzhroyEs8Wryp7g