SloeberFreeMan

Aus homeautomation.x-api.de
Version vom 8. Oktober 2017, 08:52 Uhr von Robertadmin (Diskussion | Beiträge) (Übertragen der geänderten Dateien)
Wechseln zu: Navigation, Suche

Dies ist eine Nutzung von Sloeber (Eclipse/Arduino) unter Linux (Ubuntu), bei der die verwendeten Quelldateien (vor allem auch die Bibliotheken) beliebig abgelegt sein können. Diese Lösung basiert leider nicht auf profunden Kenntnissen, sondern ist durch Probieren entstanden. Vielleicht findet sich hier ein Fachmann, der das Konzept überarbeitet und die Konstruktion verbessert.

Verzeichnisstruktur von Sloeber

Ursprünglich nicht von Arduino unterstützte Prozessoren bzw. Entwicklungs-Boards kann man bei Sloeber über spezielle Beschreibungsdateien (JSON-Dateien) installieren, die von vielen Herstellern zur Verfügung gestellt werden. Für den geplanten Einsatz eines ESP32 (WiFi, BT&BTLE, Ethernet, 16MB Flash, 240 MHz, etc.) funktionierte dies allerdings (noch) nicht. Für die Verwendung des ESP32 mit der Arduino IDE war aber bereits eine Umgebung bei GitHub vorhanden, so dass es naheliegend war, die Verzeichnisse von Sloeber nach den bereits installierten Arduino-Boards zu untersuchen und die Installation selbst vorzunehmen.

Im Basisverzeichnis von Sloeber findet man das Verzeichnis <arduinoPlugin> mit folgender Struktur:

  • downloads
  • examples
  • libraries
  • packages
    • arduino
      • hardware
        • avr
        • sam

Auf dieser Ebene (avr, sam) richtet man den ordner espressif ein (Hersteller des ESP32) und darin einen Unterordner esp32:

  • espressif
  • esp32

Da hinein kommt der Inhalt von GitHub, den man dort über einen Button als ZIP-Datei herunterladen kann. Hier findet man nun die bei Arduino übliche Verzeichnisstruktur wieder, also cores, libraries, tools, etc. Damit man diese Umgebung in Sloeber nutzen kann, ist es lediglich erforderlich, einen Pfad auf das Verzeichnis libraries einzurichten, also bei den Einstellungen Window/Preferences/Arduino in Private library path hinzuzufügen:

  • ... Sloeber/arduinoPlugin/packages/arduino/hardware/espressif/esp32/libraries

Integration der eigenen Bibliotheken

In dem oben genannten Verzeichnis libraries findet man die Verzeichnisse für die Bibliotheken des ESP32. Darin, wie bei Arduino üblich, die .cpp- und .h-Dateien mit gleichem Namen.

Zunächst richtet man für seine eigenen Bibliotheken auch entsprechende Verzeichnisse ein. Aber anstelle der Original-Quelldateien kann man in diese Verzeichnisse Verknüpfungen darauf eintragen, denen man denselben Namen gibt, den die Originaldatei hat. In meiner Programmierumgebung habe ich hier Links auf die Quelldateien in meinem lokalen Git-Repository eingetragen. Wenn ich im Eclipse-Editor Änderungen vornehme, dann beziehen die sich nun auf die Originaldateien im Repository. Ansonsten ist kein Unterschied zu direkt hierhin kopierten Dateien erkennbar.

Übertragen der geänderten Dateien zu GitHub

Wenn man zentrale Versionsverwaltungsprogramme, wie z.B. SVN, gewohnt ist, dann ist Git erst mal ziemlich fremd. Das Schlimme sind die vielen Befehle, die jetzt statt eines einfachen Mausklick auszuführen sind. Um die lokalen Änderungen (alle) nach GitHub zu übertragen, kann man folgende Befehlssequenz verwenden:

  • git add --all
  • git commit --all
  • git push origin HEAD:developer

Allerdings muss man dafür Username und Passwort verwenden, also kann das nur der Einrichter des GitHub-Accounts. Andere Anwender müssen einen Pull-Request starten (dazu hier später mehr).

Aktualisieren geänderter Dateien aus GitHub

Wenn bei GitHub etwas geändert wurde, entweder direkt oder über Pull-Request anderer Programmierer, dann wird das lokale Repository durch folgenden Befehl aktualisiert:

  • git pull origin developer