Introduction: Smarter

About: Student: Bachelor of Science - Computer Engineering

Hi @ll!

Da es immer noch mit einigem Aufwand für Anfänger verbunden ist, einen ESP8266-01(s) zu flashen und ich persönlich eine IP unabhängige und "sichere" Lösung für mein Garagentor brauchte, habe ich mich entschlossen ein kleines Tutorial zu schreiben.

- Ich zeige den Ablauf des flashens eines ESP8266-01 und eines ESP8266-01s

- Ich zeige die Einstellungen von Firebase

- Ich zeige einen sketch für einen ESP8266-01(s)

Zu einem späteren Zeitpunkt, stelle ich auch eine app passend zu diesem Tutorial bereit, für Heute soll es aber mit den o.g. ausreichen ;)

Viel Spaß !

Step 1: Material

Als erstes brauchen wir die entsprechende Firebase-library, diese downloaden und installieren.

Weiterhin benutze die ESP8266WiFi library, diese auch downloaden und installieren.

Die Hardwarekomponenten sind in der BOM festgehalten.

Step 2: Aufbau

Um den ESP8266-01(s) zum flashen müssen wir diesen in den flashmodus bringen, dies passiert in dem beim starten des ESP, der "GPIO0" pin auf GND gelegt wird.

Bitte wie in den Zeichnungen aufbauen und anschliessen.

Step 3: Code

Der Code ist natürlich relativ variabel, meiner dient als Beispiel für eine Torsteuerung, kann natürlich für alles mögliche benutzt werden.

Weitere Befehle finden sich in den Examples der firebase library.

Step 4: Firebase 1

Ich gehe an dieser Stelle davon aus, das man ein FirebaseDB Konto hat, die Einrichtung eines solchen sollte auch ohne Anleitung funktionieren ;)

Bitte hier ein neues Projekt erstellen.

Step 5: Firebase 2

Unter "Database - Daten" findet man die benötigte URL.

Bitte die "https:// - url" ohne "https://" und ohne das am ende befindliche "/" kopieren, und im Code unter "FIREBASE_HOST" eintragen.

Step 6: Firebase 3

Nun brauchen wir den Datenbank secret für unser Konto.

Diesen erreichen wir unter

Einstellungen(Zahnrad)

Projekteinstellungen

Dienstkonten

Datenbank-Secrets"

Diesen bitte herauskopieren und im Code unter "FIREBASE_AUTH" eintragen.

Step 7: Firebase 4

Weiterhin müssen wie die Regel für unser Projekt so umschreiben, das nur authentifizierte User teilnehmen können, in meinem Beispiel mache ich das mit email, es gibt aber gut dokumentierte Alternativen.

Zunächst gehen wir dazu auf "Database - Regeln".

Hier geben wir:

{ "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}

anstatt des vorhandenen Eintrags ein.

Step 8: Firebase 5

Die Authentifizierungsmethode wählen wir unter "Authentification - Anmeldemethode".

Die Benutzer wählen wir dann unter "Nutzer".

Step 9: Flashen ESP8266-01

Wenn du einen ESP8266-01s flashen möchtest klicke einen step weiter!

Ansonsten überspringe hier nach den nächsten step.

Die Arduino IDE bietet mit einem Arduio UNO OHNE chip eine gute Möglichkeit ESPs zu flashen.

Hierzu die Einstellungen übernehmen, Code einfügen und flashen.

Step 10: Flashen ESP8266-01s

Die Arduino IDE bietet mit einem Arduio UNO OHNE chip eine gute Möglichkeit ESPs zu flashen.
Hierzu die Einstellungen übernehmen, Code einfügen und flashen.

Wer den 01er kennt, das Besondere hier ist "DOUT" setzen und die 1mb mit spiffs umstellen.

Step 11: RUN

So, wenn bis jetzt alles gut gelaufen ist, sollte der sketch nun funktionieren.

Den Aufbau leicht verändern, und man kann in dieser Konfiguration direkt nach dem flashen sogar die Console der IDE benutzen um feedbacks aus zu lesen o.ä.

Wenn nicht:
Nocheinmal sorgfältig die steps durchlesen bitte

Es dauert manchmal bis man diesen kleinen Quälgeist besiegt hat :D

Gerne könnt ihr mir auch Fragen stellen, ich versuche zeitnah zu antworten.

Step 12: Firebase DATABASE

Auf"Database" klicken.

Hier könnt ihr nun app unabhängig Daten einsehen.

Je nach Aufbau kann man hier die Interaktion bzw. die Daten auswerten.

Wenn ihr beispielsweise mehrere Endgeräte benutzt und modifiziert, können komplexe Schaltungen, Chats, SensorDaten und vieles mehr eingepflegt werden.

Ich selber baue mir ein SmartHome auf, bis jetzt kann ich Temperatur, Luftfeuchtigkeit erfassen, das Licht in der Wohunng steuern ( Funksteckdosenseteuerung mit esp8266 ) und das Laufrad unseres Hamsters auswerten ;)

Keine Grenzen!

Viel Spaß :)

Step 13: APP

Eine funktionierende App habe ich schon, allerdings eine Einführung in ai2 (app inventor 2) und das programmieren hierzu scheint mir ein gutes nächstes Tutorial zu sein,...

TUT folgt.....

LED Contest 2017

Participated in the
LED Contest 2017

Arduino Contest 2017

Participated in the
Arduino Contest 2017

Remote Control Contest 2017

Participated in the
Remote Control Contest 2017