Mein Ziel ist es, eine LED leuchten zu lassen, sobald ein neuer Besucher auf meiner Webseite ist. Meine Webseite ist auf einem fremden Server, also nicht dem Pi, gehostet. Der Pi hat Internetzugriff. Später will ich dann Details über den Besucher anzeigen, wie etwa den Referrer und so fort. Ich habe es mit Google Analytics über ein Dienstkonto versucht. Das ist mir allerdings zu kompliziert. Welchen einfachen Weg gibt es, diese Daten möglichst ohne große Umwege auf den Pi zu bekommen? Ich dachte auch daran, einen Webserver aus dem Pi zu machen mit einer einzigen Bilddatei als Angebot. Sobald diese abgefragt wird, steuere ich die LED an. Allerdings ändert sich die Ip des Pi und er ist auch nicht immer an. Eure Ideen?
Frank Linde schrieb: > Allerdings ändert sich die Ip des Pi und er ist auch nicht immer an. > > Eure Ideen? Statische IP vergeben und Pi immer an lassen. :D
Nur die Frage beantworten. Danke!
Und wann geht die LED wieder aus? Ich lasse mir eine Email senden, sobald jemand eine bestimmte Seite aufruft. Klappt soweit. Pi könnte Email abholen und, wenn Email vorhanden, LED an. Bleibt immer noch die Frage wann LED wieder ausgehen soll. Hmmm ....
Frank Linde schrieb: > Allerdings ändert sich die Ip des Pi und er ist auch nicht immer an. Die IP kannst du in der Fritzbox als feste IP einstellen und ihn dann nach außen hin öffnen. Per DynDNS hast du eine feste Adresse. So ein RaspBerryPi Zero verbraucht etwa 0,415-0,467 Watt wenn er nichts macht und bei 100% CPU-Last sind es 0,778-0,830 Watt. Du kannst ihn also einfach laufen lassen. Wenn man mit etwas Verluste des Netzteils rechnet und 1 Watt als Verbrauch annimmt, dann kommt man auf Kosten von: (0,001kW*24h*365)*0,30€/kWh = 2,63€ pro Jahr
:
Bearbeitet durch User
Mike J. schrieb: > Frank Linde schrieb: >> Allerdings ändert sich die Ip des Pi und er ist auch nicht immer an. > > Die IP kannst du in der Fritzbox als feste IP einstellen und ihn dann > nach außen hin öffnen. Per DynDNS hast du eine feste Adresse. > > So ein RaspBerryPi Zero verbraucht etwa 0,415-0,467 Watt wenn er nichts > macht und bei 100% CPU-Last sind es 0,778-0,830 Watt. > Du kannst ihn also einfach laufen lassen. > > Wenn man mit etwas Verluste des Netzteils rechnet und 1 Watt als > Verbrauch annimmt, dann kommt man auf Kosten von: > (0,001kW*24h*365)*0,30€/kWh = 2,63€ pro Jahr Das stört mich am wenigsten. Meine Gedanken gehen in Richtung Angreifbarkeit aus dem Internet. Gleichzeitig ist der Pi per Zentralschalter mit dem PC verbunden, der auch nicht immer an ist.
Frank Linde schrieb: > Meine Gedanken gehen in Richtung > Angreifbarkeit aus dem Internet. Angreifbar ist ein System eher wenn du zum Beispiel ein Content-Management-System (CMS) auf deiner Webseite im RaspBerryPi installiert hast und dieses System eine Schwachstelle aufweist über die man Root-Rechte erlangen kann. Je geringer die Komplexität des Ganzen, desto geringer ist die Wahrscheinlichkeit für eine Schwachstelle. Wenn du den Pi mit der internen Firewall so sicherst dass nur die notwendigen Ports offen stehen, dann kann eigentlich nichts passieren. https://blog.doenselmann.com/firewall-fuer-raspberry-pi-und-banana-pi/ Es ist ja im Endeffekt nur ein ein kleines Bildchen welches mit geladen werden soll, also ist auch nur das Bildchen von außen sichtbar. Worüber du dir Gedanken machen solltest: Wenn jemand im Internet surft und nur eine geringe Datenrate (64kbit/s) nutzen kann, dann schaltet er beim Surfen die Möglichkeit Bilder aus dem Netz zu laden ab und nutzt auch einen AdBlocker. Ich mache das auch so, da ich nicht bereit bin zusätzliches Download-Volumen zu erkaufen. Meist habe ich eh Zugriff auf W-Lan und für die paar mal wo ich im Zug oder auf dem Bahnhof etwas im Netz surfe hole ich mir nicht so einen überteuerten Müll.
Ich würde den PI nicht als Server ins Netz hängen, viel zu umständlich da mit zwei Servern und eingebundenen Grafiken irgendwas zu tricksen. Bleibt wahrscheinlich eh im Cache hängen. Häng den PI lieber per SSH auf den Webserver! Dann kannst du die Access-Logs vom Apache beobachten und deinen Seitenzugriff auswerten. Oder dein Webseiten Skript schreibt selbst die gewünschten Daten in /tmp raus.
Frank Linde schrieb: > Gleichzeitig ist der Pi per > Zentralschalter mit dem PC verbunden, der auch nicht immer an ist. Dann bleibt nur Batteriebetrieb. Pager laufen mit 1 bis 2 AA-Batterien einen Monat. Damit geht es auch ohne Strom aus der Steckdose ziemlich einfach. Der "echte" Webserver schickt eine Email an ecityruf.de, die senden die (wahrscheinlich im 2m-Band) an den Pager. Das war's schon -- wenn man statt der Led mit dem Display des Pagers zufrieden ist. Wenn es denn die LED am RPi sein soll kann man den Lautsprecher des Pagers anzapfen und mit ein paar Transistoren und einem fetten Elko ein Relais (zweipolig, 3mm Kontaktöffnung) einschalten. Das überbrückt den Zentralschalter und geht über eins der zahlreichen Steckernetzteile in Selbsthaltung. Gleichzeitig wird der Elko wieder geladen. Sobald der RPi gebootet hat kann er die LED einschalten und nach angemessener (tbd) Zeit das Relais wieder abschalten.
Andre schrieb: > Häng den PI lieber per SSH auf den Webserver! Wie kann er dort abfragen ob ein Besucher da war? Bei meiner Webseite kann ich mich nicht mal per ssh einloggen, nur über ftp. :-(
Mike J. schrieb: > Andre schrieb: >> Häng den PI lieber per SSH auf den Webserver! > > Wie kann er dort abfragen ob ein Besucher da war? ssh kann einen Tunnel aufbauen, durch den der externe Webserver den RPi erreichen kann. Die IP-Adresse darf sich dann ruhig ändern, der RPi muss nur jedesmal den Tunnel neu aufbauen. > Bei meiner Webseite kann ich mich nicht mal per ssh einloggen, > nur über ftp. :-( Geiz ist geil? ;)
:
Bearbeitet durch User
Impressum nicht vergessen, das ist nützlich um dir die Abmahnung zukommen zu lassen.
Also ich würde mal JSON in den Raum werfen. Das ist doch für solch einen Datenaustausch gemacht. Ein Python-Script auf dem Raspi und er könnte die Daten abfragen, müsste also nicht von außen erreichbar sein.
Robert K. schrieb: > Also ich würde mal JSON in den Raum werfen. Das ist doch für solch einen > Datenaustausch gemacht. Ein Python-Script auf dem Raspi und er könnte > die Daten abfragen, müsste also nicht von außen erreichbar sein. JSON ist nur ein Datenformat. Da aktuell noch nicht mal klar ist wie der Transport der Daten ablaufen soll nützt das erstmal garnichts. Ob du die Infos nachher als JSON, XML oder Plaintext überträgst ist doch erstmal vollkommen egal. Würde allerdings beim Punkt mit dem Script zustimmen. Sprich: Der Pi baut die Verbindung auf. Interessant wäre jetzt erst mal welche Möglichkeiten der TO auf dem "fremden Server" (also dort wo die Seite gehostet) ist hat? Ist das ein Root-Server? Oder nur Webspace?
Webserver schreibt Daten über neue Besucher irgendwohin. Dein Raspi fragt im Minutentakt (?) diese Daten ab und macht dann irgendwas. DSGVO? Traffic? Zeitkritisch? merciless
Bauform B. schrieb: > Geiz ist geil? ;) Ja ... die höheren Tarife wollte ich dann auch nicht zahlen. Meine Webseite ist klein und ich brauche eigentlich auch nicht viel, aber dass man sich dort nicht per sftp einloggen kann ist für mich nicht verständlich. Ist doch eigentlich nur ein sicherer Datentransport. Jemand schrieb: > Impressum nicht vergessen, das ist nützlich um dir die Abmahnung > zukommen zu lassen. Das braucht doch nur bei Webseiten die kommerziell sind. Du hast aber die Datenschutzerklärung vergessen, die muss drin sein wenn er irgend welche Cookies auf den fremden Rechner schiebt oder die Daten (IP, Nutzerdaten ... ) irgend wie nutzt. Bei einer anderen meiner Webseiten brauche ich weder ein Impressum, noch eine Datenschutzerklärung, weil es rein privat, nicht kommerziell ist, ich keine Daten des Besuchers nutze und ihm keine Cookies unterschiebe.
Mike J. schrieb: > Das braucht doch nur bei Webseiten die kommerziell sind. Das ist schlicht falsch.
@Mike beide deiner Rechtsauffassungen sind falsch. Würde das einfach per get request machen und entweder null oder eins Anfragen. Zwischenspeichern kann man im einem file oder Datenbank. Wenn man die Seite aufruft wird eine 1 in die dB zB geschrieben. Erfolgt dann ein get request, die led geht an, wird die 1 wieder mit 0 überschrieben
Tilo schrieb: > @Mike beide deiner Rechtsauffassungen sind falsch. Es gibt keine Impressumspflicht für rein privaten Webseiten. https://www.impressum-generator.de/2016/11/impressumspflicht-private-homepage/ Eine Datenschutzerklärung ist nur dann Pflicht wenn personenbezogenen Daten (Cookies, Browserdaten, IP, Kontaktformular usw.) erhoben oder analysiert werden.
Beitrag #6118642 wurde von einem Moderator gelöscht.
Habe hier einen Python-Script der auf einem Pi über crontab 1xpro Minute draussen eine Datei auf dem Webserver abfragt und je nachdem ob 0 oder 1 drinsteht einen Pin des Pi steuert: #!/usr/bin/python import RPi.GPIO as gpio import time import urllib2 gpio.setwarnings(False) #Pin-Nummern verwenden (nicht GPIO-Nummern) #gpio.setmode(gpio.BCM) gpio.setmode(gpio.BOARD) # Pin zur Datenausgabe definieren p = 7 gpio.setup(p, gpio.OUT) response = urllib2.urlopen('http://www.yourdomain.de/subdir/alarm.txt';) data = response.read() status = "off" gpio.output(p, gpio.LOW) if (data=='1'): status = "on" gpio.output(p, gpio.HIGH) time.sleep(1) gpio.output(p, gpio.LOW) #print (status) Nun musst du nur noch die Datei auf dem Webserver entsprechend befüllen und wieder löschen.
:
Bearbeitet durch User
Frank Linde schrieb: > Das stört mich am wenigsten. Meine Gedanken gehen in Richtung > Angreifbarkeit aus dem Internet. Gleichzeitig ist der Pi per > Zentralschalter mit dem PC verbunden, der auch nicht immer an ist. Verschiedene Software bietet sogenannte Publish-Subscribe-Fähigkeiten, oft auch verkürzt als "PubSub" bekannt. Unter denen, die sich mit einer gewissen Wahrscheinlichkeit ohnehin auf meinen Servern befinden, gehören das RDBMS PostgreSQL und der Key-Value-Store Redis (auch ein prima Cache für die Webseite, unter anderem...). Im Falle von PostgreSQL müßte auf dem RasPi ein Client laufen, der mit dem Befehl LISTEN auf einem benannten Channel auf Nachrichten lauscht. Dein Webserver würde dann bei jedem Hit (oder Visitor oder...) mit den Befehl NOTIFY eine Nachricht in diesen Channel schreiben, die quasi sofort beim lauschenden RasPi-Client ankommt. Ganz ähnlich würde es im Falle von Redis aussehen: der Client auf dem RasPi würde einen Channel auf dem Redis-Server SUBSCRIBEn und der Webserver bei Bedarf eine Nachricht in diesen Channel PUBLISHen. Vorteil: der RasPi baut die Verbindung von innen nach außen auf, Du mußt also Dein Heimnetzwerk nicht nach außen hin öffnen. Dafür muß jedoch die entsprechende Software auf Deinem Server von außen zugänglich gemacht werden, und wenn Du keine feste IP-Adresse hast, vielleicht sogar für die ganze Welt. Dann sind Verschlüsselung und Authentifizierung allerdings Pflicht sowie fail2ban wärmstens empfohlen! ;-)
Pro: Datei auf Server durch ein PHP Script erstellen lassen (da auch gleich die Referrer in die Datenbank schreiben). Und per Crontab (wie oben) oder als Service (wenn die Abfrage schneller als 1 Minute geschehen soll) die Datei abfragen und damit die LED schalten. Vorteil: Kein Server auf dem RPi notwendig, wenig Aufwand, keine "Schwachstelle" am RPi, keine Möglichkeit dies zu umgehen (AdBlock etc..). Jetzt kommt das große "AAAAAaaaaaaaber": Wann soll diese LED wieder ausgehen?!? Zeitgesteuert?
Rene K. schrieb: > Wann soll diese LED wieder ausgehen?!? Zeitgesteuert? Das wäre am einfachsten. Weiter vereinfachen liesse sich das alles noch, wenn die auch noch zufallsgesteuert eingeschaltet wird. Vorteil: gar kein Aufwand auf dem Server, gar keine Sicherheitslücken, es blinkt trotzdem irgendwann irgendwie, und alles wird gut. Oliver
Er will ja nur wissen ob ein Besucher da war. Eigentlich braucht er ein Display und einen Zähler mit der aktuellen Anzahl an Besuchern. Er könnte es auch mitloggen und die Uhrzeit ermitteln ... dann weiß er ob seine Besucher eher Frühaufsteher sind oder sich seine Seite erst am Abend anschauen.
Mike J. schrieb: > Er könnte es auch mitloggen und die Uhrzeit ermitteln ... dann weiß er > ob seine Besucher eher Frühaufsteher sind oder sich seine Seite erst am > Abend anschauen. Zeitverschiebung nicht vergessen!
Frank Linde schrieb: > sobald ein neuer Besucher > auf meiner Webseite ist Wie schnell müsste es denn reagieren?
Mike J. schrieb: > Er will ja nur wissen ob ein Besucher da war. > Eigentlich braucht er ein Display und einen Zähler mit der aktuellen > Anzahl an Besuchern. > Er könnte es auch mitloggen und die Uhrzeit ermitteln ... dann weiß er > ob seine Besucher eher Frühaufsteher sind oder sich seine Seite erst am > Abend anschauen. Ich denke, darum wird es in Summe wohl eher nicht gehen? Also nicht im Detail? Das könnte man ja auch anders erreichen. Meine Vermutung ist, dass es nur ein optisches Signal geben soll, wenn ein Besucher da war. So ähnlich wie manche sich am Handy nicht von einem Ton oder Vibrieren benachrichtigen lassen, sondern von einem Aufleuchten des Blitz-LEDs.
Holger R. schrieb: > sondern von einem Aufleuchten des Blitz-LEDs. So mache ich das, die LED blinkt einfach bei einer neuen Nachricht. Dieses runtröten war nach einer gewissen Zeit dann wirklich nervig, denn ich will ja nicht genau dann Nachrichten Beantworten wenn jemand anderes sie los schickt, sondern wenn ich gerade Zeit habe ... und dann schaue ich eh mal auf das Handy. Oft liegt es nur auf dem Schreibtisch und dann merkt man, wenn der Blick von Monitor abschweift, dass es blinkt. Das ist auch angenehmer und lenkt nicht so ab.
Frank Linde schrieb: > Welchen einfachen Weg gibt es, diese Daten möglichst ohne große Umwege > auf den Pi zu bekommen? Der Webserver macht ja bestimmt Logfiles; eigentlich brauchst Du diese ja nur zugänglich zu machen und kannst diese dann periodisch mit dem Raspberry Pi runterladen und auswerten. Mit rsync wäre das auch rel. Bandbreitenschonend zu machen. Normalerweise lässt man auf dem Webserver automatisch ein Analysetool laufen, welches die Logfiles verarbeitet wie z.B. AWstats oder Webalizer. https://awstats.sourceforge.io/ http://www.webalizer.org/
:
Bearbeitet durch User
Mike J. schrieb: > Bei einer anderen meiner Webseiten brauche ich weder ein Impressum, noch > eine Datenschutzerklärung, weil es rein privat, nicht kommerziell ist, > ich keine Daten des Besuchers nutze und ihm keine Cookies unterschiebe. Da sollte man vorsichtig sein. Wenn irgendwas kommerzielles, wie z.B. ein Werbebanner eingeblendet wird, gilt es bereits nicht mehr als rein privat. Dafür reicht z.B. auch schon ein Facebook-Like-Button (Der natürlich auch datenschutzrechtlich nicht unproblematisch ist). Und nicht nur kommerzielle, sondern auch als redaktionell oder journalistisch zu wertende Webseiten erfordern ein Impressum. Sheeva P. schrieb: > Verschiedene Software bietet sogenannte Publish-Subscribe-Fähigkeiten, > oft auch verkürzt als "PubSub" bekannt. Unter denen, die sich mit einer > gewissen Wahrscheinlichkeit ohnehin auf meinen Servern befinden, gehören > das RDBMS PostgreSQL und der Key-Value-Store Redis (auch ein prima Cache > für die Webseite, unter anderem...). Im kleineren Stil gäb's dafür MQTT.
Rolf M. schrieb: > Dafür reicht z.B. auch schon ein Facebook-Like-Button Da ist wirklich nichts drin, kein CMS, keine Einbeziehung von Fremdcode anderer Seiten, keine Banner oder so etwas. Es ist rein selbst geschrieben, HTML, PHP, etwas Javascript. Ich nutze auch keine fremden Bilder. Links sind als solche gekennzeichnet, die Leute wissen also wenn sie die Webseite verlassen.
Rolf M. schrieb: > Sheeva P. schrieb: >> Verschiedene Software bietet sogenannte Publish-Subscribe-Fähigkeiten, >> oft auch verkürzt als "PubSub" bekannt. Unter denen, die sich mit einer >> gewissen Wahrscheinlichkeit ohnehin auf meinen Servern befinden, gehören >> das RDBMS PostgreSQL und der Key-Value-Store Redis (auch ein prima Cache >> für die Webseite, unter anderem...). > > Im kleineren Stil gäb's dafür MQTT. Absolut richtig, irgendein Message Broker halt. Ob das dann Apache Kafka, RabbitMQ, irgendeine MQTT-Implementierung ist, spielt da keine Rolle. ;-) PostgreSQL und Redis hatte ich nur erwähnt, weil diese beiden auf meinen Servern mit hoher Wahrscheinlichkeit bereits installiert sind... ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.