Mündəricat:

[15 dəq] Weasley Saatı / Ev Göstəricisi Kimdir - TR -064 əsasında (beta): 4 Addım (Şəkillərlə)
[15 dəq] Weasley Saatı / Ev Göstəricisi Kimdir - TR -064 əsasında (beta): 4 Addım (Şəkillərlə)

Video: [15 dəq] Weasley Saatı / Ev Göstəricisi Kimdir - TR -064 əsasında (beta): 4 Addım (Şəkillərlə)

Video: [15 dəq] Weasley Saatı / Ev Göstəricisi Kimdir - TR -064 əsasında (beta): 4 Addım (Şəkillərlə)
Video: Lionel Messi ● All 800 Goals in Career ● With Commentaries 2024, Noyabr
Anonim
Image
Image
[15 dəq] Weasley Saatı / Ev Göstəricisi Kimdir - TR -064 əsasında (beta)
[15 dəq] Weasley Saatı / Ev Göstəricisi Kimdir - TR -064 əsasında (beta)

YENİLƏNİŞ: 3 -cü addıma baxın.

Uzun hekayə (TL; aşağıda DR): Bir müddət əvvəl kompüterimdə qeydiyyatdan keçmiş qurğular üçün şəbəkəni tarayacaq və host adlarını əlaqəli adları olan bir siyahı ilə müqayisə edəcək kiçik bir bash skript yazdım. Hər dəfə bir cihaz şəbəkəyə daxil olanda və ya çıxanda bir bildiriş alırdım. Bunun kimi kimin evdə olduğunu bilmək istərdim (evdə kimin yemək yeməyə qatılmaq istəyib -istəmədiyini soruşmaq nəinki xoşdur, həm də çətin vəziyyətlərdən qaçınmanıza kömək edə bilər). Problem ondadır ki, bu üsul çox etibarlı deyil. Təəssüf ki, bəzi cihazlar pinglərə cavab vermir (məsələn, smartfonlar) və bəzi enerji qənaət rejiminə keçdikləri üçün nmap kimi əmrlərlə etibarlı şəkildə təsbit edilmir. Cihazın şəbəkədən çıxdığını elan etməzdən əvvəl ən azı 10 mənfi tələb edərək bunu aşmağa çalışdım. Ümumiyyətlə, işlədi, amma yavaş -yavaş, etibarsız və çox da gözəl deyil. Həm də kompüterimi açmadan kimin evdə olduğunu yoxlamaq istədim, buna görə də bu ESP8266 -ların ətrafında yatdım - onlarla oynamaq istədim. Ancaq 10.120.124.812-ci ESP əsaslı hava stansiyası qurmaq istəmədim (nə olursa olsun, hər hansı bir veb saytı ziyarət edə bildiyiniz zaman niyə pis 2 ° C termometrinizlə havanı izləmək istərdiniz?). Beləliklə, plan quruldu. Təəssüf ki, ESP-nin tam pilləli bir şəbəkə taraması aparmağa icazə verməmək üçün düzgün bir şəkildə ping etmək üçün təchiz olunmadığı ortaya çıxdı. Bunun üçün bir kitabxana yazmağı düşündüm - amma C ++ çox məhdud olduğundan, bu mənim ilk ESP layihəmdir və şəbəkə mövzusunda dahi deyiləm və ya bu fikri ləğv etmişəm. router (marka Fritz! Box) əslində bir API var! YAY !!!! Protokola TR-064 deyilir. Belə bir ilhamverici ad, elə deyilmi? Bu mövzuda bir az araşdırma apararkən, internetdə (olduqca pis) bir sənəd tapdım. Bunu həll etməyim bir az vaxt aldı. Önümüzdəki günlərdə daha çox təlimat verə bilərəm (və bir brauzer əlavəsi istifadə edərək bu API ilə necə əlaqə quracağımı/sınayacağam). API -ni anladıqdan sonra ESP -dən istifadə etməyə başladım. Uzun sözün qısası: İstədiklərimi işlədən və etdiyim bir ördək bantlı və wd40 həllim var (bağlı qurğular üçün API sorğusu, onları MAC ünvanlarının siyahısı ilə müqayisə edin və LEDləri buna uyğun olaraq dəyişdirin). Lakin daha möhkəm olmasını istədim. və çevik bir həll və bu API -nin təklif edəcəyi daha çox şey var (parametrləri dəyişə bilərsiniz (wifi aça/söndürə, parol dəyişdirə, qonaq wifi aça/bağlaya, siqnal gücünü dəyişə bilərsiniz), marşrutlaşdırıcını yenidən başladın, əlaqə sürətini soruşa bilərsiniz …) - buna görə universal bir TR -064 kitabxanası yaratmaq qərarına gəldim! TL; DR; Hal -hazırda evdə olan LED -lərlə göstərən cihaz. Əla işləyir, hələ də böyük bir evi yoxdur (hey - başlıqdakı beta hiss etdinizmi?). Router ilə əlaqə qurmaq üçün SOAP protokolundan istifadə edir. Bunun baş verməsi üçün Arduino kitabxanası yazdı. Tələb olunan biliklər • Əsas Arduino/ESP bilikləri • ESP ilə Blink nümunəsi yığsanız, yaxşı olarsınız! Çörək taxtası mərhələsini tərk etmək istəyirsinizsə, işə yarayın • Bir 3D dizaynı və/və ya ağac emalı bir mənzilGithub layihəsi bağlantısı üçün faydalı ola bilər [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] sürətli istinad üçün.

Təchizat

  • İnkişaf lövhəsində və ya başqa bir proqramçı ilə ESP8266 və ya ESP32 (2 ~ 6 €)
  • Proqramçıya uyğun USB kabeli
  • Güc adapteri (məsələn, USB və ya batareya ~ 2 €)
  • Bir neçə LED və rezistor (~ 1 €)
  • (Korpus)

=> Minimum dizayn üçün təxminən 4-6 €. Bu mənim üçün o deməkdir ki, bir neçəsini asanlıqla evin ətrafında asa bilərəm. Tənbəlsinizsə, LED-ləri olan bir inkişaf lövhəsindən də istifadə edə bilərsiniz (daha ətraflı məlumat üçün 4-cü addıma baxın).

Addım 1: Routerinizi qurun (isteğe bağlı, lakin tövsiyə olunur)

Routerinizi qurun (isteğe bağlı, lakin tövsiyə olunur)
Routerinizi qurun (isteğe bağlı, lakin tövsiyə olunur)
Routerinizi qurun (isteğe bağlı, lakin tövsiyə olunur)
Routerinizi qurun (isteğe bağlı, lakin tövsiyə olunur)

Protokol marşrutlaşdırıcılar üçün ümumi bir protokol olaraq hazırlanmışdır, ancaq Fritz! Box routerlarının (ən azından Avropada çox yayılmış) istifadə etdiyini bilirəm. Digər markalar haqqında məlumatım yoxdur. Beləliklə, Fritz! Box istifadə etdiyinizi güman edirəm. Bu işi başqa bir yönləndiricidə edə bilsəniz (və ya edə bilməsəniz), bu təlimata əlavə etməkdən məmnun olaram (bəlkə də qısa uyğunluq siyahısına başlayın?).

Bu addım lazım deyil, sadəcə admin hesabınızı da istifadə edə bilərsiniz, ancaq bu açıq səbəblərə görə məsləhət görülmür (ESP -dən ələ keçirilə və ya çıxarıla bilər, istəmədiyiniz şeyi təsadüfən dəyişə bilərsiniz …) - buna görə də etməyi məsləhət görürəm.

Hər halda, bura gedirik:

  1. Sevdiyiniz brauzerin url-barına fritz.box yazaraq Fritz! Box-a daxil olun.
  2. Yeni bir FRITZ! Box istifadəçisi yaratmaq üçün səhifəni tapın (inkişaf etmiş olmalısınız, Sistemin altında olmalıdır, tapa bilmirsinizsə cihazı yeniləməyə çalışın).
  3. Şəkildə gördüyünüz kimi yeni bir hesab yaradın (fərqli bir istifadəçi adı/şifrə istifadə edərək!).
  4. Çıxış.

Addım 2: Kod

Image
Image
Avadanlıq (beta)
Avadanlıq (beta)
  1. Kitabxananı Github -dan əldə edə bilərsiniz.

  2. Nümunələrdə bu layihənin kodu olan home-indicator.ino adlı bir fayl tapa bilərsiniz. Nümunələr qovluğunu arduino IDE layihə ev qovluğunuza və digər qovluğu eyni layihə ev qovluğundakı kitabxanalar qovluğuna yerləşdirin.
  3. (Yenidən) IDE -yə başlayın.
  4. IDE-də home-indic.ino açın və parametrlərinizi daxil edin. Nəyin hara getdiyi olduqca aydın olmalıdır. Hər hansı bir sualınız varsa, mənə bildirin!
  5. İndi onu tərtib edərək ESP -ə köçürə bilərsiniz!

Addım 3: Avadanlıq (beta)

Avadanlıq (beta)
Avadanlıq (beta)
Avadanlıq (beta)
Avadanlıq (beta)
Avadanlıq (beta)
Avadanlıq (beta)

Bəli… Bu, hələ bir az da işləməli olduğum addımdır. Ancaq düşünürəm ki, internetdə bir şeyi başa düşmək üçün kifayət qədər material var:) Şəkillərdəki kimi qurulma, D1 olan GPIO {5, 4, 0, 2} ilə əlaqəli ~ 100 Ohm rezistorlu bir dioddur. MCU ESP8266 lövhəmin D2, D3, D4 (bu qaydada) pinləri və katodları GND -ə aparan kiçik narıncı kabel (lövhəmdə G işarəsi ilə). Tənbəlsənsə, ikinci görüntüdə gördüyünü edə bilərsən. Sadəcə LED-ləri olan bir inkişaf lövhəsindən istifadə edin ("ESP-202" kimi, şəkillərə baxın-göndərmə daxil olmaqla təxminən 3.50-5.00 €). Daha sonra onu USB gücünə bağlaya və ya daxil olan batareya paketini istifadə edə, bir kağıza bir interfeys çəkə və divara yapışdıra bilərsiniz. Bu xüsusi lövhə üçün limanlar:

int userPins [numUser] = {5, 4, 2, 14, 16};

yuxarıdan asağı.

Addım 4: Outlook/İstinadlar

Hələ də planladığım budur: 1. Gözəl bir mənzil tikmək (açıq şəkildə) 2. İstifadəçiləri/LEDləri/MACları/tanınmış cihazları idarə etmək üçün gözəl bir GUI əlavə etmək 3. Kitabxananı təkmilləşdirmək (bunun üçün Github -a baxın) 4. Düzəldin: bəzən LED -lər heç bir səbəb olmadan yavaş -yavaş reaksiya verin (bir cihaz ayrıldıqdan sonra bir az çəkər) 5. Dəhlizdə və bəlkə də evin ətrafında bir neçə şeyi bağlayınSizdən bir şey almaq istərdik! Həmişə olduğu kimi başqalarının düşündüyünüz bokları görməsi məni çox sevindirir, buna görə də bir dəqiqə ayırıb şəkillərinizi paylaşın!:):) Daha bir neçə istinad Mən sizə kömək edə biləcək bəzi şeyləri buraya bağlayacağam: • TR-064 arayış • Qabıq və TR-064 ilə qarışan bəzi adamlar (API haqqında məlumat əldə etmək yaxşıdır) • Harry Potter Wikipedia: Weasley Clock girişi • Bəzi uşaqlar gözəl, lakin mürəkkəb Weasly Clock*_*Bu, telefonunuz üçün yerinizi götürən bir tətbiqə əsaslanır. Əgər əvvəlcədən müəyyən edilmiş ərazilərdəsinizsə, saatın işığı yanacaq. Mənim üçün bu çox mürəkkəb idi və pozula biləcəyi bir çox yerlərdə idi: • Tətbiqləri yeniləmək lazımdır • Hər kəs bu tətbiqləri istifadə etməlidir • Və məxfiliyin təsiri ilə yaxşı olmaq lazımdır • Tətbiq yalnız internetlə işləyir əlaqə • Əlaqəni əlaqələndirmək üçün bir ara serverdən istifadə etməlisiniz (özünüzü server olaraq qurmaq və kənar trafik üçün ev şəbəkənizi açmaq istəmirsinizsə - yay, yenə də İnternetə birbaşa bağlı başqa bir təhlükəli IOT cihazı!) • ara xidmət bir gün oflayn ola bilər/API -ni dəyişə bilər, •… Daha çox proqrama ehtiyacınız var. Daha çox proqram, səhv etmək üçün daha çox yer deməkdir;) Ancaq inanılmaz bir iş gördülər və buna bənzər bir şey etmək istəyirsinizsə, saytlarına baş çəkin, həqiqətən əladır!

Tövsiyə: