Turinys:

[15min] „Weasley Clock“/ kas yra namų indikatorius - remiantis TR -064 (beta): 4 žingsniai (su nuotraukomis)
[15min] „Weasley Clock“/ kas yra namų indikatorius - remiantis TR -064 (beta): 4 žingsniai (su nuotraukomis)

Video: [15min] „Weasley Clock“/ kas yra namų indikatorius - remiantis TR -064 (beta): 4 žingsniai (su nuotraukomis)

Video: [15min] „Weasley Clock“/ kas yra namų indikatorius - remiantis TR -064 (beta): 4 žingsniai (su nuotraukomis)
Video: Toyota Hilux Durability Test #2 2024, Lapkritis
Anonim
Image
Image
[15min] „Weasley Clock“/ kas yra namų indikatorius - remiantis TR -064 (beta versija)
[15min] „Weasley Clock“/ kas yra namų indikatorius - remiantis TR -064 (beta versija)

ATNAUJINIMAS: žr. 3 veiksmą.

Ilga istorija (TL; DR žemiau): Prieš kurį laiką savo kompiuteryje parašiau nedidelį „bash“scenarijų, kuris nuskaitytų tinklą, ar nėra užregistruotų įrenginių, ir palygintų jų pagrindinio kompiuterio pavadinimus su sąrašu su susijusiais pavadinimais. Kiekvieną kartą, kai įrenginys prisijungia ar išeina iš tinklo, gaunu pranešimą. Aš taip pat turėčiau idėją, kas yra namuose (kartais ne tik malonu žinoti, kas yra namuose, paklausti jų, ar jie nori prisijungti prie valgio ar pan., Bet ir gali padėti išvengti nemalonių situacijų). Problema ta, kad šis metodas nėra labai patikimas. Deja, kai kurie įrenginiai neatsako į pingus (pvz., Išmanieji telefonai) ir atrodo, kad jie pereina į tam tikrą energijos taupymo režimą, todėl jie nėra patikimai aptinkami naudojant tokias komandas kaip nmap. Bandžiau tai įveikti reikalaudamas mažiausiai 10 negatyvų, kol galiausiai paskelbiau, kad įrenginys paliko tinklą. Apskritai viskas pavyko, bet lėtai, nepatikimai ir nelabai gražiai. Taip pat norėjau, kad galėčiau patikrinti, kas yra namuose, neatidarydamas savo kompiuterio. Taigi aš turėjau šiuos ESP8266 gulėti ir norėjau žaisti su jais. Bet aš nenorėjau sukurti 10.120.124.812-osios ESP orų stoties ar pan. (Kodėl norėtumėte stebėti orą savo kraupiu ± 2 ° C termometru, kai vis tiek galite tiesiog apsilankyti kokioje nors svetainėje?). Taigi planas buvo sudarytas. Deja, paaiškėja, kad atrodo, kad ESP nėra pasirengusi tinkamai pinguoti (o tai buvo blogai, atsiminkite?), O ką jau kalbėti apie visapusišką tinklo nuskaitymą. Aš norėjau parašyti tam biblioteką, bet kadangi mano C ++ yra labai ribotas, tai yra mano pirmasis ESP projektas ir aš nesu genijus, turintis tinklo dalykų, aš atsisakiau šios idėjos. Atlikęs keletą tyrimų sužinojau, kad mano maršrutizatorius (prekės ženklas Fritz! Box) iš tikrųjų turi API! VALIO!!!! Protokolas vadinamas TR-064. Toks įkvepiantis vardas? Prireikė šiek tiek laiko, kol tai išsiaiškinau. Kitomis dienomis galiu paskelbti daugiau praktinių nurodymų (ir kaip bendrauti su/išbandyti šią API naudojant naršyklės priedą). Kai supratau API, pradėjau ją naudoti iš savo ESP. Trumpai tariant: turiu duck-tape-and-wd40 sprendimą, kuris veikia ir daro tai, ko norėjau (užklausęs prijungtų įrenginių API, palygink juos su MAC adresų sąrašu ir atitinkamai perjungdamas šviesos diodus). Bet aš norėjau tvirtesnio ir lankstus sprendimas, o ši API gali pasiūlyti daug daugiau (galite pakeisti nustatymus (įjungti/išjungti „wifi“, pakeisti slaptažodį, atidaryti/uždaryti svečių „wifi“, pakeisti signalo galią), iš naujo paleisti maršrutizatorių, užklausti ryšio greitį, …) - todėl nusprendžiau sukurti universalią biblioteką TR -064! TL; DR; Įrenginys, kuris per šviesos diodus nurodo, kas šiuo metu yra namuose. Puikiai veikia, dar neturi puikaus būsto (ei - pastebėjote beta pavadinimą?). Naudoja SOAP protokolą bendraudamas su maršrutizatoriumi. Parašė „Arduino“biblioteką, kad tai įvyktų. Reikalingos žinios • Pagrindinės „Arduino“/ESP žinios • Jei su ESP surinksite „Blink“pavyzdį, viskas bus gerai! • Jei ne, galite atlikti pirmuosius du šios instrukcijos veiksmus. • Lituoti gali pravers, jei norite išeiti iš duonos lentos • Kai kurie 3D projektavimo ir (arba) medžio apdirbimo darbai gali būti naudingi būsto „Github“projekto nuorodai [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] greitam nurodymui.

Prekės

  • ESP8266 arba ESP32 plėtros lentoje arba su kitu programuotoju (2 ~ 6 €)
  • USB kabelis, tinkantis programuotojui
  • Maitinimo adapteris (pvz., USB arba baterija ~ 2 €)
  • Keletas šviesos diodų ir rezistorių (~ 1 €)
  • (Korpusas)

=> Maždaug 4-6 € už minimalų dizainą. Man tai reiškia, kad galiu lengvai pakabinti keletą aplink namą. Jei esate tingus, taip pat galite naudoti kūrimo plokštę su šviesos diodais (išsamiau žr. 4 veiksmą).

1 veiksmas: nustatykite maršrutizatorių (neprivaloma, bet patartina)

Nustatykite maršrutizatorių (neprivaloma, bet patartina)
Nustatykite maršrutizatorių (neprivaloma, bet patartina)
Nustatykite maršrutizatorių (neprivaloma, bet patartina)
Nustatykite maršrutizatorių (neprivaloma, bet patartina)

Protokolas buvo sukurtas kaip bendras maršrutizatorių protokolas, tačiau žinau tik tiek, kad (dauguma) „Fritz! Box“maršrutizatoriai (labai paplitę bent jau Europoje) jį naudoja. Nežinau apie kitus prekės ženklus. Taigi manau, kad naudojate „Fritz!“Dėžutę. Jei galite atlikti šį darbą (arba to nepadarysite) naudodami bet kurį kitą maršrutizatorių, mielai pridėčiau jį prie šios instrukcijos (galbūt net pradėkite trumpą suderinamumo sąrašą?).

Šis veiksmas nėra būtinas, taip pat galite tiesiog naudoti savo administratoriaus paskyrą, tačiau dėl akivaizdžių priežasčių tai nepatartina (gali būti perimta arba išgauta iš jūsų ESP, galite netyčia pakeisti dalykus, kurių nenorite …) - taigi aš patariu tai padaryti.

Bet kokiu atveju, mes einame:

  1. Prisijunkite prie „Fritz! Box“, įvesdami fritz.box mėgstamos naršyklės URL juostoje.
  2. Raskite puslapį, kuriame galite sukurti naują „FRITZ! Box“vartotoją (turite būti pažengęs, jis turėtų būti sistemoje, jei nerandate, pabandykite atnaujinti savo įrenginį).
  3. Sukurkite naują paskyrą, kaip matote paveikslėlyje (naudodami kitą vartotojo vardą/slaptažodį!).
  4. Atsijungti.

2 žingsnis: kodas

Image
Image
Techninė įranga (beta versija)
Techninė įranga (beta versija)
  1. Biblioteką galite gauti iš „Github“.

  2. Pavyzdžiuose rasite failą, pavadintą home-indikatorius.ino, kuris yra šio projekto kodas. Įdėkite pavyzdžių aplanką į savo arduino IDE projekto namų aplanką ir kitą aplanką į bibliotekų aplanką tame pačiame projekto namų aplanke.
  3. (Iš naujo) pradėkite IDE.
  4. IDE atidarykite namų indikatorių.ino ir įveskite savo nustatymus. Turėtų būti visiškai akivaizdu, kas kur eina. Jei turite klausimų, praneškite man!
  5. Dabar galite ją surinkti ir perkelti į savo ESP!

3 veiksmas: aparatinė įranga (beta versija)

Techninė įranga (beta versija)
Techninė įranga (beta versija)
Techninė įranga (beta versija)
Techninė įranga (beta versija)
Techninė įranga (beta versija)
Techninė įranga (beta versija)

Taip … Tai yra žingsnis, kai man dar reikia šiek tiek padirbėti. Bet manau, kad internete yra pakankamai medžiagos, kad galėtume ką nors išsiaiškinti:) Sąranka, kaip parodyta paveikslėliuose, yra tik diodas su ~ 100 omų rezistoriumi, prijungtu prie GPIO {5, 4, 0, 2}, kurie yra D1, D2, D3, D4 (tokia tvarka) mano MCU ESP8266 plokštės kaiščiai ir mažas oranžinis kabelis, perkeliantis katodus į GND (pažymėtas G mano lentoje). Jei esate tingus, galite padaryti tai, ką matote antrame paveikslėlyje. Tiesiog naudokite kūrimo plokštę su šviesos diodais (pvz., „ESP-202“, žr. Paveikslėlius-apie 3,50–5,00 € su siuntimu). Tada galite tiesiog prijungti jį prie USB maitinimo šaltinio arba naudoti pridedamą akumuliatorių, nupiešti sąsają ant popieriaus lapo ir priklijuoti prie sienos. Atlikta. Šios konkrečios plokštės uostai yra:

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

Nuo viršaus iki apačios.

4 žingsnis: „Outlook“/nuorodos

Tai aš vis dar planuoju: 1. Sukurti gražų būstą (aišku) 2. Pridėti gražią GUI, skirtą naudotojams/šviesos diodams/MAC/žinomiems įrenginiams valdyti 3. Bibliotekos tobulinimas (žr. „Github“) 4. Pataisymas: kartais šviesos diodai lėtai reaguoti (šiek tiek užtrunka, kol jie išsijungia, kai prietaisas paliekamas) be jokios akivaizdžios priežasties 5. Pakabinkite daiktą prieškambaryje ir galbūt dar keletą aplink namus. Man, kaip visada, labai malonu matyti, kaip kiti kuria jūsų sugalvotus šūdus, todėl skirkite šiek tiek laiko komentuoti ir paskelbti nuotraukas!:):) Kai kurios nuorodos: „Weasley Clock“įrašas • Kai kurie vaikinai kuria gražų, bet sudėtingą „Weasly“laikrodį*_*Tai pagrįsta jūsų telefono programėle, kuri nustato jūsų buvimo vietą. Jei esate tam tikrose iš anksto nustatytose srityse, atitinkama laikrodžio lemputė užsidegs. Man tai buvo per daug sudėtinga ir turėjo daug vietų, kur ji gali sulūžti/nepavykti: • Programos turi būti nuolat atnaujintos ryšys • Ryšiui sujungti turite naudoti tarpinį serverį (nebent norite nustatyti, kad esate esp kaip serveris ir atvertumėte namų tinklą išoriniam srautui - taip, dar vienas nesaugus IOT įrenginys, tiesiogiai prijungtas prie interneto!) tarpinė paslauga vieną dieną gali atsijungti/pakeisti savo API, •… Jums reikia daugiau programinės įrangos. Daugiau programinės įrangos reiškia daugiau vietų, kur galima padaryti klaidą;) Bet jie padarė nuostabų darbą ir, jei norite kažką panašaus padaryti, eikite į jų svetainę, tai tikrai puiku!

Rekomenduojamas: