RevolutionPi in die Cloud – So beginnen wir!

In diesem Blog möchten wir einen Ansatz zeigen, wie man mit dem Revolution Pi Daten sammelt und in eine eigene „Cloud“ überträgt.

Das begrenzen wir aber NICHT nur auf den Revolution Pi sondern ermöglichen es allen intelligenten Sensoren oder anderer Software die Datenübertragung!

Was wir wollen!
  1. Eigenen „Cloudserver“
  2. Einfaches Übertragungsprotokoll
  3. Datenspeicherung auf dem Server
  4. Grafische Anzeige der Daten über eine „Webseite“
  5. Daten verschlüsselt über das Internet empfangen und ansehen
  6. Keine LIZENZKOSTEN

Diese Punkte werden wir auf unserem Weg durch den Blog abarbeiten! „RevolutionPi in die Cloud – So beginnen wir!“ weiterlesen

Version 2.1.5

Kleines Update

  • Die Funktion .cycleloop() übernimmt nun vor dem ersten Durchlauf die, durch den optionalen Parameter cycletime übergebene, Zykluszeit.
  • Übernahme der defaultvalue aus piCtory verbessert.

DOWNLOAD

Version 2.1.3

Dieses Update verbessert Fehlermeldungen und führt Bytezusammenfassung bei .replace_io(...) ein:

  • Fehlermeldungen wurden bei fehlender piCtory Konfiguration eindeutiger gestelltet.
  • Netzwerkfehler bei RevPiNetIO werden als Warnungen angezeigt.
  • Mehrere Bytes eines Gateways oder virtuellen Devices können als Bytefolge in einem neuen IO zusammengefasst werden. Dafür unterstützt die .replace_io("neuername", frm="8s") Funktion für das Formatzeichen s nun eine Anzahl der Bytes. Siehe DOKU.

DOWNLOAD

Version 2.1.2

Wichtiges Update!

Dieses Update behebt Fehler und führt neue Netzwerk-Funktionen ein:

  • Überarbeitung der Eventüberwachung (mainloop). Der mainloop wurde leistungsfähiger umgesetzt und verbraucht weniger Systemressourcen.
  • Bei der Eventüberwachung (mainloop) werden jetzt auch während der Ausführung einer Eventfunktionen weitere Events erkannt und zur Abarbeitung übergeben.
  • Eventfunktionen, die als as_thread=True angegeben sind, werden unabhängig von der Abarbeitung anderer Eventfunktionen sofort parallel gestartet!
  • Netzwerkfunktion hinzugefügt. RevPiNetIO, RevPiNetIOSelected und RevPiNetIODriver stehen nun zur Verfügung. Als Übergabeparameter gibt man diesen Funktionen die IP-Adresse des RevPi’s, auf dem RevPiPyLoad ab Version 0.5.3 mit aktivierter plcserver = 1 Funktion läuft.
    Das Prozessabbild wird dann über das Netzwerk ausgetauscht. Die sonstige Syntax und der Funktionsumfang des Moduls bleiben gleich.
  • Weitere Verbesserungen des Codes.

DOWNLOAD

Version 2.0.7 / 1.0.3

Interessantes Update

Dieses Update erweitert unser Modul um folgende Dinge:

  • Fehlerbehandlung der Funktion, die dem Cycleloop übergeben wird.
    Diese Version verwaltet Fehler, die durch den Quelltext der Zyklusfunktion geworfen werden. Dabei wird das RevPiModIO Modul in einen sauberen Zustand versetzt und der Fehler erst dann geworfen. Wird dieser Fehler vom Programmierer abgefangen, kann der Cycleloop wieder neu gestartet werden.

    # (...)
    try:
        rpi.cycleloop(zyklusfunktion)
    except:
        # Fehler behandeln, protokollieren und
        # ggf. den Cycleloop neu starten
    # (...)
  • Fehlerbehandlung der Funktionen, die durch die Eventüberwachung (mainloop) ausgeführt werden.
    Diese Version verwaltet Fehler, die durch den Quelltext der Eventfunktionen geworfen werden. Dabei wird das RevPiModIO Modul in einen sauberen Zustand versetzt (mainloop und Threads beendet) und erst dann der Fehler geworfen. Wird dieser Fehler vom Programmierer abgefangen, kann der Mainloop wieder neu gestartet werden.

    # (...)
    try:
        rpi.mainloop()
    except:
        # Fehler behandeln, protokollieren und
        # ggf. den Mainloop neu starten
    # (...)
  • Klarere Fehlerausgabe bei falscher Instanziierung des Moduls.
  • Korrektur der Abfrage ioobjekt in device.devicename bei Übergabe von IOBase oder vererbte Objekte.

DOWNLOAD