İçindekiler:
- Adım 1: Malzemeler
- 2. Adım: Ahududu Pi
- Adım 3: Kablolama
- Adım 4: Veritabanı
- Adım 5: Kod
- Adım 6: Vaka
Video: EasyTalk: Kolay İletişim ve Yanınızda Bir Takvim: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
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
İ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
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ı
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
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
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:
Eski Bir İletişim Alıcısına Dijital Ekran Ekleme: 6 Adım (Resimlerle)
Eski Bir İletişim Alıcısına Dijital Ekran Ekleme: Eski bir iletişim cihazı kullanmanın eksikliklerinden biri, analog kadranın çok doğru olmamasıdır. Her zaman aldığınız frekansı tahmin ediyorsunuz. AM veya FM bantlarında bu genellikle bir sorun değildir çünkü genellikle
Mikro Bit Kullanarak Gizli Bir İletişim Oluşturucu Nasıl Yapılır: 9 Adım
Micro Bit Kullanarak Gizli Bir İletişim Oluşturucu Nasıl Yapılır: You tube chanal.here'den aldığım 'diğer makineler'den ilham aldım. diğer mikro bit-güç bankaları için- Bunun için ekstra kod
Nextion Dokunmatik Ekran Outlook Takvim Toplantı Hatırlatma: 6 Adım
Nextion Dokunmatik Ekran Outlook Takvim Toplantı Hatırlatıcısı: Bu projeye başlamamın nedeni, çoğu zaman toplantıları kaçırmam ve daha iyi bir hatırlatma sistemine ihtiyacım olduğunu düşünmemdi. Microsoft Outlook Calendar kullanmamıza rağmen zamanımın çoğunu aynı bilgisayarda Linux/UNIX üzerinde geçirdim. ile çalışırken
DIY MusiLED, Tek Tıkla Windows ve Linux Uygulaması ile Müzik Senkronize LED'ler (32-bit ve 64-bit). Yeniden Oluşturması Kolay, Kullanımı Kolay, Taşıması Kolay.: 3 Adım
DIY MusiLED, Tek Tıkla Windows ve Linux Uygulaması ile Müzik Senkronize LED'ler (32-bit ve 64-bit). Yeniden Oluşturması Kolay, Kullanımı Kolay, Portu Kolay.: Bu proje, Arduino Board'unuza 18 LED (6 Kırmızı + 6 Mavi + 6 Sarı) bağlamanıza ve bilgisayarınızın Ses Kartının gerçek zamanlı sinyallerini analiz etmenize ve bunları aktarmanıza yardımcı olacaktır. Vuruş efektlerine göre onları aydınlatmak için LED'ler (Snare, High Hat, Kick)
Bir Uzaylı Eseriyle Nasıl İletişim Kurulur veya . . .: 4 Adım (Resimlerle)
Bir Uzaylı Eseri İle Nasıl İletişim Kurulur veya…: *** Tuhaf Bir Nane Türünün Yakın Karşılaşmaları. *** Bu Eğitilebilir Tablo size 'Close Encounters' ana gemisinin Altoids versiyonunu nasıl oluşturacağınızı ve onunla nasıl etkileşime gireceğinizi gösterecektir. Bu, Bright White Be'nin o gün için hayati bir eğitim olabilir