Kompilieren Sie eine benutzerdefinierte Firmware für ESP8266 (Tasmota, ESPurna etc.) mit Atom

7 Minuten des Lesens
ZIELE DES FÜHRERS
  • Vervollständigen Sie die Firmware mit der Atom-Software Sonoff-TasmotaDamit kann es auf einem kompatiblen Gerät basierend auf installiert werden SOC ESP8266 (ITEAD Sonoff und dergleichen)
  • Schwierigkeitsgrad: basso
KONZEPTE GEGENÜBER:
  • Software-Kompilierung
VERWENDETE SOFTWAREKOMPONENTEN:
Voraussetzungen
  • ein Adapter USB / TTL und sein USB-Verbindungskabel (optional)
VERWENDETE PHYSIKALISCHE GERÄTE:
  • Ein Computer (Apple, Windows oder Linux).
GUIDE mehr angezeigt für:

Alle Umgebungen

Hinweise und Haftungsausschluss
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • Änderungen in provorher ist a proEigenverantwortung sowie a proErstes Risiko und erste Gefahr (dieser Leitfaden dient nur zu Bildungszwecken);
  • Änderungen in probevor ein Gerät die Garantie erlischt.
Fahrbericht: 1

VORSICHT: Dieser Leitfaden ist Teil von Masterguide inDomus widmet sich riproGerätegewichtung basierend auf ESP8266 SOC.

Abstrakt

Bekanntlich basieren Geräte auf SOC (System-On-A-Chip) ESP8266 (die der Familie ITEAD Sonoff Smart Home", anstatt von der Shelly "Home Automation System " und viele andere) können geändert werden in Bezug auf Firmwareoder in dem Teil der Software, der die Funktion bestimmtnameund drückt seine Funktionen aus.

ESP8266
der ESP8266 SOC.

Um diese Firmware-Änderung im Großen und Ganzen vorzunehmen ist es notwendig,in der Reihenfolge:

  • Verbinden Sie den Computer mit dem Gerät (über ein Ad - hoc - Gerät namens USB / TTL oder FTDI);
  • Schalten Sie das Gerät in den "Flash" -Modus (einen bestimmten Modus, der das Überschreiben im internen Speicher ermöglicht).
  • Laden Sie die Firmware auf das Gerät hoch.

Damit diese benutzerdefinierte Firmware auf das Gerät "geladen" werden kann, muss sie im Binärformat vorliegen. Dabei handelt es sich um eine einzelne Datei (in der Regel mit der Erweiterung ". Bin„). Um diese Binärdatei zu erhalten, ist es notwendig kompilieren den Firmware-Quellcode über, appgesalbt Compiler.

Diese Anleitung zeigt zuallererst wie zu installieren und zu konfigurieren freie Software Atom, während in der zweiten Instanz veranschaulicht wie man verschiedene Firmware kompiliert. für SOC ESP8266.

Es beginnt

Installieren und konfigurieren Sie Atom

ATOM-LogoAtom es ist zuallererst ein Texteditor sehr leistungsstark und vielseitig. Ihre Besonderheit liegt im Sein modulieren, oder bietet die Möglichkeit, eine Reihe zusätzlicher Pakete zu installieren, einschließlich derer, die zum Kompilieren von Firmware / Software, Schreiben von Code in verschiedenen Sprachen und vielem mehr benötigt werden.

Deshalb übernimmt inDomus Atom als Lieblingsredakteur: Wie wir sehen werden, ist es nicht nur nützlich, Firmware zu kompilieren, sondern auch hervorragend als Editor für Konfigurationsdateien im Zusammenhang mit HUB Hausautomation und vieles mehr.

Atom Sie laden kostenlos (für Windows, macOS und Linux) von der Website https://atom.io/.
Einmal heruntergeladen, installieren wie jede im Internet erhältliche Freeware.

Für die Zwecke dieses Handbuchs ist es erforderlich, dass nach der Installation und Ausführung installare ein zusätzliches Paket namens "platformi-ide".

Um zu gehen:

  • su Windows, Menü : Datei > Einstellungen > installieren
  • su macOS, Menü : Atom > Voreinstellungen > installieren
  • unter Linux, Menü : bearbeiten > Voreinstellungen > installieren

und in der Suchlochsuche nach demappgesalbt "platformi-ide“. Sobald Sie das Paket gefunden haben, klicken Sie auf "Installieren".

ATOM-Installationspakete
Scrollen zum Zoomen

Nach erfolgreicher Installation Schließen Sie Atom und öffnen Sie es erneut proinstalliert eine Reihe integrativer Pakete vollautomatisch.

Am Ende wird PlatformIO fragen ein letztes Mal Atom neu zu starten.

COM-Port

Einen Adapter USB / TTL (FTDI) ist das einfache Gerät, mit dem wir kommunizieren können unser Computer und das Herz des ESP8266 SOC-basierten Geräts.

Ohne Notwendigkeit für den Moment, um dieses gerät an das zu re anzuschließenpromier, proVersuchen Sie stattdessen, letzteres (über ein USB-Kabel) an unseren Computer anzuschließen. Wenn Treiber benötigt werden, proSiehe die Installation.

Wählen Sie dann den Menüpunkt Atom PlatformIO > Serieller Monitor.
Ein fi wird geöffnetnestwie folgt:

Nach einem Moment im Eintrag "Hafen”Zeigt an, an welchem ​​COM-Port der Computer angeschlossen ist hat dem USB / TTL-Modul zugewiesen.
Nimm es zur Kenntnis.
Trennen Sie nun das Modul vom USB-Port.

HINWEIS für Benutzer Apple: Atom sollte einen anderen Port als den klassischen COMx identifizieren. Informationen zum Konfigurieren der Tür in dieser Serie finden Sie unter zu diesem Thread. Denken Sie darüber hinaus immer daran, den richtigen Treiber für zu installieren Mac die proerster USB / TLL-Adapter.

Nach der Installation des richtigen Treibers, im Systemreport der MacUnter USB benötigen Sie (durch Anschließen des USB / TTL-Adapters) eine Stimme ähnlich wie unten:

FT232R ein MacKompilieren Sie die Firmware

Sonoff-Tasmota

Re”Unangefochten unter der kundenspezifischen Firmware für Hausautomationskomponenten auf Basis von ESP8266 SOC, Sonoff-Tasmota erlaubt einzuführen eine große Anzahl von Funktionen und Anpassungen, Unter denen proZusätzliche Kommunikationspakete, externes Sensormanagement und vieles mehr.

Bei jeder neuen Version Sonoff-Tasmota wird bereits vorgefüllt freigegeben für alle, die sich einschränken wollen um eine bereits installierte frühere Version zu aktualisieren (mit OTA - Unterstützung - drahtlos - vielleicht mit TasmoAdmin); diejenigen, die stattdessen installieren müssen Sonoff-Tasmota auf einem Gerät zum ersten Mal, dann müssen sie unbedingt proFolgen Sie der Lektüre und erwerben Sie - mit dem Atom-Compiler - a proerste Datei . Bin.


So konfigurieren und kompilieren Sie die Firmware Sonoff-Tasmota es geht zuallererst heruntergeladen. Sie können es schaffen direkt von der Git-SeiteHub die proJet; Einmal heruntergeladen, müssen Sie die Zip-Datei dort entpacken, wo Sie möchten.

An diesem Punkt bei AtomWählen Sie den Menüpunkt "Reichen Sie das > Add Project Ordner"Wählen Sie dann den Ordner aus, in dem die .zip - Datei zuvor dekomprimiert wurde und den Firmware - Code enthält Tasmota.

An diesem Punkt ist es möglich, das Softwarepaket zu "konfigurieren", eine Konfiguration, die natürlich endet in der Binärdatei proaus der Zusammenstellung gelernt und mit ihm auf dem Gerät. Tasmota es wird in der Tat "basic" geliefert, ohne Anpassungen, die erforderlich sind, damit am Ende von proGrammatik, das ESP8266 SOC-basierte Gerät kann richtig funktionieren.

Genauer gesagt, die proProzess ist das Folgende:

  • Datei konfigurieren "platformio.ini";
  • Datei konfigurieren "sonoff/my_user_config.h";
  • Kompilieren Sie die Firmware.
platformio.ini

Was wir zuerst anpassen werden, ist die Datei "platformio.ini".

Das erste zu konfigurierende Element ist "env_default": Dieser Eintrag kommuniziert mit dem Compiler welcher Teil des Codes kompiliert werden soll basierend auf den Bedürfnissen. Dieser Gegenstand kann nicht nicht konfiguriert werdenunter Strafe ausgefüllt werden.

Die Auswahl kann auf der Grundlage der verfügbaren Liste getroffen werden, die standardmäßig alle "kommentiert" ist (alle Zeilen haben das Präfix "#„). Es reicht aus, einen der "#”(Bezogen auf die Zinslinie) betriebsbereit zu machenbei der Kompilierung den entsprechenden Teil des Codes.

Im folgenden Beispiel konfigurieren wir die traditionellere und Standardumgebung, dhenv_default = sonoff":

Scrollen zum Zoomen

Die unten kommentierten Punkte kennzeichnen die Alternativen, nämlich die Kompilierung oder einen minimalen Teil der Firmware („env_default = sonoff-minimal") Oder vollständige Sprachversionen ("env_default = sonoff-E"Ist der Italienische) oder der Standard (appgesalbt, wie oben vorgeschlagen, "env_default = sonoff").

Dann finden Sie den Abschnitt "[Core_active]Und konfigurieren Sie es wie folgt:

[core_active]
; Select one core set for platform and build_flags
platform                  = ${core_2_3_0.platform}
build_flags               = ${core_2_3_0.build_flags}
;platform                  = ${core_2_4_2.platform}
;build_flags               = ${core_2_4_2.build_flags}
;platform                  = ${core_2_5_0.platform}
;build_flags               = ${core_2_5_0.build_flags}
;platform                  = ${core_stage.platform}
;build_flags               = ${core_stage.build_flags}

Dadurch wird sichergestellt, dass die Firmware unter Verwendung der PlatformIO-Kernplattform kompiliert wird Version 2.3.0, das comprostabiler (vor allem bei der Vermeidung kontinuierliche Unterbrechungen Wi-Fi vom Gerät, ein Phänomen, das manchmal auftritt, wenn andere Versionen mit höherem Kern verwendet werden).

Finde es dann die folgenden Elemente (e appurare sind wie folgt konfiguriert:

monitor_speed             = 115200
upload_speed              = 115200
upload_resetmethod        = nodemcu

Sofort folgen, identifizieren Sie den Artikel "upload_port =") Und geben Sie die identifizierende COM als Wert ein, der ausgedrückt werden kann

su Windowsupload_port = COM1
su macOS / Linuxupload_port = /dev/cu.usbserial-00000000

Konfigurieren Sie dann die am Eintrag "zugewiesene COM".upload_port =", Offensichtlich die Tür und Entdeckung anzeigend im vorherigen Schritt.

Nb Falls das Ziel der kompilierten Binärdatei ein Update istnameOTA (Over-The-Air), dieser Schritt der Konfiguration des Elements „upload_port ="Kann übersprungen werden.

Sobald alles abgeschlossen ist, Speichern und schließen Sie die Datei.

sonoff/my_user_config.h

Jetzt müssen Sie konfigurieren Name und Passwort von Wi-Fi in die das Gerät beim Einschalten automatisch einsteigen muss.

Datei öffnen "sonoff/my_user_config.h"Und finde die Gegenstände" #definieren Sie STA_SSID1"Und"#define STA_PASS1":

Scrollen zum Zoomen

Geben Sie dort den Namen ein von proehe Wi-fi (im ersten Punkt) und dem dazugehörigen Passwort (zweiter Punkt).

Schließlich Speichern und schließen Sie die Datei.

ZUSAMMENSTELLUNG

Wir sind jetzt proum unser Firmware-Paket zu "kompilieren".

Klicken Sie bei Atom auf das Menü "Plattform > bauen".
Wenn alles gut geht, die proCedura sollte proum eine Ausgabe dieses Typs zu erzeugen:

Scrollen zum Zoomen

An dieser Stelle wird die Datei (genannt "firmware.bin") Wird im Dateisystem des Computers am Speicherort generiert."% directorycontenentetasmota/.pioevens/sonoff".

Diese Datei rappsetzt das "erledigt" der benutzerdefinierten Firmware zurück Sonoff-Tasmota, proWird jetzt auf dem Gerät installiert.

Espurna

Um die ESPurna-Firmware zu konfigurieren und zu kompilieren, müssen Sie zuerst vorgehen heruntergeladen. Sie können es schaffen direkt von der Git-SeiteHub die proJet; Einmal heruntergeladen, müssen Sie die Zip-Datei dort entpacken, wo Sie möchten.

An diesem Punkt bei AtomWählen Sie den Menüpunkt "Reichen Sie das > Add Project Ordner"Und dann den Ordner auswählen"/ codeEnthalten seinerseits aus dem Ordner, in dem die ZIP-Datei zuvor dekomprimiert wurde.

An diesem Punkt ist es möglich, das Softwarepaket zu "konfigurieren", eine Konfiguration, die natürlich endet in der Binärdatei proaus der Zusammenstellung gelernt und mit ihm auf dem Gerät. Tasmota es wird in der Tat "basic" geliefert, ohne Anpassungen, die erforderlich sind, damit am Ende von proGrammatik, das ESP8266 SOC-basierte Gerät kann richtig funktionieren.

Genauer gesagt, die proProzess ist das Folgende:

  • Datei konfigurieren "platformio.ini";
  • Datei konfigurieren "espurna/config/general.h";
  • Kompilieren Sie die Firmware.
platformio.ini

Was wir zuerst anpassen werden, ist die Datei "platformio.ini".

Das erste zu konfigurierende Element ist "env_default": Dieser Eintrag kommuniziert mit dem Compiler welche Code-Umgebung kompiliert werden soll basierend auf den Bedürfnissen. Dieser Gegenstand kann nicht nicht konfiguriert werdenunter Strafe ausgefüllt werden.

Um zu entscheiden, welche Umgebung angezeigt werden soll, muss die Datei bis zum Eintrag gescrollt werden

# ----------------------------_
# ESPURNA CORE BUILDS
# -----------------------------

ESPurna unterstützt viele verschiedene Arten von Geräten: die folgenden Blöcke "ESPURNA CORE BUIDS"Identifizieren Sie die verschiedenen Geräte und den Schlüssel, der in" [env:] "im Block von" "enthalten ist proInteresse ist dasjenige, das unter „env_default".

Zum Beispiel der Block, der die "Sonoff BasicBeginnt mit

[env:itead-sonoff-basic]

Um die Zusammenstellung zu veranlassen, eine Spur in Bezug auf dieses Gerät zu erstellen, muss der Eintrag „env_default"Wird wie folgt konfiguriert:"env_default = itead-sonoff-basic".

Wählte das Gerät und damit den Schlüssel zum Einfügen in die Stimme "env_default"Es ist notwendig Speichern und schließen Sie die Datei.

Espurna / config / general.h

Jetzt müssen Sie konfigurieren Name und Passwort von Wi-Fi in die das Gerät beim Einschalten automatisch einsteigen muss.

Datei öffnen "Espurna / config / general.h"Und finde den folgenden Block:

// Optional hardcoded configuration (up to 2 networks)
#ifndef WIFI1_SSID
#define WIFI1_SSID                  ""
#endif

#ifndef WIFI1_PASS
#define WIFI1_PASS                  ""
#endif

e prosiehe einfügen, zwischen den Spitzen der Einträge “#Definieren Sie WIFI1_SSID"Und"#define WIFI1_PASSJeweils der Name des proRPIA Wi-Fi und das zugehörige Passwort.

Endlich ist es notwendig Speichern und schließen Sie die Datei.

ZUSAMMENSTELLUNG

Wir sind jetzt proum unser Firmware-Paket zu "kompilieren".

Klicken Sie bei Atom auf das Menü "Plattform > bauen".
Wenn alles gut geht, die proCedura sollte proum eine Ausgabe dieses Typs zu erzeugen:

Platformer ESPurna
Scrollen zum Zoomen

An dieser Stelle wird die Datei (genannt "firmware.bin") Wird im Dateisystem des Computers am Speicherort generiert."% directorycontenentetasmota/.pioenvs/nome-dell-environment-compilato/firmware.bin".

Diese Datei rappüberträgt die "kompilierte" ESPurna-Firmware erneut, proWird jetzt auf dem Gerät installiert.


ITEAD Sonoff BasicATTENZIONE: Denken Sie daran, dass es in unserer FORUM-Community gibt ein Ad-hoc-Bereich für Sonoff (und allgemeiner zu Geräten ESP8266), für jeden Zweifel, Frage, Information auf dem spezifischen Verdienst dieser Komponenten.


Bitte kommentieren Sie unten