Projekt:RaspberryPiElektronik: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(18 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 137: Zeile 140:
  cd ~/Adafruit_Python_DHT/examples
  cd ~/Adafruit_Python_DHT/examples
  sudo ./AdafruitDHT.py 11 4
  sudo ./AdafruitDHT.py 11 4
==Erklärung des Codes==
<AdafruitDHT.py> ist eine Datei, die den notwendigen Code zum Auslesen des Sensors enthält<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 />
=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 />
mitglieder, Administratoren
292

Bearbeitungen