Sadržaj:

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

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

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

AŽURIRANJE: Pogledajte korak 3.

Duga priča (TL; DR u nastavku): Prije nekog vremena napisao sam malu bash-skriptu na svom računalu koja će skenirati mrežu za registrirane uređaje i usporediti njihova imena hostova s popisom s povezanim imenima. Svaki put kad bi se uređaj prijavio ili odjavio s mreže dobio bih obavijest. Ovako bih imao ideju tko je kod kuće (ne samo da je ponekad lijepo znati tko je kod kuće i pitati ih želi li se pridružiti nekom obroku, već vam također može 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-a. 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đer sam htio moći provjeriti tko je kod kuće, a da nisam otvorio računalo. Pa sam imao ove ESP8266 -e ležeće - i želio sam se igrati s njima. Ali nisam želio izgraditi 10.120.124.812. meteorološku postaju zasnovanu na ESP-u ili takvu (zašto biste htjeli pratiti vrijeme svojim usranim termometrom ± 2 ° C kad svejedno možete posjetiti neku web stranicu?). Tako je plan 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 pretraživanje 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 malo istraživao, otkrio sam da je moj usmjerivač (marka Fritz! Box) zapravo ima API! DAJ !!!! 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 vrijeme da to riješ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 patkaste trake i wd40 koje radi i radi ono što sam htio (postavljanje upita API-ju za povezane uređaje, usporedba s popisom MAC adresa i prebacivanje LED-ova u skladu s tim). Ali htio sam jače 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 mrežu, promijeniti snagu signala), ponovno pokrenuti usmjerivač, upitati brzinu veze,…) - pa sam odlučio stvoriti univerzalnu knjižnicu TR -064! TL; DR; Uređaj koji preko LED dioda pokazuje tko je trenutno kod kuće. Radi odlično, nema još sjajno kućište (hej - primijetio si beta u naslovu?). Koristi SOAP-protokol za komunikaciju s usmjerivačem. Napisao je Arduino knjižnicu kako 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 doći, ako želite napustiti osnovnu ploču • Neki 3D dizajni i/ili obrada drveta mogli bi vam dobro doći za poveznicu na projekt stanovanjaGithub [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] za brzu referencu.

Pribor

  • ESP8266 ili ESP32 na razvojnoj ploči ili kod drugog programera (2 ~ 6 €)
  • USB kabel koji 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 nekoliko objesiti po kući. Ako ste lijeni, možete upotrijebiti i razvojnu ploču s 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 zamišljen kao opći protokol za usmjerivače, ali znam samo da ga (većina) usmjerivača Fritz! Box (vrlo često barem u Europi) koristi. Ne znam za druge marke. Pretpostavit ću, dakle, da koristite Fritz! Box. Ako možete uspjeti (ili to ne učinite) na bilo kojem drugom usmjerivaču, rado ću ga dodati ovom uputstvu (možda čak i započeti kratki popis kompatibilnosti?).

Ovaj korak nije neophodan, mogli biste koristiti i svoj administratorski račun, ali to nije preporučljivo iz očiglednih razloga (moglo bi se presresti ili izvući iz vašeg ESP -a, mogli biste 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 stvaranje novog korisnika FRITZ! Box -a (morate imati napredno mjesto u sustavu, ako ga ne možete pronaći, pokušajte ažurirati svoj uređaj).
  3. Izradite novi račun kao što vidite na slici (koristeći drugo korisničko ime/lozinku!).
  4. Odjavite se.

Korak 2: Kodiranje

Image
Image
Hardver (beta)
Hardver (beta)
  1. Knjižnicu 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 mapu arduino IDE projekta, a drugu u mapu knjižnica u istoj matičnoj mapi projekta.
  3. (Ponovno) Pokrenite IDE.
  4. Otvorite home-indicator.ino u IDE-u i unesite svoje postavke. Trebalo bi biti posve očito što 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 s ~ 100Ohm otpornikom ožičenim 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. Dovoljno je koristiti razvojnu ploču s 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ženu bateriju, nacrtati sučelje na komadu papira i zalijepiti ga na zid. Gotovo. Za ovu određenu ploču portovi su:

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

od vrha do dna.

Korak 4: Outlook/Reference

Ovo još uvijek planiram: 1. Napraviti lijepo kućište (očito) 2. Dodati lijep GUI za upravljanje korisnicima/LED -ovima/MAC -ovima/poznatim uređajima 3. Poboljšanje biblioteke (za to pogledajte Github) 4. Popravak: ponekad LED diode reagirati tromo (potrebno je malo dok se ne isključe, nakon što je uređaj napustio) bez očitog razloga 5. Priključite stvar u hodnik i možda još koju po kući. Voljeli bismo od vas nešto dobiti na znanje! I kao i uvijek, jako me veseli vidjeti druge kako stvaraju 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 tip koji se petlja oko ljuske i TR-064 (dobro da se razumije API) • Harry Potter Wikipedia: Unos Weasley sata • Neki dečki grade lijep, ali kompliciran Weasly sat*_*Temelji se na aplikaciji za vaš telefon koja vam zauzima 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 poslužitelj za povezivanje komunikacije (osim ako ne želite postaviti eSP kao poslužitelj i otvoriti svoju kućnu mrežu za vanjski promet - da, još jedan nesigurni IOT uređaj izravno spojen na internet!) • posrednička služba jednog dana može biti isključena/promijeniti API, • … Treba vam više softvera. Više softvera znači više mjesta za pogreške;) Ali, učinili su nevjerojatan posao i ako želite učiniti nešto takvo, prijeđite na njihovu web stranicu, stvarno je sjajno!

Preporučeni: