Nun werden wir unsere Software RevPiPyLoad auf dem RevolutionPi installieren und das MQTT System aktivieren.
Eigener Cloud-Server mit MQTT
Der eigene Cloud-Server kann ein 100.000 EUR teurer Server sein oder ein Raspberry Pi 3 – Ja, wir nehmen einfach mal einen günstigen Raspberry Pi 3 für unsere Versuche! „Eigener Cloud-Server mit MQTT“ weiterlesen
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!
- Eigenen „Cloudserver“
- Einfaches Übertragungsprotokoll
- Datenspeicherung auf dem Server
- Grafische Anzeige der Daten über eine „Webseite“
- Daten verschlüsselt über das Internet empfangen und ansehen
- 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 Parametercycletime
übergebene, Zykluszeit. - Übernahme der defaultvalue aus piCtory verbessert.
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.
GPIOs von einem RaspberryPi auf RevolutionPi
Mit den RevPiNet* Klassen, können wir über das Netzwerk auf das Prozessabbild zugreifen. Diese Funktion nutzen wir nun, um den Wert eines GPIO-Pins des Raspberry Pis in unserem Prozessabbild zu verwenden. „GPIOs von einem RaspberryPi auf RevolutionPi“ weiterlesen
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.
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.
Version 2.0.6
Wichtiges Update!
Dieses Update behebt folgende Fehler: „Version 2.0.6“ weiterlesen
Version 2.0.5
Kleines Update:
- Zugriff auf die RevPi Core Temperatur über
.core.temperature
möglich - Fehlerbehebung bei Verwendung von
simulator=True
bei der Instanziierung - Leistungsverbesserung bei Instanziierung