292
Bearbeitungen
Keine Bearbeitungszusammenfassung |
|||
(15 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 20: | Zeile 20: | ||
=Raspberry Pi Installation= | =Raspberry Pi Installation= | ||
[[Datei:VinRisen360.jpg|right]] | |||
==Auswahl des Betriebssystems== | ==Auswahl des Betriebssystems== | ||
Zunächst muss das Standard Betriebssystem auf dem Raspberry Pi installiert werden.<br /> | Zunächst muss das Standard Betriebssystem auf dem Raspberry Pi installiert werden.<br /> | ||
Zeile 121: | Zeile 122: | ||
==Adafruit Library für DHT11-Sensor installieren== | ==Adafruit Library für DHT11-Sensor installieren== | ||
Quelle: https://www.raspberrypi-spy.co.uk/2017/09/dht11-temperature-and-humidity-sensor-raspberry-pi/ | |||
Damit man die Werte vom Sensor auslesen kann, muss eine Python Library installiert werden.<br /> | Damit man die Werte vom Sensor auslesen kann, muss eine Python Library installiert werden.<br /> | ||
Führen Sie folgende Befehle aus:<br /> | Führen Sie folgende Befehle aus:<br /> | ||
Zeile 142: | Zeile 145: | ||
<11> bedeutet einen DHT11-Sensor auslesen (DHT22 oder AM2302-Sensor ebenfalls möglich)<br /> | <11> bedeutet einen DHT11-Sensor auslesen (DHT22 oder AM2302-Sensor ebenfalls möglich)<br /> | ||
<4> bedeutet GPIO PIN 4 wurde auf den DATA-PIN gesteckt<br /> | <4> bedeutet GPIO PIN 4 wurde auf den DATA-PIN gesteckt<br /> | ||
=Projekt 3: Webserver auf Raspberry Pi installieren= | |||
Um einen Webserver (Apache) auf dem Rasperry Pi zu installieren müssen folgende Befehle ausgeführt werden:<br /> | |||
sudo apt-get install apache2 | |||
sudo apt-get install php php-mbstring | |||
sudo apt-get install mysql-server php-mysql | |||
=Projekt 4: Temperature und Humidity Daten auf Website ausgeben= | |||
Zunächst muss das Script, welches mit dem DHT11 Sensor interagiert in das /var/www Verzeichnis verschoben/kopiert werden.<br /> | |||
Als nächstes muss dem User www-data das Recht für sudo Befehle eingeräumt werden:<br /> | |||
sudo nano /etc/sudoers | |||
Zeile einfügen: www-data ALL=(ALL) NOPASSWD: ALL | |||
Zu aller letzt muss eine index.php mit folgendem Text erstellt werden: | |||
<?php | |||
$shellstr = "sudo python /var/www/html/Adafruit_Python_DHT/examples/AdafruitDHT.py 11 4"; | |||
$str_lastline = exec($shellstr, $arr_output, $retcode); | |||
?> | |||
<html> | |||
<body> | |||
Gemessener Wert: <?php echo $str_lastline ?> | |||
</body> | |||
</html> | |||
Jetzt kann man mit einem beliebigen Browser auf die IP des Raspberry Pi gehen:<br /> | |||
http://198.18.1.6 <br /> | |||
=Projekt 5: Messdaten aus SQL-Datenbank lesen und auf Website ausgeben= | |||
Zunächst müssen die Pakete aus Projekt 4 installiert werden (s. oben)<br /> | |||
Danach muss eine index.php unter /var/www/html/index.php mit folgendem Text erstellt werden:<br /> | |||
<?php | |||
/* | |||
README | |||
SQL should look like this: | |||
DATABASE: mydatabase | |||
TABLE: messdaten | |||
TABLE (messdaten) | |||
id | temperature (varchar255)| humidity (varchar255) | |||
1 | 23.0 | 33% | |||
*/ | |||
try { | |||
$hostname = "localhost"; | |||
$database = "mydatabase"; | |||
$username = "helmut"; | |||
$password = "P@ssw0rd"; | |||
$pdo = new PDO( | |||
'mysql:' . | |||
'host=' . $hostname . ';' . | |||
'dbname=' . $database . ';' . | |||
'charset=utf8', $username, $password); | |||
} catch (PDOException $e) { | |||
die("Connection to SQL-DB failed: " . $e->getMessage()); | |||
} | |||
$result = $pdo->query("SELECT * FROM messdaten ORDER BY id DESC LIMIT 1"); | |||
if ($result) { | |||
$messwert = $result[0]['temperature']; | |||
} else { | |||
$messwert = "Kein Messwert in der Datenbank"; | |||
} | |||
?> | |||
<html> | |||
<body> | |||
Gemessener Wert: <?php echo $messwert ?> Grad Celsius | |||
</body> | |||
</html> | |||
Jetzt kann man mit einem beliebigen Browser auf die IP des Raspberry Pi gehen:<br /> | |||
http://198.18.1.6 <br /> |
Bearbeitungen