SloeberFreeMan: Unterschied zwischen den Versionen
K |
K |
||
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Dies ist eine Nutzung von [http://www.baeyens.it/eclipse/ '''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. | + | !!! Überholt, wird demnächst neu bearbeitet. Die aufgeführten Werkzeuge sind inzwischen deutlich weiter entwickelt, so dass die hier gemachten Aussagen teilweise nicht mehr gültig sind. |
+ | |||
+ | |||
+ | Dies ist eine Nutzung von [http://www.baeyens.it/eclipse/ '''Sloeber'''] (Eclipse/Arduino) unter Linux (Ubuntu), bei der die verwendeten Quelldateien (vor allem auch die Bibliotheken) beliebig abgelegt sein können (Sloeber Free Management). 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= | =Verzeichnisstruktur von Sloeber= | ||
− | Ursprünglich nicht von Arduino unterstützte Prozessoren bzw. Entwicklungs-Boards kann man bei Sloeber über spezielle | + | 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 [https://espressif.com/en/products/hardware/esp32/overview '''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 [https://github.com/espressif/arduino-esp32 '''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: | Im Basisverzeichnis von Sloeber findet man das Verzeichnis <arduinoPlugin> mit folgender Struktur: | ||
Zeile 21: | Zeile 24: | ||
*... Sloeber/arduinoPlugin/packages/arduino/hardware/espressif/esp32/libraries | *... 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 [https://github.com/RobertPatzke/homeautomation '''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 |
Aktuelle Version vom 16. März 2023, 10:21 Uhr
!!! Überholt, wird demnächst neu bearbeitet. Die aufgeführten Werkzeuge sind inzwischen deutlich weiter entwickelt, so dass die hier gemachten Aussagen teilweise nicht mehr gültig sind.
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 (Sloeber Free Management). 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.
Inhaltsverzeichnis
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
- hardware
- arduino
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