Domanda:
Raspberry pi controlla GPIO con Haskell
Joachim
2013-01-25 18:29:54 UTC
view on stackexchange narkive permalink

Sto lavorando a un sistema domotico con il raspberry pi.

Attualmente utilizzo python o C per controllare il GPIO e haskell / yesod per controllare tutto da pc / ipad / telefono ... Ma vorrei controllare il GPIO senza usare python o C. Quindi direttamente da haskell.

È possibile?

Cordiali salutiJoachim

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

È un po 'tardi per una risposta, ma puoi usare la libreria HPi per questo. Attualmente supporta la manipolazione dei pin GPIO e l'invio / ricezione con il protocollo I2C, tutto dalla monade IO.

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

Se è possibile in haskell usare il GPIO attraverso la memoria, immagino di sì, ma non ho mai usato haskell, ma ci sono più modi per usare i pin GPIO, ad esempio nello stesso modo in cui puoi usarli in un bash script, tramite i file di dispositivo

/sys/class/gpio

su raspbian, è possibile configurare, leggere e scrivere i singoli pin. Non è così elegante e sono richiesti i privilegi di root, ma funziona. Controlla questo link per ulteriori informazioni sull'utilizzo di questi file.

Grazie per la risposta, lo esaminerò martedì dopo l'esame
#3
+2
Kenny Lu
2013-02-20 08:34:54 UTC
view on stackexchange narkive permalink

L'ho appena pubblicato su hackage.

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

Sentiti libero di provare.

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

Un approccio (molto Unixy) sarebbe chiamare un programma di supporto (comando) che può eseguire le operazioni GPIO per te. Dovrebbe essere relativamente facile in qualsiasi lingua e non necessita di collegamenti oltre system (). L'helper potrebbe essere scritto in C, Python o qualcos'altro e fatto in modo che accetti alcuni argomenti per quello che vuoi fare.

Un helper più elaborato potrebbe essere eseguito come un demone e accettare connessioni su socket da programmi che lo desiderano manipolare GPIO. Questo potrebbe avere più problemi dal punto di vista della sicurezza, ma potrebbe anche essere migliore poiché l'accesso GPIO è già un problema un po 'complicato.

Stavo pensando a questo approccio: un server socket C che accetta qualcosa come input in modo che sappia cosa fare. Ma non ho familiarità con c quindi devo impararlo prima :)


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...