[A.W.S] Autarker Web Server

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • A.W.S - Ein Autarker Webserver

    Hallo liebe Raspi Tüftler & Tüftlerinnen, heute möchte ich euch nicht nur ein kleines (großes) Projekt vorstellen, sondern euch auch um Ideen, Tipps, Tricks, Erfahrungen und Vorschläge bitten.
    Als Erstes stelle ich kurz das Konzept vor und gehe dann auf einzelne Punkte näher ein.

    Konzept:
    Der A.W.S ist ein Raspberry Pi, der Smartphones, Tablets, Laptops und PCs ein WLAN Netz mit verschiedensten Daten über das HTTP-Protokoll zur Verfügung stellt, auf welche diese auch ohne Internetverbindung zugreifen können. Auf einer Startseite kann der Nutzer auswählen, auf welches Modul er zugreifen will. Diese Module sind u.a. eine Offline Kopie von Wikipedia, Eine Webinterface das es ermöglicht, bei bestehender Verbindung zum Internet YouTube Videos auf den A.W.S zu laden, um sie später anzuschauen. Desweitern ein allgemeiner Daten- & Multimediaserver, auf den Nutzer selbst Daten hochladen können bzw. sich diese auch wieder anschauen können. Ein weiteres Modul stellt der Kartenserver dar, der ebenso per Webinterface ähnlich wie Google Maps auf einer Webseite Kartendaten darstellt, vielleicht sogar Routenplanung ermöglicht.
    Als Zusatzfeature kann der AWS sich mithilfe eines zweiten WLAN Interfaces auf Wunsch in ein vorhandenes, schwaches WLAN Netz einwählen und es ähnlich einem Repeater verstärken.
    Durch eine eigene Stromversorgung per Akku kann der AWS ortsunabhänig operieren.


    Hardware:
    Das Board:
    Bei diesem Projekt stehen sich bezüglich des idealen Boards zwei schwer miteinander vereinbare Ziele gegenüber. Einerseits benötigt der Pi Rechenpower, um die an ihn gestellten Aufgaben zu meistern, andererseits sollte der Stromverbrauch möglichst gering sein, um eine lange Akkulaufzeit zu ermöglichen.

    • Pi 1 - Geringer Stromverbrauch, Geringere Leistung, Kein OnBoard WLAN
    • Pi 2 - Mittlerer Stromverbrauch, Mittlere Leistung, Kein OnBoard WLAN
    • Pi 3 - Hoher Stromverbrauch, Hohe Leistung, OnBoard WLAN
    • Pi Zero - Geringer Stromverbrauch, Geringere Leistung, OnBoard WLAN

    Hier stellen sich folgende Fragen, bei denen ich auf eure Erfahrungen / Wissen setze:
    Wie viel Leistung benötigen die Module?
    Macht es einen Unterschied, ob Module genutzt werden oder sich "im Leerlauf" befinden?
    Ist es sinnvoll, Module erst bei Benutzung, also wenn der entsprechende Link im Hauptmenu geklickt wird, zu starten?
    Die Stromversorgung:
    Um den Raspi unabhängig vom Stromnetz zu betreiben, benötigt er eine Stromversorgung via Akku, die es aber erlaubt, den Pi mittels Schalter ein- und auszuschalten.
    Hier dachte ich an

    • Powerbank - Aufbrechen, Verbindung zwischen Platine und Akku mit Schalter unterbrechen, dann den Pi per USB anschließen

    oder

    • Lipo Akku - Ent- und Ladeelektronik, dahinter einen Schalter, dann Step-Down auf 5v USB, dann den Pi (per USB) anschließen

    Was ist besser, einfacher, effizienter?

    Das Case:

    • Holz?
    • Plastikbox?


    Software:
    Das Hauptmenu:
    Begrüßt Nutzer, verlinkt auf Module, erlaubt Änderungen von Einstellungen (z.b. bezüglich Repeater-Funktion)

    • HTML? Kennt jemand ein gutes Tutorial, wie man eine Webseite erstellt?

    (Mehr als Text auf einer Seite in verschieden Größen mit evtl. Hintergrund bekomm ich jetzt so aus dem Stand nicht hin :/ )

    • Kennt jemand entsprechende Designvorlagen (Themes) z.b. für ein Einstellungsmenu

    Wie kann ich Daten, z.b. Einstellungen, so speichern / auslesen, dass diese nach einem Reboot z.b. immer noch da sind
    (Also praktisch wie eine Variable, die halt gewisse daten speichert. Geht das per HTML?)

    • Wie kann ich programmieren, das per Klick auf der Homepage ein Befehl ausgeführt wird? (Z.b. ich gehe auf der Webseite ins Einstellungsmenu, und aktiviere die Repeater Funktion. Dann soll die Webseite den Befehl an den Pi weiterleiten, das zweite Wlan Interface zu aktivieren. Dann zeigt mir die Webseite vorhandene Wlan Netze an, und ich klicke ein Wlan an, gebe das Passwort ein und jetzt soll die Webseite wieder dem Pi den Befehl geben, sich mit dem zweiten WLAN Interface mit dem entsprechenden Netzwerk zu verbinden)


    Offline Wikipedia Modul:
    Gozim? Link zu Gozim

    Watch-YT-Later aka YouTube-Downloader Modul:
    In ein Textfeld können YouTube Links kopiert werden, nach einem Klick auf Download lädt der Pi dann das Video herunter. Diese können dann später angeschaut und auch wieder gelöscht werden.

    • Wie kann ich bei Klick auf den Download Botton den entsprechenden Downloadbefehl mit Link ausführen?


    Allgemeiner Daten & Multimediaserver Modul:
    Nutzer können auf der Webseite Dateien aller Art streamen bzw. herunterladen, aber auch eigene Daten per hochladen


    Kartenserver Modul:
    Auf der Webseite wird eine interaktive Karte dargestellt, welche man Zoomen & bewegen kann, und nach einem Ort / einer Adresse suchen kann

    • Gibt es bereits ähnliche Projekte?
    • Wie lässt sich das Umsetzen / programmieren?


    Das Projekt ist bis jetzt nur ein Konzept, ich will es aber sehr gerne umsetzen. Daher freue ich mich über jeden, der hier Fragen beantworten, Erfahrungen einbringen, oder auf eine andere Art helfen kann! :D
    PS: Bitte immer die entsprechende Frage / Stelle des Posts, auf die ihr Bezug nehmt / antwortet zitieren, damit es nicht zu unübersichtlich wird. :danke_ATDE:

    Einmal editiert, zuletzt von PiPlayer (15. August 2017 um 22:22)

  • ...wieso plüsterst du den Beitrag so auf? Das macht es wie ich finde ziemlich unübersichtlich und schreckt mich eher ab. Was war jetzt noch mal das Ziel? ...*scroll*... Also sorry aber selbst mit 2k Auflösung scroll ich wild rum
    Durch deine spezielle Formatierung wird direktes Zitieren der Stellen auf die man Bezug nehmen möchte, zu einer echten Qual!


    FAQ => Wie hoch ist der Stromverbrauch?

    Wieso benötigst du Rechenpower? Für HTML reicht auch ein 16MHz Arduino.

    Du hast ein "Konzept" aber weißt nicht wie man eine Webseite bastelt?
    Auch wenn du nichts mit GPIO machen willst: FAQ => Nützliche Links / Linksammlung => PHP: Anleitung zum schalten von GPIO => Grundlagen
    Oder guck mal hier: FAQ => Nützliche Links / Linksammlung => [Python] Webserver, Websocket und ein bisschen AJAX

    • Offizieller Beitrag

    Hallo,

    ich wollte auch gerade fragen weshalb Du so schreist, das ist kaum lesbar!

    Wenn Videos heruntergeladen werden sollen, wird es mit dem Speicher knapp auf der SD. Deshalb würde ich noch eine HDD in die Stromversorgung einplanen. ;)

  • Sorry, war nicht mit Absicht. Hatte mir den Text noch zur Rechtschreibprüfung in Word kopiert und wieder zurück, das scheint die Formatierung zerhauen zu haben. Ich lösche die unnötigen Leerzeilen raus, einen Moment
    Edit: So, jetzt ist es wieder wie es sein sollte
    Edit 2: Links sind auch wieder da

    Einmal editiert, zuletzt von PiPlayer (15. August 2017 um 21:47)

  • Die Leerzeilen sind nicht so das Problem, es geht eher um die Schriftgröße
    Kopier den Text lieber von Word in Notepad und poste ihn dann erst hier...

  • Zitat von "hyle" pid='295465' dateline='1502825354'


    Wenn Videos heruntergeladen werden sollen, wird es mit dem Speicher knapp auf der SD. Deshalb würde ich noch eine HDD in die Stromversorgung einplanen. ;)

    Eher eine SSD würde ich sagen.... :D

  • Zitat von "hyle" pid='295465' dateline='1502825354'

    Wenn Videos heruntergeladen werden sollen, wird es mit dem Speicher knapp auf der SD. Deshalb würde ich noch eine HDD in die Stromversorgung einplanen. ;)


    Hätte jetzt er an einen großen USB Stick gedacht, meinst du der hier reicht?
    USB-Stick [Anzeige]

  • Zitat von "PiPlayer" pid='295461' dateline='1502822744'

    Als Zusatzfeature kann der AWS sich mithilfe eines zweiten WLAN Interfaces auf Wunsch in ein vorhandenes, schwaches WLAN Netz einwählen und es ähnlich einem Repeater verstärken.

    Mit dem Punkt würde ich nicht gerade anfangen, weil ein WLAN-Repeater, der selber ein schwaches WLAN nutzt, das schwache Netz nicht wirklich verstärken kann. Für die Clients, die sich nun mit dem PI verbinden, resultiert daraus effektiv eine noch langsamere Verbindung also zuvor... weil Du in die Client-WISP-Verbindung eine weitere zusätzlich die Leistung verschlechternde Relais-Staion einbaust... und zwar Client <-> RasPI <-> WISP. Und die schwache Leistung zwischen PI<->WISP ist die gleiche, wie zuvor zwischen Client <-> WISP.

    Ein Repeater ist allenfalls sinnvoll, die Reichweite zum WISP zu erhöhen. Der Preis für die höhere Reichweite ist allerdings immer eine schlechtere Übertragungsrate. Mir scheint es auch sinnvoll, zunächst mal die Basics zu lernen. Es sei denn, es ist Dir egal, ob Dein Webserver vielleicht ein offenes Scheunentor in Deine Daten ist.

    Und ganz zum Schluß schließe ich mich Meigrafd an... auch ich fänds gut, wenn Du Dir mal die Gepflogenheiten des Forums über den Schreibstil eigener Postings ansehen würdest - die übrigens in anderen technischen Foren fast gleich sind. In der Form habe ich auch nur das oberste Drittel gelesen.

    Einmal editiert, zuletzt von WinterUnit16246 (15. August 2017 um 22:02)

  • Ein USB Stick hat das gleiche Problem wie eine SD Karte: NAND-Flash. Der verkraftet nicht unendlich viele Schreibzugriffe. Es gibt zwar jeweils unterschiedliche Controller in SD-Karten und USB-Sticks, aber die Problematik bleibt.
    Eine SSD verbraucht zwar weniger Strom als eine HDD, hat aber ebenfalls das gleiche Problem. Magnetscheiben haben eine weitaus geringere Abnutzung und heutige 2,5" oder sogar 1,8" HDDs haben auch einen sehr geringen Stromhunger.

    Ich würde es davon abhängig machen, je nachdem wie viele Daten gespeichert/mirrored werden sollen also die Größe/Menge der Dateien, welches Speichermedium dafür besser geeignet wäre.
    Wikipedia zu spiegeln verschlingt nicht allzu große Mengen, einzig vielleicht die Bilder.
    Je nachdem wie viele Nutzer Youtube nutzen würden und auch wie viele Videos dann auf dem Datenträger gepuffert werden müssten, könnte dafür auch eine RAM-Disk reichen, gleichwohl der Pi nur 1GB hat benötigt ein reiner Webserver nicht mals 64 MB RAM um gut zu funktionieren - natürlich von anderen Faktoren abhängig, aber ein Arduino schafft eine simple Webseite ja auch....

    Bevor du aber darüber nachdenkst welche Hardware benötigt wird, solltest du dir lieber Gedanken zur Software machen. Denn erst wenn du etwas zum testen hast weißt du welche Anforderungen an die Hardware gestellt werden.

  • Dann kannst du lieber das Geld in eine große USB-Festplatte stecken, wenn es nicht gerade nicht darum geht, dass es möglichst klein wird.
    bei USB Sticks ist der Formfaktor noch relativ hoch, sprich du bezahlst für vergleichbare Leistungen mehr, als wenn du eine anderen Form (bspw. USB-Festplatte) kaufst.

    Ansonsten können wir aus unserer Sicht nur schwer einschätzen, wie viel Datendurchsatz du dort haben wirst, daher kann ich dir nicht sagen, ob die 128 GB wirklich ausreichen. Lass mal eine Stunde nebenher YouTube-Videos zur Berieselung laufen, dass dann über mehrere Tage bspw..

    Nebenbei: Schöner Zufall, dass dein Projekt dieselbe Abkürzung, wie die Amazon Webservices trägt und etwas eher gegenteiliges im Sinn hat ;)

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Zitat von &quot;meigrafd&quot; pid='295475' dateline='1502826801'

    Je nachdem wie viele Nutzer Youtube nutzen würden und auch wie viele Videos dann auf dem Datenträger gepuffert werden müssten, könnte dafür auch eine RAM-Disk reichen, gleichwohl der Pi nur 1GB hat


    hmm, für ein RAM Disik muss der Pi 24/7 Laufen, sonst sind die Daten doch weg oder?
    Will die Videos ja bei vorhandem Internet runterladen und dann später, also 1,2,3 Tage oder Wochen später anschauen, wenn kein I-Net verfügbar ist.4

    Zitat von &quot;meigrafd&quot; pid='295475' dateline='1502826801'


    benötigt ein reiner Webserver nicht mals 64 MB RAM um gut zu funktionieren - natürlich von anderen Faktoren abhängig, aber ein Arduino schafft eine simple Webseite ja auch....


    Klingt doch sehr gut, wie sieht es mit der Rechenleistung aus?

    Zitat von &quot;meigrafd&quot; pid='295475' dateline='1502826801'


    Bevor du aber darüber nachdenkst welche Hardware benötigt wird, solltest du dir lieber Gedanken zur Software machen. Denn erst wenn du etwas zum testen hast weißt du welche Anforderungen an die Hardware gestellt werden.


    Da gebe ich dir im Grunde recht, jedoch habe ich keine Pi's zuhause rumliegen, die nicht irgentwo verbaut sind, sprich, würde mir einen neuen für das Projekt kaufen. Software kann ich schlecht ohne Pi austesten / installieren, und ich will ungern einen zweiten kaufen müssen, weil er zu wenig Leistung hat / zu viel Strom zieht :/
    Automatisch zusammengefügt:

    Zitat von &quot;ThomasL&quot; pid='295474' dateline='1502826664'

    Mit dem Punkt würde ich nicht gerade anfangen, weil ein WLAN-Repeater, der selber ein schwaches WLAN nutzt, das schwache Netz nicht wirklich verstärken kann. Für die Clients, die sich nun mit dem PI verbinden, resultiert daraus effektiv eine noch langsamere Verbindung also zuvor... weil Du in die Client-WISP-Verbindung eine weitere zusätzlich die Leistung verschlechternde Relais-Staion einbaust... und zwar Client <-> RasPI <-> WISP. Und die schwache Leistung zwischen PI<->WISP ist die gleiche, wie zuvor zwischen Client <-> WISP.

    Ein Repeater ist allenfalls sinnvoll, die Reichweite zum WISP zu erhöhen. Der Preis für die höhere Reichweite ist allerdings immer eine schlechtere Übertragungsrate. Mir scheint es auch sinnvoll, zunächst mal die Basics zu lernen. Es sei denn, es ist Dir egal, ob Dein Webserver vielleicht ein offenes Scheunentor in Deine Daten ist.

    Und ganz zum Schluß schließe ich mich Meigrafd an... auch ich fänds gut, wenn Du Dir mal die Gepflogenheiten des Forums über den Schreibstil eigener Postings ansehen würdest - die übrigens in anderen technischen Foren fast gleich sind. In der Form habe ich auch nur das oberste Drittel gelesen.

    Zum WLAN: Kenne es halt vom Smartphone, das es WLAN-Netze in gewisser Entfernung nicht mehr finden kann, während z.b. ein Laptop noch eine gute Verbindung hat
    Die Formatierung hat mir Word kaputt gemacht, wurde von mir inzwischen wieder wiederhergestellt, siehe meinen Post weiter oben

    Einmal editiert, zuletzt von PiPlayer (15. August 2017 um 22:17)

    • Offizieller Beitrag

    Danke für das editieren des Eingangsposts, so ist es besser!

    Den von mir favorisierten RPi 2 hast Du erst garnicht in Betracht gezogen. Der hätte genug Rechenpower und auch 1 GB RAM. Das WLAN vom RPi 3 ist relativ langsam und der braucht mehr "Saft", deshalb wäre m.E. der RPi 2 B mit WLAN-Stick besser für Dein Vorhaben geeignet als der 3er.

  • Zitat von &quot;Renão&quot; pid='295476' dateline='1502826872'

    Nebenbei: Schöner Zufall, dass dein Projekt dieselbe Abkürzung, wie die Amazon Webservices trägt und etwas eher gegenteiliges im Sinn hat ;)


    Mir fiel auf die schnelle nix besseres ein, bin offen für andere Ideen :daumendreh2:

  • Zitat von &quot;PiPlayer&quot; pid='295478' dateline='1502827980'


    Klingt doch sehr gut, wie sieht es mit der Rechenleistung aus?

    Ich wiederhol mal meine Frage aus Beitrag#2 => Wieso benötigst du Rechenpower?

    Alles was ich bisher gelesen habe benötigt nicht viel Rechenleistung.

    Zitat von &quot;PiPlayer&quot; pid='295478' dateline='1502827980'


    Da gebe ich dir im Grunde recht, jedoch habe ich keine Pi's zuhause rumliegen, die nicht irgentwo verbaut sind, sprich, würde mir einen neuen für das Projekt kaufen. Software kann ich schlecht ohne Pi austesten / installieren, und ich will ungern einen zweiten kaufen müssen, weil er zu wenig Leistung hat / zu viel Strom zieht :/

    Du kannst deine Software auch ohne Pi programmieren / testen. Installier dir einfach VirtualBox o.ä. und richte dir ein Debian basiertes Linux ohne Desktopumgebung ein. Darauf entwickelst du dann dein Projekt und siehst irgendwann wie viel Rechenleistung, Speicherplatz oder I/O Zugriffe entstehen/benötigt werden. Anhand dessen kannst du dann abwägen ob ein PiZeroW oder PiA+ reichen würde oder ob es doch ein Pi3B usw sein müsste.

    Da du einen "Autarken" Betrieb anstrebst solltest du schon darauf achten mit Ressourcen nicht sorglos umzugehen.
    Wofür 1.2Ghz wenn dein Vorhaben aber auch mit 600Mhz gut läuft?
    Wofür 1 GB RAM wenn dein Vorhaben aber auch mit 128MB gut läuft?
    Protzige Ressourcen verbrauchen auch mehr Strom - für ein Akkubetrieb eher kontraproduktiv.


    Zitat von &quot;hyle&quot; pid='295480' dateline='1502828413'


    Das WLAN vom RPi 3 ist relativ langsam und der braucht mehr "Saft", deshalb wäre m.E. der RPi 2 B mit WLAN-Stick besser für Dein Vorhaben geeignet als der 3er.

    Jein...
    Je nach verwendetem WLAN-USB-Stick kann dieser ebenso langsam oder sogar noch langsamer sein als die OnBoard Variante des Pi3B, was einfach daran liegt dass das WLAN vom Pi3B/PiZeroW einen eigenen Bus hat, ein WLAN-USB-Stick sich die Bandbreite aber mit anderen USB Geräten teilen muss... Beim Pi (egal welches Modell abgesehen A/A+/PiZero) ist der LAN- und USB-Controller-Chip mit nur einer USB2.0 Leitung mit der SoC verbunden. Die bremsen sich dann also aus sofern er einen zusätzlichen Datenträger via USB anschließen würde.
    Desweiteren kann auch beim Pi3B eine Antenne angebracht werden um die "Leistung" zu verbessern, denn WLAN-"Leistung" hat auch mit der Signalqualität zu tun.

    Und das ein WLAN-USB-Stick weniger Strom verbraucht stimmt auch nicht zwangsläufig. Es gibt WLAN-USB-Stick die benötigen 250mA, die onBoard Lösung vom Pi3B und PiZeroW aber max. nur ca. 100mA, wenn nichts übertragen wird nur ~40mA. Klar gibts auch sparsame WLAN-USB-Sticks... Aber wer darauf nicht achtet verbessert auch nichts.

  • Zitat von &quot;meigrafd&quot; pid='295482' dateline='1502829438'

    Alles was ich bisher gelesen habe benötigt nicht viel Rechenleistung.


    Gut, dann werde ich mich mehr Richtung Pi1 / Pi Zero orientieren

    • Offizieller Beitrag
    Zitat von &quot;PiPlayer&quot; pid='295485' dateline='1502830183'


    Gut, dann werde ich mich mehr Richtung Pi1 / Pi Zero orientieren

    Bei einem RPi 1 solltest Du auf das Modell (A, A+, B, B+) achten, denn der RPi 2 B hat durchschnittlich einen geringeren Verbrauch als der RPi (1) B. Leider ist hier der RPi 3 noch nicht aufgeführt: http://www.elektronik-kompendium.de/sites/raspberry-pi/1910071.htm

Jetzt mitmachen!

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