Sisukord:

[15 min] Weasley kell / kes on koduindikaator - põhineb TR -064 -l (beeta): 4 sammu (koos piltidega)
[15 min] Weasley kell / kes on koduindikaator - põhineb TR -064 -l (beeta): 4 sammu (koos piltidega)

Video: [15 min] Weasley kell / kes on koduindikaator - põhineb TR -064 -l (beeta): 4 sammu (koos piltidega)

Video: [15 min] Weasley kell / kes on koduindikaator - põhineb TR -064 -l (beeta): 4 sammu (koos piltidega)
Video: 56 $ gemetrik progresiya yigindi 2024, Juuli
Anonim
Image
Image
[15min] Weasley kell / kes on koduindikaator - põhineb TR -064 -l (beeta)
[15min] Weasley kell / kes on koduindikaator - põhineb TR -064 -l (beeta)

UPDATE: vaadake 3. sammu.

Pikk lugu (TL; DR allpool): mõni aeg tagasi kirjutasin oma arvutisse väikese bash-skripti, mis skanniks võrku registreeritud seadmeid ja võrdleks nende hostinimesid seotud nimedega. Iga kord, kui seade võrku sisse või välja logib, saan märguande. Mul oleks niimoodi idee, kes on kodus (mitte ainult ei ole tore teada, kes on kodus, et küsida neilt, kas nad soovivad mõne söögikorraga liituda, vaid see võib ka aidata teil vältida ebamugavaid olukordi). Probleem on selles, et see meetod ei ole väga usaldusväärne. Kahjuks ei vasta mõned seadmed pingerežiimidele (nt nutitelefonid) ja näivad, et nad lähevad mõnda energiasäästurežiimi, seega pole selliste käskudega nagu nmap usaldusväärselt tuvastatav. Proovisin sellest üle saada, nõudes vähemalt 10 negatiivi, enne kui lõpuks teatasin, et seade võrgust lahkus. Kokkuvõttes see töötas, kuid aeglaselt, ebausaldusväärselt ja mitte eriti kenasti. Samuti tahtsin ma oma arvutit avamata kontrollida, kes on kodus. Nii et mul olid need ESP8266 -d ümberringi - ja tahtsin nendega mängida. Kuid ma ei tahtnud ehitada 10.120.124.812 ESP-põhist ilmajaama või muud sellist asja (miks soovite oma ilmavaese ± 2 ° C termomeetriga ilma jälgida, kui saate lihtsalt mõnda veebisaiti külastada?). Nii et plaan sai tehtud. Kahjuks selgub, et ESP ei tundu olevat piisavalt pingestatud (mis oli alguses halb, mäletate?), Rääkimata täieliku võrgu skannimisest. Mõtlesin selle jaoks mõne raamatukogu kirjutada - aga kuna minu C ++ on väga piiratud, on see minu esimene ESP -projekt ja ma pole ka võrgukraamiga geenius, siis viskasin selle idee maha. Pärast mõningast uurimistööd avastasin, et minu ruuteril (kaubamärk Fritz! Box) on tegelikult API! JAH !!!! Protokolli nimi on TR-064. Selline inspireeriv nimi, eks? Asja uurides leidsin Internetist (üsna jama) dokumentatsiooni. Selle väljatöötamine võttis mul natuke aega. Järgmistel päevadel võin postitada praktilisema juhendamise (ja selle API-ga suhtlemise/testimise brauseri lisandmooduli abil). Kui sain API -st aru, hakkasin seda kasutama oma ESP -st. Lühidalt: mul on pardi-teibi ja wd40 lahendus, mis töötab ja teeb seda, mida tahtsin (küsides ühendatud seadmete API-lt päringuid, võrrelge neid MAC-aadresside loendiga ja lülitades vastavalt LED-e). Aga ma tahtsin tugevamat paindlik lahendus ja sellel API -l on veel palju muud pakkuda (saate seadeid muuta (wifi sisse/välja lülitada, parooli muuta, külaliste wifi avada/sulgeda, signaali võimsust muuta), ruuterit taaskäivitada, ühenduse kiirust pärida …) - nii otsustasin luua universaalse TR -064 raamatukogu! TL; DR; Seade, mis näitab LED -ide kaudu, kes on praegu kodus. Töötab suurepäraselt, tal pole veel suurepärast eluaset (hei - märkasite pealkirjas olevat beetaversiooni?). Kasutab ruuteriga suhtlemiseks SOAP-protokolli. Selle kirjutamiseks kirjutas Arduino raamatukogu. Nõutavad teadmised • Arduino/ESP põhiteadmised • Kui koostasite oma ESP -ga Blinki näite, on teil kõik korras! • Kui ei, siis võite järgida selle juhendi kahte esimest sammu. tuleb kasuks, kui soovite leivaplaadi etapist lahkuda. • Mõni 3D-kujundus ja/või puidutöötlemine võib osutuda kasulikuks eluasemeGithubi projekti lingile [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] kiireks viiteks.

Tarvikud

  • ESP8266 või ESP32 arendusplaadil või mõne muu programmeerijaga (2 ~ 6 €)
  • Programmeerijale sobiv USB -kaabel
  • Toiteadapter (nt USB või aku ~ 2 €)
  • Mõned LED -id ja takistid (~ 1 €)
  • (Korpus)

=> Umbes 4-6 € minimaalse disaini korral. See tähendab minu jaoks, et ma saan mõned maja ümber hõlpsalt riputada. Kui olete laisk, võite kasutada ka arendusplaati koos kaasasolevate LED-idega (vt täpsemalt 4. sammu).

Samm: seadistage oma ruuter (valikuline, kuid soovitatav)

Ruuteri seadistamine (valikuline, kuid soovitatav)
Ruuteri seadistamine (valikuline, kuid soovitatav)
Ruuteri seadistamine (valikuline, kuid soovitatav)
Ruuteri seadistamine (valikuline, kuid soovitatav)

Protokoll oli mõeldud ruuterite üldprotokolliks, kuid ma tean ainult seda, et (enamik) Fritz! Box ruuterid (vähemalt Euroopas väga levinud) kasutavad seda. Teiste kaubamärkide kohta ei tea. Nii et ma eeldan, et kasutate Fritz! Boxi. Kui saate selle mõne muu ruuteriga teha (või ei suuda seda teha), lisan selle hea meelega sellesse juhendamisse (võib -olla isegi alustada lühikest ühilduvusloendit?).

See samm pole vajalik, võite kasutada ka lihtsalt oma administraatori kontot, kuid see ei ole ilmselgetel põhjustel soovitatav (võib -olla teie pealtkuulamine või ESP -st väljavõtmine võib kogemata muuta asju, mida te ei soovi …) - nii soovitan sul seda teha.

Igatahes, siit me läheme:

  1. Logige sisse oma Fritz! Boxi, kirjutades oma lemmikbrauseri URL-i ribale fritz.box.
  2. Leidke leht uue FRITZ! Boxi kasutaja loomiseks (teil peab olema täiendus, see peaks olema jaotises Süsteem, kui te seda ei leia, proovige oma seadet värskendada).
  3. Looge uus konto, nagu näete pildil (kasutades teist kasutajanime/parooli!).
  4. Logi välja.

2. samm: kood

Image
Image
Riistvara (beeta)
Riistvara (beeta)
  1. Raamatukogu saate Githubist.

  2. Näidetest leiate faili nimega home-indikaator.ino, mis on selle projekti kood. Asetage näidiste kaust oma arduino IDE projekti kodukataloogi ja teine kaust samasse projekti kodukataloogi teekide kausta.
  3. (Uuesti) käivitage IDE.
  4. Avage IDE-s kodu-indikaator.ino ja sisestage oma seaded. Peaks olema üsna selge, mis kuhu läheb. Kui teil on küsimusi, andke mulle sellest teada!
  5. Nüüd saate selle kompileerida ja oma ESP -sse üle kanda!

3. toiming: riistvara (beeta)

Riistvara (beeta)
Riistvara (beeta)
Riistvara (beeta)
Riistvara (beeta)
Riistvara (beeta)
Riistvara (beeta)

Jah… See on samm, kus pean veel natuke tööd tegema. Aga ma arvan, et veebis on piisavalt materjali, et midagi välja mõelda:) Seade nagu piltidel, on lihtsalt diood, mille takisti on ~ 100Ohm ühendatud GPIO -ga {5, 4, 0, 2}, mis on D1, D2, D3, D4 (selles järjekorras) minu MCU ESP8266 plaadi tihvtid ja väike oranž kaabel, mis viib katoodid GND -sse (minu plaadil märgitud G). Kui olete laisk, saate teha seda, mida näete teisel pildil. Kasutage lihtsalt arendusplaati koos LED-idega (nagu "ESP-202", vt pilte-umbes 3,50-5,00 € koos saatmisega). Seejärel saate selle lihtsalt ühendada USB -toiteallikaga või kasutada kaasasolevat akut, joonistada paberile liides ja kleepida see seina külge. Valmis. Selle konkreetse plaadi jaoks on sadamad järgmised:

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

ülevalt alla.

Samm: Outlook/viited

Seda plaanin siiani: 1. ilusa korpuse tegemine (ilmselgelt) reageerige loidult (kulub veidi aega, kuni need välja lülituvad, pärast seadme lahkumist) ilma ilmselge põhjuseta 5. Ühendage asi koridoris ja võib -olla veel paaril maja ümber. Ja nagu alati, teeb mulle tõeliselt rõõmu, kui näen, kuidas teised ehitavad teie poolt välja mõeldud jama, nii et palun leidke aega kommentaaride tegemiseks ja piltide postitamiseks!:):) Veel mõned viitedLingin siia mõned asjad, mis võivad teid aidata: • viide TR-064: Weasley kella sissekanne • Mõned poisid ehitavad ilusat, kuid keerulist Weasly Clocki*_*See põhineb teie telefoni rakendusel, mis võtab teie asukoha. Kui viibite teatud eelnevalt määratletud piirkondades, süttib kella vastav tuli. Minu jaoks oli see liiga keeruline ja sellel oli palju kohti, kus see võib puruneda/ebaõnnestuda. ühendus • Suhtluse ühendamiseks peate kasutama vahepealset serverit (välja arvatud juhul, kui soovite seadistada esp serveriks ja avada koduvõrgu väliseks liikluseks - jah, veel üks ebaturvaline Interneti -ühendusega IOT -seade!) vahepealne teenus võib ühel päeval võrguühenduseta minna/muuta oma API -d, •… vajate rohkem tarkvara. Rohkem tarkvara tähendab rohkem kohti vea tegemiseks;) Kuid nad tegid hämmastavat tööd ja kui soovite midagi sellist teha, minge nende saidile, see on tõesti suurepärane!

Soovitan: