Austausch von Daten zwischen Pi und Ubuntu Root Server

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Community,

    Das bin ich => :wallbash: und ich brauche Hilfe.


    Ich bin auf der Suche nach einer möglichst effektiven Variante, Daten zwischen meinem Pi und einem Root Server auszutauschen. Dieser Datenaustausch soll einmal in der Stunde erfolgen.
    Nun weiß ich nicht ob mein Pi die Daten an den Server übergeben soll oder ob der Server die Daten abfragen soll...
    Die Daten sind Meßwerte, die ich von Sensoren bekomme (wahrscheinlich werde ich die Daten in einer Datei speichern) und dann? soll die Datei übermittelt werden? oO
    Ich kenne mich leider nicht mit solchen Sachen aus...:@

    Wäre nett wenn mir jemand einen Tipp geben könnte, wie ich die Meßwerte alle 60 min auf den Server bekomme.


    Info (weiß nicht ob das wichtig ist...): mein Pi soll generell sowenig wie möglich Strom verbrauchen und es hat nur eine schwache Internetverbindung.


    Gruß und Danke

    OMAtoasty

  • Austausch von Daten zwischen Pi und Ubuntu Root Server? Schau mal ob du hier fündig wirst!

    • Offizieller Beitrag

    Mir würden 1000 Gründen einfallen :D
    Da du nicht viel über dein Script zum Temperatur auslesen geschrieben hast gehe ich davon aus dass, das Script einmal in der Stunde aufgerufen werden soll und genau 1 Temperatur an den Rootserver übermitteln soll....

    1. SSH(wäre glaubig am einfachsten):
    Ich würde es von der anderen Seite betrachten (vom Rootserver ausgesehen).
    Du kannst dein TemperaturScript via SSH starten und die ausgabe dann direkt speichern oder weiterverarbeiten (zbs in eine DB speichern)
    Könnte dann folgendermaßen aussehen:
    ssh pi@deineZuhausDomainOderauchIp "/home/temperatur/senorenAuswerten.sh" > /home/temperatur/werte.txt

    oder wenn es weiterverarbeitet werden soll dann könnte es so aussehen:
    ssh pi@deineZuhausDomainOderauchIp "/home/temperatur/senorenAuswerten.sh" | /home/temperatur/NimmWerteUndSpeicherInDB.sh

    So würden deine Werte bequem über ssh verschickt werden und das NimmWerteUndSpeicherInDB würde dann die Rückgabe von deinem sensorenAuswerten.sh nehmen und es in die DB speicher...


    2. Webanwendung
    Du könntest dir eine PHP Webseite zurecht basteln (auf dem Rootserver) welche ein paar deiner Senorendaten entgegen nimmt.
    Vom Pi würdest du dann via wget diese Seite ansurfen und deine Daten via Parameter übergeben
    Würde dann folgendermaßen aussehen:
    wget http://rootServer.de/temperatur?datum=11.10.2013&temperatur=-40&einheit=celsius

    Ich bin ein gefallener Engel namens Turael.

    Einst vor langer Zeit rebelierte ich im Himmel bis Gott mich auf die Erde verbannte.

    Doch meine taten werden kein ende finden....

  • ncftp auf den PI und per Cron einmal pro Stunde das File auf den Rootserver schieben.
    Per wget und cron vom PI aus den Wert an ein PHP an den Rootserver übergeben.
    (wget ..... http://rootserver/messwert.php?wert=23.567)

    Ich würde auf jeden Fall den PI die Verbindung aufbauen lassen. Dann brauchst du keine Ports aufzumachen.
    Beim Rootserver die Protokolle nutzen die eh schon laufen und keine neuen Löcher aufreissen.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (11. Oktober 2013 um 17:18)

  • Auf dem Rootserver könntest du denk ich problemlos einen mysql-server installieren und dein Messwert-Script übermittelt dann einfach die Daten an den mysql-server.
    Käme drauf an was für eine Programmiersprache du nutzt zum auslesen der Messwerte, gäbe es mehrere Möglichkeiten als mysql-client die Daten zu verschicken

    Ansonsten würde ich den 2. Weg den Turael vorgeschlagen hat verwenden, dann könntest du auch problemlos auf dem Rootserver SQLite nutzen

  • ssh pi@deineZuhausDomainOderauchIp "/home/temperatur/senorenAuswerten.sh" > /home/temperatur/werte.txt

    Geht das mit jedem Skript? also ich bin ein Newbie.... kann ich ein C / Python Skript nehmen das Daten ausgibt und die werden dann in der werte.txt gespeichert?

    Einmal editiert, zuletzt von omatoasty (11. Oktober 2013 um 18:20)


  • Also ich soll ein Skript schreiben, das die Sensordaten in einer Datei abspeichert. [wie lass ich das automatisch alle 60 min abspielen?]

    Wie genau das geht kannst du hier nachlesen: https://www.forum-raspberrypi.de/Thread-tutorial-crontab-cron-jobs


    Wie soll ich jetzt genau vom Server auf die Datei zugreifen? muss es per Web oder ftp sein?
    Geht es auch mit Kopieren per ssh? oder ist das eine dumme idee? (scp meine ich)

    Muss nicht, kann... :)
    Es gibt wie immer mehrere Möglichkeiten - kommt aber auch darauf an was du letzlich mit den Daten machen möchtest?

    Wenn du die Daten nutzen willst um damit einen Graph zu füttern würde eine Datenbank sich empfehlen..
    Wenn du die Datei aber einfach nur so angucken willst brauchst du die Datei nur übertragen, das ginge mit ssh, scp oder ftp (für ftp müsste auch ein ftp-server vorhanden sein)

    Ich hab mir mal erlaubt ein messwert.php zu erstellen:
    (ist aber ungetestet)

    Dein Script auf dem RaspberryPI ruft dann dieses PHP-Script zB wie folgt auf:

    Code
    wget rootserver.ip/messwert.php?wo=wohnzimmer&wert=21.02


    Um die gespeicherten Daten anzuzeigen kannst du messwert.php?show in einem Web-Browser seiner Wahl aufrufen..

    Wenn du dazu Fragen hast dann verrate uns bitte wie den Script auf dem RPI aussieht..


  • Wenn du dazu Fragen hast dann verrate uns bitte wie den Script auf dem RPI aussieht..

    Ähm Das Skript habe ich noch nicht Ich möchte die Werte von diesen Sensoren auswerten:- Wasser-Temp- Luft-Feuchtig/Temp(Ich würde gerne ein eig. Skript fürs Auswerten schreiben... aber z.B auf den Seiten der Sensoren sind einmal C und beim anderen C++ Beispiele)

    ----------------------------------------------------------------------------------------
    Zu deinem Skript:

    Puuuuuuuuuuuuuh:)

    Also bei deinem Skript steige ich noch nicht ganz durch, bin noch Schüler -.-
    Habe zwar letztes Jahr Php und MySql Datenbanken gehabt aber das ist ja etwas anders...

    Aber echt freundlich das du dir so eine mühe gibst ;D

    ----------------------------------------------------------------------------------------

    Ja ich möchte die Sensordaten später in einem Web-Interface aufrufen können und diese auch als Grafik anzeigen lassen.

    Einmal editiert, zuletzt von omatoasty (11. Oktober 2013 um 18:45)

  • Mein Script ist PHP und SQLite, also eigentlich nicht ganz so weit entfernt von PHP und MySQL :D

    Aber du kannst natürlich auch anstatt SQLite -> MySQL nutzen das ist relativ egal

    Bezüglich Graph erstellen könntest du dich herran orientieren: CPU/Sys-Infos (am Ende des Beitrags ist ein Bild im Spoiler)
    Aber auch hier gibts selbstverständlich mehrere Möglichkeiten ;)


    Bezüglich Sensoren auslesen müssten sich jemand anderes zu äussern, davon hab ich kaum Ahnung :blush:


  • Mein Script ist PHP und SQLite, also eigentlich nicht ganz so weit entfernt von PHP und MySQL :D

    Ja schon klar nur auf einem anderen Niveau :D

    Aber danke ;)

    Erstmal möchte ich es schaffen das die Daten auf meinen Server kommen und dann dort gespeichert werden :D danach kommt das Web-Interface und die Datenbank-Aktion...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!