Tartalomjegyzék:

[15 perc] Weasley Clock / Who is Home Indicator - TR -064 (béta) alapján: 4 lépés (képekkel)
[15 perc] Weasley Clock / Who is Home Indicator - TR -064 (béta) alapján: 4 lépés (képekkel)

Videó: [15 perc] Weasley Clock / Who is Home Indicator - TR -064 (béta) alapján: 4 lépés (képekkel)

Videó: [15 perc] Weasley Clock / Who is Home Indicator - TR -064 (béta) alapján: 4 lépés (képekkel)
Videó: Platform 9¾ | Harry Potter and the Philosopher's Stone 2024, Július
Anonim
Image
Image
[15 perc] Weasley Clock / Who is Home Indicator - TR -064 (béta) alapján
[15 perc] Weasley Clock / Who is Home Indicator - TR -064 (béta) alapján

FRISSÍTÉS: Lásd a 3. lépést.

Hosszú történet (TL; DR alább): Valamikor régen írtam egy kis bash-szkriptet a számítógépemre, amely átkutatta a hálózatot a regisztrált eszközök után, és összehasonlította azok gazdagépneveit a kapcsolódó nevek listájával. Minden alkalommal, amikor egy eszköz bejelentkezik vagy kijelentkezik a hálózatról, értesítést kapok. Így lenne egy ötletem, hogy ki van itthon (nem csak jó néha tudni, hogy ki van otthon, hogy megkérdezze tőlük, hogy szeretne -e csatlakozni egy étkezéshez vagy ehhez hasonlóhoz, de potenciálisan segíthet elkerülni a kellemetlen helyzeteket is). A probléma az, hogy ez a módszer nem túl megbízható. Sajnos néhány eszköz nem válaszol a ping-ekre (pl. Okostelefonok), és úgy tűnik, hogy valamilyen energiatakarékos módba lépnek, így nem megbízhatóan észlelhetők olyan parancsokkal, mint az nmap. Ezt úgy próbáltam leküzdeni, hogy legalább 10 negatívot igényeltem, mielőtt végre bejelentettem, hogy az eszköz elhagyta a hálózatot. Mindent összevetve működött, de lassan, megbízhatatlanul és nem túl szépen. Azt is szerettem volna ellenőrizni, hogy ki van otthon, anélkül, hogy kinyitnám a számítógépemet. Tehát ezek az ESP8266 -ok hevertek - és játszani akartam velük. De nem akartam megépíteni a 10.120.124.812-es ESP-alapú időjárás-állomást, vagy ilyesmit (miért szeretné figyelni az időjárást a vacak ± 2 ° C-os hőmérőjével, ha egyébként csak meglátogathat egy webhelyet?). A terv tehát elkészült. Sajnos kiderül, hogy úgy tűnik, hogy az ESP nincs felszerelve a megfelelő pingelésre (ami kezdetben rossz volt, emlékszel?), Nemhogy teljes körű hálózati vizsgálatot végezzen. Arra gondoltam, hogy valami könyvtárat írok ehhez - de mivel a C ++ -om nagyon korlátozott, ez az első ESP -projektem, és nem vagyok zseni a hálózati dolgokkal sem, le is mondtam erről az ötletről. Miután kutattam, rájöttem, hogy router (márka Fritz! Box) valójában rendelkezik API -val! HURRÁ!!!! A protokoll neve TR-064. Egy ilyen inspiráló név, igaz? Kutatva az ügyet, találtam egy (meglehetősen gagyi) dokumentációt az interneten. Beletelt egy kis időbe, mire kidolgoztam. Lehet, hogy a következő napokban közzéteszek egy praktikusabb utasítást (és hogyan kell kommunikálni/tesztelni ezt az API-t egy böngészőbővítmény használatával). Miután megértettem az API -t, elkezdtem használni az ESP -ből. Röviden röviden: Futtatok egy kacsa-szalagos és wd40-es megoldást, és azt csinálom, amit akartam (lekérdezem a csatlakoztatott eszközök API-ját, összehasonlítom őket a MAC-címek listájával, és ennek megfelelően kapcsolom a LED-eket). De én robusztusabbat akartam és rugalmas megoldás, és ez az API sokkal többet kínál (megváltoztathatja a beállításokat (be-/kikapcsolhatja a wifit, megváltoztathatja a jelszót, megnyithatja/bezárhatja a vendég wifit, megváltoztathatja a jel teljesítményét), újraindíthatja az útválasztót, lekérdezheti a kapcsolat sebességét,…) - ezért úgy döntöttem, hogy létrehozok egy univerzális TR -064 könyvtárat! TL; DR; Eszköz, amely LED -ek segítségével jelzi, ki tartózkodik otthon. Remekül működik, nincs még nagy háza (hé - észrevette a címben szereplő bétát?). SOAP-protokollt használ az útválasztóval való kommunikációhoz. Írta az Arduino könyvtárat, hogy ez megtörténjen. Szükséges ismeretek • Alapvető Arduino/ESP ismeretek • Ha összeállított egy Blink -példát az ESP -vel, akkor minden rendben lesz! • Ha nem, akkor kövesse az utasítás első két lépését. • Forrasztás jól jöhet, ha el akarja hagyni a kenyeretábla színpadát • Néhány 3D-s tervezés és/vagy famegmunkálás jól jöhet a ház Github projekt linkjéhez [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] gyors hivatkozás céljából.

Kellékek

  • ESP8266 vagy ESP32 a Fejlesztőtáblán vagy más programozóval (2 ~ 6 €)
  • USB kábel a programozóhoz
  • Hálózati adapter (pl. USB vagy akkumulátor ~ 2 €)
  • Néhány LED és ellenállás (~ 1 €)
  • (Ház)

=> Körülbelül 4-6 € minimális kialakítás esetén. Ez azt jelenti számomra, hogy könnyen akaszthatok párat a ház körül. Ha lusta vagy, használhatsz egy LED-ekkel ellátott fejlesztőlapot is (részletesebben lásd a 4. lépést).

1. lépés: Állítsa be az útválasztót (opcionális, de ajánlott)

Állítsa be az útválasztót (opcionális, de ajánlott)
Állítsa be az útválasztót (opcionális, de ajánlott)
Állítsa be az útválasztót (opcionális, de ajánlott)
Állítsa be az útválasztót (opcionális, de ajánlott)

A protokollt általános protokollnak tervezték az útválasztók számára, de csak azt tudom, hogy (a legtöbb) Fritz! Box útválasztó (legalábbis Európában nagyon elterjedt) használja. Más márkákról nem tudok. Tehát feltételezem, hogy Fritz! Boxot használ. Ha ezt a munkát bármely más útválasztón el tudja végezni (vagy elmulasztja), szívesen hozzáadom ehhez az oktatható anyaghoz (esetleg elindít egy rövid kompatibilitási listát?).

Ez a lépés nem szükséges, csak használhatja adminisztrátori fiókját is, de ez nyilvánvaló okokból nem tanácsos (előfordulhat, hogy lehallgatják vagy kibontják az ESP -ből, véletlenül megváltoztathat olyan dolgokat, amelyeket nem szeretne …) - így tanácsolja, hogy tegye meg.

Na mindegy, itt tartunk:

  1. Jelentkezzen be Fritz! Box fiókjába úgy, hogy beírja a fritz.box-ot kedvenc böngészőjének URL-sávjába.
  2. Keresse meg az új FRITZ! Box felhasználó létrehozásának oldalát (előrehaladottnak kell lennie a Rendszer alatt, ha nem találja, próbálja meg frissíteni eszközét).
  3. Hozzon létre egy új fiókot a képen látható módon (másik felhasználónév/jelszó használatával!).
  4. Kijelentkezés.

2. lépés: Kód

Image
Image
Hardver (béta)
Hardver (béta)
  1. A könyvtárat a Githubból szerezheti be.

  2. A példákban talál egy home-indic.ino nevű fájlt, amely a projekt kódja. Helyezze a példák mappát az arduino IDE projekt otthoni mappájába, a másik mappát pedig a könyvtár mappájába ugyanabban a projekt otthoni mappájában.
  3. (Újra) Indítsa el az IDE -t.
  4. Nyissa meg a home-indikátor.ino-t az IDE-ben, és adja meg a beállításokat. Teljesen nyilvánvalónak kell lennie, hogy hova kerül. Ha bármilyen kérdése van, jelezze!
  5. Most összeállíthatja és átviheti az ESP -re!

3. lépés: Hardver (béta)

Hardver (béta)
Hardver (béta)
Hardver (béta)
Hardver (béta)
Hardver (béta)
Hardver (béta)

Igen… Ez az a lépés, ahol még dolgoznom kell. De azt hiszem, elegendő anyag van a weben, hogy kitaláljunk valamit:) A beállítások, mint a képeken, csak egy dióda, amelynek ~ 100 Ohm ellenállása a GPIO -hoz van csatlakoztatva {5, 4, 0, 2}, amelyek a D1, D2, D3, D4 (ebben a sorrendben) az MCU ESP8266 lapom csapjai és a kis narancssárga kábel, amely a katódokat a GND -hez viszi (G jelzéssel a táblán). Ha lusta vagy, megteheted, amit a második képen látsz. Csak használjon egy fejlesztőkártyát a mellékelt LED-ekkel (például az "ESP-202", lásd a képeket-körülbelül 3,50-5,00 €, beleértve a szállítást). Ezután egyszerűen csatlakoztathatja az USB -tápellátáshoz, vagy használhatja a mellékelt akkumulátort, rajzolhat egy felületet egy papírlapra, és ragaszthatja a falra. Kész. Ennek a táblának a portjai a következők:

int userPins [számUser] = {5, 4, 2, 14, 16};

fentről lefelé.

4. lépés: Outlook/hivatkozások

Ezt tervezem továbbra is: 1. Szép ház kialakítása (nyilvánvalóan) 2. Szép GUI hozzáadása a felhasználók/LED -ek/MAC/ismert eszközök kezeléséhez 3. A könyvtár fejlesztése (lásd a Github -ot) 4. Javítás: néha a LED -ek lassan reagáljon (egy kis időbe telik, amíg ki nem kapcsol, miután egy készülék elhagyta) minden nyilvánvaló ok nélkül. 5. Csatlakoztassa a dolgot a folyosóra, és talán még néhányat a ház körül. Szeretnénk segítséget kérni tőletek! És mint mindig, most is nagyon boldog vagyok, amikor látom, hogy mások szart építenek, amit gondoltál, ezért kérlek, szánj egy percet a véleményezésre és a képek közzétételére!:):) Néhány további referenciaLinkelek ide néhány dolgot, amelyek segíthetnek: • TR-064 referencia • Valaki, aki a héjjal és a TR-064-el kavar (jó megérteni az API-t) • Harry Potter Wikipédia: Weasley Clock bejegyzés • Néhány srác egy gyönyörű, de bonyolult Weasly Clock órát épít*_*Ez egy olyan alkalmazáson alapul, amely a telefonjára veszi a tartózkodási helyét. Ha bizonyos előre meghatározott területeken tartózkodik, akkor az óra jelzőfénye kigyullad. Számomra ez túl bonyolult volt, és sok helyen megszakadhat/meghibásodhat: • Az alkalmazásokat naprakészen kell tartani • Mindenkinek használnia kell ezeket az alkalmazásokat • És rendben kell lennie az adatvédelemre gyakorolt hatással • Az alkalmazás csak az interneten működik kapcsolat • Egy közbenső szervert kell használnia a kommunikáció összekapcsolásához (hacsak nem szeretné beállítani, hogy esp legyen szerver, és nyissa meg az otthoni hálózatot a külső forgalom számára - ja, de még egy nem biztonságos IOT -eszköz, amely közvetlenül csatlakozik az internethez!) a köztes szolgáltatás egy nap offline állapotba kerülhet/megváltoztathatja API -ját, •… Több szoftverre van szüksége. A több szoftver azt jelenti, hogy több helyen lehet hibát elkövetni;) De elképesztő munkát végeztek, és ha valami ilyesmit akarsz csinálni, menj át az oldalukra, ez nagyon jó!

Ajánlott: