Open Energy Monitor
Inhaltsverzeichnis
Arduino Sketch
Erweitern der Ethernet Library
Um DHCP und DNS nutzen zu können muss eine modifizierte Ethernet Library installiert werden. Die Library muss in das Verzeichnis "libraries" in den Arduino Ordner. Ich habe diese Library verwendet:
http://www.mcqn.com/weblog/dhcp_and_dns_arduino
Danach bekommt das Board automatisch eine IP vom Router zugewiesen. Zudem kann der Arduino DNS Namen in IP Adressen auflösen.
Software auf dem Server
Download der *.zip Archive:
https://github.com/openenergymonitor/emoncms3
Entpacken auf dem Server:
cd /var/www/emon wget https://github.com/openenergymonitor/emoncms3/tarball/master mv master openenergymonitor-emoncms3-3a1eb8b.tar unp openenergymonitor-emoncms3-3a1eb8b.tar mv openenergymonitor-emoncms3 emon
Die Visualisierung der Daten übernimmt das PHP Script emoncms. Damit das Script auf dem Apache2 Webserver läuft muss die Option AllowOverride All gesetzt werden.
vim /etc/apache2/sites-enabled/000-default
<Directory /var/www/nossl/wiki> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>
muss geändert werden zu
vim /etc/apache2/sites-enabled/000-default
<Directory /var/www/nossl/wiki> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
Nach einem Neustart des Apache Webservers ist die Seite erreichbar:
/etc/init.d/apache2 restart
Danach muss eine Datenbank für emoncms in phpmyadmin angelegt werden. Es ist zu beachten das der Zugriff von jeder IP-Adresse möglich ist, damit der Arduino auch in die SQL Datenbank schreiben darf. Eine Anleitung zur Installation ist hier zu finden:
http://openenergymonitor.org/emon/node/150
User Registrierung abschalten
Um zu verhindern das sich fremde Leute in emoncms einloggen kann man den Button registrieren verstecken. Dazu muss folgende Datei verändert werden:
vim /var/www/emon/Views/user/login_block.php
Diese Zeile suchen:
<input type="submit" class="button04" value="Login" onclick="javascript: form.action='<?php echo $GLOBALS['path']; ?>user/login';" /> or <input ype="submit" class="button04" value="Register" onclick="javascript: form.action='<?php echo $GLOBALS['path']; ?>user/create';" />
und mit dieser Zeile ersetzen:
<input type="submit" class="button04" value="Login" onclick="javascript: form.action='<?php echo $GLOBALS['path']; ?>user/login';" />