Problemlösung: RaspberryPi bekommt 2 IP Adressen

Ein kurzer Tipp für zwischendurch:
Solltet ihr einmal in die Situation kommen, das euer RaspberryPi eine zweite IP per DHCP zugewiesen bekommt, obwohl ihr in der /etc/network/interfaces eine statische festgelegt habt, dann hab ich hier eine Lösung.

Da ich nur die wlan0 Schnittstelle verwende, fehlen die nötigen Angaben für die static Einstellung bei eth0. Trotz dieser Einstellung habe ich eine zweite IP per DHCP zugewiesen bekommen.

Das Problem ist also ein Paket namens dhcpcd. Die Lösung ist ziemlich einfach.
Öffnet mit

die Konfiguration von dhcpcd und ergänzt sie am Anfang um folgende Zeilen:

Jetzt startet mit

den Raspberry neu. Damit sollte das Problem gelöst sein.
Die IP Adressen solltet ihr natürlich an euer Netzwerk anpassen. Das Ganze funktioniert auch mit der Lan Schnittstelle, dazu einfach wlan0 mit eth0 ersetzen.
Solltet ihr Fragen dazu haben schreibt einen Kommentar.

BananaPi Workaround. Was tun wenn WiringPi nicht funktioniert??

Schon lange nichts mehr los gewesen hier?

Das ist richtig, und warum? Naja, ich habe viel zu tun, und bastle an vielen kleinen Testprojekten und auch an Projekten die ich hier schon vorgestellt habe.
Das währe zum Beispiel, mein RC Auto mit dem Arduino steuern und vieles andere.

Aber heute geht es erst mal darum, was man machen kann wenn WiringPi auf dem BananaPi nicht funktioniert. Als ich letztens versucht habe, die GPIO Pins des BananaPi’s mit einem Phyton Script zu steuern, was aber nicht klappte. Nach einiger Zeit habe ich dann rausgefunden das WiringPi das Board nicht erkannt hat, was der Grund des ganzen ist.

Bei der Eingabe von „gpio -v“ in der Konsole gab WiringPi eine Fehlermeldung aus in dieser Art: „Your Raspberry Pi has an unknown model type.“

Die Frage ist was jetzt, nur 1 Tag Zeit um einen LED Stripe über die GPIO Pins zum Farbwechsel zu bewegen. Es musste also ein Workaround her. Wie ich ich nachfolgenden Test rausgefunden habe, ließen sie sich manuell in der Konsole ein und ausschalten. Funktionsfähig sind sie also.

Das Blinkscript sollte in Phyton geschrieben werden. da ich zu diesem Zeitpunkt noch überhaupt keine Ahnung hatte wie man Python programmiert habe ich mir die benötigten Befehle aus dem Internet zusammengesucht. Durch meine groben Kenntnisse in Arduino gelang es mir sogar, nachdem ich den Namen einer Libary rausgefunden hatte, diese einzubinden. Es handelt sich in diesem Fall um die Libary „subprocess“. Sie ermöglicht es mir mit dem Befehl „subprocess.call(„scriptname“, shell=True)“ die Dateien über Python auszuführen, die die GPIO Pins ansteuern. Mein Python Script sah dann am Schluss so aus:

Als erstes wird mit

die oben schon erklärte Libary „subprocess“ eingebunden. Mit

wird die Time Libary eingebunden, was mir ermöglicht den sleep Befehl zu nutzen.

In der setup.sh Datei werden die ersten Einstellungen vorgenommen, die man nach jedem Neustart des Systems machen muss. Zuerst werden die Pins aktiviert, dann wird ihr Modus auf OUTPUT geändert und abschließend werden die Werte auf 0 gesetzt.

(Hier gehts wieder in Python weiter) Anschließend werden mit

die Orte der Scripts definiert, mit denen im Endeffekt die Pins angesteuert werden.
Am Ende der ganzen Definiererei wird mit

die Zeitdauer bestimmt zwischen dem Farbwechsel.

Es folgt der Hauptteil. Darin läuft eine while-Schleife als Loop.
Die Struktur ist einfach erklärt: Es wird ein Skript ausgeführt der einen Pin an oder ausmacht, und dazwischen wird gewartet. An dieser Stelle muss ich sagen das die Pinnummern in diesem Programm eher Zufällig gewählt sind, da es keine bestimmte Reihenfolge von Farben geben musste.

Dadurch das ich alles mit Variabeln geschrieben habe, lässt sich einfach die Wartezeit ändern.

Die  pin**on.sh/pin**out.sh Dateien  sehen fast gleich aus:

Es wird entweder der Wert 1 oder 0 in die Value Datei geschrieben und anschließend eine einfache Echo Meldung ausgegeben, die dann in der Konsole angezeigt wird.

Der einzige Nachteil an diesem Workarund ist, das der Python Scipt als Root ausgeführt werden muss, also wechselt man in der Konsole mit

zum Root Benutzer und startet mit

das Programm. Jetzt sollten die LEDs, sofern sie richtig Angeschlossen sind, zu Leuchten beginnen. Um LED Stripes mit den GPIO Pins anzusteuern verwendet man am besten einen Mosfet Treiber wie diesen hier von Pollin Electronic.

Hier findest du alle Dateien direkt zum Download. Sollten noch Fragen offen bleiben bin ich sehr dankbar wenn ihr mir einen Kommentar schreibt.

Und wie immer noch der Hinweis auf meinen Youtube Kanal, die Hauptwebseite , den Email Verteiler und mein Instagram.