Webserver oder was auch immer erstellen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,
    also ich möchte gern meine Elro funksteckdosen vom Mac, IPhone und allen anderen geräten ansteuern können. und Vorallem auch zeitsteuerung am besten mit Sonnenaufgang - An und Sonnenuntergang - Aus ( für meine Terrarien).

    Ist:
    - Raspberry Pi Model B (an einer fritzbox 7113 die als repeater fungiert angeschlossen)
    - Rasbain
    - 433 mhz Modul angeschlossen
    - per send blablabla 11111 1 1 / 11111 1 0 steuern über Terminal am Mac funzt

    Soll:
    - grafische oberfläche für steuerung von unterweg, zeitsteuerung usw.

    Problem:
    - ich bin wohl zu blöd, hab dieverse anleitungen befolgt und schalten per terminal und send befehl geht aber das ganze grafisch schick, ich bin überfragt!

    wer kann mir helfen und das für blöde erklären!

  • Also, wie ich verstehe funktioniert die Steuerung bereits ueber das Terminal, richtig?

    Der Rest ist eigentlich ganz einfach. Es gibt zahlreiche Anleitungen wie man einen Apache Webserver installiert.

    Dieser laeuft als Dienst und du kannst ueber die IP des Raspi auf deine Webseite (index.php) zugreifen.

    Die index.php kann dann den HTML-Code zur Darstellung enthalten und ueber PHP-Befehle kannst du dann Kommandos im Terminal ausfuehren.

  • Wow erstmal schonmal danke für die Super schnellen Antworten.

    Ja per Terminal kann ich schalten

    Also das mit dem controlcenter hab ich auch schon durch, ja da musste ich die latitude usw angeben.

    Ich bin kompletter Neuling und hab keine programmier Kenntnisse.
    Ich kann nur von Anleitungen abtippen oder kopieren und einfügen. Aber ich würde so gerne per Smartphone usw alles steuern können. (Ich hab auch ne Connair 433 Box und die Steckerchecker app, aber das gefällt mir nicht!)

  • Wenn du schon ein Connair hast kann ich dir eine andere App (deutlich übersichtlicher als SteckerChecker und kostenlos) empfehlen -> Hier
    Und dazu gibt es auch eine Webapp für die du allerdings einen Webserver brauchst.
    Infos dazu gibt es hier
    Im Forum für die beiden Geschichten gibt es auch noch eine Modversion von der Webapp, welche angepasst auf Desktop-PC's ist. Die Webapp bietet auch Zeitsteuerung mit Sonnenauf- und -untergang, ist also quasi das was du suchst ;)

  • So, wie versprochen ein Beispielcode.

    Nachdem du Apache und PHP installiert hast, gehst du in den Ordner "/var/www".

    Dort liegen die Dateien für deine Website. Am Besten löscht du die vorhandene "index.html" direkt.

    Stattdessen erstellen wir nun eine "index.php" und eine "functions.php".

    Hier meine beiden Beispieldateien:

    index.php
    [code=php]
    <?php
    include 'functions.php';

    if (isset($_POST['clicked']))
    {
    if ($_POST['clicked'] == 'reboot')
    {
    echo "Pi wird neugestartet...";
    reboot();
    }
    else if ($_POST['clicked'] == 'aufgabe2')
    {
    echo "Führe Aufgabe 2 aus!";
    }
    else if ($_POST['clicked'] == 'aufgabe3')
    {
    echo "Führe Aufgabe 3 aus!";
    }
    }

    ?>

    <!DOCTYPE html>

    <html>

    <head>
    <title>Raspberry PI - Steuerung</title>
    <meta charset="UTF-8" />
    <link href="style.css" type="text/css" rel="stylesheet" />
    </head>

    <body>

    <form name="form" action="index.php" method="post">
    <button class="button" type="submit" name="clicked" value="reboot">Restart PI</button>
    <button class="button" type="submit" name="clicked" value="aufgabe2">Aufgabe 2</button>
    <button class="button" type="submit" name="clicked" value="aufgabe3">Aufgabe 3</button>
    </form>

    </body>
    </html>
    [/php]

    functions.php
    [code=php]
    <?php

    function reboot()
    {
    shell_exec ("sudo reboot");
    }

    ?>
    [/php]

    Zusätzlich habe ich noch dem Nutzer www-data sudo-Rechte verpasst, um die Befehle auch ausführen zu dürfen.

    "nano /etc/sudoers"

    Und am Ende der Datei folgendes eingefügt:
    "www-data ALL=(ALL) NOPASSWD: ALL"

    Hier kann man sich nun über die Sicherheit streiten. Wenn du deine Website nur im internen Netz verwendest sollte es aber bedenkenlos sein.

    Du könntest nun auch eine style.css anlegen und dort dann deine Seite gestalten, nachdem du in der index.php deine Elemente angelegt hast.

    Einfach mal rumprobieren. :)

  • so wenn ich jetzt die ip vom RPI im browser öffne kommt eine Seite mit:

    It works!

    This is the default web page for this server.

    The web server software is running but no content has been added, yet.

    soweit richtig?

    in den /var/www ordner gehe ich mit ~ $ cd /var/www stimmts?

    und denn?

  • Alles super. Nun nur noch in den Ordner /var/www springen und einfach meiner Anleitung folgen. Ich werd mal sehen, was ich noch so schönes zaubern kann. :)

    EDIT:
    Die Dateien kannst du mit "nano index.php" und "nano functions.php" anlegen.

    Den Code kopierst du einfach rein und speicherst mit der Tastenkombination STRG + X ab. Musst du mit "j" bestätigen.

    Einmal editiert, zuletzt von Teepo (20. August 2014 um 17:30)

  • Pass auf. Wenn du "nano /etc/sudoers" eingibst, öffnet er dir diese Datei. Sie sollte nicht leer sein. Du gehst dann ans Ende der Datei, entweder mit der Pfeiltaste runter oder Bild runter.
    Am Ende fügst du eine neue Zeile ein die folgendes beinhaltet: "www-data ALL=(ALL) NOPASSWD: ALL"

    Natürlich immer ohne Anführungszeichen.

    Dann solltest du mal folgendes machen:

    "nano /var/www/index.php" eingeben.
    Damit kommst du wieder in den Bearbeitungsmodus.

    Entferne mal bitte die komplette 7. Zeile: "<meta charset="UTF-8" />"
    Ich nehme an, dass das verantwortlich für die seltsamen Zeichen in der Ausgabe ist.

    Abgespeichert werden die Dateien immer mit STRG + X und dann J eintippen und mit Enter bestätigen.

  • Perfekt wäre es natürlich, wenn die Webseite den Charakter einer mobilen Website hätte. So ist es für den Desktop vllt noch in Ordnung und es funktioniert, aber auf dem Handy ist es schon eher unpraktisch.

    Ist das relativ simpel umzubauen oder gehört da etwas mehr Aufwand dazu?

    Einmal editiert, zuletzt von fuuman (20. August 2014 um 20:03)

  • Man kann das Ganze auch erweitern, sodass unsere Website erkennt, ob man nun mit einem Smartphone online ist. Dementsprechend würde dann ein dafür angepasstes Design geladen werden.

    Ist alles möglich. :)

    Der Zugriff würde weiterhin über den Browser auf dem Smartphone erfolgen, nur würde das ganze schöner aussehen.

  • Ja genau das mein ich. Meistens ist sowas ja über eine Subdomain realisiert. Mit m.domain.com oder mobile.domain.com.
    Hast du Erfahrung damit? Großer Aufwand? Nutze eigentlich das SHC, aber so zur Übung fänd ich das schon ganz interessant mal zu machen. Man will ja lernen :)

  • In diesem Fall hier würde ich sogar ausschließlich eine mobile Seite betreiben. Macht die Desktop-Version hier ja sogar schöner imho. Besteht ja eh nur aus Buttons. So erspar ich mir die Prüfung.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!