Spring Talks

Im Frühjahr stehen wieder einige Vortragstermine zu OwnYourData am Programm. Wenn ihr Zeit habt besucht uns auf den folgenden Veranstaltungen:

  • Wissensmanagement Tage Krems: am 25. April um 9 Uhr im Audi-Max der Donau-Uni Krems zum Thema Crowd Intelligence
  • Linuxwochen 2017: am 5. Mai um 13 Uhr im FH Technikum Wien zum Thema Daten im Smart-Home
  • Vienna Data Science Meetup: am 11. Mai um 19 Uhr an der Fakultät für Informatik in der Währinger Straße zum Thema Reproducible Data Science
  • No Spy Konferenz: am 20. Mai im Literaturhaus Stuttgart zum Thema Persönliche Datennutzung
Veröffentlicht in Blog

OwnYourData in den Medien

Diese Woche wurde OwnYourData in verschiedenen österreichischen Medien vorgestellt:

Und ebenfalls waren wir mit der IoT Austria bei den Linux Tagen Chemnitz vertreten – hier gibts den Flyer zum Download.

Verschenkst du deine Daten noch oder hast du schon einen Datentresor?

Jeden Tag erzeugen wir eine riesige Menge an Daten: unterwegs mit dem Auto oder in öffentlichen Verkehrsmitteln, beim Einkaufen, natürlich mit unserem Smartphone und überhaupt immer, wenn wir im Internet sind. Mit dem Datentresor von OwnYourData kannst du dir eine Kopie dieser Daten sicher bei dir speichern. Das folgende Video gibt dir einen Überblick darüber:

Wenn Früchte Daten tragen

RaspberryPi und BananaPi zum Sammeln und Auswerten von Daten.

Zuletzt haben wir beschrieben wie man seinen Datentresor am PC mithilfe von Docker betreiben kann. In diesem Artikel demonstrieren wir nun die Installation des Datentresors und der Raumklima-App auf einem RaspberryPi 3. Die Raumklima-App ermöglicht dabei die Visualisierung von Sensordaten und die Steuerung diverser Aktoren (zB Ein- und Ausschalten eines Ventilators). Zum Erfassen der Sensordaten verwenden wir die Infrastruktur die vom Education-Kit der IoT Austria bereitgestellt wird. Und es gibt ebenfalls ein Video das eine Installation der Raumklima App bei der Quintessenz im Museumsquartier Wien zeigt.

Verwendete Hardware

Folgende Hardwareteile benötigst du, um deine eigene Raumklimasteuerung einzurichten:

  • aktueller RaspberryPi oder BananaPi mit Erweiterung zum Empfang von Sensordaten; die IoT Austria bietet dazu einen vollständig vorkonfigurierten BananaPi an, den wir auch in unserem Demosetup verwenden
    BananaPi

     

  • Sensoren zum Messen des Raumklimas; in unserem Beispiel sind das Sensoren für
    • Temperatur
    • Feuchtigkeit
    • Luftdruck
    • Licht

    Auch hier haben wir in unserem Demosetup wieder Sensoren der IoT Austria verwendet die beim Education Kit mitgeliefert werden.
    sensoren

     

  • Aktoren zur Ansteuerung von Geräten; in unserem Beispiel verwenden wir Verteilersteckdosen die via COAP ein- und ausgeschaltet werden können
    aktoren

     

  • optional kann ein zusätzlicher BananaPi oder RaspberryPi verwendet werden, der getrennt von der Sensorumgebung die OwnYourData Software-Komponenten ausführt; in unserem Beispiel verwenden wir einen BananaPi für die Sensorumgebung und einen RaspberryPi für OwnYourData
    raumklima_hardware

     

Installation

Ausgestattet mit der nötigen Hardware müssen wir als nächstes die unterschiedlichen Softwarekomponenten installieren. Dabei unterscheiden wir 2 Blöcke (unabhängig, ob sie auf 1 oder 2 BananaPi/RaspberryPi installiert sind):

Konfiguration

Zur Konfiguration von smartSarah muss die Datei sarah_hosts.cfg im Verzeichnis /opt/omd/sites/mysite/etc/nagios/conf.d mit den vorhandenen Hosts und Sensoren konfiguriert werden (weitere Infos hier). Nach dem Update muss omd restart durchgeführt werden (weitere Infos auf der Seite von OMD – Open Monitoring Distribution). In Nagios siehst du dann alle eingerichteten Hosts und Sensoren.
nagios

Für die Konfiguration der Raumklima-App müssen nun ebenfalls die Sensoren eingerichtet werden. Erfasse dazu auf der Seite „Datenquelle“ für jeden Sensor die folgenden Attribute:

  • Name: eindeutige Bezeichnung für den Sensor, z.B. Temperatur (Wohnzimmer)
  • URL: Adresse unter der NAGIOS die Sensor Daten im JSON-Format bereitstellt, z.B. http://192.168.1.2/mysite/pnp4nagios/xport/json?host=climateplus_12AB&srv=hum
  • Benutzer: zur Authentifizierung beim Zugriff auf die URL
  • Passwort: zur Authentifizierung beim Zugriff auf die URL
  • Liste: Name der Liste in der die Daten gespeichert werden sollen (der Name muss mit eu.ownyourdata.room beginnen), z.B. eu.ownyourdata.room.temp
  • aktiv: nur Sensoren die diese Option aktiviert haben, werden aufgezeichnet

Hier ein Beispiel mit 4 erfassten Sensoren:
app

Nach der Konfiguration eines Sensors kann mit der Schaltfläche „Importieren“ ein sofortiger Import der vorhandenen Daten gestartet werden. Ansonsten werden die Daten alle 2h aktualisiert.

Einsatz

Nachdem das System aufgebaut und alle Softwareteile installiert und konfiguriert sind, wartet man am besten ein paar Tage, damit einige Daten gesammelt werden. Die übliche Konfiguration erfasst Messwerte alle 10 Minuten und damit kommen pro Tag und Sensor jeweils 144 Messwerte dazu. Mit der Raumklima-App können dann diese Messwert-Reihen miteinander verglichen werden. Wähle dazu unter Auswertungen im Karteireiter „Kurvenvergleich“einen Zeitbereich und die 2 Sensoren die du vergleichen möchtest. Wenn du den Mauszeiger über die Kurve bewegst, werden die genauen Messwerte für die jeweilige Uhrzeit angezeigt.
graph

Eine weitere Anwendungsmöglichkeit für die gesammelten Daten ist das Auslösen von Aktionen beim Überschreiten von Grenzwerten. Dabei wird jede Minute der ausgewählte Sensor auf die konfigurierte Bedingung überprüft und wenn diese Bedingung zutrifft, wird eine vordefinierte Aktion ausgelöst. Im dargestellten Beispiel wird ein Fenster geöffnet und der Ventilator eingeschaltet, wenn die Temperatur über 25°C steigt. Das Fenster wird geschlossen und der Ventilator ausgeschaltet, wenn die Temperatur unter 23°C fällt.
aktoren
In einem der nächsten Artikel werden wir dann beschreiben, wie zusätzliche Daten wie zB eine online verfügbare Außentemperatur, ebenfalls in die Steuerung einbezogen werden können.

Fazit

In diesem Artikel haben wir beschrieben, wie ein mögliches autonomes System zum Sammeln und Nutzen von Sensordaten im eigenen Haus / in der eigenen Wohnung funktionieren kann. Insbesondere der Einsatz von Ein-Platinen-Computern eröffnet interessante Möglichkeiten und betreibt man das hier beschriebene Setting ohne mit dem Internet verbunden zu sein, läuft man auch nicht Gefahr private Daten preiszugeben, oder sonst einem Angriff ausgesetzt zu sein, die solche ständig in Betreib befindlichen IoT Devices zu einem beliebten Ziel von Hackern machen.

Veröffentlicht in Blog

Der neue Datentresor

logo_xmasNoch kurz vor Weihnachten freuen wir uns eine neue Version des Datentresors bereitstellen zu können. Nicole hat das neue Design entwickelt, Michael die Backend-Funktionen angepasst und ganz neu im Team die Firma Fraiss aus Graz das Frontend umgesetzt. Auf unserer Homepage könnt ihr euch entweder ganz schnell einen neuen Datentresor selbst anlegen oder ihr probiert unseren Demo-Datentresor aus.

Hier eine kurze Liste der wichtigsten Änderungen samt Screenshots:

  • Login mit neuer Kopf & Fußzeile
    login
  • Anzeige vorhandener Apps, Installation mit 1 Klick und Verwaltung von App-Anbieter
    welcome apps store
  • Darstellung vorhandener Daten
    daten datensatz
  • Account Seite mit Verlinkung auf Android & iOS App für euren mobilen Datentresor
    account

Mit diesen Neuerungen wünschen wir euch frohe Weihnachten und alles Gute für 2017!

Summer-of-Code Abschluss bei der Vienna Data Science Group

map_metalabWir haben zuvor schon über die Ergebnisse der diesjährigen Summer-of-Code Aktion von OwnYourData berichtet. Am Freitag den 21. Oktober 2016 findet im Metalab die Abschluss-Präsentation im Zuge eines Meetups der Vienna Data Science Group statt.

Wo: Metalab, Rathausstraße 6, 1010 Wien
Wann: Freitag, 21. Oktober 2016, ab 19 Uhr

 

Hier die Ankündigung des Meetups:

Dear Community,

we are proudly announcing our 14th. Knowledegfeed. For those of you joining us for the first time, a short description below.

During these sessions we are inviting specialists presenting their hands-on experience, current project or simply ideas regarding topics related to our field of interest (the reason for this rather wide description is based on the wide scope of data science itself… ;-)). Furthermore this gives you the opportunity to ask our lecturer of the evening questions, discuss your ideas and of course enjoy a beer in company of some interesting folks!

Title: Summary of the results for the famous „Summer Of Code“

Description: This will be a summary on the results for our beloved „Summer Of Code“. Just to remind you, OwnYourData is an innovative nonprofit association providing you with a secure online-environment and tools, to analyse your data on the spot. As a result of a fruitful collaboration with us we commenced the „Summer Of Code“ in July this year.  The aim was to support this great idea and OwnYourData with the development of their platform by working on pre-specified projects, or simply coming up with your own idea. Christoph will be presenting you with the glorious results of these projects, which are listed below:

  1. Security & Vulnerability Assessment of the OwnYourData platform realized by Mr. Max Riedl
  2. Python Tutorial (code available on Git-Hub) realized by Mr. Steven Malin
  3. Enhancement of the Banking-App realized by the gentlemen Roger Gomez and Christoph Fabianek himself

Duration: about 30-45min

Powered by: Christoph FABIANEK has earned his PhD at the Technical University of Vienna in Mathematics. After finishing his MBA in General Management at the Donau University Krems he moved to Frequentis and  works there currently as project manager in the field of public safety and air traffic management.

Juristen sehen Tracking und Userdaten als Entgelt

Am 71. Deutschen Juristentag in Essen schlugen Experten vor, dass auch die Bezahlung mit Daten einen Vertrag „entgeltlich“ machen soll. DerStandard schrieb: „Das hätte in der Rechtssprechung wohl gravierende Konsequenzen. Denn dann könnten Nutzer, die ja für das Produkt bezahlt haben, Haftungsansprüche stellen – etwa dann, wenn Google Maps sie in die Irre geführt hat.“

Das sind die Abstimmungen des Juristentages:

5. Abgrenzung entgeltliche/unentgeltliche Verträge:

Var. a: Erlangt der Anbieter Daten, die ihm vom Nutzer zur Verfügung gestellt wurden oder die er auf andere Weise erhoben hat, so ist stets von einer Gegenleistung (Entgelt) auszugehen.
Abgelehnt 4:26:2

Var. b:  Von einem Entgelt ist nur auszugehen, wenn die Datennutzung aufgrund des Datenschutzrechts nur mit Einwilligung des Betroffenen zulässig ist.
Angenommen 23:7:2

Die Abstimmung (bzw Empfehlung des Juristentages) lässt sich folgendermaßen interpretieren: Wenn bei Services (wie GoogleMaps) keine Zustimmung zu Datenschutzregelungen nötig ist, um das Service nutzen zu können, dann kann man nach Variante b nicht von einem Entgelt-Charakter ausgehen. Anders könnte es aussehen, wenn Cookies genutzt werden, denn hier ist eine „Einwilligung“ (cookie consent) nötig. Da wird dann schon die Abgrenzung schwierig, wenn vom Service die Möglichkeit geboten wird, auf Cookies zu verzichten: für einen Nutzer, der zB per Cookie-Optionen bei den Google-Services aus den Cookies herausoptiert, würde kein Entgelt vorliegen – im Gegensatz zu einem Nutzer, der Cookies zulässt.

Das ist eine spannende Entwicklung, denn es zeigt, dass „Gratisdienste“ mit all dem Datamining nicht wirklich gratis sind. Und es zeigt: deine persönlichen Daten sind wertvoll.

Veröffentlicht in Blog

Ein Container voller Daten

dockerBisher war die Installation der einzelnen Teilen von OwnYourData und Einrichtung der Apps nicht immer leicht. Um diese Situation zu verbessern, bieten wir nun PIA und Apps auch via Docker an. (Docker ist eine bewährte Technologie zur Bereitstellung von Anwendungen in einer isolierten Umgebung.) Die Container stehen auf Dockerhub.com zur Verfügung.

So kannst du die OwnYourData-Container verwenden

Führe die folgenden Schritte durch, um OwnYourData auf deinem Computer auszuführen. (Alternativ kannst du die Container auch in der Cloud installieren – das wird im nächsten Blogeintrag beschrieben.)

  1. Docker installieren
    Hier geht’s zu den Anleitungen für die Installation von Docker auf deinem Computer:

  2. Docker-Konsole starten
    Starte die Docker-Konsole und du siehst folgendes Fenster:
    shellWichtig: notiere die angezeigte IP-Adresse, unter der Docker auf deinem Computer läuft (rot eingerahmt)
  3. PIA starten
    Um OwnYourData zu verwenden benötigst du als erstes die PIA (Personal Information Archive). Führe folgenden Befehl auf der Docker-Konsole aus:

    docker run -p 80:8080 oydeu/oyd-pia

    Warte bis PIA vollständig gestartet ist und folgende Ausgabe (rot eingerahmt) angezeigt wird:

  4. Kontoentwicklungs-App starten
    Als nächstes wird die Kontoentwicklungs-App gestartet. Öffne dazu eine neue Docker-Konsole und führe folgenden Befehl aus:

    docker run -p 3838:3838 oydeu/app-bank

    Anmerkung: die Kontoentwicklungs-App zeigt keine Ausgabe auf der Konsole an
    Kontoentwicklungs-App starten

  5. Kontoentwicklungs-App registrieren
    Zum Registrieren der Kontoentwicklungs-App musst du die folgenden 8 Schritte in der PIA durchführen:

    1. PIA öffnen
      Öffne einen Browser und gib als Adresse die IP-Adresse ein aus Schritt 2 ein; üblicherweise ist das die Adresse 192.168.99.100. Es wird dann der Login Screen der PIA angezeigt:
      PIA im Browser
    2. in PIA einloggen
      Logge dich mit folgenden Daten ein:

      • Benutzername: admin
      • Passwort: admin
    3. Plugin-Seite öffnen
      Öffne die Plugin-Seite indem du im Menü auf „Entitäten“ (1) klickst und dann „Plugin“ (2) wählst.
      Plugin Seite
    4. Plugin registrieren
      Klicke auf der Plugin-Seite die Schalftfläche „Plugin registrieren“
      Plugin registrieren
    5. Manifest einfügen
      Im Dialog der erscheint, füge das folgende Manifest (= Beschreibung der Kontoentwicklungs-App) ein:

      ew0KICAgICAgICAibmFtZSI6IktvbnRvZW50d2lja2x1bmciLA0KICAgICAgICAiaWRlbnRpZmllciI6ImV1Lm93bnlvdXJkYXRhLmJhbmsiLA0KICAgICAgICAidHlwZSI6ImV4dGVybmFsIiwNCiAgICAgICAgImRlc2NyaXB0aW9uIjoidmVyd2FsdGUgZGVpbmUgS29udG9hdXN6w7xnZSIsDQogICAgICAgICJwZXJtaXNzaW9ucyI6WyAiZXUub3dueW91cmRhdGEuaW5mbzpyZWFkIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJldS5vd255b3VyZGF0YS5pbmZvOndyaXRlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJldS5vd255b3VyZGF0YS5pbmZvOnVwZGF0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAiZXUub3dueW91cmRhdGEuYmFuazpyZWFkIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJldS5vd255b3VyZGF0YS5iYW5rOndyaXRlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJldS5vd255b3VyZGF0YS5iYW5rOnVwZGF0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAiZXUub3dueW91cmRhdGEuYmFuazpkZWxldGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgImV1Lm93bnlvdXJkYXRhLmJhbmsuZXh0ZW5zaW9uOnJlYWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgImV1Lm93bnlvdXJkYXRhLmJhbmsuZXh0ZW5zaW9uOndyaXRlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJldS5vd255b3VyZGF0YS5iYW5rLmV4dGVuc2lvbjp1cGRhdGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgImV1Lm93bnlvdXJkYXRhLmJhbmsuZXh0ZW5zaW9uOmRlbGV0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAiZXUub3dueW91cmRhdGEuYmFuay5yZWZlcmVuY2U6cmVhZCIsDQogICAgICAgICAgICAgICAgICAgICAgICAiZXUub3dueW91cmRhdGEuYmFuay5yZWZlcmVuY2U6d3JpdGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgImV1Lm93bnlvdXJkYXRhLmJhbmsucmVmZXJlbmNlOnVwZGF0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAiZXUub3dueW91cmRhdGEuYmFuay5yZWZlcmVuY2U6ZGVsZXRlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJldS5vd255b3VyZGF0YS5iYW5rLmdyb3VwOnJlYWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgImV1Lm93bnlvdXJkYXRhLmJhbmsuZ3JvdXA6d3JpdGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgImV1Lm93bnlvdXJkYXRhLmJhbmsuZ3JvdXA6dXBkYXRlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJldS5vd255b3VyZGF0YS5iYW5rLmdyb3VwOmRlbGV0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAiZXUub3dueW91cmRhdGEuc2NoZWR1bGVyOnJlYWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgImV1Lm93bnlvdXJkYXRhLnNjaGVkdWxlcjp3cml0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAiZXUub3dueW91cmRhdGEuc2NoZWR1bGVyOnVwZGF0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAiZXUub3dueW91cmRhdGEuc2NoZWR1bGVyOmRlbGV0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAiZXUub3dueW91cmRhdGEuc2NoZWR1bGVyLmVtYWlsX2NvbmZpZzpyZWFkIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJldS5vd255b3VyZGF0YS5zY2hlZHVsZXIuZW1haWxfY29uZmlnOndyaXRlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJldS5vd255b3VyZGF0YS5zY2hlZHVsZXIuZW1haWxfY29uZmlnOnVwZGF0ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAiZXUub3dueW91cmRhdGEuc2NoZWR1bGVyLmVtYWlsX2NvbmZpZzpkZWxldGUiIF0NCn0=
    6. Adresse der Kontoentwicklungs-App eingeben
      Nach dem Einfügen des Manifests, werden die notwendigen Zugriffsberechtigungen (1) angezeigt und es kann die Webadresse der Kontoentwicklungs-App (2) angegeben werden. Füge hier die IP-Adresse aus Schritt 2 weiter oben ein und verwende Port 3838, üblicherweise ist das:

      http://192.168.99.100:3838

      App URL

    7. Eingaben bestätigen
      Bestätige die Berechtigungen und die Webadresse mit der Schaltfläche „Akzeptieren“ – Schritt 3 im Bild oben.
    8. Dialog schließen
      Schließe den Dialog zum Registrieren der Kontoentwicklungs-App mit der Schaltfläche X rechts oben.
      Dialog schließen
  6. Kontoentwicklungs-App öffnen
    Es steht nun in der Liste der Plugins die neue Kontoentwicklungs-App zur Verfügung. Klicke auf den Link „Kontoentwicklung“ und es öffnet sich die App.
    Plugin Liste

    Kontoentwicklungs-App

Zusammenfassung

Docker bietet für OwnYourData eine gute Möglichkeit die einzelnen Komponenten (PIA und Apps) schnell und einfach einzurichten und zu verwenden. In diesem Blogbeitrag wurde beschrieben wie man das auf dem eigenen PC durchführt. In den nächsten beiden Artikeln werden weitere Apps und das Deplyoment auf einem Raspberry PI 3, sowie auf Cloud-Diensten wie sloppy.io oder elastx.se beschrieben.

Summer-of-Code

Gemeinsam mit der Vienna Data Science Group haben wir im Juni die OwnYourData Summer-of-Code Aktion gestartet. Dabei wurden Interessierte eingeladen an unterschiedlichen Bereichen von OwnYourData mitzuarbeiten.

Der Sommer neigt sich nun langsam dem Ende zu und wir stellen hier die Projekte vor, die fertig gestellt wurden:

  • PIA Security Assessment: das Dokument mit einer umfangreichen Risikobewertung der PIA ist bereits hier online: Security & Vulnerability Risk Assessment
  • Python Tutorial: um den Einstieg in die Welt von OwnYourData für Entwickler zu erleichtern gibt es bereits Tutorials in R und Ruby; diese wurden nun ergänzt um die Sprache Python; der aktuelle Stand ist auf Github verfügbar
  • Erweiterung der Banken-App: und schließlich wurde die Banken-App noch erweitert um den Import Daten der UniCredit Bank Austria

Die Präsentation der Ergebnisse erfolgt beim Oktober Meetup der Vienna Data Science Group. Wir werden dazu hier noch gesondert einladen!