İçindekiler:

EasyTalk: Kolay İletişim ve Yanınızda Bir Takvim: 6 Adım
EasyTalk: Kolay İletişim ve Yanınızda Bir Takvim: 6 Adım

Video: EasyTalk: Kolay İletişim ve Yanınızda Bir Takvim: 6 Adım

Video: EasyTalk: Kolay İletişim ve Yanınızda Bir Takvim: 6 Adım
Video: 【FULL】The God King S1 E1-56 #animation #anime 2024, Kasım
Anonim
EasyTalk: Kolay İletişim ve Yanınızda Bir Takvim
EasyTalk: Kolay İletişim ve Yanınızda Bir Takvim
EasyTalk: Kolay İletişim ve Yanınızda Bir Takvim
EasyTalk: Kolay İletişim ve Yanınızda Bir Takvim

Benim adım Kobe Marchal, Howest, Belçika'da okuyorum ve Multimedya ve İletişim Teknolojisi (MCT) öğrencisiyim. İlk yılımın son ödevi için bir IoT cihazı yapmam gerekiyordu.

Evde kardeşimin sürekli oyun oynaması gibi bir sorunumuz var ve annem aşağıdan ona bir şey söylemesi gerektiğinde, kulaklık taktığı ve hiçbir şey duyamadığı için bağırması gerekiyor. Bu sorunu onun için çözmek istedim, bu yüzden bir web sitesinden mesaj gönderebileceğiniz bir cihaz yapıyorum. Ayrıca, kendi etkinliklerinizi depolayabileceğiniz veya bir URL üzerinden harici bir takvimi içe aktarabileceğiniz bir takvim olarak da kullanılır. Bu cihaz aynı zamanda sıcaklık ve hava kalitesi değerlerini de saklar, böylece oyun oynarken veya çalışırken genellikle fark etmediğiniz için ne kadar sağlıklı olduğunu görebilirsiniz.

Bu cihaz EasyTalk olarak adlandırılır ve bu sorunu çözer. Olaylarınızı, zamanı veya sıcaklığı ve hava kalitesini hemen görebilmeniz için OLED ekran kullanan küçük bir cihazdır. Mesaj gönderildiğinde bildirim sesi ile sizi fark eder ve evet veya hayır olarak cevaplayabileceğiniz ekranda mesajı gösterir.

Bu şeyi yapmak istiyorsanız veya nasıl yapıldığını görmek istiyorsanız, okumaya devam etmenizi şiddetle tavsiye ederim. Benim hakkımda daha fazla bilgi edinmek isterseniz portföyüme gidebilirsiniz.

Adım 1: Malzemeler

Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler

İlk adım, bu projede kullanılacak tüm malzemeleri toplamaktır. Sana karşı dürüst olacağım. Bu ucuz bir cihaz değil, toplam maliyeti 271 €. Aşağıda bunların bir listesi ve açıklığa kavuşturmak için bazı fotoğraflar bulunmaktadır.

  • Raspberry Pi 4 Model B - 4GB
  • Pibow Coupé 4 – Ninja
  • 12 x Premium Jumperwires op şeridi - 40 stuk - M/M - 20cm
  • 6 x Premium Jumperwires op şeridi - 40 stuks - M/F - 20cm
  • 2 x 36 pimli İstifleme başlığı
  • 40 pinli erkek kutu başlığı
  • 40 iğneli Regenboog GPIO kablosu
  • Monokrom 2.42" 128x64 OLED Grafik Ekran Modül Kiti
  • Kleine Metalen Hoparlör Draadjes ile tanıştı - 8 ohm 0,5W
  • Adafruit Mono 2.5W D Sınıfı Ses Versterker
  • 3.5mm Yardımcı Jak kablosu
  • 7mm iplik Anlık Basma Düğmesi
  • Tuimelschakelaar
  • PIR Bewegingssensor
  • DS18B20 Dijital sıcaklık sensörü
  • Grove - Lucht kwaliteit sensörü v1.3
  • Koru - I2C ADC
  • Raspberry Pi 4 USB-C Seslendirme
  • Flexibel mini devlet
  • 470 Ohm dirençler
  • 4, 7K Ohm direnç
  • Isıyla daralan makaron
  • 6 x Vida M2 x 6mm
  • 6 x Vida M2 x 8mm
  • 3 x Vida M2 x 16mm
  • Alüminyum yapı 3 mm

Ayrıca tüm malzemeler için ne kadar ödediğimi ve bunları nereden aldığımı görebilmeniz için bir Malzeme Listesi (BOM) hazırladım.

2. Adım: Ahududu Pi

Bu proje için Raspberry Pi kullanıyoruz çünkü kurulumu kolay ve birçok şey için kullanılabilir. Yapmak istediğimiz şey için mükemmel.

Raspberry Pi Desktop OS'yi indirin ve Raspberry Pi'nize kurun. Raspi-config'de SPI, I2C ve One Wire'ı etkinleştirmeniz gerekir. Önyüklemeyi daha hızlı hale getirmek için Önyükleme Seçenekleri'ndeki bazı şeyleri devre dışı bırakmanızı öneririm. Bunun dışında, bu işi yapmak için pip ile kurmanız gereken bazı kütüphaneleri kullanıyorum.

pip3 kurulumu:

  • adafruit-circuitpython-ssd1305
  • ics
  • şişe
  • Şişe-Kors
  • Şişe-JWT-Genişletilmiş
  • mysql-bağlayıcı-python

Ayrıca bir web sitesi kurmak için apache2'ye ihtiyacınız var, burada apt kullanıyoruz:

sudo apt apache2'yi yükleyin -y

Raspberry Pi içindeyken UTP kablosu alamadığınız için kablosuz bağlantı kurmanız gerekiyor.

Veritabanına erişebilmek için MariaDB'yi de kurmanız gerekecek.

Adım 3: Kablolama

kablolama
kablolama
kablolama
kablolama

Bir sonraki adım, her şeyi birbirine bağlamak ve tüm bileşenlerin çalışıp çalışmadığını test etmektir. Breadboard'u çıkarmak ve kablolamayı daha az yapmak için bir PCB oluşturdum, böylece cihaz daha küçük olabilir. Bu gereklidir, çünkü monitörünüzün yanında duracak ve fazla yer kaplamadığından dikkatinizi işinizden uzaklaştırmayacaktır.

Adım 4: Veritabanı

Veri tabanı
Veri tabanı

Bu cihaz, tüm bilgilerini saklamak ve bunu web sitesinde ve cihazın kendisinde göstermek için normalleştirilmiş bir MySQL veritabanını kullanır. MySQL Workbench'te oluşturdum.

Bu veritabanında 5 tablo bulunmaktadır.

Tablo Activiteiten (= etkinlikler, etkinlikler) takvimin tüm etkinliklerini saklamak için kullanılır. Bu, başka bir takvimden içe aktarılan tüm etkinlikleri de içerir.

Tablo Aygıtı (= aygıtlar), Geçmiş tablosunda (= geçmiş) kullanılan farklı aygıt türlerini depolamak için kullanılır. Bu projede kullanılan iki sensör var, bir sıcaklık sensörü ve bir hava kalitesi sensörü ama ayrıca üçüncü bir “cihazım” var, web sitesinden cihaza gönderilen mesajları saklamak için web sitesinin kendisi.

Tablo Gebruikers (= kullanıcılar) kullanıcıları saklar. Şifreleri ile giriş yapabilir ve cihaza gönderildiğinde bir mesajla görünen bir takma ad belirleyebilirler.

Tablo Geçmişi (=geçmiş) sensör değerlerini ve cihaza gönderilen mesajları saklamak için kullanılır.

Ve son olarak tablo Bağlantıları (= URL'ler) tüm harici takvim URL'lerini saklar.

Adım 5: Kod

kod
kod
kod
kod
kod
kod

En iyi uygulama olduğu için yeni bir kullanıcı oluşturmanızı öneririm ancak gerekli değildir, varsayılan pi kullanıcısını da kullanabilirsiniz.

Ön uç kodu, apache2'den varsayılan html klasörüne yerleştirilir. Bu klasörü /var/www/html içinde bulabilirsiniz.

Arka uç için, ana klasörünüzde bir klasör oluşturmanız ve tüm kodu oraya koymanız gerekir.

Bu kodda da bazı değerleri değiştirmemiz gerekiyor. İlk önce app.py'ye gidin. 23. satırda tek telli sıcaklık sensörünün adını ayarlayın. Bu muhtemelen sizin için farklı bir şey olacak. Doğru adı bulmak için bir terminal açın ve şunu yazın:

ls /sys/bus/w1/cihazlar

ve birden çok farklı sayıdan oluşan bir dize arayın ve 23. satırdakini değiştirin.

Değiştirmemiz gereken diğer şey config.py dosyasında, veritabanının şifresini değiştirin.

Bunun önyüklemede çalışmasını istiyorsanız, EasyTalk.service dosyasını da değiştirmeniz gerekir. Sadece WorkingDirectory ve User'ı değiştirin. Bu dosyayı bir sonraki komutla kopyalamanız gerekir:

sudo cp EasyTalk.service /etc/systemd/system/ EasyTalk.service

Sonra çalıştırın:

sudo systemctl EasyTalk.service'i başlat

Ve ardından açılışta başlaması için etkinleştirin

sudo systemctl EasyTalk.service'i etkinleştir

Adım 6: Vaka

Durum
Durum
Durum
Durum
Durum
Durum
Durum
Durum

Kasayı mümkün olduğunca küçük olması için 3D yazdırmaya karar verdim. Baskı 3 parçadan oluşuyor, kutunun kendisi, bir kapak ve bir hoparlör tutucusu çünkü bunun cıvataları vidalayacak delikleri yok.

Her şeyi bir araya getirmek için bazı cesurlara da ihtiyacınız olacak.

  • 6 x Vida M2 x 6mm
  • 6 x Vida M2 x 8mm
  • 3 x Vida M2 x 16mm

Yine de dürüst olacağım. Bu şeyi yapmak 4-5 saatimi aldı. Çok küçük olduğu için, her şey tam oturuyor ve bazen kalın harfleri vidalamak zor ama dikkatli yaparsanız işe yarıyor.

Ayrıca devre kartını değiştirmek için bir PCB tasarladım, önce başlıkları ve 5 direnci (4 x 470 Ohm, 1 x 4.7K Ohm) lehimlemeniz gerekiyor.

PCB'ye sahip olduğunuzda, PCB'ye bağlanması gereken her şeye lehimleme kabloları ile başlamanızı öneririm.

Bu yapıldığında, OLED ekranını yerine vidalayacak ve PCB'yi ona bağlayacaksınız. Ekran PCB'yi tutar. Bunun için 6mm vida kullanıyorsunuz.

Ardından hava kalitesi sensörünü gitmesi gereken yere vidalıyorsunuz ama bu biraz zor çünkü ADC ona bağlı. Bunu, iki bileşenin birbirine değmemesi için düzgün bir şekilde yapmak için, kesmeniz gereken 3 x 5 mm alüminyum borularla 16 mm vidalar kullanırsınız. Üçüncüye ulaşamadığım için bunu iki vidayla yaptım. 4 kabloyu PCB üzerinde gitmeleri gereken yere bağlarsınız.

Ardından ses yükselticiyi PCB'ye bağlar ve hoparlörü 3D baskılı tutucuyla yerine koyarsınız.

Bu adımlardan sonra en zor kısımlar bitti ve diğer her şeyi PCB'ye bağlayıp yerine vidalayabilirsiniz. Gördüğünüz fotoğraflarda farklı bir sıcaklık sensörü kullandığımı unutmayın, son ürün için sıcaklık sensörünü kutunun içinden gelen ısıyı ölçtüğü için kutudan çıkan uzun bir kablo ile kullandım.

Tüm bunlar yerine oturduğunda Raspberry Pi'yi vidalamanız gerekiyor. Kılıfı bunun için kullanıyorum çünkü ürettiği ısıya güvenmiyorum, bu kılıf koruma amaçlı var, 3D baskı erimesin. Yerine vidalamadan önce, güç kablosunu ve aux kablosunu (bir kabloyu açıp lehimlemeniz ve ardından Raspberry Pi'den PCB'ye bağlamanız gerekir) bağlamanız gerekir çünkü sonradan ulaşamazsınız.

Ardından, PCB'den gelen GPIO başlık kablosunu Raspberry Pi'ye bağlayın ve kapağı kapatmadan önce her şeyin çalışıp çalışmadığını test edin.

Altta tripod bağlayabileceğiniz bir delik var ama bu isteğe bağlı.

Bu kadar! Umarım bu makaleyi okumaktan zevk almışsınızdır! -Kobe

Önerilen: