Turinys:
- 1 veiksmas: nustatykite aparatūrą
- 2 veiksmas: ESP8266 konfigūravimas
- 3 žingsnis: maršrutizatorius ir IP
- 4 veiksmas: programos konfigūravimas
- 5 žingsnis: „Tasker“integravimas
Video: Namų automatizavimas naudojant „Android“ir „Arduino“: atverkite vartus, kai grįšite namo: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Ši instrukcija skirta nustatyti namų automatikos sistemą, kuri būtų valdoma išmaniuoju telefonu, naudojant interneto ryšį, kad ją būtų galima pasiekti iš bet kurios jums reikalingos vietos. Be to, jis atliks tam tikrus veiksmus, kai bus įvykdyti tam tikri kriterijai (pvz., Įjungs šviesą, kai išmanusis telefonas prisijungs prie namų „Wi -Fi“tinklo, atvers vartus, kai įeisi į GPS nustatytą sritį, arba visa kita, ko galbūt norėsi).
Bus naudojama esama „Android“programa, kuriai reikia mažiausiai kodavimo: tiesiog įkelkite kodą ir baigsite. Smegenys - mikrovaldiklis - bus „Arduino“arba su „Arduino“suderinama plokštė, pvz., „Aruino Uno“su „Ethernet“ekranu arba „NodeMCU ESP8266“.
Norėdami suaktyvinti sistemą, kai įvykdoma tam tikra sąlyga (GPS padėtis, laikas, ecc …), naudosime žinomą Tasker; daugiau apie tai vėliau.
Įgyvendinant sistemą, buvo atsižvelgta į šiuos pagrindinius dalykus:
- Jis turi būti pigus.
- Jis turi būti pasiekiamas iš išorinio namų tinklo (ty jūsų „Wi -Fi“).
- Tai turi būti TIKRAI paprasta ir greita, kad jį būtų galima pastatyti ir nustatyti.
- Jis turi būti patikimas.
Tai reiškia, kad visas projektas kainuos apie 20 € (7,50 € už ESP8266, 8 € už relės plokštę, likusi dalis - už papildomą aparatūrą) ir užtruksite apie 30 minučių, kad viską nustatytumėte - visai neblogai.
Taigi, jei jus domina, sekite šį paprastą ir greitą vadovą ir nustatykite savo!
1 veiksmas: nustatykite aparatūrą
Surinkus visus komponentus, pirmiausia reikia viską sujungti.
Šiame pavyzdyje mes prijungsime lemputę prie ESP8266; nepamirškite, kad dirbdami su pagrindine įtampa turite būti labai atsargūs - namai naudoja 220 V įtampą, tai gali jus pražudyti! Prieš pradėdami dirbti, visada išjunkite maitinimą, o jei nesate tikri, ieškokite ekspertų pagalbos!
Tai reiškia: norint valdyti tokius įtampos ir srovės lygius (kurie sudegins mažytį ESPR8266), turime naudoti tinkamą relę (tokią, kokia yra 5 V logika, tinkama standartiniam „Arduino“, arba šią, 3,3 V loginio lygio relę), tinka ESP82666 3.3V kištukui); jungtys yra gana paprastos, vadovaukitės pridėta schema.
Atkreipkite dėmesį, kad kai kurios perdavimo plokštės (pvz., Mūsų susietos) yra ACTIVE LOW; tai reiškia, kad jūs turite prijungti relę prie žemės, kad ji įsijungtų, ir atvirkščiai. Tokiu atveju „Homotica“siūlo puikų sprendimą; pamatysime kitoje pastraipoje.
2 veiksmas: ESP8266 konfigūravimas
Dabar, kai nustatėme automatikos sistemos aparatinę įrangą, turime užprogramuoti mikrovaldiklį.
Norėdami tai padaryti, mums reikės „Arduino“programinės įrangos, kad pateiktą eskizą įkeltume į ESP8266; todėl eikite į „Arduino“atsisiuntimo puslapį ir paimkite jums tinkamiausią versiją.
Atsisiuntę įdiekite.
Dabar, kai įdiegėme IDE, mums reikia bibliotekos, reikalingos eskizui veikti; Norėdami jį įdiegti, atidarykite „Github Repo“programą ir dešinėje pusėje esančiame žaliame mygtuke pasirinkite Atsisiųsti.
Eikite į kompiuterio atsisiuntimo aplanką ir naudodami tokią programinę įrangą kaip „WinRar“ar „WinZip“išpakuokite failą; atidarykite naujai sukurtą aplanką „homotica-master“ir nukopijuokite vidinį aplanką pavadinimu „Homotica“į aplanką „Arduino Editor Libraries“(paprastai jį rasite aplanke C: / Users / your_user_name / Documents / Arduino / libraries). Ištrinkite likusius failus „homotica-master“, mums jų neprireiks
Įkeliant kodą į ESP8266 trūksta vieno žingsnio: turime gauti biblioteką, kad „Arduino IDE“galėtų bendrauti su lenta, nes ji oficialiai nepalaikoma.
Norėdami tai padaryti, atlikite šiuos veiksmus (kreditai: „Github ES8266 Arduino Repo“):
- Paleiskite „Arduino“ir atidarykite langą Failai> Nuostatos.
- Į lauką Papildomi valdytojo URL įveskite „https://arduino.esp8266.com/stable/package_esp8266com_index.json“(be kabučių). Galite pridėti kelis URL, atskirdami juos kableliais.
- Atidarykite „Boards Manager“iš „Tools“> „Board“meniu ir įdiekite platformą esp8266 (ieškokite „esp8266“ir atsisiųskite „esp8266 by ESP8266 Community“).
Viskas nustatyta. Pasirūpinkime eskizo kodu.
Atidarykite Failas> Pavyzdys> Homotica> Homotica ESP8266, nukopijuokite VISĄ kodą į naują eskizą ir pakeiskite šiuos parametrus:
- ssid: įveskite čia savo belaidžio tinklo pavadinimą
- slaptažodis: jūsų „wifi“slaptažodis
- ip, vartai, potinklis: tikriausiai nereikės liesti šių nustatymų; pakeiskite IP, jei norite, kad jūsų ESP8266 adresas būtų kitoks
- „mUdpPort“: prievadas, kurį vėliau atidarysime maršrutizatoriuje; jei nežinote, kas tai yra, nelieskite jo
- kodas: unikalus 8 simbolių kodas, kuris bus naudojamas jūsų programai autentifikuoti; galite pasirinkti ką tik norite.
Jei naudojate ACTIVE LOW sąranką, nepamirškite paskambinti homotica.setActiveLow (), kaip parodyta pavyzdiniame kode!
Norėdami užbaigti: pridėkite homotica.addUsedPin (5) (kaip parodyta pavyzdyje), kad nurodytumėte ESP8266, kurį GPIO jis turi tvarkyti, tarp ciklo while ir homotica.set (mUdpPort, kodas); ištrinkite visas homotica.simulateUdp (…) eilutes.
Šį kodą turėtumėte palikti:
#įtraukti
#include #include const char* ssid = "mywifiname"; const char* slaptažodis = "wifipassword"; IP adresas ip (192, 168, 1, 20); „IPAddress“vartai (192, 168, 1, 1); IPAddress potinklis (255, 255, 255, 0); unsigned int mUdpPort = 5858; statinis eilutės kodas = "aBc159"; Homotica homotica; void setup () {WiFi.config (ip, šliuzas, potinklis); WiFi.begin (ssid, slaptažodis); while (WiFi.status ()! = WL_CONNECTED) {delay (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- tik jei jums to reikia homotica.set (mUdpPort, kodas); } void loop () {homotica.refresh (); }
Kai viskas bus teisingai nustatyta, pakeiskite kompiliatoriaus nustatymus meniu Įrankiai pagal pridėtą ekrano kopiją ir pasirinkite prievadą, prie kurio jūsų kompiuteris prijungtas ESP8266, skiltyje Įrankiai> Prievadas.
Dabar spustelėkite įkelti. Jūsų mikrovaldiklis yra nustatytas ir paruoštas veikti!
3 žingsnis: maršrutizatorius ir IP
Kad galėtume bendrauti su ESP8266 iš kiekvieno tinklo, turėsime liepti maršrutizatoriui įsileisti jam siunčiamą komandą.
Norėdami tai padaryti, eikite į savo maršrutizatoriaus konfigūracijos puslapį (paprastai 192.168.1.1) ir ieškokite kažko panašaus į „virtualų serverį“arba „prievado peradresavimą“; galite rasti tikslų maršrutizatoriaus modelio nustatymą, ieškodami „Google“.
Uostų persiuntimo metu sukurkite naują taisyklę, leidžiančią visus ryšius su ESP8266 (ta, kuri buvo sukonfigūruota anksčiau) per ESP8266 prievadą (dar kartą tą, kuri buvo sukonfigūruota anksčiau). Pavadinkite jį „Homotica“, įveskite ESP8266 IP į IP lauką ir išsaugokite.
Jei jūsų naudojamas maršrutizatorius neleidžia to padaryti, nesijaudinkite: negalėsite naudotis programa iš mobiliojo tinklo, tačiau ji puikiai veiks iš jūsų namų „Wi -Fi“.
Dabar, norėdami kreiptis į mūsų maršrutizatorių iš išorinio pasaulio, turime žinoti jo viešąjį IP; Neigiama yra tai, kad dauguma interneto tiekėjų neteikia jums statinio IP, o dinaminio, kuris laikui bėgant keičiasi.
Bet palaukite, mes galime tai išspręsti!
Eikite į „NoIp“, sukurkite naują paskyrą, tada sukurkite naują pagrindinio kompiuterio pavadinimą (žr. Pridėtą paveikslėlį). Atkreipkite dėmesį į tai, kokį pagrindinio kompiuterio pavadinimą turite (mano pavyzdyje: https://yourhostname.ddns.net) ir pereikite prie kito veiksmo.
(Pastaba: galbūt norėsite, kad jūsų kompiuteris automatiškai sinchronizuotų maršrutizatoriaus IP su jūsų „NoIp“pagrindinio kompiuterio pavadinimu: atsisiųskite nemokamą programą, kad tai padarytumėte)
4 veiksmas: programos konfigūravimas
Pasirūpinkime programa, ar ne?
Atsisiųskite programą iš „Play“parduotuvės puslapio ir atidarykite.
Atidarykite kairįjį meniu, pasirinkite Lentos ir sukurkite naują. Mes užpildysime parametrus, kuriuos anksčiau apibrėžėme ESP8266 eskizo kode:
- „Arduino“vardas: ko norite (tegul tai bus ESP8266)
-
Pagrindinio kompiuterio IP: tai gali būti
- maršrutizatoriaus statinis IP, nurodytas naudojant „NoIp“nuorodą
- ESP8266 IP, jei norite jį naudoti tik iš savo namų „Wi -Fi“tinklo 192.168.1.20
- Priimančiosios prievadas: tas, kurį mes nustatėme ir atidarėme anksčiau 5858
- Autentifikacijos kodas: 8 ženklų kodas, kurį apibrėžėme eskize aBc195
Sutaupyti. Vėl atidarykite meniu, sukurkite naują įrenginį; demonstracijai pritvirtinsime lemputę:
- Pavadinimas: šviesa
- Mygtuko pavadinimas: naudosime „On“, pasirinkite tai, kas jums labiau patinka
- Smeigtuko numeris: kaištis, prie kurio pritvirtinome lemputę. Būk atsargus! ESP8266 kaiščių etiketės (D1, D2…) NEPATIKRA GPIO kaiščio pavadinimo! Ieškokite „Google“, kad nustatytumėte, kuris kaištis yra GPIO (mūsų pavyzdyje: 5 kaištis pažymėtas D1)
- Elgesys: galite pasirinkti įjungti, išjungti, pakeisti „stumti“(įjungti, tada išjungti) įrenginį.
Sutaupyti. Jei iki šiol viską teisingai nustatėte, lemputė turi įsijungti.
Šaunu, ar ne?
Dabar galite smagiai pridėti daugiau įrenginių, dar daugiau plokščių ir sudėti jas į scenas.
Tačiau norėdami visu pajėgumu naudoti tai, ką ką tik sukūrėte, turėsime naudoti „Tasker“.
5 žingsnis: „Tasker“integravimas
Jei jums priklauso „Tasker“arba norite jį nusipirkti, skaitykite toliau! Mes jį naudosime norėdami pasakyti „Homotica“, ką ir kada daryti.
Šiame pavyzdyje mes įjungsime šviesą, kai prisijungsime prie namų „Wi -Fi“IR laikas yra nuo 16 iki 18 val.
Atidarykite „Tasker“; sukurkite naują užduotį (pavadinkite ją Įjungti šviesą), pasirinkite Pridėti> Papildinys> „Homotica“, paspauskite pieštuko mygtuką, kad sukonfigūruotumėte papildinį. Pasirinkite Šviesa> Įjungti ir išsaugoti. Grįžę į pagrindinį meniu sukurkite naują profilį, pasirinkite Valstybė> „Wi -Fi“prijungtas, įterpkite „Wifi“pavadinimą lauke SSID; paspauskite atgal ir pasirinkite Įjungti šviesą kaip įvestą veiklą. Dabar ilgai paspauskite kairę naujai sukurto profilio dalį, pasirinkite Pridėti> Laikas> Nuo 16 iki 18 val., Tada uždarykite.
Mes baigėme. Mūsų šviesa užsidegs, kai įeisime į namus nustatytu laiku.
Tai patogu!
Dabar jūsų eilė: būkite kūrybingi naudodami „Homotica“ir „Tasker“ir nepamirškite parodyti mums, ką sukūrėte!
Rekomenduojamas:
Namų automatizavimas naudojant „Raspberry Pi“naudojant relės lentą: 7 žingsniai
Namų automatizavimas naudojant „Raspberry Pi“naudojant relės lentą: Dauguma žmonių nori didelio komforto, tačiau už priimtiną kainą. Jaučiamės tingūs apšviesti namus kiekvieną vakarą, kai saulė nusileidžia, ir kitą rytą, vėl išjungdami šviesą arba įjungdami/išjungdami oro kondicionierių/ventiliatorių/šildytuvus
Infraraudonųjų spindulių namų automatizavimas naudojant „Arduino“: 5 žingsniai
Infraraudonųjų spindulių namų automatizavimas naudojant „Arduino“: ARDUINO HOME AUTOMATION Namų automatizavimas paprasčiausiai reiškia, kad tai, ką įprastai darote rankiniu būdu, reikia atlikti automatiškai. Paprastai atsistosite, kad apsuktumėte jungiklį, o kas būtų, jei galėtumėte tiesiog paspausti nuotolinio valdymo pultą ir jūsų lemputė automatiškai užsidegtų
„Bluetooth“namų automatizavimas naudojant „Android“: 3 žingsniai
„Bluetooth“namų automatizavimas per „Android“: gyvenimas XXI amžiuje yra automatizavimo šimtmetis, tačiau ne visi turi tokią prabangą, nesijaudinkite! Šis nurodymas jums tiksliai pasakys, kaip automatizuoti savo prietaisus, kad galėtumėte juos įjungti arba išjungti tiesiog palietę mygtuką
Paprasčiausias namų automatizavimas naudojant „Bluetooth“, „Android“išmanųjį telefoną ir „Arduino“: 8 žingsniai (su paveikslėliais)
Paprasčiausia namų automatizavimas naudojant „Bluetooth“, „Android“išmanųjį telefoną ir „Arduino“. Tai labai lengva pastatyti ir jį galima pastatyti per kelias valandas. Savo versijoje, kurią čia paaiškinu, galiu
Paprasta namų automatizavimas naudojant „Raspberry Pi3“ir „Android“dalykus: 5 žingsniai (su nuotraukomis)
Paprasta namų automatizavimas naudojant „Raspberry Pi3“ir „Android“dalykus: idėja yra sukurti „išmanųjį HOME““ kur galima valdyti buitinius prietaisus naudojant „Android Things“ir „Raspberry Pi“. Projektą sudaro namų prietaisų, tokių kaip šviesa, ventiliatorius, variklis ir kt., Valdymas. Reikalingos medžiagos: Raspberry Pi 3HDMI Ca