Hallo, ich möchte gerne an meinem RaspberryPi die Ports über eine "MySQL-Datenbank" "Schalten". Also in einer Datenbank stehen für jeden GPIO eine Spalte zur verfügung, in der Informationen, "Name", Zustand (High, Low) usw. enthalten sind. Über ein in Visual Basic geschriebenen Client für Windows und einen Selbstgeschriebenen Client für Android kann ich schon die Werte der "GPIOs" unverzögert in der Datenbank ändern (High oder Low ändern). Nun muss ich mir noch ein Programm für Raspbian (anderes System leider nicht möglich) schreiben, das in kurzen Abständen die Datenbank ausließt, und dann die GPIOs danach schaltet. Mein Problem ist nun, das ich bisher nur mit Visual Basic richtig Programmiert habe. Das funktioniert aber nicht ganz unter Linux (Außer mit diesem Mono-mist). Daher fehlt mir hier sämtliche Erfahrung. Was könnt ihr mir empfehlen ? Sollte einfach sein, mit MYSql kommunizieren können, unter Linux laufen und "Schnell Reagieren". Auch wäre es Schön wenn die Sprache ein bisschen an Visual Basic anlehnt, da ich diese Sprache perfekt behersche (Wenns geht). Ich hoffe ihr könnt mir helfen, Moe
Hallo, also die Anfängersprache auf dem RasPi ist Python. Richtig viele Infos findes du unter: http://www.themagpi.com/ Das ist eine richtig gute E-Book-Reihe. Für deine Aufgabenstellung eignet sich jede Programmiersprache. Interfaces für MySQL gibt es für Perl, PHP, ANSI-C. Ich denke sogar mit Java kannst du das auf dem RasPi machen. Aber vielleicht nutzt du die Gelegenheit deinen Programmierhorizont zu erweitern... Grüße aus Berlin
Danke, Das MagPi kenn ich und lese ich auch regelmäßig. Da ich meinen Programmierhorizont am besten eh erweitern muss, wollte ich Fragen bei welcher Sprache dies am Besten Dokumentiert ist/Einfachsten ist.
Na dann würde ich PHP und/oder Java vorschlagen, dann gibt es auch die Option solche Aufgaben über AJAX oder ähnliches umzusetzten. Python ist auch gut, aber eine etwas andere Art. "Python unterstützt mehrere Programmierparadigmen. So werden objektorientierte, aspektorientierte und funktionale Programmierung unterstützt." ... "Python gilt als einfach zu erlernende Sprache, da sie über eine klare und übersichtliche Syntax verfügt." http://de.wikipedia.org/wiki/Python_%28Programmiersprache%29
Rene Schube schrieb: > Na dann würde ich PHP und/oder Java vorschlagen, dann gibt es auch die > Option solche Aufgaben über AJAX oder ähnliches umzusetzten. Geht mit python ebenfalls, sogar schöner und eleganter als in PHP.
Der PI ist und bleibt ein Embedded System und Mysql ist ein ziemliches Brett. Ich finde das es ziemlicher Overkill ist den state von ein paar GPIOS in einer DB zu halten. Sicher wenn deine SD groß genug ist geht, das aber als ich mir das letzte mal MYSQL auf embedded angesehen habe (zugegeben ist mehrere Jahre her) war das, das graße gegen teil von schnell und Performant. willst du die states nicht lieber selber verwalten ( Struktur in einen Array, linked list oder rbtree). So viele sind es ja nicht. Oder besser noch den Kernel die verwalten lassen. (siehe https://www.kernel.org/doc/Documentation/gpio.txt). unter /sys/class/gpio/ versorgt. Dich der Kernel mit so was wie du gefordert hast Namen, status etc. Die Programmiersprache ist dann ziemlich egal, du musst nur ein paar File IOs machen können. das geht mit allen. Nimm einfach was dir liegt. Und wenn es unbedingt eine SQL sein muss, denk mal drüber nach ob nicht vielleicht SQLite ausreicht, die ist IMHO für embedded besser geeignet.
Also Auswertung von Mysql kannst du auch alle paar sekunden von einem Bash script machen lassen Wenn dus schnell haben willst, sende die infos an das raspi per tcp in plaintext und empfange es mit xinetd. Dann lässt dus von einem script auswerten (evtl logfile anlegen etc) Dann hast du deinen speicher und cpu für andere sachen frei
Wenn Du die Performance von C++ nicht brauchst und das hört sich nicht so an, dann ist ganz klar Python die erste Wahl. Du wirst es sicherlich nicht bereuen wenn Du Python lernst. Python ist einfach und mächtig.
Hallo MOE! Wäre es eventuell möglich, mir diesen Client, mit dem du die Werte in die Datenbank schreibst zu schicken? (buxi95@yahoo.de) Ich sitze nämlich an einem ähnlichen Projekt und habe Probleme bei diesem Schritt. Danke im Voraus, Daniel
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.