Mündəricat:
- Addım 1: Materiallar
- Addım 2: Raspberry Pi
- Addım 3: Kabel çəkmə
- Addım 4: Verilənlər bazası
- Addım 5: Kod
- Addım 6: Dava
Video: EasyTalk: Asan Əlaqə və Yanınızda Təqvim: 6 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Adım Kobe Marchal, Belçikanın Howest şəhərində oxuyuram və Multimedia və Kommunikasiya Texnologiyası (MCT) tələbəsiyəm. Birinci kursun son tapşırığı üçün IoT cihazı etməli oldum.
Evdə qardaşımın həmişə oynadığı bir problem var və anam aşağıdan ona bir şey söyləməli olanda, qulaqcıq taxdığı və heç nə eşitmədiyi üçün qışqırmalı olur. Onun üçün bu problemi həll etmək istədim, buna görə bir veb saytından mesaj göndərə biləcəyiniz bir cihaz qurdum. Öz hadisələrinizi saxlaya biləcəyiniz və ya bir URL üzərindən xarici bir təqvim idxal edə biləcəyiniz bir təqvim olaraq da istifadə olunur. Bu cihaz eyni zamanda temperatur və hava keyfiyyəti dəyərlərini saxlayır, buna görə də tez -tez fərq etmədiyinizə görə oynayarkən və ya işləyərkən nə qədər sağlam olduğunu görə bilərsiniz.
Bu cihaz EasyTalk adlanır və bu problemi həll edir. Hadisələrinizi, vaxtınızı və ya temperaturunuzu və hava keyfiyyətinizi görə biləcəyiniz üçün OLED ekranı istifadə edən kiçik bir cihazdır. Mesaj göndərildikdə, bir bildiriş səsi ilə sizi görür və bəli və ya yox cavab verə biləcəyiniz mesajı ekranda göstərir.
Bu şeyi qurmaq istəyirsinizsə və ya necə edildiyini görmək istəyirsinizsə, oxumağı şiddətlə təklif edirəm. Mənim haqqımda daha çox bilmək istəyirsinizsə, portfelimə daxil ola bilərsiniz.
Addım 1: Materiallar
İlk addım bu layihədə istifadə etmək üçün lazım olan bütün materialları toplamaqdır. Səninlə səmimi olacağam. Bu ucuz bir cihaz deyil, ümumi dəyəri 271 avrodur. Aşağıda onların siyahısı və aydınlaşdırmaq üçün bəzi fotoşəkillər var.
- Raspberry Pi 4 Model B - 4GB
- Pibow Coupé 4 - Ninja
- 12 x Premium Jumperwires şeridi - 40 ədəd - M/M - 20 sm
- 6 x Premium Jumperwires şeridi - 40 ədəd - M/F - 20 sm
- 2 x 36 pin yığma başlığı
- 40 pinli kişi qutu başlığı
- 40 pin Regenboog GPIO kabel
- Monoxrom 2.42 "128x64 OLED Qrafik Ekran Modulu Kit
- Kleine Metalen Dinamik Draadjes ilə görüşdü - 8 ohm 0.5W
- Adafruit Mono 2.5W Class D Audio Versterker
- 3,5 mm Aux Jack kabeli
- 7 mm iplik ani basma düyməsi
- Tumelschakelaar
- PIR Bewegingssensor
- DS18B20 Rəqəmsal temperatur sensoru
- Grove - Sensor v1.3
- Grove - I2C ADC
- Raspberry Pi 4 USB-C Voeding
- Flexibel mini statistikası
- 470 Ohm rezistorlar
- 4, 7K Ohm müqavimət
- İstilik büzücü borular
- 6 x Vida M2 x 6mm
- 6 x Vida M2 x 8mm
- 3 x M2 x 16 mm vintlər
- Alüminium 3 mm
Bütün materiallar üçün nə qədər pul ödədiyimi və haradan aldığımı görə bilərsiniz.
Addım 2: Raspberry Pi
Bu layihə üçün Raspberry Pi istifadə edirik, çünki qurulması asandır və çox şey üçün istifadə edilə bilər. Etmək istədiklərimiz üçün mükəmməldir.
Raspberry Pi Desktop OS -ni yükləyin və Raspberry Pi -yə quraşdırın. Raspi-konfiqurasiyada SPI, I2C və One Wire-i aktiv etməlisiniz. Daha sürətli açılması üçün Önyükleme Seçimlərindəki bəzi şeyləri deaktiv etməyi təklif edirəm. Bunun xaricində bunu etmək üçün pip ilə qurmalı olduğunuz bəzi kitabxanalardan istifadə edirəm.
pip3 quraşdırın:
- adafruit-circuitpython-ssd1305
- ics
- Şüşə
- Flask-Cors
- Şüşə-JWT-Genişləndirilmiş
- mysql-bağlayıcı-python
Bir veb sayt qurmaq üçün apache2 də lazımdır, burada apt istifadə edirik:
sudo apt install apache2 -y
Simsiz əlaqə qurmalısınız, çünki Raspberry Pi -də olduğu halda UTP kabelini ala bilməzsiniz.
Verilənlər bazasına daxil olmaq üçün MariaDB -ni də qurmalısınız.
Addım 3: Kabel çəkmə
Növbəti addım hər şeyi bir -birinə bağlamaq və bütün komponentlərin işlədiyini yoxlamaqdır. Çörək taxtasını çıxarmaq və cihazın daha kiçik olması üçün naqilləri daha az etmək üçün bir PCB yaratdım. Bu, monitörünüzün yanında dayanacağı və çox yer tuta bilməyəcəyi üçün sizi işinizdən yayındırmaması üçün lazımdır.
Addım 4: Verilənlər bazası
Bu cihaz, bütün məlumatlarını saxlamaq və veb saytında və cihazın özündə göstərmək üçün normallaşdırılmış MySQL verilənlər bazasından istifadə edir. MySQL Workbench -də yaratdım.
Bu verilənlər bazasında 5 cədvəl var.
Cədvəl Activiteiten (= fəaliyyətlər, hadisələr) təqvimdəki bütün hadisələri saxlamaq üçün istifadə olunur. Bura başqa bir təqvimdən alınan bütün hadisələr də daxildir.
Table Apparaten (= cihazlar), Historiek (= tarix) cədvəlində istifadə olunan müxtəlif növ cihazları saxlamaq üçün istifadə olunur. Bu layihədə istifadə olunan iki sensör var, temperatur sensoru və hava keyfiyyəti sensoru, amma mənim veb saytdan cihaza göndərilən mesajları saxlamaq üçün veb saytın üçüncü bir "cihazı" da var.
Cədvəl Gebruikers (= istifadəçilər) istifadəçiləri saxlayır. Parolu ilə daxil ola və cihaza göndərildikdə mesajla görünən bir ləqəb təyin edə bilərlər.
Sensor dəyərlərini və cihaza göndərilən mesajları saxlamaq üçün Historiek Cədvəli (= tarix) istifadə olunur.
Və nəhayət masa bağlantıları (= URL -lər) bütün xarici təqvim URL -lərini saxlayır.
Addım 5: Kod
Ən yaxşı təcrübə olduğu üçün yeni bir istifadəçi etməyi məsləhət görürəm, amma lazım deyil, standart pi istifadəçisini də istifadə edə bilərsiniz.
Ön kod apache2 -dən standart html qovluğuna qoyulur. Bu qovluğu/var/www/html -də tapa bilərsiniz.
Arxa plan üçün ev qovluğuna bir qovluq düzəltməlisiniz və bütün kodu ora daxil etməlisiniz.
Bu koddakı bəzi dəyərləri də dəyişdirməliyik. Əvvəlcə app.py saytına daxil olun. 23 -cü sətirdə bir telli temperatur sensörünün adını təyin edin. Bu, yəqin ki, sizin üçün fərqli bir şey olacaq. Doğru adı tapmaq üçün bir terminal açın və yazın:
ls/sys/bus/w1/cihazlar
və birdən çox fərqli rəqəmdən ibarət bir simli axtarın və 23 -cü sətirdə olanı əvəz edin.
Dəyişdirməyimiz lazım olan başqa bir şey config.py sənədindədir, verilənlər bazasının parolunu dəyişdirin.
Bunun açılışda işləməsini istəyirsinizsə, EasyTalk.service faylını da dəyişdirməlisiniz. Yalnız İşçi Dizini və İstifadəçini dəyişdirin. Bu faylı aşağıdakı əmrlə kopyalamalısınız:
sudo cp EasyTalk.service/etc/systemd/system/EasyTalk.service
Sonra işə salın:
sudo systemctl EasyTalk.service başladın
Və sonra onu işə salın ki, açılışda başlayacaq
sudo systemctl EasyTalk.service imkan verir
Addım 6: Dava
Mümkün qədər kiçik olması üçün işi 3D çap etməyə qərar verdim. Çap 3 hissədən ibarətdir, qutunun özü, bir qapaq və dinamik tutucu, çünki vintləri vidalayacaq delikləri yoxdur.
Hər şeyi bir araya gətirmək üçün bəzi cəsarətlərə ehtiyacınız olacaq.
- 6 x Vida M2 x 6mm
- 6 x Vida M2 x 8mm
- 3 x Vida M2 x 16mm
Dürüst olsam da. Bu şeyi düzəltmək 4-5 saat çəkdi. Kiçik olduğu üçün hər şey uyğun gəlir və bəzən cəsarətləri vidalaşdırmaq çətindir, amma diqqətlə etsəniz işləyir.
Çörək taxtasını əvəz etmək üçün bir PCB də hazırladım, əvvəlcə başlıqları və 5 rezistoru (4 x 470 Ohm, 1 x 4.7K Ohm) lehimləməlisiniz.
PCB -yə sahib olduğunuzda, PCB -yə qoşulması lazım olan hər şeyə kabellərin lehimlənməsi ilə başlamağı təklif edirəm.
Bu edildikdə, PCB -ni yerləşdirmək və ona bağlamaq üçün OLED ekranı vidalayacaqsınız. Ekranda PCB var. Bunun üçün 6 mm vintlərdən istifadə edirsiniz.
Sonra hava keyfiyyəti sensörünü getməli olduğu yerə vurursunuz, amma bu bir az çətindir, çünki ADC ona qoşulur. İki komponentin bir -birinə toxunmaması üçün bunu düzgün etmək üçün görmək lazım olan 3 x 5 mm alüminium borularla 16 mm vintlərdən istifadə edirsiniz. Üçüncüsünə çata bilmədiyim üçün bunu iki vintlə etdim. 4 teli PCB -yə getmələri lazım olan yerə bağlayırsınız.
Sonra səs gücləndiricini PCB -yə qoşun və dinamikin 3D çap tutacağı ilə yerinə qoyun.
Bu addımlardan sonra ən çətin hissələr bitdi və qalan hər şeyi PCB -yə bağlaya və yerinə vidalaya bilərsiniz. Diqqət yetirin ki, gördüyünüz fotoşəkillərdə fərqli bir temperatur sensoru istifadə edirəm, son məhsul üçün temperatur sensörünü uzun bir kabel ilə istifadə etdim, çünki qutunun içindən istiliyi ölçürdü.
Bütün bunlar yerində olduqda, Raspberry Pi -ni vidalaşdırmalısınız. Çantanı bunun üçün istifadə edirəm, çünki istehsal etdiyi istiyə güvənmirəm, bu halda qoruma var, beləliklə 3D çap ərimir. Yerə bağlamadan əvvəl, elektrik kabelini və köməkçi kabelini (bir teli açıb lehimləməli və sonra Raspberry Pi -dən PCB -yə bağlamalısınız) bağlamalısınız, çünki sonra ona çata bilməzsiniz.
Sonra GPIO başlıq kabelini PCB -dən Raspberry Pi -yə bağlayın və qapağı bağlamadan əvvəl hər şeyin işlədiyini yoxlayın.
Aşağıda bir tripod bağlaya biləcəyiniz bir çuxur var, lakin bu isteğe bağlıdır.
Bu belədir! Ümid edirəm bu məqaləni oxumaqdan zövq aldınız! -Kobe
Tövsiyə:
Nextion Touchscreen Outlook Təqvim Görüş Xatırlatması: 6 Addım
Nextion Touchscreen Outlook Təqvim Təqvim Görüş Xatırlatması: Bu layihəyə başlamağımın səbəbi, tez -tez görüşləri qaçırdığım və daha yaxşı bir xatırlatma sisteminə ehtiyac duyduğum idi. Microsoft Outlook Təqvimindən istifadə etsək də, vaxtımın çox hissəsini Linux/UNIX -də eyni kompüterdə keçirmişəm. İlə işləyərkən
Həftənin Günü, Təqvim, Zaman, Batareya Qənaətçisi ilə Nəm/Temperatur: 10 Addım (Şəkillərlə)
Həftənin Günü, Təqvim, Saat, Rütubət/Temperatur Batareya Qənaətçisi ilə: Buradakı enerjiyə qənaət rejimi, bu Təlimatı həftənin gününü, ayını, ayın gününü, vaxtını, rütubətini və temperaturunu göstərən digər nümunələrdən fərqləndirən şeydir. Bu layihənin batareyadan işləməsinə imkan verən bu qabiliyyətdir
Google Təqvim Hadisələri ESP8266: 10 Addım
ESP8266 -a Google Təqvim Hadisələri: Bu təlimatda, ESP8266 lövhəsi üçün Arduino IDE -də Google Təqvim hadisə məlumatlarının necə idxal olunacağını izah edəcəyəm. Təlimin bitmə vaxtını və başlama vaxtını Google Təqvimdən idxal edəcəyəm və Arduino IDE serial monitorunda çap etdirəcəyəm
Google Təqvim ilə Çox İstifadəçi Ağıllı Güzgü: 10 addım
Google Təqvim ilə Çox İstifadəçi Ağıllı Güzgü: Bu təlimatda Google Təqvimlə inteqrasiya edilmiş ağıllı bir güzgü yaradacağıq. Bu layihəni ağıllı aynaların həqiqətən sərin olduğunu gördüyüm üçün hazırladım, səhərlər bir tanrıdır. Ancaq sıfırdan birini özüm etmək qərarına gəldim, çünki digərləri
DIY MusiLED, Bir klik Windows və Linux Tətbiqi (32 bit və 64 bit) ilə Sinxronizasiya edilmiş LEDlər. Yenidən Yaratmaq, İstifadəsi Asan, Porta Asan .: 3 Addım
DIY MusiLED, Bir klik Windows və Linux Tətbiqi (32 bit və 64 bit) ilə Sinxronizasiya edilmiş LEDlər. Yenidən Yaratmaq, İstifadəsi Kolay, Portu Asan.: Bu layihə Arduino Kartına 18 LED (6 Qırmızı + 6 Mavi + 6 Sarı) bağlamağa və kompüterinizin Səs Kartının real vaxt siqnallarını təhlil etməyə və onları Diod effektlərinə görə onları işıqlandırmaq üçün LEDlər (Tələ, Yüksək Şapka, Kick)