DAS SMART METER FÜR JEDEN
Schön das du dich für unser Projekt interessierst. Auf dieser Seite wollen wir euch eine Schritt-für-Schritt Anleitung für die eigene Installation liefern.
Die Installation gliedert sich folgendermaßen:
Die Installation der Zähler/Sensoren und des Controllers ist stark von der verwendeten Hardware abhängig. Bei Fragen wende dich bitte an die Mailing-Liste.
Der Morphologische Kasten gibt euch eine Übersicht über die möglichen und unterstützten Sensoren/Zähler.
Bisher unterstützen wir das AVR NET-IO Board von Pollin und den 2xS0-Hutschienencontroller bzw. 5xS0-Hutschienencontroller.
Die drei Controller basieren auf der ethersex Firmware. Bisher müssen wir dort die UUID, die wir im vorherigen Schritt erzeugt haben, statisch in den Controller flashen.
Die Installation wird hier beschrieben.
Am besten eigenen sich hier Debian Squeeze oder Ubuntu Lucid. Die Abhängigkeiten lassen sich schnell mit folgendem Befehl installieren:
apt-get install git-core libapache2-mod-php5 php5-cli php5-mysql php-apc mysql-server mysql-clientbzw. für PostgreSQL
apt-get install git-core libapache2-mod-php5 php5-cli php5-pgsql php-apc postgresql-8.4
$ wget --no-check-certificate https://github.com/volkszaehler/volkszaehler.org/raw/master/misc/tools/install.sh ... $ chmod a+x install.sh $ ./install.sh doctrine setup... doctrine path? [/usr/local/lib/volkszaehler.org/doctrine] installing doctrine into /usr/local/lib/volkszaehler.org/doctrine Cloning into /usr/local/lib/volkszaehler.org/doctrine... ... volkszaehler path? [/var/www/vz] installing volkszaehler.org into /var/www/vz Cloning into /var/www/vz... remote: Counting objects: 3025, done. ... configure volkszaehler.org (database connection)? [y] ...
Das Script fragt, was es wohin installieren soll.
Sollte es zu einem PHP Fehler beim Anlegen der Datenbank kommen versucht mal Doctrine per Hand zu Installieren.
a2enmod rewrite
/etc/apache2/sites-enabled/000-default:
DocumentRoot /var/www/volkszaehler.org/htdocs/
AllowOverride FileInfo Limit Options Indexes
Download der Skripte aus dem git Repository:
git clone git://github.com/volkszaehler/volkszaehler.org.git /var/www/volkszaehler.org sudo chown -R www-data: /var/www/volkszaehler.org
a2enmod rewrite
/etc/apache2/sites-enabled/000-default:
DocumentRoot /var/www/volkszaehler.org/htdocs/
AllowOverride FileInfo Limit Options Indexes
wget -O - http://www.doctrine-project.org/downloads/DoctrineORM-2.0.1-full.tar.gz | tar xz -C /usr/local/ cd /var/www/volkszaehler.org/lib/vendor ln -s /usr/local/doctrine-orm/Doctrine/ .
git clone git://github.com/doctrine/doctrine2.git /usr/local/doctrine-orm cd /usr/local/doctrine-orm git submodule init git submodule update cd /var/www/volkszaehler.org/lib/vendor ln -s /usr/local/doctrine-orm/lib/Doctrine/ . ln -s /usr/local/doctrine-orm/lib/vendor/Symfony/ ./Doctrine/ cd Doctrine ln -s /usr/local/doctrine-orm/lib/vendor/doctrine-dbal/lib/Doctrine/DBAL/ . ln -s /usr/local/doctrine-orm/lib/vendor/doctrine-common/lib/Doctrine/Common/ .
cd /var/www/volkszaehler.org/etc/
cp volkszaehler.conf.template.php volkszaehler.conf.php
edit volkszaehler.conf.php:
$config['db']['host'] = 'localhost';
$config['db']['user'] = 'vz';
$config['db']['password'] = '<shhh!>';
$config['db']['dbname'] = 'volkszaehler';
Alternativ wird die Installation in der Doctrine Dokumentation beschrieben. Falls du also Probleme bei der Installation haben solltest, kannst du dir hier noch ein paar Informationen holen.
phpmyadmin:
Home -> "Rechte" -> "Neuen Benutzer hinzufügen"
Benutzername: vz
Host: localhost
Passwort: <shhh!>
keine globalen Rechte vergeben!
-> ok
oder:
CREATE USER 'vz'@'localhost' IDENTIFIED BY '<shhhh!>';
phpmyadmin
Home -> "Datenbank anlegen", Name: "volkszaehler" -> "Anlegen"
oder:
CREATE DATABASE `volkszaehler`;
Datenbank "volkszaehler" auswählen (ggf. phpmyadmin neu laden, falls die neue DB noch nicht angezeigt wird)
Struktur importieren:
"Importieren" mysql.sql (siehe README im Verzeichnis share/sql)
Tabelle "entities" auswählen (unbedingt zuerst diese importieren!)
"Importieren"; das Gleiche mit "properties" und "data"
oder:
cd /var/www/volkszaehler.org/misc/sql/demo
cat entities.sql properties.sql data-demoset1.sql | mysql -uroot volkszaehler -p
Datenbank "mysql", Tabelle "tables_priv":
"Einfügen":
Host: "localhost"
Db: "volkszaehler"
User: "vz"
Table_name: "data" (anschließend das Gleiche mit "entities", "entities_in_aggregator", "properties", "tokens"
Table_priv: "select", "update" und "insert"
oder:
GRANT select, update, insert ON volkszaehler.* TO vz@localhost;
mysqladmin password -u root "<neues, gutes passwort>" mysqladmin reload -p
Um die Installationen benutzen zu können müssen wir erst einen neuen Kanal (Zähler/Sensor) erstellen:
Im WebFrontend: Kanal hinzufügen → Kanal erstellen
http://<server>/<path>/volkszaehler.org/middleware.php/channel.json?operation=add&title=Testzaehler&type=power&resolution=1000&description=Swissnox[...]
Die Middleware antwortet daraufhin mit einer JSON codierten Antwort, die die UUID des Kanals enthält.
Die UUID läßt sich auch per phpMyAdmin aus der Tabelle „entities“ entnehmen.
Mit folgendem Request können wir dan bereits die ersten Impulse/Messwerte simulieren:
http://<server>/<path>/volkszaehler.org/middleware.php/data/<uuid>.json?operation=add&value=<1|Sensor Wert>
Um uns nun die Daten anzeigen zu können müssen wir nur noch die Middleware mit der entsprechenden UUID aufrufen:
http://<server>/<path>/volkszaehler.org/frontend/?uuid=<uuid>
a301d8d0-903b-1234-94bb-d943d061b6a8
Alternativ kann man die UUID auch über das Fenster im Frontend direkt eingeben.