Raspberry PI 3 b+ script über gpio starten?

2 Antworten

Du kannst das Tool "gpio" nutzen. Die Portnummer kann entweder nach dem "wiring pi"- Schema oder nach der Broadcom-internen Verdrahtung erfolgen (letzteres dann mit "gpio -g ..."). Eine Übersicht über den kompletten Schaltzustand bekommst Du mit "gpio readall".

Einzelne Pins kann man mit "gpio [-g] read <portno>" abfragen. Das Ergebnis lässt sich auch per Shellskript verwursten.

Beispiel für ein einfaches Skript:

#!/bin/sh

portnum=12 # hier gewünschte Portnummer eintragen

state=`gpio read $portnum`
if [ "x$state" = "x1" ]
then
  # Aktion für "Bit gesetzt" hier einfügen
else
  # Aktion für "Bit nicht gesetzt" hier einfügen
fi
exit 0

Theoretisch könnte man nun sowas auch in einer Abfrageschleife laufen lassen. Allerdings ist sowas mit einem Shellskript ineffektiv.

Besser deswegen ein kleines C-Progrämmchen o. ä. schreiben, was z. B. alle 500 Millisekunden eben kurz über den Library-Call die Zustandsabfrage macht und dann ggf. bei einem Zustandswechsel des Ports per system() ein externes Handlerskript aufruft. Da kannst Du dann Deine Ein-/Ausschaltkommandos reinsetzen und hättest bezogen auf die eigentliche Pin-Abfrage dann eine generische Lösung, die Du nur einmal programmieren müsstest, und dann auch für zukünftige andere Aktionen weiterverwerten könntest.

geht das vielleicht etwas genauer..?

was soll das auslösende event sein?

gpio ist jediglich die schnittstelle

hat sich erledigt danle, hab es hinbekommen

0

Raspberry Pi: Alle GPIOs für LEDs nutzbar?

Hallo zusammen!

Bin ein Neuling auf bzgl. des Raspberries, bitte entschuldigt daher mein Unwissen. Wenn ich das richtig verstanden habe, dann sind von den 40 PINS 26 als GPIO nutzbar. Ich habe vor, ca. 20 LEDs mittels Raspberry zum leuchten zu bringen. Diese sollen aber unabhängig voneinander geschaltet werden können, und maximal sollen nur 2 bis 3 LEDs gleichzeitig leuchten (also nicht alle 20 auf einmal).

(1) Geht das mit dem Raspberry? Google hat mir nicht sonderlich weiter geholfen, da es dort scheinbar nur Tutorials gibt, wie man eine LED anschließt (inkl. Widerstand), oder ein LED-Band o. Ä.

Kann ich mit den 20 LEDs so verfahren, wie mit einer?

(2) Kann auch ein GPIO zwei LEDs zum leuchten bringen (eigentlich schon, oder?!)?

Danke Euch & noch einen schönen Tag

...zur Frage

BATCH-Datei Befehle: "@ECHO OFF", "REM", "ECHO" usw. -- FUNKTIONIEREN NICHT

Ich schreibe gerade ein Backup-Script per Batch Datei um einige Dateien in einem rutsch in die Cloud zu sichern.

Das Script Ansich ist überhaupt kein Problem, die Batch Sprache verstehe ich super und seit ca. 20 Jahren. Offensichtlich habe ich da ein anderes Problem. Vielleicht könnt ihr es mal bei Euch testen und mir sagen was bei Euch passiert?

Wenn ich also eine Batch Datei schreibe, möchte ich z.B. nicht dass die Befehle(Befehlszeile) angezeigt werden, deswegen beginne ich meine Batch-Datei mit einem:

@ECHO OFF

Dann kommt der Rest vom Script usw.

Ich bekomme allerdings eine Fehlermeldung bei der Stapelverarbeitung, bevor der erste Befehl aufgeführt wird.

Beispiel:

@echo off
REM Dieses ist ein Test um zu zeigen das etwas nicht stimmt.
ECHO Dieses ist ein Test.
pause

Wenn ich dieses kleine, Script(Batchdatei) ausführe kommt folgende Fehlermeldung:

Das System kann den angegebenen Pfad nicht finden.
Drücken Sie eine beliebige Taste . . .

Sowohl beim Doppelklick auf die Batchdatei selbst, als auch bei der Eingabe in der CMD Befehlszeile.

Interessanter Weise wird weder das @ECHO OFF noch das REM oder Echo korrekt interpretiert. Ich habe eine vermutung, dass die Batch als falsches Format abgespeichert wurde.

Ich Habe verschiedene Editoren benutzt. Notepad in der Standart Einstellung, Notepad ++ nehme ich Standardmäßig.

Ich habe die Kodierungen überprüft also ANSI oder UTF8.

Wenn ich im CMD Befehlszeilenfenster den Befehl "@ECHO OFF" oder "REM" oder "ECHO mit BLABLA" eingebe, funktionieren sie; also außerhalb der Batch Datei.

Ich habe keine Verknüpfung angelegt oder falsche Parameter angegeben, ich starte die Batch direkt aus einem Verzeichnis Namens: D:\Backup. Es sind keine Sonderzeichen enthalten, weder im Namen noch in irgendwelchen Verzeichnissen oder sonstwas.

Also meine Vermutungen sind :

--Falsches Format der Batch Datei <- Warum auch immer --Virus oder Schadprogramm, welches versucht über die Kommandozeile Schadcode einzuschleusen.

Also letztes hänge ich mal den Anfang meines Batch-Scripts für das Backup mit an, damit ihr mal sehen könnt, was mir da angezeigt wird.

@echo off
REM ################################################
REM #          Backup und Sicherungsscript         #
REM #                                              #
REM #                                              #
REM ################################################
pause

Ich habe am Ende eine pause mit eingefügt, damit die Stapelverarbeitung anhält.

Das ist die Ausgabe der Datei im Prompt:

D:\Backup>´╗┐@echo off
Der Befehl "´╗┐@echo off" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Mein System:

AMD 3300T 8GB ATI HD 7850 usw, Windows 7 Deutsch/Home Premium - Original

Benutze Software: Windows 7, Notepad++, Notepad(Windows 7)

Ich hoffe ich konnte genug Informationen liefern, dass mir jemand helfen kann.

Vielen Dank grüße aus HH

...zur Frage

Was möchtest Du wissen?