Posts by Wafud

    Mit MQTT kannst Du keinen HTTP GET zum Lesen und keine HTTP POST zum Schreiben ausfuehren.

    Ok. Verstanden. Aber dadurch dass die Daten auf Deinem Webserver liegen kommst Du nicht per MQTT dran :( Du musst Dir irgendwas schreiben was die Daten vom Server liest und per MQTT published. Weiterhin etwas was auf einen Topic im MQTT subscribed und die Daten auf dem Server ablegt.

    Das ist doch mal eine klare Aussage: Mit MQTT geht es nicht!


    Dann muss ich es wie bisher über PHP machen.


    Vielen Dank

    Das ist was ich jetzt soweit verstehe: Du benutzt also eine Datei die auf einem Webserver liegt als einfache Datenbank und willst von ihr per MQTT lesen sowie per MQTT updaten.

    Genau so soll es sein!


    Quote

    Warum die Daten auf einem Webservern liegen weisst nur Du. Einfacher waere es sie laegen auf Deiner Raspi. Auch weisst nur Du warum Du eine Datei und keine Datenbank benutzt . Auch dadurch wuerde alles einfacher werden.

    Ich will nichts auf dem Raspi speichern, das viele lesen und schreiben auf die SD-Karte ist nicht gerade vorteilhaft was die Haltbarkeit betrifft.

    Mir reicht eine einfach Text oder CSV-Datei vollkommen aus, warum da eine Datenbank für 3 Werte ?

    Quote

    ich denke Du wirst nicht umhin kommen die Datei per HTTP GET im NodeRed lokal zu spiegeln und zu updaten. Die Frage ist wie Dateiupdates gehandhabt werden sollen: Sofort die lokale Kopie updaten und per HTTP POST uploaden oder erst sammeln und einmal pro Tag updaten? Wie ist es mit parallelen Updates der Datei? Koennen die stattfinden? Dann wird es noch komplizierter :conf:

    Wie ich oben schon schrieb sendet der ESP8266 die 3 Werte per HTTP GET zum Server, dort schreibt sie ein PHP-Script in die Text-Datei.


    Die Frage ist doch nur geht das mit MQTT auch?

    Kann ich damit die Werte vom ESP855 im Broker empfangen und dann weiter in die Text-Datei schreiben?

    (Werte vom ESP855 im Broker empfangen geht und habe ich auch schon getestet.)


    Die Werte werden alle 15 Min gesendet und aktualisiert.

    Diese Werte also nur noch in eine TXT-Datei schreiben die auf dem Sever liegt.


    Ich brauche keine lokale Kopie und muss auch auf dem Raspi nichts updaten.


    Warum muss man alles so kompliziert machen wenn der einfache Weg vollkommen ausreicht.

    D.h. Du moechtest Die Daten die bislang direkt auf Deinen Internetserver geschrieben werden per MQTT an Deinen Broker senden? Ist definitiv eine gute Entscheidung. Dann hast Du alle Daten zentral ueber den Broker zugreifbar und kannst von beliebiger Quelle per MQTT drauf zugreifen bzw subscriben.

    Mit Nodered kann man auch Dateien lesen und schreiben. csv wird auch unterstuetzt. Damit solltest Du alles haben. Oder muss die Datei auf Deinem Server liegen?

    Die Datei in die ich schreiben , bzw. lesen will liegt nicht auf dem Raspi, sie liegt im Internet auf dem Server meiner Homepage.

    Die URL zur Datei wäre z.B. http://www.beispiel.de/daten.txt oder daten.csv


    Wenn ich die Datei im Browser aufrufe wird sie mir gleich angezeigt. Ich will aber das ich sie über den Broker in NodeRed anzeigen lassen und auch darauf schreiben kann um neue Daten von den Sensoren ein zu tragen.

    Zum Levelset: Beim mir subscribed sich ein NR auf den MQTT Broker, wertet die Daten von Sensoren aus und steuert damit Geraete @home. Auch werden die Daten in eine InfluxDB via Telegraf geschoben damit ich sie via Grafana auswerten kann.


    Vielleicht erklaerst Du uns was Du eigentlich erreichen willst. Dann verstehen wird Dich besser und finden u.U. auch einen anderen und besseren Weg Dein Problem zu loesen ;)

    Hier nochmals: Ich bekomme meine Daten von einem ESP8266 mit BME280 Sensor zu mousquitto gesendet. Temperatur, Luftfeuchte und Luftdruck.

    Diese Daten habe ich mir mit NodeRed auf meinem Handy anzeigen lassen oder im Browser auf meinem PC. MQTT und NodeRed laufen auf meinem Raspberry Pi.


    Ich habe auch noch eine kleine Wetterstation im Garten bei der ich auch Temperatur, Luftfeuchte und Luftdruck auslese.

    Allerdings läuft das NICHT über MQTT. Hier sende ich die Daten mit einem HTTP/Get Request an ein PHP-Scriipt auf meinen Internet Sever.

    Dieses PHP-Script schreib die Daten in eine TXT-Datei die ich dann auswerten oder sonst wie verarbeiten kann.

    Ich könnte auch in eine CVS-Datei schreiben, käme aufs gleiche raus.

    Ich will keine Datenbank anlegen, die TXT Datei reicht vollkommen aus.


    Meine Überlegungen sind also, die Daten über MQTT laufen zu lassen und dann in diese TXT-Datei zu schreiben und auch bei Bedarf wieder aus zu lesen.


    Ich hoffe ich habe das jetzt richtig ausgedrückt und ihr wisst was ich meine ?


    Gruß Wafud

    Hallo zusammen,

    ich habe auf meinem Raspberry Pi 3+ mittlerweile MQTT und NodeRed eingerichtet.

    Auch habe ich Daten vom ESP 8266 D1 Mini zum Broker gesendet.

    Soweit so gut..


    Hier meine Frage:

    Kann ich die empfangenen Daten mit MQTT auf einer TXT-Datei die im Internet z.B. http://www.beispiel.de liegt speichern, bzw. übertragen.

    Ich dachte an die Http-Request die MQTT hat.


    Ich bin Neuling auf dem Gebiet und es ist einfach nur eine Idee.

    Vielleicht gibt es auch Infos hierzu.

    Gibt es eine Erklärung irgendwo zu den Funktionen der einzelnen Nodes?


    Gruß Wafud

    Hallo Zusammen,

    Ich habe ein Raspberry Pi 3 B+ und wollte nun seid längerer Zeit eine Verbindung über SSH herstellen.

    Auf meinem Pi ist Samba installiert und auch SSH aktiv, der Server läuft.

    In meinem Netzwerk auf meinem Windowsrechner kann ich auch auf den Pi zugreifen und sehe die freigegebenen Ordner.


    Wenn ich mich versuche über SSH einzuloggen kann ich den Benutzer Pi und das Kennwort eingeben, das war's... der Pi meldet sich nicht zurück.


    Update und Upgrade habe ich auch schon durchgeführt.


    Woran kann das liegen und was kann ich tun?

    Ich hatte zwei verschiedene Systeme aufgesetzt und wollte jetzt

    das Image von System 1 auf eine neue Karte schreiben, das ging nicht.

    Dann habe ich versucht das Image vom System 2 auf die Karte zu spielen , ging auch nicht.

    Danach hatte ich eine zweite neue SD-Karte genommen und dort mit dem 2. System nochmals versucht, kein Erfolg.

    Dann vom laufenden System 2 auf die SD-Karte , auch nicht...


    ich werde wohl mal versuchen müssen das System ganz neu auf zusetzten, das wollte ich mir eigentlich ersparen. :(

    Nach dem ich das Image auf eine neue SD-Karte geschrieben habe startet der Raspi nicht mehr.


    Folgende Infos:


    PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"

    NAME="Raspbian GNU/Linux"

    VERSION_ID="9"

    VERSION="9 (stretch)"


    Zum Schreiben und Lesen des Images habe ich "Win32DiskImager" benutzt.


    Er kommt bei Start bis hier her, siehe Bild.


    Danach leuchtet nur noch die rote LED und es tut sich nichts mehr.


    Wenn ich eine andere SD-Karte einstecke ist alles OK


    Ich habe auch schon das ganze Image auf eine andere SD-Karte(neu) geschrieben auch dort der gleiche Fehler.

    Liegt es an meinem Image?


    Vielleicht kann jemand anhand dem vorhanden Bild einen Fehler erkennen, mir sagen diese Meldungen leider nichts?


    Gruß Wafud

    Der Tip von Tell war super.

    Ich will es so einfach wie möglich, es soll den Zweck erfüllen.

    Ich habe es jetzt so gemacht:

    PHP
    <?php
    $contents = file_get_contents("http://IP-ESP/on");
    header("Location:http://IP-Raspberry/index.html");
    exit;
    ?>

    Mit Ajax kenne ich mich nicht aus , das mag vielleicht die sauberste Lösung sein aber das hier reicht mir vollkommen.

    Vielen Dank !

    Auf dem ESP eine Seite erstellen die schaltet und den aktuellen Zustand als Text zurueckgibt.


    Dann (auf dem Pi):


    Code
    $contents = file_get_contents("http://ESPIP/neuewebseite");

    Und den Text in die Webseite auf dem Pi einsetzen.

    Vielen Dank Tell:

    Genau das ist mein Weg!


    Ich habe auf meiner HTML Seite ein Link zum ESP: <a href="http://192.168.xxx.xxx/on">Teichpumpe:<br>Ein</a>

    Sobald ich diesen Link anklicke wird über den ESP mein Relais geschaltet und es öffnet sich eine neue Seite im Browser mit dem Text: Relais on

    Soweit klappt das genau wie beschrieben.


    Jetzt bekomme ich allerdings nicht mehr automatisch zurück zu meiner Ausgangsseite (index.html)


    Wie kann ich das erreichen bzw. wie und wo baue ich den

    Code
    $contents = file_get_contents("http://ESPIP/neuewebseite");

    in meine html-Seite mit ein?




    Hallo @ll

    ich habe zur Zeit mehrere ESP D1 Mini im Einsatz zu verschiedenen Zwecken.

    Eine als Wetterstation,

    eine zur Überwachung des Trockenlaufschutz für eine Wasserzisterne.

    und eine zum Schalten meiner Pumpe für den Gartenteich.

    Eine Anzeige für die Temperaturen meiner Heizung soll später auch noch dazu kommen.


    Ich habe mir auf dem Raspberry einer Webseite in HTML/PHP erstellt

    mit dem ich die Daten der einzelnen ESP's angezeigt bekomme bzw.

    schalten kann.

    Soweit klappt auch alles wunderbar.


    Im mom stete ich aber auf dem Schlauch was das Schalten meiner Pumpe/Relais angeht.


    Ich Schalte über ein einfachen Link auf meiner Index.html die Pumpe/Relais ein und aus.

    Dazu spreche ich über die IP-Adresse den dazugehörigen ESP an der dann das Relais schaltet und mir

    auf der Webseite anzeigt: Relais=on/off


    Mein Problem: Ich komme jetzt nicht mehr automatisch auf meine Index.html zurück

    sondern nur über den zurück Button vom Browser oder wenn ich die Index.html neu aufrufe.


    Wie kann ich das erreichen?


    Ich habe schon versucht vom ESP aus dann im Anschluß mit der Meldung Relais=on die IP-Adresse des

    Raspberry/index.html aufzurufen aber das hat leider nicht funktioniert.

    Danke Bernd, wenigstens eine sachliche Antwort :thumbup: :)