Obsah:

[15 min] Weasleyho hodiny / Kto je doma Indikátor - podľa TR -064 (beta): 4 kroky (s obrázkami)
[15 min] Weasleyho hodiny / Kto je doma Indikátor - podľa TR -064 (beta): 4 kroky (s obrázkami)

Video: [15 min] Weasleyho hodiny / Kto je doma Indikátor - podľa TR -064 (beta): 4 kroky (s obrázkami)

Video: [15 min] Weasleyho hodiny / Kto je doma Indikátor - podľa TR -064 (beta): 4 kroky (s obrázkami)
Video: Происхождение человека: документальный фильм об эволюционном путешествии | ОДИН КУСОЧЕК 2024, November
Anonim
Image
Image
[15 min] Weasleyho hodiny / Kto je doma Indikátor - podľa TR -064 (beta)
[15 min] Weasleyho hodiny / Kto je doma Indikátor - podľa TR -064 (beta)

AKTUALIZÁCIA: Pozrite si krok 3.

Dlhý príbeh (TL; DR nižšie): Pred nejakým časom som na svoj počítač napísal malý bash skript, ktorý v sieti vyhľadá zaregistrované zariadenia a porovná ich názvy hostiteľov so zoznamom so súvisiacimi názvami. Vždy, keď sa zariadenie prihlási alebo odhlási zo siete, dostanem upozornenie. Takto by som mal predstavu, kto je doma (nielen, že je niekedy pekné vedieť, kto je doma, a opýtať sa ich, či si chcú dať jedlo alebo niečo podobné, ale môže vám to tiež potenciálne pomôcť vyhnúť sa nepríjemným situáciám). Problém je, že táto metóda nie je veľmi spoľahlivá. Niektoré zariadenia bohužiaľ neodpovedajú na ping (napríklad smartphony) a zdá sa, že prechádzajú do nejakého úsporného režimu, a preto ich nemožno spoľahlivo zistiť pomocou príkazov, ako je nmap. Pokúsil som sa to prekonať požiadavkou najmenej 10 negatívov, než som konečne oznámil, že zariadenie opustilo sieť. Celkove to fungovalo, ale pomaly, nespoľahlivo a nie veľmi pekne. Tiež som chcel byť schopný skontrolovať, kto je doma, bez toho, aby som musel otvoriť počítač. Takže som nechal ležať tieto ESP8266 - a chcel som sa s nimi hrať. Ale nechcel som postaviť 10.120.124.812th meteorologickú stanicu založenú na ESP alebo takú (prečo by ste chceli monitorovať počasie svojim mizerným teplomerom ± 2 ° C, keď môžete napriek tomu navštíviť nejakú webovú stránku?). Plán bol teda zostavený. Nanešťastie sa ukazuje, že ESP zrejme nie je vybavený správnym pingom (čo bolo na začiatok zlé, pamätáte si?), Nehovoriac o plnohodnotnom skenovaní siete. Uvažoval som o tom napísať nejakú knižnicu - ale keďže môj C ++ je veľmi obmedzený, toto je môj prvý projekt ESP a nie som génius v oblasti sieťových vecí, alebo som túto myšlienku zošrotoval. Po nejakom výskume som zistil, že môj router (značka Fritz! Box) skutočne má API! JÉJ!!!! Protokol sa nazýva TR-064. Také inšpiratívne meno, však? Pri skúmaní tejto záležitosti som našiel (dosť mizernú) dokumentáciu online. Trvalo mi nejaký čas, kým som to vypracoval. V nasledujúcich dňoch môžem zverejniť praktickejšie pokyny (a ako komunikovať s/testovať toto API pomocou doplnku prehliadača). Keď som porozumel rozhraniu API, začal som ho používať zo svojho ESP. Krátky príbeh: Spustil som riešenie typu kačica-páska-a-wd40 a robil som, čo som chcel (dotaz na API pre pripojené zariadenia, porovnať ich so zoznamom adries MAC a podľa toho prepínať diódy LED). Chcel som však robustnejšie a flexibilné riešenie a toto API ponúka oveľa viac (môžete zmeniť nastavenia (zapnúť/vypnúť Wi -Fi, zmeniť heslo, otvoriť/zatvoriť hosťovskú wifi, zmeniť výkon signálu), reštartovať smerovač, požiadať o rýchlosť pripojenia, …) - tak som sa rozhodol vytvoriť univerzálnu knižnicu TR -064! TL; DR; Zariadenie, ktoré pomocou LED diód indikuje, kto je práve doma. Funguje skvele, zatiaľ nemá skvelé bývanie (hej - všimli ste si beta v názve?). Na komunikáciu so smerovačom používa protokol SOAP. Napíšte knižnicu Arduino, aby sa tak stalo. Požadované znalosti • Základné znalosti Arduina/ESP • Ak ste si s ESP zostavili príklad Blink, bude to v poriadku! • Ak nie, môžete postupovať podľa prvých dvoch krokov tohto návodu • Spájkovanie prídu vhod, ak chcete opustiť pódium • Niektoré 3D návrhy alebo práce s drevom sa môžu hodiť pre odkaz na projekt housGithub [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] pre rýchlu referenciu.

Zásoby

  • ESP8266 alebo ESP32 na vývojovej doske alebo s iným programátorom (2 ~ 6 €)
  • Kábel USB vhodný pre programátor
  • Napájací adaptér (napr. USB alebo batéria ~ 2 €)
  • Niekoľko LED a rezistorov (~ 1 €)
  • (Puzdro)

=> Okolo 4-6 € za minimálny dizajn. To pre mňa znamená, že niekoľko môžem ľahko zavesiť okolo domu. Ak ste leniví, môžete tiež použiť vývojovú dosku s integrovanými diódami LED (podrobnejšie informácie nájdete v kroku 4).

Krok 1: Nastavte smerovač (voliteľné, ale odporúčané)

Nastavte smerovač (voliteľné, ale odporúčané)
Nastavte smerovač (voliteľné, ale odporúčané)
Nastavte smerovač (voliteľné, ale odporúčané)
Nastavte smerovač (voliteľné, ale odporúčané)

Protokol bol navrhnutý ako všeobecný protokol pre smerovače, ale viem len to, že ho používa (väčšina) smerovačov Fritz! Box (aspoň v Európe veľmi bežný). Neviem o iných značkách. Budem teda predpokladať, že používate Fritz! Box. Ak to dokážete (alebo neurobíte) na akomkoľvek inom smerovači, rád ho pridám do tohto návodu (možno dokonca spustíte krátky zoznam kompatibility?).

Tento krok nie je potrebný, môžete tiež použiť svoj účet správcu, ale to sa zo zrejmých dôvodov neodporúča (môže byť zachytené alebo extrahované z vášho ESP, omylom môžete zmeniť veci, ktoré nechcete, …) - takže poradiť, aby si to urobil.

Každopádne, ideme na to:

  1. Prihláste sa do svojho Fritz! Boxu zadaním fritz.box do panela s URL vášho obľúbeného prehliadača.
  2. Nájdite stránku na vytvorenie nového používateľa FRITZ! Boxu (musíte mať pokročilého, mal by byť v časti Systém, ak ho nemôžete nájsť, skúste aktualizovať svoje zariadenie).
  3. Vytvorte si nový účet, ako vidíte na obrázku (pomocou iného používateľského mena/hesla!).
  4. Odhlásiť sa.

Krok 2: Kód

Image
Image
Hardvér (beta)
Hardvér (beta)
  1. Knižnicu môžete získať z Githubu.

  2. V príkladoch nájdete súbor s názvom home-indikátor.ino, čo je kód pre tento projekt. Umiestnite priečinok examples do domovského priečinka arduino IDE projektu a druhý priečinok do priečinka knižníc v rovnakom domovskom priečinku projektu.
  3. (Re) Spustite IDE.
  4. Otvorte domovský indikátor.ino v IDE a zadajte svoje nastavenia. Malo by byť celkom zrejmé, čo kam ide. Ak máte akékoľvek otázky, dajte mi vedieť!
  5. Teraz ho môžete zostaviť a preniesť do svojho ESP!

Krok 3: Hardvér (beta)

Hardvér (beta)
Hardvér (beta)
Hardvér (beta)
Hardvér (beta)
Hardvér (beta)
Hardvér (beta)

Áno … Toto je krok, kde musím ešte popracovať. Ale myslím, že na webe je dosť materiálu na to, aby sme niečo vymysleli:) Nastavenie ako na obrázkoch je len dióda s odporom ~ 100Ohm zapojenou do GPIO {5, 4, 0, 2}, čo sú D1, Kolíky D2, D3, D4 (v uvedenom poradí) na mojej doske MCU ESP8266 a malý oranžový kábel, ktorý vedie katódy na GND (na mojej doske označené G). Ak ste leniví, môžete urobiť to, čo vidíte na druhom obrázku. Stačí použiť vývojovú dosku s priloženými diódami LED (ako „ESP-202“, pozri obrázky-približne 3,50-5,00 EUR vrátane dopravy). Potom ho môžete jednoducho pripojiť k USB napájaniu alebo použiť priloženú batériu, nakresliť rozhranie na kus papiera a prilepiť ho na stenu. Hotovo. Porty pre túto konkrétnu dosku sú:

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

zhora nadol.

Krok 4: Outlook/Referencie

To je to, čo stále plánujem: 1. Vytvorenie pekného bývania (samozrejme) 2. Pridanie pekného GUI na správu používateľov/LED/MAC/známych zariadení 3. Vylepšenie knižnice (pozri Github) 4. Oprava: niekedy LED diódy reagujte pomaly (trochu to trvá, kým sa nevypnú, potom, čo zariadenie odíde) bez zjavného dôvodu 5. Pripojte vec na chodbu a možno niekoľko ďalších okolo domu. Radi by sme od vás získali nejaké informácie! A ako vždy ma naozaj teší, keď vidím, ako ostatní stavajú sračky, ktoré si vymyslíš, takže si nájdi chvíľku a napíš komentáre a obrázky!:):) Niekoľko ďalších odkazov Tu prepojím pár vecí, ktoré by vám mohli pomôcť: • Referencia na TR-064 • Nejaký chlapík, ktorý si pohráva s plášťom a TR-064 (dobré pochopiť API) • Wikipedia o Harrym Potterovi: Vstup do Weasley Clock • Niektorí chlapci stavajú krásne, ale komplikované Weasly Clock*_*Je založené na aplikácii pre váš telefón, ktorá zisťuje vašu polohu. Ak sa nachádzate v určitých vopred definovaných oblastiach, rozsvieti sa zodpovedajúce svetlo na hodinách. Pre mňa to bolo príliš komplikované a muselo to viesť na mnohých miestach, kde sa to mohlo pokaziť/zlyhať: • Aplikácie je potrebné aktualizovať • Tieto aplikácie musí používať každý • V pohode by mal mať vplyv na súkromie • Aplikácia funguje iba s internetom pripojenie • Na prepojenie komunikácie musíte použiť medziľahlý server (pokiaľ nechcete nastaviť svoj server ako server a otvoriť domácu sieť pre vonkajšiu komunikáciu - hej, ďalšie nebezpečné IOT zariadenie priamo pripojené k internetu!) • prechodná služba sa môže jedného dňa prepnúť do režimu offline/zmeniť svoje API, • … Potrebujete viac softvéru. Viac softvéru znamená viac miest, kde sa dá urobiť chyba;) Ale odviedli úžasnú prácu a ak chcete niečo také urobiť, zamierte na ich stránku, je to naozaj skvelé!

Odporúča: