ITRaspberry Pi

WebIOPI und Weaved: Demo-Installation

Mein Vorhaben: Ich möchte einen Raspberry Pi zu einem Webserver machen und ihn sicher vom Internet her publizieren, ohne meine Firewall oder Router zu verändern (also gemäss dem IoT Paradigma). Dazu habe ich mich entschieden, die folgenden Komponenten einzusetzen:

  • WebIOPI Micro Framework in Python http://webiopi.trouch.com/INSTALL.html.
    Dieses Framework ist in Python geschrieben und implementiert einen Webserver mit REST APIs vollständig self-contained, ohne auf einen Apache/mySQL … Unterbau angewiesen zu sein.
    webiopi-1
  • Weaved Cloud Service https://www.weaved.com/
    Weaved erlaubt die Fernabfrage und Fernsteuerung von Devices nach dem Broker-Prinzip (nur outbound Verbindungen vom Device ins Internet)
    weaved0

Der folgende Blog ist eine ganz knappe Minimalanleitung ohne Details. Das gesteckte Ziel konnte mit 2-3 Abenden Zeitaufwand locker erreicht werden.

1. Weaved Account lösen, siehe Youtube Filme

2. Installation WebIOPi laut Webseite http://webiopi.trouch.com/INSTALL.html. Die Einrichtung von Weaved ist im Installer eingebunden und einfacher als die manuelle Konfiguration (siehe https://www.weaved.com/installing-weaved-raspberry-pi-raspbian-os/).

$ tar xvzf WebIOPi-x.y.z.tar.gz
$ cd WebIOPi-x.y.z
$ sudo ./setup.sh

  • Dann kommt die Frage, ob man via Internet zugreifen wolle -> Y -> weaved Installer
  • Default Port 8000 -> 8123 -> Definition für Weaved: Protocol: webiopi Port 8123
  • Servicename in Weaved: Weavedwebioipi8123
  • Anmelden: Account eingeben, Passwort, Alias eingeben: webiopi-pigate1

Damit ist WebIOPi und Weaved schon initial fertig installiert. Unter /home/pi/WebIoPi/Web..../examples findet man einige Beispiele.

Achtung: WebIoPi verwendet Python 3.2, viele andere Pakete laufen nur unter Python 2.7, so zum Beispiel smbus für die I2C Kommunikation! Damit dieses verwendet werden kann, muss WebIoPi Python 2.7 nutzen. Wenn auch Python 3.2 auf dem System zu finden ist, wird es 3.2 nutzen. Dies findet man so heraus: sudo webiopi -d -c /etc/webiopi/config und prüfe die erste Zeile auf der Konsole:

2015-07-08 08:57:15 – WebIOPi – INFO – Starting WebIOPi/0.7.0/Python3.2       <— oder Python2.7

Wenn es 3.2 ist, muss WebioPi für 2.7 neu installiert werden: stop webiopi, gehe zum Ort, wo die webiopi setup.sh ist:
cd /home/pi/webiopi und sudo nano setup.sh. Editiere diese Zeile: SEARCH=“python python3″  zu dieser SEARCH=“python“. Dann  sudo ./setup.sh skip-apt und reboot.

weaved1weaved2

3. Port in /etc/webiopi/config ändern auf 8000

  • sudo /etc/init.d/webiopi/stop
  • sudo /etc/init.d/webiopi/start
  • sudo /etc/init.d/webiopi/status

4. Daemon einrichten: sudo update-rc.d webiopi defaults

5. Lokales Login http://192.168.xx.xxx:8123 Passwort: Default user is „webiopi“ and password is „raspberry“. Danach sieht man die von WebIOPi erzeugte Webseite, eines der Beispiele, die mit dem WebIOPi Framework mitkommen. Mit dem Menu GPIO Header können wir jetzt die Konfiguration der GPIO Pins abfragen und der Zustand verändern d.h. schalten und walten!
Achtung:  In Chrome könne die Pins nicht geändert werden!

weaved3

6. Remote in Weaved nach Anmeldung mit gleichem Passwort wird die Seite identisch präsentiert

weaved4

7. Installiere die Weaved App für iOS. So sieht diese dann aus. Man meldet sich mit dem Weaved Account an und sieht das Device webiopi-pigate1. Für den Zugriff auf dieses Device ist eine Anmeldung mit dem user webiopi nötig
weaved5

weaved6
weaved7

 

 

 

 

 

 

 

 

 

Danach steht das WebIOPi Main Menu komplett auf dem iPhone zur Verfügung:

weaved8

weaved9


 

Update 20170106: Waved wurde zu remot3.it. Migration: http://forum.weaved.com/t/upgrade-your-pi-to-remot3-it-from-weaved/1154