Kazalo:

[15min] Ura Weasley / Kazalec kdo je doma - temelji na TR -064 (beta): 4 koraki (s slikami)
[15min] Ura Weasley / Kazalec kdo je doma - temelji na TR -064 (beta): 4 koraki (s slikami)

Video: [15min] Ura Weasley / Kazalec kdo je doma - temelji na TR -064 (beta): 4 koraki (s slikami)

Video: [15min] Ura Weasley / Kazalec kdo je doma - temelji na TR -064 (beta): 4 koraki (s slikami)
Video: Маша и Медведь 🐻 Крути педали 🚵‍♂️ (серия 85) 🔥 Новая серия! 2024, November
Anonim
Image
Image
[15min] Ura Weasley / Kazalec kdo je doma - temelji na TR -064 (beta)
[15min] Ura Weasley / Kazalec kdo je doma - temelji na TR -064 (beta)

Posodobi: glej korak 3.

Dolga zgodba (TL; DR spodaj): Pred časom sem na svoj računalnik napisal majhen bash-skript, ki bi skeniral omrežje za registrirane naprave in primerjal njihova imena gostiteljev s seznamom s povezanimi imeni. Vsakič, ko bi se naprava prijavila ali odjavila iz omrežja, bi dobil obvestilo. Tako bi imel idejo, kdo je doma (ne le, da je včasih lepo vedeti, kdo je doma, da jih vprašamo, ali se želijo pridružiti kakšnemu obroku, ampak vam lahko tudi pomaga, da se izognete neprijetnim situacijam). Težava je v tem, da ta metoda ni zelo zanesljiva. Žal nekatere naprave ne odgovarjajo na pingove (npr. Pametni telefoni) in zdi se, da preidejo v način varčevanja z energijo, zato jih z ukazi, kot je nmap, ni mogoče zanesljivo zaznati. To sem poskušal premagati tako, da sem zahteval vsaj 10 negativov, preden sem končno objavil, da je naprava zapustila omrežje. Vse skupaj je delovalo, a počasi, nezanesljivo in ne prav lepo. Prav tako sem želel preveriti, kdo je doma, ne da bi odprl računalnik. Tako sem imel te ESP8266 ležal naokoli - in se hotel igrati z njimi. Nisem pa hotel zgraditi 10.120.124.812. vremenske postaje na osnovi ESP ali podobne (zakaj bi želeli spremljati vreme s svojim sramežljivim termometrom ± 2 ° C, ko vseeno lahko obiščete neko spletno stran?). Tako je bil načrt narejen. Na žalost se je izkazalo, da ESP ni opremljen za pravilno ping (kar je bilo slabo za začetek, se spomnite?), Kaj šele za popolno skeniranje omrežja. Razmišljal sem, da bi za to napisal kakšno knjižnico - ker pa je moj C ++ zelo omejen, je to moj prvi projekt ESP in nisem genij z omrežnimi stvarmi, zato sem to idejo odpravil. Po nekaj raziskavah sem ugotovil, da je moj usmerjevalnik (blagovna znamka Fritz! Box) ima dejansko API! JUHU!!!! Protokol se imenuje TR-064. Tako navdihujoče ime, kajne? Ko sem malo raziskal zadevo, sem na spletu našel (precej neumno) dokumentacijo. Vzelo mi je nekaj časa, da sem to uredil. Morda bom v naslednjih dneh objavil več praktičnih navodil (in kako komunicirati z/preizkusiti ta API z dodatkom brskalnika). Ko sem razumel API, sem ga začel uporabljati s svojim ESP. Na kratko povedano: Zagnala sem rešitev duck-tape-and-wd40 in naredila kar sem želela (poizvedoval sem po API-ju za povezane naprave, jih primerjal s seznamom naslovov MAC in ustrezno preklopil LED). Toda želel sem bolj robustno prilagodljiva rešitev in ta API ponuja toliko več (lahko spremenite nastavitve (vklopite/izklopite wifi, spremenite geslo, odprete/zaprete gostujoči wifi, spremenite moč signala), znova zaženete usmerjevalnik, poizvedujete o hitrosti povezave,…) - zato sem se odločil ustvariti univerzalno knjižnico TR -064! TL; DR; Naprava, ki prek LED diod pokaže, kdo je trenutno doma. Odlično deluje, še nima odličnega stanovanja (hej - opazili beta v naslovu?). Za komunikacijo z usmerjevalnikom uporablja protokol SOAP. Napisal je knjižnico Arduino, da se to zgodi. Potrebno znanje • Osnovno znanje o Arduinu/ESP • Če ste z ESP -jem sestavili primer Blink, boste v redu! • Če ne, lahko sledite prvim dvema korakoma tega navodila. pridi, če želite zapustiti osnovno ploščo • Nekaj 3D oblikovanja in/ali obdelave lesa bi lahko prišlo prav za povezavo do projekta stanovanjaGithub [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] za hitro referenco.

Zaloge

  • ESP8266 ali ESP32 na razvojni plošči ali pri drugem programerju (2 ~ 6 €)
  • USB kabel, ki ustreza programerju
  • Napajalnik (npr. USB ali baterija ~ 2 €)
  • Nekaj LED in uporov (~ 1 €)
  • (Ohišje)

=> Približno 4-6 € za minimalno zasnovo. To zame pomeni, da jih lahko enostavno obesim po hiši. Če ste leni, lahko uporabite tudi razvojno ploščo z vključenimi LED diodami (za več podrobnosti glejte korak 4).

1. korak: nastavite usmerjevalnik (izbirno, vendar priporočljivo)

Nastavitev usmerjevalnika (izbirno, vendar priporočljivo)
Nastavitev usmerjevalnika (izbirno, vendar priporočljivo)
Nastavitev usmerjevalnika (izbirno, vendar priporočljivo)
Nastavitev usmerjevalnika (izbirno, vendar priporočljivo)

Protokol je bil zasnovan kot splošen protokol za usmerjevalnike, vem pa le, da ga uporablja (večina) usmerjevalnikov Fritz! Box (zelo pogost vsaj v Evropi). Za druge znamke ne vem. Zato predvidevam, da uporabljate Fritz! Box. Če lahko to naredite (ali pa tega ne storite) na katerem koli drugem usmerjevalniku, bi ga z veseljem dodal temu navodilu (morda celo začel kratek seznam združljivosti?).

Ta korak ni nujen, lahko uporabite tudi svoj skrbniški račun, vendar to iz očitnih razlogov ni priporočljivo (morda ga prestrežete ali izvlečete iz vašega ESP -ja, morda po nesreči spremenite stvari, ki jih ne želite …) - zato svetujem, da to storite.

Kakorkoli že, gremo:

  1. Prijavite se v svoj Fritz! Box tako, da v vrstico url svojega najljubšega brskalnika vnesete fritz.box.
  2. Poiščite stran za ustvarjanje novega uporabnika FRITZ! Box (morate imeti napredno, mora biti pod System, če je ne najdete, poskusite posodobiti svojo napravo).
  3. Ustvarite nov račun, kot vidite na sliki (z drugim uporabniškim imenom/geslom!).
  4. Odjava.

2. korak: Koda

Image
Image
Strojna oprema (beta)
Strojna oprema (beta)
  1. Knjižnico lahko dobite pri Githubu.

  2. V primerih najdete datoteko home-indicator.ino, ki je koda za ta projekt. Mapo primerov postavite v domačo mapo projekta arduino IDE, drugo mapo pa v mapo knjižnice v isti domači mapi projekta.
  3. (Ponovno) Zaženite IDE.
  4. Odprite home-indicator.ino v IDE in vnesite svoje nastavitve. Jasno bi moralo biti, kaj kam gre. Če imate kakršna koli vprašanja, mi sporočite!
  5. Zdaj ga lahko sestavite in prenesete v svoj ESP!

3. korak: Strojna oprema (beta)

Strojna oprema (beta)
Strojna oprema (beta)
Strojna oprema (beta)
Strojna oprema (beta)
Strojna oprema (beta)
Strojna oprema (beta)

Ja … To je korak, kjer moram še delati. Mislim pa, da je v spletu dovolj materiala, da bi kaj ugotovili:) Nastavitev, kot je na slikah, je le dioda z uporom ~ 100Ohm, priključenim na GPIO {5, 4, 0, 2}, to so D1, Zatiči D2, D3, D4 (v tem vrstnem redu) moje plošče MCU ESP8266 in mali oranžni kabel, ki vodi katode do GND (označeno z G na moji plošči). Če ste leni, lahko naredite, kar vidite na drugi sliki. Uporabite samo razvojno ploščo z vključenimi LED diodami (na primer "ESP-202", glejte slike-okoli 3,50-5,00 €, vključno z poštnino). Nato ga lahko preprosto priključite na napajanje USB ali uporabite priloženo baterijo, na list papirja narišete vmesnik in ga prilepite na steno. Za to posebno ploščo so vrata:

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

od zgoraj navzdol.

4. korak: Outlook/Reference

To še vedno načrtujem: 1. Ustvarjanje lepega ohišja (očitno) 2. Dodajanje lepega grafičnega vmesnika za upravljanje uporabnikov/LED/MAC -jev/znanih naprav 3. Izboljšanje knjižnice (za to glejte Github) 4. Popravilo: včasih LED odzvati se počasi (traja nekaj časa, da se izklopijo, potem ko je naprava odšla) brez očitnega razloga 5. Priključite zadevo na hodnik in morda še kakšno po hiši Bi radi dobili kakšen vložek od vas! In kot vedno, sem zelo vesel, ko vidim, da drugi delajo sranja, ki ste si jih zamislili, zato si vzemite minuto za komentar in objavo slik!:):) Še nekaj referenc Tukaj bom povezal nekaj stvari, ki bi vam lahko pomagale: • referenca TR-064 • nekdo, ki se poigrava z lupino in TR-064 (dobro, da se seznanite z API-jem) • Harry Potter Wikipedia: Vnos Weasley Clock • Nekateri fantje gradijo lepo, a zapleteno Weasly Clock*_*Temelji na aplikaciji za vaš telefon, ki zajema vašo lokacijo. Če ste na določenih vnaprej določenih območjih, se prižge ustrezna lučka na uri. Zame je bilo to preveč zapleteno in je moralo biti na številnih mestih, kjer bi se lahko zlomilo/odpovedalo: • Aplikacije morajo biti posodobljene • Te aplikacije morajo uporabljati vsi • In biti v redu z vplivom na zasebnost • Aplikacija deluje samo z internetom povezava • Za povezovanje komunikacije morate uporabiti vmesni strežnik (razen če želite nastaviti esp kot strežnik in odpreti domače omrežje za zunanji promet - ja, še ena nevarna naprava IOT, ki je neposredno povezana z internetom!) • vmesna storitev lahko nekega dne preneha delovati/spremeni API, •… Potrebujete več programske opreme. Več programske opreme pomeni več mest za napake;) Ampak, naredili so neverjetno delo in če želite narediti kaj takega, pojdite na njihovo spletno stran, res je super!

Priporočena: