Innehållsförteckning:

Hemmautomation med Android och Arduino: Öppna porten när du kommer hem: 5 steg
Hemmautomation med Android och Arduino: Öppna porten när du kommer hem: 5 steg

Video: Hemmautomation med Android och Arduino: Öppna porten när du kommer hem: 5 steg

Video: Hemmautomation med Android och Arduino: Öppna porten när du kommer hem: 5 steg
Video: How to use 4 channel Relay to control AC load with Arduino code 2024, November
Anonim
Hemmautomation med Android och Arduino: Öppna porten när du kommer hem
Hemmautomation med Android och Arduino: Öppna porten när du kommer hem

Denna instruktion handlar om att skapa ett hemautomatiseringssystem som ska styras via smartphone, med hjälp av en internetanslutning, så att det kan nås från var som helst du behöver det. Dessutom kommer den att utföra vissa åtgärder när ett kriterium uppfylls (till exempel att tända lampan när smarttelefonen ansluter till ett wifi -hemnätverk, öppna porten när du går in i ett GPS -bestämt område eller allt annat du kanske vill ha).

En befintlig Android -applikation kommer att användas, vilket kräver minsta möjliga kodning: ladda bara upp koden och du är klar. Hjärnan - mikrokontrollern - kommer att vara ett Arduino- eller Arduino -kompatibelt kort, till exempel en Aruino Uno med en Ethernet -sköld eller en NodeMCU ESP8266.

För att utlösa systemet när ett villkor är uppfyllt (GPS -position, tid, ecc …) kommer vi att använda den ökända Tasker; mer om det senare.

Vid förverkligandet av systemet har följande viktiga punkter beaktats:

  • Det måste vara billigt.
  • Det måste vara tillgängligt utanför det lokala hemnätverket (dvs. din wifi).
  • Det måste vara RIKTIGT enkelt och snabbt att bygga och sätta upp.
  • Det måste vara pålitligt.

Med detta sagt kommer hela projektet att kosta cirka 20 € (7,50 € för en ESP8266, 8 € för en reläbräda, resten för ytterligare hårdvara), och det tar cirka 30 minuter att ställa in det hela - inte illa alls.

Så, om du är intresserad, följ den här enkla och snabba guiden och ställ in din egen!

Steg 1: Konfigurera maskinvaran

Konfigurera hårdvaran
Konfigurera hårdvaran

När du har samlat alla dina komponenter är det första du behöver göra att koppla ihop allt.

I det här exemplet kommer vi att ansluta en glödlampa till ESP8266; kom ihåg att du måste vara extremt försiktig när du arbetar med huvudspänningar - hus använder 220V, det kan döda dig! Bryt alltid strömmen innan du arbetar med det, och om du inte är säker, sök efter en experthjälp!

Som sagt: för att hantera sådana spännings- och strömnivåer (som kommer att bränna ut den lilla ESPR8266) måste vi använda ett lämpligt relä (som detta som är 5V logik, lämpligt för standard Arduino, eller detta, ett 3.3V logiskt nivårelä, lämplig för 3.3V pinout av ESP82666); anslutningarna är ganska enkla, följ diagrammet vi har bifogat.

Observera att vissa reläkort (som den vi har länkat) är AKTIVA LÅGA; det betyder att du måste ansluta reläet till marken för att få det att slå på, och vice versa. Om detta är ditt fall erbjuder Homotica en bra lösning; vi får se vilket i nästa stycke.

Steg 2: ESP8266 -konfiguration

ESP8266 -konfiguration
ESP8266 -konfiguration
ESP8266 -konfiguration
ESP8266 -konfiguration
ESP8266 -konfiguration
ESP8266 -konfiguration

Nu när vi har installerat maskinvaran i automatiseringssystemet måste vi programmera mikrokontrollern.

För att göra det behöver vi Arduino -programvaran för att ladda upp den medföljande skissen till ESP8266; så navigera till Arduino nedladdningssida och ta den version som passar dig bäst.

Efter nedladdning installerar du den.

Nu när vi har vår IDE installerad behöver vi det bibliotek som behövs för att skissen ska fungera; för att installera den, öppna App Github Repo och välj Ladda ner från den gröna knappen till höger.

Gå till nedladdningsmappen på din dator och använd en programvara som WinRar eller WinZip för att packa upp filen. öppna den nyskapade mappen "homotica-master" och kopiera den inre mappen med namnet "Homotica" till mappen Arduino Editor Libraries (du hittar den vanligtvis under C: / Users / your_user_name / Documents / Arduino / libraries). Ta bort de återstående filerna i "homotica-master", vi behöver dem inte

Ett steg saknas när vi laddar upp koden till ESP8266: vi måste skaffa biblioteket för att få Arduino IDE att kommunicera med styrelsen, eftersom det inte officiellt stöds.

För att göra det, följ dessa steg (krediter: Github ES8266 Arduino Repo):

  • Starta Arduino och öppna fönstret Filer> Inställningar.
  • Ange "https://arduino.esp8266.com/stable/package_esp8266com_index.json" (utan citattecken) i fältet Ytterligare Board Manager -webbadresser. Du kan lägga till flera webbadresser och separera dem med kommatecken.
  • Öppna Boards Manager från Verktyg> Board -menyn och installera esp8266 -plattformen (sök efter "esp8266" och ladda ner "esp8266 av ESP8266 Community").

Allt är upplagt. Låt oss ta hand om skisskoden.

Öppna Arkiv> Exempel> Homotica> Homotica ESP8266, kopiera ALL koden i en ny skiss och ändra följande parametrar:

  • ssid: ange här namnet på ditt trådlösa nätverk
  • lösenord: ditt wifi -lösenord
  • ip, gateway, subnät: du behöver förmodligen inte röra vid den här inställningen; ändra ip om du vill att din ESP8266 ska ha en annan adress
  • mUdpPort: porten som vi kommer att öppna i routern senare; om du inte vet vad det är, rör det inte
  • kod: en unik kod med åtta tecken som kommer att användas för att autentisera din app; du kan välja vad du vill.

Om du använder en ACTIVE LOW -installation, glöm inte att ringa homotica.setActiveLow () som visas i exempelkoden!

För att avsluta det: lägg till homotica.addUsedPin (5) (som visas i exemplet) för att berätta för ESP8266 vilken GPIO den måste hantera, mellan while -slingan och homotica.set (mUdpPort, kod); radera alla homotica.simulateUdp (…) rader.

Det här är koden du ska ha kvar:

#omfatta

#include #include const char* ssid = "mywifiname"; const char* password = "wifipassword"; IPAddress ip (192, 168, 1, 20); IPAddress -gateway (192, 168, 1, 1); IPAddress -delnät (255, 255, 255, 0); osignerad int mUdpPort = 5858; statisk strängkod = "aBc159"; Homotica homotica; void setup () {WiFi.config (ip, gateway, subnät); WiFi.begin (ssid, lösenord); medan (WiFi.status ()! = WL_CONNECTED) {fördröjning (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- bara om du behöver det homotica.set (mUdpPort, kod); } void loop () {homotica.refresh (); }

När allt är korrekt konfigurerat ändrar du kompilatorinställningarna från Verktyg -menyn enligt den bifogade skärmdumpen och väljer porten som din ESP8266 är ansluten till din dator i Verktyg> Port.

Klicka nu på uppladdning. Din mikrokontroller är klar och klar att köras!

Steg 3: Router och IP

Router och IP
Router och IP
Router och IP
Router och IP

För att kommunicera till ESP8266 från alla nätverk måste vi ber routern att släppa in kommandot vi skickar till den.

För att göra det, navigera till din routers konfigurationssida (vanligtvis 192.168.1.1) och leta efter något som "virtuell server" eller "port forwarding"; du kan hitta den exakta inställningen för din router modell sökning i Google.

I vidarebefordran av portar, skapa en ny regel som tillåter alla anslutningar till ESP8266 (den som konfigurerats tidigare) via ESP8266 -porten (igen, den som konfigurerats tidigare). Ge den namnet Homotica, sätt in ESP8266 IP i IP -fältet och spara.

Om routern du använder inte tillåter dig att göra detta, oroa dig inte: du kommer inte att kunna använda appen från mobilnätet, men det kommer att fungera perfekt inifrån ditt wifi i hemmet.

Nu, för att hänvisa till vår router från omvärlden måste vi känna till dess offentliga IP; nackdelen är att majoriteten av internetleverantörerna inte ger dig en statisk IP, utan en dynamisk i stället, som förändras med tiden.

Men vänta, vi kan lösa detta!

Gå till NoIp, skapa ett nytt konto och skapa sedan ett nytt värdnamn (se bifogad bild). Notera vilket värdnamn du har (i mitt exempel: https://yourhostname.ddns.net) och fortsätt till nästa steg.

(Obs! Du kanske vill att din dator automatiskt ska synkronisera din router -IP med ditt NoIp -värdnamn: ladda ner deras gratisapp för att göra det)

Steg 4: Appkonfiguration

Appkonfiguration
Appkonfiguration
Appkonfiguration
Appkonfiguration
Appkonfiguration
Appkonfiguration

Låt oss ta hand om appen, eller hur?

Ladda ner appen från Play Store -sidan och öppna den.

Öppna den vänstra menyn, välj Boards och skapa en ny. Vi kommer att fylla i parametrarna som vi tidigare definierade i ESP8266 -skisskoden:

  • Arduino -namn: vad du vill (låt detta vara ESP8266)
  • Värd -IP: detta kan vara
    • routerns statiska IP som refereras via NoIp -länk
    • ESP8266 IP om du bara vill använda den inifrån ditt wifi -hemnätverk 192.168.1.20
  • Värdport: den som vi satte upp och öppnade tidigare 5858
  • Auth code: 8-char-koden som vi definierade i skissen aBc195

Spara. Öppna menyn igen, skapa en ny enhet; vi kommer att fästa en glödlampa för demonstration:

  • Namn: ljus
  • Knappnamn: vi använder On, välj vad du föredrar
  • Pin -nummer: stiftet som vi fäster glödlampan på. Var försiktig! På ESP8266 överensstämmer INTE stiftetiketterna (D1, D2 …) med GPIO -stiftnamnet! Sök på Google för att avgöra vilken pin som är vilken GPIO (i vårt exempel: pin 5 är märkt D1)
  • Beteende: du kan välja mellan att slå på, stänga av, ändra status för att "trycka" (slå på och sedan av) enheten.

Spara. Om du har ställt in allt tills nu bör du trycka på På glödlampan.

Coolt, eller hur?

Nu kan du ha roligt med att lägga till fler enheter, ännu fler brädor och ordna dem i scener.

Men för att använda full effekt av det du just skapat måste vi använda Tasker.

Steg 5: Tasker Integration

Tasker Integration
Tasker Integration
Tasker Integration
Tasker Integration
Tasker Integration
Tasker Integration

Om du äger Tasker eller vill köpa den, fortsätt läsa! Vi kommer att använda den för att berätta för Homotica vad de ska göra och när de ska göra det.

I det här exemplet ska vi tända ljuset när vi ansluter till vårt hem wifi och tiden är mellan 16:00 och 18:00.

Öppna Tasker; skapa en ny uppgift (låt den heta Slå på ljus), välj Lägg till> Plugin> Homotica, tryck på penna för att konfigurera plugin. Välj Ljus> På och Spara. Tillbaka till huvudmenyn skapa en ny profil, välj Stat> WiFi ansluten, infoga turné Wifi -namn i fältet SSID; tryck tillbaka och välj Slå på ljus när du anger aktivitet. Nu, tryck länge på den vänstra delen av den nyskapade profilen, välj Lägg till> Tid> Från 16.00 till 18.00 och stäng sedan.

Vi är klara. Vårt ljus tänds när vi kommer hem under den tid vi bestämmer.

Det är praktiskt!

Nu är det din tur: bli kreativ med Homotica och Tasker, och glöm inte att visa oss vad du skapade!

Rekommenderad: