Link zur Hauptseite des Forums

LotharGehlhaar - Teichbauforum

DAS informative Forum der Koi-Szene
Link zur Enzyklopaedie
Aktuelle Zeit: Do 28.Mär 2024 13:12

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Dieses Thema ist gesperrt. Du kannst keine Beiträge editieren oder weitere Antworten erstellen.  [ 21 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags: Raspberry Pi EINRICHTEN
BeitragVerfasst: Sa 12.Jul 2014 23:02 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14508
Wohnort: 07548 Gera
Endlich ist das Paket da! Aufgerissen! Ein Raspberry Pi (kurz: Raspi) drin! Freude!!!!
Mindestens im Paket enthalten sein sollte:
-Der Raspi
-Ein Netzteil 2A
-Ein Gehäuse.

Sofern nicht bereits in einer Wühlkiste enthalten, sollte man auch diese Dinge besorgen:
-Ein HDMI-Kabel (wird nur für die Einrichtung benötigt)
-USB-Tastatur und -Maus (wird nur für die Einrichtung benötigt)
-Ein Netzwerkkabel (wird nur für die Einrichtung benötigt, wenn man sich für WLAN entscheidet.)


Sofern WLAN-Verbindung vorgesehen ist, wäre es kein Fehler, einen WLAN-Stick mit zu bestellen.



Kurzer Warnhinweis:
Der Raspberry Pi ist eine Bastellösung und wird auch immer eine Bastellösung bleiben. Eigene Handgriffe werden immer erforderlich sein. Wer eine Plug&Play-Lösung sucht, wird am Markt auch fündig. Einige Anbieter solcher Fertiglösungen sind hier im Forum aktiv und werden gerne weiterhelfen.


Hier möchte ich Euch zeigen, wie ich diesen kleinen Freund für den Einsatz am Teich fit mache. Am Anfang steht die Ersteinrichtung. Die ist hier recht gut beschrieben. Wer sich für dieses Komplettpaket mit einer fertig konfigurierten Karte entscheidet, kann sofort mit Schritt 4 von 5 dieser Anleitung einsteigen. Raspi zuerst an den HDMI-Eingang eines Fernsehers oder Monitors anschließen, Tastatur und Maus ran, Netzwerkkabel anschließen und zuletzt das Netzteil einstecken! Der Raspi startet sofort - er hat keinen separaten Schalter.


Wichtig sind diese Punkte im Programm raspi-config:
- Advanced Options -> Expand Filesystem (Kann bei einem vorkonfigurierten System entfallen)
- Network Options -> Hostname, sofern man mehrere Raspis betreiben möchte
- Change User Password
- Boot Options -> Desktop / CLI -> (Geschmacksache, je nach Sicherheitsbedürfnis)
- Localisation Options -> Change Locale
- Localisation Options -> Timezone
- Interfacing Options -> SSH, 1-Wire einschalten (Serial und I2C könnten später einmal Bedeutung bekommen)


Einstellungen für Bildschirmausgabe sowie Tastaturlayout sind für einen Rechner, der hauptsächlich fernbedient wird, eher Zeitverschwendung.



Ja, und dann könnt Ihr schon mal los legen.


Mittels des Befehles
Code:
ifconfig

lässt sich eine Ausgabe auf den Bildschirm zaubern aus der die aktuelle IP-Adresse unseres Raspis erkennbar wird.

Mit Hilfe der Konsole eines Linux-Rechners (oder mit dem Terminal vom Mac) lässt sich der Raspi ab sofort fernbedienen:
Code:
ssh pi@aaa.bbb.ccc.ddd

Hier muss natürlich die gerade herausgefundene IP-Adresse eingesetzt werden.
Freunde von Windows bemühen einfach das Programm putty, mit dem dasselbe gemacht werden kann.


Damit nichts schief geht, sollte der Raspi wie jeder andere Computer ordnungsgemäß herunter gefahren werden, bevor man ihn vom Strom reißt. Meist geht es zwar einigermaßen gut, doch ich habe den Eindruck, dass der Raspi wesentlich empfindlicher gegen unerwartete Stromausfälle ist, als andere Computer. Es soll auch an dieser Stelle kurz erläutert werden, wie man den Rechner korrekt herunter fährt.

Bevor der Raspi vom Strom getrennt werden soll, gibt man diesen Befehl zum Herunterfahren in die Konsole ein:
Code:
sudo shutdown -h now

(Das -h steht für Halt.) Wenn keine der LEDs, außer der Strom-LED, mehr zuckt, wartet man noch 10 Sekunden und kann die Stromversorgung unbesorgt trennen.

Nebenbei bemerkt, weil weniger oft gebraucht gibt es noch den Befehl zum Neustart:
Code:
sudo shutdown -r now

Hier steht das -r für Reboot. Auf Linux-Systemen braucht man diesen Befehl sehr selten. Sollte mal etwas Neues installiert worden sein, so reicht es im Normalfall aus, den betreffenden Dienst neu zu starten, während das System ununterbrochen weiter läuft. Damit habt Ihr länger Freude an Euren SD-Karten.



Pfiffikus,
der Euch morgen erzählt, welche Pakete man auf den Raspi spielen sollte


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Sa 12.Jul 2014 23:58 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14508
Wohnort: 07548 Gera
Inzwischen können wir uns als Benutzer pi am Raspi anmelden. Pi darf Vieles, aber nicht alles. Gerade Arbeiten an der Konfiguration sind einem anderen Benutzer vorbehalten. Er heißt root, ist auf dem Raspi Chef und so etwas, wie der Administrator in Windows.

Sind Befehle abzarbeiten, die alle eingeben dürfen, ist nichts weiter zu beachten. Arbeiten wir jedoch mit Befehlen, die nur root darf, so haben wir vorerst zwei Möglichkeiten:
  1. Vor jeden Befehl schreiben wir sudo . (Umständlich, doch gern praktiziert)
  2. Wir verwandeln uns in den Superuser root. Dazu gibt der Benutzer pi einen speziellen Befehl ein:
    Code:
    sudo su

    Man merkt schon an der Farbe am Zeilenanfang - es hat sich etwas verändert. Wir dürfen nun quasi alles, theoretisch auch unsere mühsam eingerichtete SD-Karte zerstören. Also Vorsicht!
  3. Wir vergeben an root ein seeehr sicheres Kennwort und erlauben es, dass sich root über SSH von der Ferne an unserem Raspi anmeldet.

Egal, wie Ihr Euch nun root-Rechte verschafft habt, installiert man mit folgenden Befehlen Software nach, die wir später brauchen werden. Nach Variante a muss der Benutzer pi diese Zeilen eingeben:
Code:
sudo apt-get update
sudo apt-get upgrade

sudo apt-get install joe
sudo apt-get install mysql-server
sudo apt-get install apache2
sudo apt-get install phpmyadmin
sudo apt-get install subversion
sudo apt-get install lynx


Variante b geht so:
Code:
sudo su
apt-get update
apt-get upgrade

apt-get install joe
apt-get install mysql-server
apt-get install apache2
apt-get install phpmyadmin
apt-get install subversion
apt-get install lynx

Künftig werde ich Euch nur noch Variante b vorstellen.

Hin und wieder erscheinen während der Installation Fragen. Die voreingestellten Vorschläge kann man üblicherweise akzeptieren. Sollte man auch, denn es werden Pakete vorgeschlagen, die für das Funktionieren der Teichsteuerung ebenso wichtig sind.

Für den mysql-server muss ein weiteres starkes Kennwort festgelegt werden, das für den Superuser in MySQL gilt. Es darf verschieden vom Kennwort des Linux-root sein, muss es aber nicht. Hauptsache, es wird nicht verwechselt.

Bei der Installation von phpMyAdmin gibt man an, dass wir mit apache2 arbeiten. Der Stern muss (mittels Leertaste) unbedingt gesetzt werden, wird aber leicht übersehen.
Dateianhang:
phpmyadmin.png
phpmyadmin.png [ 34.35 KiB | 11660-mal betrachtet ]


Anschließend wird man genau nach diesem Kennwort gefragt, das bei der MySQL-Installation eingegeben worden ist. Das zweite Kennwort muss man nicht eingeben, kann es leer lassen. Die Installationsroutine erzeugt ein geeignetes Kennwort, das wir nicht wissen müssen.



Pfiffikus,
der Euch an dieser Stelle mal nahe legt, hier im Browser die IP-Adresse Eures Raspis in die Adresszeile einzugeben


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: So 13.Jul 2014 14:33 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14508
Wohnort: 07548 Gera
Wer oder was ist joe? Möglicherweise hat sich der eine oder andere schon gewundert, welche Software da als Erstes installiert worden ist.

Es handelt sich um einen Texteditor, der auf der Linux-Konsole verwendet werden kann. Da ich weder mit nano, noch mit vi richtig warm geworden bin, pflege ich, diesen Texteditor zu verwenden. Das liegt auch daran, dass ich seit etwa 30 Jahren schon mit Programmen umging, das Wordstar sehr ähnlich sind und deren wichtigster Befehlssatz mir einigermaßen geläufig ist.
http://de.wikipedia.org/wiki/Joe_(Texteditor)
http://www.linuxmaterial.de/tab/joetab.shtml

Wohl gemerkt ist das meine persönliche Vorliebe. Selbstverständlich gibt es neben den beiden genannten Editoren noch einen Haufen weitere Editoren, die hier ebenso gut eingesetzt werden können.


Wer aber mit Texteditoren auf der Linux-Konsole nichts am Hut hat und lieber die Maus schubst, kann das inzwischen gerne einrichten.

Wir melden uns an der Konsole vom Raspi an und werden zum Benutzer root. Der Befehl dazu lautet:
Code:
sudo su


Sind wir zum Superuser geworden, so können wir ihm ein eigenes Kennwort geben. Dazu erteilen wir den Befehl:
Code:
passwd

Nun muss das Kennwort zur Sicherheit vor Tippfehlern zweimal (unsichtbar) eingegeben werden.

Zwecks Fernbedienung hatten wir SSH an gelassen und sollten das keinesfalls ausschalten. In allen Betriebssystemen kann ich mich nun sowohl als Benutzer root, als auch als Benutzer pi an meinem Raspi melden. Benutze ich in Windwos das Programm WinSCP, dann ist sogar ein integrierter Texteditor dabei, die die Verwendung der Maus und der eigenen Zwischenablage zulässt.
http://winscp.net/eng/docs/lang:de


Möglicherweise meldet sich mal ein Mac-Benutzer und beschreibt an dieser Stelle, wie man das mit einem aktuellen Apple-Betriebssystem machen kann...




Zur Sicherheit stelle ich hier noch einmal zusammen, welche Kennworte wir bisher vergeben haben:
  1. Für den Linux-Benutzer pi - das erste Kennwort bei der Installation, noch am HDMI-Bildschirm
  2. Für den Linux-Benutzer root - soeben festgelegt
  3. Für den MySQL-Benutzer root, das wurde während des Installationsvorganges vom MySQL-Server angelegt.
  4. Für den MySQL-Benutzer teich, dieses Kennwort werden wir später noch anlegen.
  5. Für den MySQL-Benutzer phpmyadmin, das nur interne Verwendung findet und uns nicht bekannt sein muss.
    (Wir hatten die Eingabe bei der Installation leer gelassen.)

Alle fünf Benutzer wissen nicht viel über einander. Auch wenn die Chefs in Linux und in MySQL beide root heißen, sind das zwei verschiedene Benutzer, die verschiedene Kennworte haben dürfen, aber nicht müssen. Nur verwechseln darf man diese Benutzer nicht.

Warnung:
Insbesondere die Leute, die in Erwägung ziehen, ihre Fritzbox oder ihren Router für den weltweiten Zugriff auf den Raspi einzurichten, sollten hier sehr starke Kennworte wählen, in denen nicht nur Buchstaben, sondern auch Ziffern und Sonderzeichen vorkommen. Tante Google ist sehr gesprächig, wenn sie nach Regeln für starke Kennworte befragt wird.






Netzwerkeinstellungen
Raspi ohne Netzwerk - für uns nicht viel wert. Meist wollen wir ihn mit einer festen IP betreiben. In dieser Anleitung soll der Raspi die Beispieladresse 192.168.1.50 erhalten. Diese kann natürlich in Deinem Netzwerk abweichen.

a) Vom Router gesteuert
Üblicherweise sind Router (Fritz!Box, Speedport, ...) in der Lage, Geräte beim Start über die Netzwerkeinstellungen zu informieren und jedem Gerät eine IP zuzuteilen. Man kann dem Raspi die feste IP 192.168.1.50 zuweisen lassen und muss nichts weiter tun. (Wie das zu erledigen ist, entnehmt Ihr bitte den jeweiligen Bedienungsanleitungen.)
Nachteil: Mehr Stress, wenn der Router wegen Providerwechsel, Defekt oder Blitzschlag gewechselt werden muss.

b) Einstellung im Raspi speichern
Wir bearbeiten als Linux-root die Datei /etc/network/interfaces
Code:
joe /etc/network/interfaces



a) Die Ethernetschnittstelle mit dem Netzwerkkabel:
Üblicherweise steht bereits in der Datei:
Code:
iface eth0 inet dhcp

Damit wird vom Router eine IP angefordert und verwendet. Diese könnte täglich wechseln, was lästig ist.
Der Raspi kann sich auch selbst eine Adresse geben. Dann kommentieren wir diese Zeile mit einer Route aus und ersetzen sie durch diese Angaben:
Code:
#iface eth0 inet dhcp

iface eth0 inet static
address 192.168.1.50
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

(Die Adressen müssen natürlich auf das eigene Netzwerk angepasst werden.)

b) WLAN-Stick
Standardmäßige Einstellungen für manuelle Verbindungsaufnahme - für uns schlecht geeignet!
Code:
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf


Code:
allow-hotplug wlan0
iface wlan0 inet static
    address 192.168.1.51
    netmask 255.255.255.0
    gateway 192.168.1.1
    broadcast 192.168.1.255
    dns-nameservers 192.168.1.1
        wpa-ssid "mein-wlan-name"
        wpa-psk "geheimer_schluessel"
        wpa-proto RSN
        wpa-key_mgmt WPA-PSK
        wpa-pairwise TKIP
        wpa-auth_alg OPEN

Damit sollte der Raspi nach seinem Start selbständig Verbindung zum WLAN aufnehmen.

Wenn das Netzwerk so schön funktioniert, macht es viel Spaß, den Raspi vom Laptop oder Computer zu bedienen. Da kann man den Fernseher auch gleich aus lassen, denn heute kommt eh nur langweiliges Zeug.


Pfiffikus,
der davon ausgeht, dass man nun viel schöner mit dem Raspi spielen kann


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Di 15.Jul 2014 17:17 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14508
Wohnort: 07548 Gera
Nun wird es Zeit, die Datenbank für unsere Zwecke zu konfigurieren, die unsere Voreinstellungen und vorläufig unsere Messwerte aufnehmen soll.

Wer der Ruoter so konfigurieren will, dass man den Raspi auch von außen, also von der Arbeit oder aus dem Urlaub erreicht, so empfehle ich eine kleine Vorsichtsmaßnahme vor ungebetenen Gästen, die sonstwas in der Datenbank veranstalten können.
Wer den Raspi nur im internen Heimnetz verwenden möchte, kann mit der Anmeldung weiter machen.

Achtung!
Im Laufe der Zeit hat sich in Debian die Struktur des www-Verzeichnisses verändert. Hier bleiben die damals gültigen Befehle noch sichtbar. Doch wer ein neueres Image auf seinem Raspi verwendet, sollte die als neu gekennzeichneten Befehle verwenden.


Schnelle Möglichkeit:
Wir öffnen mit root-Rechten die Datei /etc/apache2/conf.d/phpmyadmin.conf
Das machen wir entweder in unserer grafischen Oberfläche mit WinSCP oder auf der Konsole mit dem Befehl:
Code:
joe /etc/apache2/conf-enabled/phpmyadmin.conf


Weit oben in der Datei finden wir diese Zeile:
Code:
Alias /phpmyadmin /usr/share/phpmyadmin


Diese Zeile ändern wir geringfügig ab, zum Beispiel indem wir eine schöne lange Nummer an die Adresse anhängen, Ihr nehmt natürlich eine andere!
Code:
Alias /phpmyadmin47114711 /usr/share/phpmyadmin


Mit dem Kommando Strg-K X wird gespeichert und der Editor verlassen.

Der Webserver wird nun darüber informiert, dass wir ihn neu konfiguriert haben. Dazu dient das Kommando
Code:
apache2ctl restart


Nun können wir uns an die Datenbankkonfiguration machen. Dazu geben wir in den Browser die IP des Raspis ein, die wir ihm gegeben hatten. Als Pfadangabe schreiben wir die soeben festgelegte Angabe dahinter. Für das Konfigurationsbeispiel, das ich Euch hier aufgeschrieben hatte, gilt diese Adresse:
http://192.168.1.50/phpmyadmin47114711
Ein Angreifer müsste die richtige Adresse erst einmal erraten. Sehr schwer, aber nicht ganz unmöglich.


Konsequente Möglichkeit:
Es gilt natürlich der Spruch: "Obscurity is not security!"
Wer es etwas sicherer mag, arbeitet diese Anleitung ab:
http://de.selfhtml.org/servercgi/server ... hnisschutz


Anmeldung bei phpMyAdmin
phpMyAdmin erlaubt uns die Einsichtnahme in die Datenbank und sogar die Manipulation aller gespeicherten Werte.

Neuerdings muss dem MySQL-root eigens noch erlaubt werden, sich über phpMyAdmin anzumelden. Das erledigen wir so:
Der Benutzer pi gibt in eine Konsole ein:
Code:
sudo mysql -u root
Dadurch landet man in der MariaDB-Konsole, erkennbar am > vor dem Cursor.
Jetzt kopiert man diese Befehle in diese Konsole - selbstverständlich mit einem eigenen, starken Kennwort für MySQL-root:
Code:
update mysql.user set password=password('geheim') where user='root';
update mysql.user set plugin='' where user='root';
flush privileges;
exit;

Ab jetzt sollte ein Login als MySQL-root in phpMyAdmin möglich sein.


Anmelden darf sich natürlich nur der Chef. Das ist in der Datenbank der Benutzer root mit seinem Kennwort, das er gleich mal ausprobiert. Er hat aber nicht viel zu tun. Nur ein Benutzer und eine Datenbank muss angelegt werden.
  • Klick auf "Benutzer"
  • Klick auf "Benutzer hinzufügen"
  • Der neue Benutzer wird "teich" (klein geschrieben) heißen.
  • Er kann sich nur lokal anmelden, das reicht.
  • Für das Kennwort müssen wir uns nicht den Kopf zermartern. Wir klicken auf "Generieren" und erhalten ein Kennwort, das für unsere Zwecke sicher genug ist.
  • Dieses Kennwort müssen wir unbedingt kopieren und an sicherer Stelle speichern! Tun wir das jetzt nicht, werden wir es nie wieder sehen.
  • Eine Datenbank erstellen wir gleich mit. Wir markieren "Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte".
  • Weiter unten könnte man dem neuen Benutzer noch weitere Rechte einräumen. Machen wir aber nicht, weil er diese nicht brauchen wird.
  • Mit einem Klick auf "OK" wird der Benutzer und die dazu gehörige Datenbank angefertigt.
  • Mehr ist vorerst in der Datenbankadministration nicht zu tun.


Hinweis:
Wenn jemand zum wiederholten Male eine SD-Karte einrichtet und bereits vorhandene Daten aus einem Backup zurückspielen möchte, dann wäre zetzt der richtige Zeitpunkt. Wie das gemacht wird, steht hier. Wer den Rapi zum ersten Male einrichtet, darf diesen Hinweis gerne ignorieren.



Pfiffikus,
der hofft, dass alles verständlich beschrieben wurde


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Di 15.Jul 2014 22:06 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14508
Wohnort: 07548 Gera
Na gut. Wenn es ein paar Leute interessiert, machen wir mit der Installation der eigentlichen Software zur Steuerung weiter.

Zuerst müssen wir dafür sorgen, dass wir als pi Webseiten auf unserem Webserver hochladen und verändern dürfen. Vorerst fehlen uns dafür die Schreibrechte.

Wir melden uns als root auf der Konsole an. Es ist gleichgültig, ob das per HDMI am Fernseher, über putty von Windows her oder mittels ssh-Befehles von der Konsole eines anderen Linux-Rechners.
Diese Befehle muss root geben:
Code:
sudo chgrp -R pi /var/www/
sudo chmod -R g+w /var/www/

Ab sofort dürfen wir als Benutzer pi den Webauftritt, den unser Raspi präsentiert, verändern. Rootrechte werden dafür nicht mehr erforderlich sein.






Die nächsten Schritte führen wir lieber als pi aus und nicht als superuser root. Ansonsten gehören die Dateien dem Chef und das würde im Laufe der Zeit lästig...

Ich war so frei und habe Lothars Server ein wenig aufgebohrt, so dass er ab sofort auch als Subversionsserver dient. Das Paket subversion wurde ja bereits in einem der ersten Schritte auf Eurem Raspi installiert, bisher noch nicht verwendet.
Das Archiv findet Ihr bei http://svn.koi-gehlhaar.de/steuerung . Es lässt sich zwar mit einem Browser einsehen und die Software könnte mühsam heraus kopiert werden, aber es soll ja einfach gehen.


Die Teichsteuerungssoftware installiert man als pi mit dem Befehl:
Code:
svn checkout http://svn.koi-gehlhaar.de/steuerung/stamm/ /var/www/html/steuerung

Sie ist aber noch nicht nutzbar, denn es kommt noch keine Verbindung zur Datenbank zustande. Das ist Absicht. Die individuelle Datenbankkonfiguration muss jeder selbst eingeben und darf naturgemäß nicht Bestandteil der Versionsverwaltung mit Subversion sein.

Wir erzeugen noch die Datei mit unserer Datenbankkonfiguration.
Code:
joe /var/www/html/steuerung/quellen/rechnerdaten.php

Der Editor merkt sofort, dass eine neue Datei angelegt wird. Es wird dieser Code-Block kopiert und in die neue Textdatei eingefügt.
Code:
<?php
if ( !defined('IN_PHP') ) { echo ("Hacking Versuch");   exit; }

$dbhost         =   'localhost';
$dbuser         =   'teich';
$dbpasswd      =   'Das_Kennwort_von_teich';
$g_str_rot13   =   1;
$g_SystemName   =   'Meine Steuerung';

?>

Jetzt tragen wir das vorhin kopierte Kennwort des Datenbankbenutzers 'teich' an der gekennzeichneten Stelle ein, das wir uns gespeichert hatten.
Der Editor joe speichert die Datei mit Strg-K X.
(Wer einen anderen Editor verwendet, kein Problem. Aber dann weiß man selbst, wie man damit speichert.)


Alles klar zum Steuern! (oder fast)
Gebt mal die IP Eures Raspis und dahinter /steuerung in Euren Browser ein!
http://192.168.1.50/steuerung



Pfiffikus,
der in den kommenden Tagen noch ein wenig Funktionalität einbauen wird


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Mi 16.Jul 2014 22:53 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14508
Wohnort: 07548 Gera
Aus aktuellem Anlass möchte ich noch etwas präzisieren: Am Dienstag hatte ich beschrieben, wie phpmyadmin ein wenig versteckt wird. Vorher sollte man mal prüfen, ob phpmyadmin richtig installiert ist. Einfach mal in den Browser diese Adresse (mit der passenden IP) eingeben:
http://192.168.1.50/phpmyadmin

Wir erinnern uns: Anfangs hatten wir phpmyadmin installiert. Dabei wurden wir gefragt, welche Webserver konfiguriert werden sollen. Der rote Cursor stand zwar bei "apache2", aber diese Option musste mit einem Stern (Druck auf die Leertaste) markiert werden, damit sie wirksam ist. Hat man das vergessen, dann wird man die Datei /etc/apache2/conf.d/phpmyadmin.conf nicht vorfinden und obiger Link wird nicht funktionieren.


Pfiffikus,
der das nur noch kurz ergänzen wollte


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Do 17.Jul 2014 19:20 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14508
Wohnort: 07548 Gera
Und nun möchte ich Euch mal zeigen, wie ein Update der Software durchgeführt wird. Diese Teichsteuerung soll schließlich als Gemeinschaftswerk zusammen gestellt werden. Und wenn sich Verbeserungen ergeben haben, wenn Fehler ausgebessert wurden, so will ja jeder möglichst schnell davon profitieren.


Wir melden uns als pi auf der Konsole an. Root-Rechte sind nicht erforderlich, eventuell sogar störend. Dann ist dieser Befehl einzugeben:
Code:
svn update /var/www/html/steuerung

Es wird kurz angezeigt, was sich geändert hat. Fertig ist die Aktualisierung.


Wer das Update heute durchführt, wird die Software auf die Revision 11 updaten. In der neuen Revision habe ich zwei neue Dateien eingebaut. Eine Klasse für die Temperaturmessung im Raspi-Prozessor und eine übergeordnete Klasse für alle Sensoren. Genutzt werden können diese Klassen im Moment noch nicht vom Web-Interface.


Pfiffikus,
der an dieser Stelle nur einmal zeigen wollte, wie wir künftig die Software auf den aktuellen Stand bringen werden


Nach oben
 Profil userposition on geomap  
 
 Betreff des Beitrags: Werbung, um Taler einzunehmen
Verfasst: Do 28.Mär 2024 13:12 
Online
Expertin
Benutzeravatar

Registriert: Mo 05.Dez 2005 19:01
Cash on hand:
immer zu wenige Taler

Beiträge: nur ein paar
Wohnort: Koi-Schnack
Anzeige:

_________________
Wenn du einen Monat lang ein werbefreies Forum willst, klicke hier und überweise mir 100 Taler!
Wenn du mich im Koi-Schnack etwas fragen möchtest, klicke hier!


Nach oben
 Profil Private Nachricht senden  
 
BeitragVerfasst: Fr 25.Jul 2014 22:01 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14508
Wohnort: 07548 Gera
Hallo Robert,

robsig12 hat geschrieben:
Pfiffikus hat geschrieben:
Code:
sudo su
apt-get update
apt-get upgrade

apt-get install joe
apt-get install mysql-server
apt-get install apache2
apt-get install phpmyadmin
apt-get install subversion
apt-get install lynx


Hallo Pfiffikus,

da es ja später einen Zusammenfassung für die Enzyklopädie geben wird, bitte ich Dich kurz eine kurze Beschreibung zu den installierenden Programmen siehe oben zu geben, und warum wir die später benötigen. Bei Joe hast Du ja schon ein wenig ausgeholt. Wird so verständlicher für Neulinge in der Raspiwelt.

ist kein Problem. Machen wir.

robsig12 hat geschrieben:
Ungefähr so: Das Programm Apache 2 wird unser Webserver, den wir benötigen, um aus dem Internet oder Netzwerk auf unsere Daten zugreifen zu können.

Das lassen wir gleich mal so stehen.

Der MySQL-Server ist so etwas wie ein riesengroßer Notizzettel. Dieses Programm ist dazu gedacht, große Datenmengen in Datenbanken und Tabellen zu verwalten und auf Anfrage wieder herauszurücken. Der Benutzer hat selbst kaum direkten Kontakt zu diesem Server, sondern greift nur indirekt darauf zu. Zum Beispiel mit phpmyadmin oder der hier entstehenden Steuerungssoftware.


Als nächstes hatte ich die Installation von phpmyadmin empfohlen. Das geschah aus zwei Gründen. Erstens benötigen wir diesen zur Ersteinrichtung der Datenbank.
Zweitens wird anlässlich dieser Installation noch die Installation von diversen anderen Paketen empfohlen. PHP und diverse Bibliotheken und Erweiterungen, die für die Teichsteuerung ohnehin benötigt werden. Dafür reichte in diesem Fall der eine Befehl aus.


Mit Hilfe von Subversion wird der Programmcode der Teichsteuerung verwaltet. Sowohl hier auf Lothars Server läuft Subversion mit der Bibliothek die ihre Dienste anbietet. Auf dem Raspi wird Subversion nur als Client benötigt, um die Steuerungssoftware zu installieren und auf dem aktuellen Stand zu halten.
Programmierer stellen damit noch mehr an, sie verwalten damit einzelne Entwicklungszweige der Software.


Und letztendlich musste noch lynx installiert werden. Das ist ein Webbrowser, der auf der Konsole funktioniert. Es ist ganz lustig, als pi mal diesen Befehl in die Konsole einzugeben:
Code:
lynx www.koi-gehlhaar.de/koi/forum/

(Mit der Taste q kommt man wieder heraus.)
Da unser Raspi eigentlich ohne grafische Oberfläche auskommen kann, wurde eben dieser Browser installiert. Keine Angst - der Benutzer muss damit nicht ins Netz. Vielmehr wird unser fleißiger CRON mit diesem Browser die eigens für ihn geschaffenen Seiten aufrufen.



Pfiffikus,
der diesen CRON bald mal wecken müsste


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Di 29.Jul 2014 9:49 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14508
Wohnort: 07548 Gera
Update funktioniert nicht? Was nun?

Die Art, wie man zu dieser Software kommen kann, habe ich versucht, mit Hilfe von Subversion sehr robust zu gestalten. Insbesondere dann, wenn man eine Datei verändert hat, meldet Subversion einen Konflikt beim Update. Das ist auch sinnvoll, denn schließlich soll die (möglicherweise nützliche) Veränderung nicht durch ein Update überschrieben werden. Bei einem solchen Konflikt kann man die veränderte Datei entfernen, das Update durchführen und erhält jederzeit wieder eine rekonstruierte Datei im aktuellen Zustand. Außer dem Verzeichnis
/var/www/steuerung/.svn/ und der eigenen Datei
/var/www/steuerung/quellen/rechnerdaten.php
darf jede Datei rigoros gelöscht werden, da die Software durch einen Updatebefehl jederzeit wiederherstellbar ist.

Wenn alles nichts hilft, muss man noch lange nicht die SD-Karte platt machen und alles neu installieren. Zuerst stellt man die Datei rechnerdaten.php, die das individuelle Kennwort der Datenbank enthält, irgendwo sicher, was man ohnehin schon längst getan haben sollte. Anschließend entfernt man das Verzeichnis /var/www/steuerung/ komplett, wobei ein Umbenennen des Verzeichnisses schon reicht.

Nun können wir erneut ein Verzeichnis auschecken. Der Befehl
Code:
svn checkout http://svn.koi-gehlhaar.de/steuerung/stamm/ /var/www/html/steuerung

zaubert uns bekanntlich einen jungfräulichen Ordner mit der Steuerungssoftware an die richtige Stelle. Die Datei rechnerdaten.php an die richtige Stelle kopiert und weiter gehts!



Pfiffikus,
der im Erfolgsfalle den vorhin nur umbenannten alten Ordner noch löschen würde


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Mi 30.Jul 2014 1:19 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14508
Wohnort: 07548 Gera
Nun ist es ein wenig später geworden. Aber ich habe noch die grafische Visualisierung der Temperaturen in den Stamm der Software integriert.

Die Abbildung veranschaulicht, welche Temperaturen mein Testraspi hier in der Wohnung gemessen hat.

Dateianhang:
Temperatur8.jpg
Temperatur8.jpg [ 74.99 KiB | 14020-mal betrachtet ]






Einen Schritt muss ich Euch noch genau instruieren. Bisher wird die Software nur tätig, wenn jemand auf einen Menüpunkt oder einen Link klickt. Macht das niemand, langweilt sich der Raspi. Das geht nicht am Teich, er soll in jeder Minute wachsam sein! Wir brauchen jemanden, der laufend auf einen Link klickt und die Steuerungssoftware aufruft, denn verständlicherweise will der Teichfreund nicht 24 Stunden täglich beobachten, er muss ja irgendwann auch das Geld für den Raspi und die Sensoren verdienen!

Glücklicherweise lebt im Raspi ein Dämon, der CRON genannt wird. Er schläft eigentlich die meiste Zeit. Nur einmal in der Minute wacht er auf und schaut in seiner Aufgabenliste nach, ob schon wieder etwas zu tun ist. Hier wird das für Einsteiger bildhaft erläutert. Wir geben ihm in jeder Minute etwas zu tun - er soll unsere Steuerung anstupsen.

Für diesen CRON wurde eine eigene, spartanische Webseite angefertigt. Im Wesentlichen passiert zwar dasselbe, als ob man auf "CronJob" im Menü klicken würde. Aber es wird nur das Allerwesentlichste angezeigt. Wer sich einmal langweilen mag, klickt hier (IP-Adresse des eigenen Raspis einsetzen!):
http://192.168.1.50/steuerung/cronaufruf.php

Wir bitten nun CRON, mit dem Browser lynx, den ich bereits kurz vorgestellt hatte, in jeder Minute einmal den spartanischen Teil der Steuerungssoftware aufzurufen. Bei dieser Gelegenheit finden Messungen und Routinearbeiten statt. Und für das, was ausgegeben wird, interessiert sich ohnehin nicht wirklich jemand.

Verschaffen wir uns auf der Konsole Rootrechte! Und dann legen wir eine neue Datei an, deren Name ist eigentlich egal:
Code:
sudo joe /etc/cron.d/teich

In diese neue Datei wird folgender Inhalt kopiert:
Code:
# /etc/cron.d/teich: crontab fragment fuer die Teichsteuerung
#  Diese Datei ruft in regelmaessigen Abstaenden die Teichsteuerung auf.

* * * * * pi lynx -dump http://localhost/steuerung/cronaufruf.php >/dev/null 2>&1


Achtung: Am Ende der Datei müssen ein bis zwei Leerzeilen geschrieben werden, sonst funktioniert es nicht!

Mittels ^K - X wird gespeichert und der Editor verlassen. Ab sofort weiß CRON, was zu tun ist. Zu jeder vollen Minute wird cronaufruf.php aufgerufen. Die Teichsteuerungssoftware entscheidet dann, ob gerade etwas zu tun ist oder nicht. Aber wir sehen und merken nichts von dieser Aktivität. Nur das Vorhandensein von immer neuen Messwerten lässt uns erkennen, dass CRON gearbeitet hat.



Pfiffikus,
der Euch alsbald noch eine andere kritische Stelle zeigen wird, wo diese Aktivitäten zu bemerken sind


Nach oben
 Profil userposition on geomap  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Dieses Thema ist gesperrt. Du kannst keine Beiträge editieren oder weitere Antworten erstellen.  [ 21 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de