Sadržaj:

[15min] Weasley sat / Ko je kod kuće indikator - Na osnovu TR -064 (beta): 4 koraka (sa slikama)
[15min] Weasley sat / Ko je kod kuće indikator - Na osnovu TR -064 (beta): 4 koraka (sa slikama)

Video: [15min] Weasley sat / Ko je kod kuće indikator - Na osnovu TR -064 (beta): 4 koraka (sa slikama)

Video: [15min] Weasley sat / Ko je kod kuće indikator - Na osnovu TR -064 (beta): 4 koraka (sa slikama)
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Juli
Anonim
Image
Image
[15min] Weasley sat / Ko je kod kuće indikator - Na osnovu TR -064 (beta)
[15min] Weasley sat / Ko je kod kuće indikator - Na osnovu TR -064 (beta)

AŽURIRANJE: Pogledajte korak 3.

Duga priča (TL; DR ispod): Prije nekog vremena napisao sam mali bash-skript na svom računaru koji će skenirati mrežu za registrovane uređaje i uporediti njihova imena hostova sa listom sa povezanim imenima. Svaki put kad bi se uređaj prijavio ili odjavio s mreže dobio bih obavještenje. Ovako bih imao ideju ko je kod kuće (ne samo da je ponekad lijepo znati ko je kod kuće i pitati ih želi li se pridružiti nekom obroku, već vam može i pomoći da izbjegnete neugodne situacije). Problem je u tome što ova metoda nije jako pouzdana. Nažalost, neki uređaji ne odgovaraju na pingove (npr. Pametni telefoni) i čini se da prelaze u neki način uštede energije pa se stoga ne mogu pouzdano otkriti naredbama poput nmap. Pokušao sam to prevladati zahtijevajući najmanje 10 negativa prije nego što sam konačno objavio da je uređaj napustio mrežu. Sve u svemu, radilo je, ali polako, nepouzdano i ne baš lijepo. Takođe sam hteo da mogu da proverim ko je kod kuće, a da nisam otvorio računar. Pa sam imao ove ESP8266 ležeće - i hteo sam da se igram sa njima. Ali nisam htio izgraditi 10.120.124.812. meteorološku stanicu zasnovanu na ESP-u (ili sličnu) (zašto biste htjeli pratiti vrijeme svojim usranim termometrom ± 2 ° C kad svejedno možete posjetiti neku web stranicu?). Dakle, plan je napravljen. Nažalost, pokazalo se da izgleda da ESP nije opremljen za pravilan ping (što je za početak bilo loše, sjećate se?), A kamoli za potpuno skeniranje mreže. Razmišljao sam o tome da napišem neku biblioteku za to - ali budući da je moj C ++ vrlo ograničen, ovo je moj prvi ESP -projekt i nisam genij s mrežnim stvarima niti sam odbacio tu ideju. Nakon što sam obavio neko istraživanje, otkrio sam da je moj usmjerivač (marka Fritz! Box) zapravo ima API! JEJ!!!! Protokol se zove TR-064. Tako nadahnjujuće ime, zar ne? Istražujući tu temu, našao sam (prilično lošu) dokumentaciju na internetu. Trebalo mi je neko vreme da to rešim. Možda ću sljedećih dana objaviti više praktičnih instrukcija (i kako komunicirati s/testirati ovaj API pomoću dodatka za preglednik). Kad sam shvatio API, počeo sam ga koristiti sa svog ESP -a. Ukratko: dobio sam rješenje za patku-traku-i-wd40 koje radi i radi ono što sam htio (postavljanje upita za API za povezane uređaje, uporedite ih sa listom MAC adresa i prebacivanjem LED-ova u skladu s tim). Ali htio sam robusnije i fleksibilno rješenje, a ovaj API nudi još mnogo toga (možete promijeniti postavke (uključiti/isključiti WiFi, promijeniti lozinku, otvoriti/zatvoriti gostujuću WiFi, promijeniti snagu signala), ponovo pokrenuti usmjerivač, upitati brzinu veze,…) - pa sam odlučio stvoriti univerzalnu biblioteku TR -064! TL; DR; Uređaj koji preko LED dioda pokazuje tko je trenutno kod kuće. Odlično radi, još nema odlično stanovanje (hej - primijetili ste beta u naslovu?). Koristi SOAP-protokol za komunikaciju s usmjerivačem. Napisao je Arduino biblioteku da bi se to dogodilo. Potrebno znanje • Osnovno znanje o Arduinu/ESP -u • Ako ste sastavili Blink primjer sa svojim ESP -om, bit ćete u redu! • Ako niste, možete slijediti prva dva koraka ovog uputstva • Lemljenje bi moglo dobro će vam doći, ako želite napustiti osnovnu ploču • Neki 3D dizajni i/ili obrada drveta mogli bi biti korisni za vezu do projekta za stanovanjeGithub [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] za brzu referencu.

Supplies

  • ESP8266 ili ESP32 na razvojnoj ploči ili kod drugog programera (2 ~ 6 €)
  • USB kabel odgovara programatoru
  • Adapter za napajanje (npr. USB ili baterija ~ 2 €)
  • Nekoliko LED i otpornika (~ 1 €)
  • (Kućište)

=> Oko 4-6 € za minimalni dizajn. To za mene znači da ih mogu lako objesiti po kući. Ako ste lijeni, možete koristiti i razvojnu ploču sa uključenim LED diodama (za više detalja pogledajte korak 4).

Korak 1: Postavite usmjerivač (izborno, ali preporučeno)

Postavljanje usmjerivača (izborno, ali preporučeno)
Postavljanje usmjerivača (izborno, ali preporučeno)
Postavljanje usmjerivača (izborno, ali preporučeno)
Postavljanje usmjerivača (izborno, ali preporučeno)

Protokol je osmišljen kao opći protokol za usmjerivače, ali samo znam da ga (većina) usmjerivača Fritz! Box (vrlo uobičajen barem u Europi) koristi. Ne znam za druge marke. Tako da ću pretpostaviti da koristite Fritz! Box. Ako možete uspjeti (ili to ne učinite) na bilo kojem drugom usmjerivaču, rado ću ga dodati u ovu instrukciju (možda čak i započeti kratku listu kompatibilnosti?).

Ovaj korak nije neophodan, možete koristiti i svoj administratorski račun, ali to nije preporučljivo iz očiglednih razloga (može biti presretnuto ili izvučeno iz vašeg ESP -a, možda ćete slučajno promijeniti stvari koje ne želite …) - pa savjetujem vam da to učinite.

U svakom slučaju, evo nas:

  1. Prijavite se na svoj Fritz! Box upisivanjem fritz.box u url traku vašeg omiljenog preglednika.
  2. Pronađite stranicu za kreiranje novog korisnika FRITZ! Box -a (potrebno je da imate napredno mjesto u odjeljku Sistem, ako ga ne možete pronaći, pokušajte ažurirati svoj uređaj).
  3. Napravite novi račun kao što vidite na slici (koristeći drugo korisničko ime/lozinku!).
  4. Odjaviti se.

Korak 2: Kodirajte

Image
Image
Hardver (beta)
Hardver (beta)
  1. Biblioteku možete nabaviti na Githubu.

  2. U primjerima ćete pronaći datoteku pod nazivom home-indicator.ino, koja je kôd za ovaj projekt. Mapu s primjerima postavite u svoju matičnu mapu arduino IDE projekta, a drugu mapu u mapu biblioteke u istoj matičnoj mapi projekta.
  3. (Ponovo) Pokrenite IDE.
  4. Otvorite home-indicator.ino u IDE-u i unesite svoje postavke. Trebalo bi biti sasvim očigledno šta gdje ide. Ako imate pitanja, javite mi!
  5. Sada ga možete sastaviti i prenijeti na svoj ESP!

Korak 3: Hardver (beta)

Hardver (beta)
Hardver (beta)
Hardver (beta)
Hardver (beta)
Hardver (beta)
Hardver (beta)

Da … Ovo je korak, gdje moram još poraditi. Ali pretpostavljam da na webu ima dovoljno materijala da se nešto shvati:) Postavljanje kao na slikama je samo dioda sa ~ 100Ohm otpornikom povezanim na GPIO {5, 4, 0, 2}, a to su D1, D2, D3, D4 (tim redoslijedom) pinovi moje MCU ESP8266 ploče i mali narančasti kabel koji vodi katode do GND (označeno G na mojoj ploči). Ako ste lijeni, možete učiniti ono što vidite na drugoj slici. Samo koristite razvojnu ploču sa uključenim LED diodama (poput "ESP-202", pogledajte slike-oko 3,50-5,00 € uključujući dostavu). Zatim ga možete jednostavno priključiti na USB napajanje ili upotrijebiti priloženi paket baterija, nacrtati sučelje na komadu papira i zalijepiti ga na zid. Za ovu ploču portovi su:

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

odozgo prema dolje.

Korak 4: Outlook/Reference

Ovo još uvijek planiram: 1. Napraviti lijepo kućište (očigledno) 2. Dodati lijep GUI za upravljanje korisnicima/LED/MAC/poznatim uređajima 3. Poboljšanje biblioteke (za to pogledajte Github) 4. Popravka: ponekad LED diode reagirajte sporo (potrebno je malo vremena da se isključe, nakon što je uređaj napustio) bez očiglednog razloga 5. Priključite stvar u hodnik i možda još koju po kući. Voljeli bismo nešto od vas reći! I kao i uvijek, čini me jako sretnim vidjeti druge kako prave sranja koja ste smislili, pa vas molimo da odvojite trenutak za komentar i objavljivanje slika!:):) Još nekoliko referenci Ovdje ću povezati neke stvari koje bi vam mogle pomoći: • Referenca TR-064 • Neki momak se petlja oko ljuske i TR-064 (dobro da se razumije API) • Harry Potter Wikipedia: Unos Weasley Clock • Neki momci grade lijep, ali kompliciran Weasly Clock*_*Zasnovan je na aplikaciji za vaš telefon koja uzima vašu lokaciju. Ako se nalazite u određenim unaprijed definiranim područjima, uključit će se odgovarajuće svjetlo na satu. Za mene je to bilo previše komplicirano i moralo je biti na mnogim mjestima gdje bi se moglo pokvariti/otkazati: • Aplikacije moraju biti ažurirane • Svi moraju koristiti ove aplikacije • I biti u redu s utjecajem na privatnost • Aplikacija radi samo s internetom veza • Morate koristiti posrednički server za povezivanje komunikacije (osim ako ne želite postaviti esp kao server i otvoriti svoju kućnu mrežu za vanjski promet - yay, još jedan nesiguran IOT uređaj izravno povezan s internetom!) • posrednička usluga bi jednog dana mogla biti van mreže/promijeniti svoj API, • … Treba vam više softvera. Više softvera znači više mjesta za greške;) Ali, uradili su nevjerojatan posao i ako želite učiniti tako nešto, prijeđite na njihovu web lokaciju, zaista je sjajno!

Preporučuje se: