Smarte Wohnraumlüftung: Programmierung

Das Projekt smarte Wohnraumlüftung ist in vollem Gange. Die Hardware wurde aufgebaut, nun gilt es den Mikrocontroller mit der IR-Blaster Software zu beschreiben. Generell gibt es dazu zwei Wege. Entweder man installiert die IDE, lädt den Quelltext, kompiliert diesen und programmiert dann den Mikrocontroller. Oder man programmiert den Mikrocontroller direkt mit einem fertigen Image. Beide Wege werde ich hier aufzeigen:

Programmierung mittels Arduino IDE

 

1.) Arduino IDE Installieren:
Die Arduino IDE muss hier heruntergeladen und anschließend installiert werden.

2.) ESP8266 Arduino Core installieren:
Die Arduino IDE öffnen, Datei->Voreinstellungen öffnen und unter “Zusätzliche Boardverwalter-URLs” folgende URL eintragen : http://arduino.esp8266.com/stable/package_esp8266com_index.json und das Fenster mit “OK” schließen.

 

 

 

Anschließend Werkzeuge->Board:”Arduino/Genuino Uno”->Boardverwalter… öffnen, nach unten scrollen und beim Eintrag “esp8266 by ESP8266 Community” auf “Installieren” klicken. Anschließend das Fenster schließen.

 

 

 

Danach unter Werkzeuge->Board:”Arduino/Genuino Uno” den Eintrag “NodeMCU 1.0 (ESP-12E Module)” auswählen. Unter Werkzeuge sollte eine CPU Frequenz von 80 MHz, eine Flash Size von 4M (3M SPIFFS) und ein Upload Speed von 115200 ausgewählt sein/werden.

 

 

3.) NodeMCU Board anschließen
NodeMCU-Board am USB-Port anschließen.

4.) Port auswählen
Den Windows Gerätemanager öffnen (Systemsteuerung->System->Geräte-Manager) und unter “Anschlüsse (COM & LPT)” den Anschluss “Silicon Labs CP210x USB to UART Bridge” suchen. In Klammern steht der verwendete Port, z.B. COM4. Diesen Port in der Arduino IDE unter Werkzeuge->Port auswählen.

 

 

5.) Bibliotheken installieren
Sketch->Bibliothek einbinden->Bibliotheken verwalten öffnen. In der Suche nachfolgende Bibliotheknamen eingeben und jeweils durch einen Klick auf das Modul “Installieren” (falls nicht bereits vorhanden):

  • ESP8266WebServer
  • ESP8266WiFi
  • ArduinoJson
  • WiFiManager
  • NTPClient
  • IRremoteESP8266

6.) Quelltext öffnen
Herunterladen der aktuellen Version von IRController.ino von GitHub. Anschließend in der Arduino IDE die Datei öffnen.

7.) NodeMCU programmieren
In der Arduino IDE mit Sketch->Hochladen das IR-Blaster-Programm an die NodeMCU übertragen. Warten bis das Übertragen beendet ist (100%).

8.) Neustart
Das NodeMCU Board muss nun aus- und wieder eingesteckt werden.

(9.) Binary zur Weitergabe erstellen
Durch den Aufruf von Sketch->Kompilierte Binärdatei exportieren in der Arduino IDE, wird im gleichen Ordner wie die .ino Datei eine .bin Datei erstellt. Diese Datei kann, wie im Folgenden beschrieben, mit der “NodeMCU-Flasher Software” vereinfacht übertragen werden kann.

 

Fertiges Image flashen

 

1.) NodeMCU flasher-Software herunterladen

Die NodeMCU Flasher-Software herunterladen und entpacken. Anschließend das Archiv entpacken und wahlweise die 32- oder 64-Bit Version (unter /Win32/Release bzw. /Win64/Release) namens ReleaseESP8266Flasher.exe starten.

2.) Image öffnen

Als ersten dieses vorkompiliertes Image von mir oder ein beliebiges anderes Image herunterladen und in der Flasher-Software unter Config öffnen (Zahnrad dazu anklicken).

 

 

 

3.) Parameter setzen

Unter dem Reiter Advanced die Baudrate auf 115200, die Flash Size auf 4MByte, den Flash speed auf 80MHz und den SPI Mode auf DIO setzen. Unter dem Reiter Operation den passenden Port auswählen (siehe dazu Punkt 4 in der vorhergehenden Beschreibung).

 

 

4.) NodeMCU programmieren
Den Button Flash auf dem Reiter Operation drücken und warten bis das Übertragen beendet ist (100%).

5.) Neustart
Das NodeMCU Board muss nun aus- und wieder eingesteckt werden.

 

Smarte Wohnraumlüftung: Konzept
Smarte Wohnraumlüftung: Hardware
Smarte Wohnraumlüftung: Programmierung
Smarte Wohnraumlüftung: WLAN einrichten
Smarte Wohnraumlüftung: IR-Befehle senden/empfangen

4 Kommentare

  • Test

    Kann mir jemand den Quellcode von der oberen Binärdatei schicken? Der Quellcode in Github ist mit der IP Konfiguration im WLAN Manager leider ziemlich umgeändert.

    Antworten
    • Admin

      Hallo, den hab ich leider nicht mehr vorliegen. Aber kannst Du nicht einfach eine ältere Version von Github auschecken, ist ja versioniert?

      Antworten
      • Test

        Das Problem ist dass die vorigen Versionen älter sind als die obige Binärdatei. Und die jetztige Version hat schon mehr Funktionen, die ich nicht brauche (z.B.: die IP Konfiguration im WLAN). Wenn ich die Binäredatei nehme, brauche ich keine IP einstellen aber wenn ich die jetztige Version nehme muss ich eine IP Adresse und Gateway angeben.

        Antworten
  • Test

    Das Problem ist dass die vorigen Versionen älter sind als die obige Binärdatei. Und die jetztige Version hat schon mehr Funktionen, die ich nicht brauche (z.B.: die IP Konfiguration im WLAN). Wenn ich die Binäredatei nehme, brauche ich keine IP einstellen aber wenn ich die jetztige Version nehme muss ich eine IP Adresse und Gateway angeben.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert