Frage:
Raspberry Pi Control GPIO mit Haskell
Joachim
2013-01-25 18:29:54 UTC
view on stackexchange narkive permalink

Ich arbeite an einem Hausautomationssystem mit dem Himbeer-Pi.

Derzeit verwende ich Python oder C zur Steuerung des GPIO und Haskell / Yesod zur Steuerung von PC / iPad / Telefon ... Aber ich möchte das GPIO ohne Verwendung von Python oder C steuern. Also direkt von haskell.

Ist das möglich?

Mit freundlichen Grüßen Joachim

Vier antworten:
#1
+4
user3315833
2014-02-16 17:44:36 UTC
view on stackexchange narkive permalink

Für eine Antwort ist es etwas spät, aber Sie können hierfür die HPi -Bibliothek verwenden. Es unterstützt derzeit die Manipulation der GPIO-Pins und das Senden / Empfangen mit dem I2C-Protokoll, alles von der E / A-Monade.

#2
+2
ikku
2013-01-26 06:00:05 UTC
view on stackexchange narkive permalink

Wenn es in haskell möglich ist, den GPIO über den Speicher zu verwenden, denke ich, aber ich habe noch nie haskell verwendet, aber es gibt mehr Möglichkeiten, die GPIO-Pins zu verwenden, zum Beispiel die gleiche Art, wie Sie sie in einer Bash verwenden können Skript, über die

 /sys/class/gpio 

Gerätedateien auf Raspbian können Sie dort die einzelnen Pins konfigurieren, lesen und schreiben. Nicht so elegant und Root-Rechte sind erforderlich, aber es funktioniert. Überprüfen Sie diesen Link auf weitere Informationen zur Verwendung dieser Dateien.

Vielen Dank für die Antwort. Ich werde es mir nach meiner Prüfung am Dienstag ansehen
#3
+2
Kenny Lu
2013-02-20 08:34:54 UTC
view on stackexchange narkive permalink

Ich habe dies gerade veröffentlicht, um es zu hacken.

http://hackage.haskell.org/package/system-gpio-0.0.2

Probieren Sie es einfach aus.

#4
+1
XTL
2013-01-28 13:51:05 UTC
view on stackexchange narkive permalink

Ein (sehr Unixy) Ansatz wäre, ein Hilfsprogramm (Befehl) aufzurufen, das die GPIO-Operationen für Sie ausführen kann. Das sollte in jeder Sprache relativ einfach sein und erfordert keine Bindungen über system () hinaus. Der Helfer könnte in C, Python oder etwas anderem geschrieben sein und einige Argumente für das akzeptieren, was Sie tun möchten.

Ein ausführlicherer Helfer könnte als Dämon ausgeführt werden und Verbindungen über Sockets von Programmen akzeptieren, die dies möchten GPIO manipulieren. Dies kann aus Sicherheitsgründen mehr Probleme haben, ist aber möglicherweise auch besser, da der GPIO-Zugriff bereits ein etwas haariges Problem darstellt.

Ich habe über diesen Ansatz nachgedacht. Ein C-Socket-Server, der etwas als Eingabe akzeptiert, damit er weiß, was zu tun ist. Aber ich bin nicht mit c vertraut, also muss ich es zuerst lernen :)


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...