Hallo zusammen, ich habe vor bei mir zu Hause, z.B eine Lampe über mein Handy ein und auszuschalten zu können. Ich kann schon über mein Handy über SSH an dem Raspberry angeschlossene Lampe ein und ausschalten (ganz bequem über ein App). Doch der Pi soll im Zukunft der Master sein und viele Slave (EPS8266) Boards ansteuern. Die ganze Sache soll also so ablaufen über mein Handy sag ich dem Pi was er tun soll und er sagt dem Slave (EPS8266) was er, dann zu tun hat. So jetzt komm ich zu meine eigentliche Frage. Wie kann ich am einfachsten zwischen dem Pi und dem EPS8266 Daten (also mein Befehl an dem EPS8266) senden. Es soll auch keine große Verzögerungen geben. Ich danke euch schon mal im Vorau.
Im Prinzip genau so, wie mit dem Handy. Dazu eignet sich jede beliebige Programmiersprache. Beim Raspberry Pi würde ich es mal mit Python versuchen, wenn du noch keinen anderen Favorit hast. Oder ganz old-school: Shell Scripte.
ja klar das weiß ich, meine Frage ist wie die Verbindung aufgebaut wird zwischen Pi und EPS ich hab mich bisschen schlau gemach und bin auf Begriffe gestoßen wie Apche, MQTT usw. doch diese Begriffe sagen mir erst mal nicht viel. Kann ich das direkt machen also ohne Server auf dem Pi. Wenn ja wie? :)
Du hast doch geschrieben, daß Du schon eine Steuerung mit dem Smartphone gemacht hast. Wie funktioniert die denn? Wenn du doch noch gar keine Ahnung hast, dann denke Dir einfach ein textbasiertes Protokoll aus, dass du auf einer TCP Socket Verbindung nutzt. Da könntest du dann "Licht 3 an" senden, um die Lampe 3 einzuschalten. Auf deinem ESP muss dann natürlich ein Programm laufen, dass solche kommandos versteht. Diese Begriffe, die Dir nicht viel sagen, darfst du gerne links liegen lassen. Im bereich IOT und Hausautomation kocht sowieso jeder Hersteller sein eigenes Süppchen. Dann kannst du das auch.
Willst du die ESPs selbst programmieren, oder willst du sie als WLAN-Modem für Mikrocontroller benutzen? Am einfachsten, du suchst dir als Übung erst mal eines der Tutorials: "Lampe mit Arduino, ESP und Webbrowser einschalten" z.B. https://arduino-hannover.de/2014/12/11/wifi-kochbuch-mit-esp8266/ Als 2. Schritt bastelst du dir auf dem Raspi ein Script, das diese Webaufrufe mit curl oder ähnlichem macht. Danach hast du genug Überblick, kannst dir die Technologie raus suchen, die dir liegt.
ich danke dir, also die Steuerung über das Smartphone funktioniert so, mit eine App kann ich ein Button erstellen und diesen ein Kommando zuweisen, z.B /home/pi/lichtaus.sh. Dieses wird an dem Pi gesendet und in dem shell script ist mein Programm das ausgeführt wird ( in dem Fall wied ein GPIO Pin auf HIGH gesetzt). das ist schon alles. aber ich habe kein SSH auf dem Modul(EPS8266) also muss der pi dieses Modul über eine ip ansprechen, ich kann ja nicht einfach irgendwas im Wlan sende und erwarten, dass das Modul es versteht. Ich brauch so was wie SSH für die Verbindung zwischen pi und Wlan Modul. dass mit mein eigenes "Süppchen" ist eine gute Idee!
> Ich brauch so was wie SSH für die Verbindung zwischen > pi und Wlan Modul. Du meinst einen IP Socket und einen Listener, der deine Kommandos versteht. IP-Socket ist in der Basis-Firmware des ESP Chips enthalten. Den Listener musst du selbst programmieren - das ist definitiv kein Hexenwerk.
Genau... ich brauch erst ein "IP Socket" das heißt wenn ich mit mein Pi was sende das ich es an eine Adresse im Netzwerk sende. Und dann ein Programm, dass das gesendete auch versteht und was damit anfangen kann, z.B (ln = licht an) wenn ich "ln" sende muss das Modul das licht Anschalten das ist dann der Listener oder ? Aber vom pi brauch ich ein Programm, dass eine nachricht an ein bestimmte Adresse senden kann, habt ihr da eine Idee was ich da machen kann. also der IP Socket ist ja für das Modul und für den Pi ?
:
Bearbeitet durch User
Du kannst mit jeder beliebigen Programmiersprache einen IP Socket öffnen. Auf der Kommandozeile benutzt man einen IP Socket mit Netcat (nc), das funktioniert grob gesagt wie ssh nur ohne Verschlüsselung. > Aber vom pi brauch ich ein Programm, dass eine nachricht an ein > bestimmte Adresse senden kann Nicht nur das, dein Programm muss an viele bestimmte Adressen senden können und es muss Kommandos von deinen Smartphones empfangen können. Auch das musst Du Dir selbst schreiben. Du hast meine Frage immer noch nicht beantwortet: > Ich kann schon über mein Handy über SSH an dem > Raspberry angeschlossene Lampe ein und ausschalten > (ganz bequem über ein App). Wie hast du das gemacht? Dabei hast du doch sicher irgend etwas gelernt, woran man anknüpfen kann.
also die App kann auf dem Raspberry über SSH zugreifen und ihm Kommandos in die Konsole schreiben wie z.B (home/pi/ledan.sh) und das auf Tastendruck (die App hat tasten und jeder Taste kann ein Kommando zugewiesen werden). den davor habe ich ein Shell Script erstellt der mein Programm aufruft. Mein Programm schaltet ein GPIO Pin auf HIGH. so aber jetzt soll mein Programm kein GPIO pin schalten sonder ein Kommando an dem Modul senden. Wie du siehst können wir bei mein Programm weiter machen den wenn ich ein Programm auf dem Raspberry hab dass dem Modul das Kommando sendet, kann ich das Programm ohne Probleme aufrufen (denn es ist egal was für ein Programm aufrufe ob mein "led.an" oder was anderes) also schreibe ich viele kleine Programme die aufgerufen werden und ein Befehl senden, z.B das die led an geht oder aus geht, das währen schon 2 Programme und 2 Tasten in meiner App. hoffe du weißt jetzt wie ich es umgesetzt habe und was ich jetzt vorhabe.
:
Bearbeitet durch User
> aber jetzt soll mein Programm kein GPIO pin schalten sonder ein > Kommando an dem Modul senden. Aus deinem Shell Script heraus kannst du netcat aufrufen, um mit einem IP Socket zu kommunizieren. Zum Beispiel: echo "Mach das Licht aus!" | nc 192.168.0.123 23 Falss du eine Verzögerung vor dem Senden des Befehls brauchst: sleep 2 && echo "Tür zu!" | nc 192.168.0.123 23
das klingt schon mal vielverspechend. ich werde es dann wenn die Teile da sind aufbauen und ausprobieren, und mich dann wieder melden und sagen wie es gelaufen ist. ich danke vielmals für deine Hilfe !!!
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.