Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
IOT parça askısı dolabınızı daha ağıllı edəcək və içərisində olan paltarların onlayn statistikasını verəcək.
3 əsas xüsusiyyətə malikdir:
- nə geyinəcəyinizi seçmək istədiyiniz zaman, bu gün geyindiyiniz rəngə basa bilərsiniz və uyğun rəngli IOT paltar askıları yanacaq.
- yeni parça alarkən hər rəngdə neçə paltarınız olduğunu tapa bilərsiniz.
- və ən başlıcası, paltarınızı daim "borc götürən" bir qardaşınız varsa, bu baş verərsə poçtunuza həyəcan siqnalı alacaqsınız.
Addım 1: IOT Bezi Asma Müxtəlif Komponentləri
istifadə etdiyimiz hər bir parça askısı üçün:
- nodemcu: "beyinlər".
- rgb sensoru (tcs34725): askının üzərindəki parçanın hansı rəngdə olduğunu təyin etmək.
- təzyiq sensoru: paltarı askıya qoyduqda və ya çıxardıqda aşkar etmək.
- led zolaq: parçanın tətbiqdəki seçimə uyğun olub olmadığını bildirmək üçün.
Addım 2: Məlumat axını
bez askısı => bez taxmaq => rəngi aşkar etmək>> rəngi və askı idini HTTP -ni firbase -ə göndərmək
bez askısı => paltarı çıxarın => ifttt webhook -a GET sorğusu göndərin => e -poçt göndərin (SMTP ola bilər)
Blynk app => color seçin => http parça asmaq istəyi => seçilmiş rəngli bütün parça askılar led şeriddə açıq rəngdə olacaq
bez askısı => bütün məlumatları firbase verilənlər bazasından alır (http) => adafriut lentlərini yeniləyin (mqtt)
Addım 3: Ən böyük problem və onunla necə qarşılaşdıq
Bu layihədəki ən böyük çətinliyimiz, RGB sensorunun çıxışını gözün gördüyünə daha çox bənzəyən Qırmızı Yaşıl və Mavi dəyərlərə çevirmək və sonra askıda hansı rəngin olduğunu anlamaq üçün bir yol tapmaq idi.
RGB dəyərlərini gözün gördüyünə bənzər hala gətirmək üçün bir gamma masası istifadə etdik, beləliklə RGB sensorunun hər oxunuşu bu 256 sıra ilə xəritələndi. gamma cədvəli bu funksiya ilə yaradılır:
üçün (int i = 0; i <256; i ++) {
float x = i;
x /= 255;
x = pow (x, 2.5);
x *= 255;
oynanılabilir = x;
}
sonra rgb dəyərlərini almalı və hansı rəngin olduğunu ayırd etməliyik. Bunun üçün sensorun çıxışından hər bir əsas rəngin "məsafəsini" hesabladıq, bunun üçün bütün əsas rəngləri qırmızı yaşıl və mavi üçün 3 sıra olaraq saxladıq və çıxışın və hər bir rəngin məsafəsini hesabladıq, sonra min cədvəldəki məsafə və həqiqi rəngə ən yaxın olan rəngdir.
Addım 4: Kumaş Askı Məhdudiyyəti
- yalnız 3 rəngi aşkar edə bilər: qırmızı, yaşıl və mavi
- Güc mənbəyinə qoşulması lazımdır, buna görə ya hər parça askısı üçün bir batareyaya ehtiyacınız var və ya hər dəfə bir askı qoyduğunuzda onu kabel ilə bağlayacaqsınız
- yaxşı wifi bağlantısı lazımdır
Addım 5: Gələcək Planlar
- daha çox rəng əlavə edin: hər bir rəng üçün əldə etdiyimiz dəyərləri başa düşmək üçün rgb sensorunda çoxlu paltar sınamalı və sonra aşkar edə bilmək üçün daha çox rəng əlavə etməlisiniz (1 həftə)
- daha çox rəng əlavə etdikdən sonra istifadəçilərə rəng birləşmələri təklif etmək istəyirik (2 gün)
- iot avadanlıqları üçün prototip asma qurmaq (3 həftə)
Addım 6: Özünüz qurmaq istəyirsinizsə
kodu yüklədim ki, sınaya və işlədə biləsən, bütün komponentləri şəkildəki kimi bağlamaq kifayətdir.
sonra blynk tətbiqetməsində hər rəng üçün 3 düymə əlavə edin: mavi v0, qırmızı v1, yaşıl v2.
ayrıca webhook -da "If maker Event" someonetouchingcloset "adlı iftt apleti açın, sonra webhhook bağlantısını əldə edə və V4 ilə webhook adlı blynk düyməsinə daxil edə bilərsiniz.
və hamınız hazırsınız! əylənin!