Forum: Mikrocontroller und Digitale Elektronik Atmega von PC über ESP-12-F (ESP8622) seriell ansteuern


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von DAC (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich will vom PC aus einen Atmega über ein WiFi-Modul (ESP-12-F/ ESP8622) 
seriell ansteuern.


Meine Idee:

Programm auf Windows10-PC  --wireless->  ESP8622-Modul  --seriell-> 
Atmega
            (WLAN-Hotspot)


Ist das prinzipiell so möglich und sinvoll und und wie kann man so ein 
Programm einfach realisieren? Python, C(++), C#?
Im Grunde soll der Atmega erst mal nur irgendwelche Pins ein- und 
ausschalten, wenn man an der PC-Tastatur tasten drückt.
Gibt es dafür eventuell schon fertige Programme, die das können?

von Brain 2.0 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Und warum verwendest du da nicht einen USB-Serial-Wandler ?
Da gibt es fertige, die genau dafür gedacht sind.

Nur der ESP8266 ist nicht dafür geeignet.

von DAC (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der ESP8266 fliegt hier noch in der Bastelkiste rum und wie ich es 
verstanden habe, kann er von Werk aus (also ohne extra Programm) Daten 
seriell ausgeben.

Bei der Bucht wird er auch als "WiFi-to-UART"-Modul angeboten:
Ebay-Artikel Nr. 192129973333
Ebay-Artikel Nr. 303631241081
Ebay-Artikel Nr. 141694458282

Das soll jetzt keine Werbung sein, die Auswahl ist beispielhaft.


Brain 2.0 schrieb:
> Da gibt es fertige, die genau dafür gedacht sind.

Was würdest du denn hier verwenden?

von DAC (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Brain 2.0 schrieb:
> Und warum verwendest du da nicht einen USB-Serial-Wandler ?

Oder reden wir aneinander vorbei? Der PC hat WLAN (Hotspot).
Der ESP8266 soll mit dem Atmega verbunden werden.

von Brain 2.0 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
DAC schrieb:
> Brain 2.0 schrieb:
> Und warum verwendest du da nicht einen USB-Serial-Wandler ?
>
> Oder reden wir aneinander vorbei? Der PC hat WLAN (Hotspot).
> Der ESP8266 soll mit dem Atmega verbunden werden.

Ok, das hatte ich tatsächlich falsch verstanden.

Du kannst den ESP tatsächlich mit dem Atmega per serial verbinden.

Allerdings kannst du doch die Leds auch direkt vom ESP8266 schalten.

von c-hater (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
DAC schrieb:

> Ist das prinzipiell so möglich

Ja, klar.

> und wie kann man so ein
> Programm einfach realisieren?

Einfach? Garnicht. Auf Windows-Seite benötigst du einen Treiber, der 
einen virtuellen COM-Port bereitstellt.

Denn kannst du sehr wahrscheinlich nicht selber schreiben. Wobei das 
Schreiben garnicht mal so schwer ist, das Problem ist, dass du den 
Treiber heutzutage von Microsoft signieren lassen musst, damit er 
wirklich praktisch brauchbar wird.

Es gibt aber einen Ausweg aus diesem Dilemma: Man verwendet den Treiber 
eines fremden "COM-Server". Das ist zwar urheberrechtlich gesehen 
möglicherweise illegal, aber technisch u.U. möglich.

Was schwierig ist: der gefakete Server muss sich dann auch in jedem 
Detail so verhalten wie das Original, welches der Treiber kennt. Sprich: 
hier wird reverse engineering an einem Original nötig. Wenn man aber das 
Original bereits hat, gibt es keinen Grund mehr, irgendwas zu faken...

> Python, C(++), C#?

Das ist keine Frage der Sprache, sondern einzig der Kompetenz des 
Programmierers. Kompetente Programmierer brauchen die Frage nach der 
Sprache nicht zu stellen, die wissen bereits, welche sie an welcher 
Stelle verwenden müssen...

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
c-hater schrieb:
> Einfach? Garnicht. Auf Windows-Seite benötigst du einen Treiber, der
> einen virtuellen COM-Port bereitstellt.
>
> Denn kannst du sehr wahrscheinlich nicht selber schreiben. Wobei das
> Schreiben garnicht mal so schwer ist, das Problem ist, dass du den
> Treiber heutzutage von Microsoft signieren lassen musst, damit er
> wirklich praktisch brauchbar wird.

Du beliebst mal wieder, kompliziert zu denken.
Die ganze SmartHome-Szene macht nichts anderes, als über MQTT oder 
andere Protokolle irgendwelche Aktionen/Messdaten/... z.B. per WLAN 
zwischen PC/Server und irgendwelchen Knoten auszutauschen - auch mit dem 
ESP8266. Keinen einzigen Treiber muss man dafür selber schreiben.
Und mit dem Tablett/SmartPhone kann man dann auch gleich mitspielen.

von c-hater (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Wolfgang schrieb:

> Du beliebst mal wieder, kompliziert zu denken.

Ich? Wenn überhaupt wer, dann der TO...

Lies einfach mal den Text des Topic...

von Chris K. (kathe)


Bewertung
0 lesenswert
nicht lesenswert

von c-hater (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Chris K. schrieb:

> https://www.letscontrolit.com/wiki/index.php/Ser2Net

Das stellt nicht auf der Client-Seite einen seriellen Anschluß her, 
sondern im Prinzip nur eine einfache TCP-Verbindung (wohl mit 
Telnet-Protokoll oben drauf).

Das ist easy. Dafür braucht man nämlich keinen Treiber.

von batman (Gast)


Bewertung
0 lesenswert
nicht lesenswert
DAC schrieb:
> Im Grunde soll der Atmega erst mal nur irgendwelche Pins ein- und
> ausschalten, wenn man an der PC-Tastatur tasten drückt.
> Gibt es dafür eventuell schon fertige Programme, die das können?

Das geht ja, wie gesagt, per MQTT-Nachrichten (IoT-Zeuch) oder einfach 
von einem Klick im Webbrowser im WLAN/Hotspot über ein Webinterface auf 
dem ESP, das dann die LED-Kommandos über TxD an den AVR weitergibt. Das 
macht der Webserver auf dem ESP.

von STK500-Besitzer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
c-hater schrieb:
> Wolfgang schrieb:
>
>> Du beliebst mal wieder, kompliziert zu denken.
>
> Ich? Wenn überhaupt wer, dann der TO...
>
> Lies einfach mal den Text des Topic...

Ja, genau: Einfach mal lesen.

DAC schrieb:
> Programm auf Windows10-PC  --wireless->  ESP8622-Modul  --seriell->
> Atmega
>             (WLAN-Hotspot)
>
> Ist das prinzipiell so möglich und sinvoll und und wie kann man so ein
> Programm einfach realisieren? Python, C(++), C#?
> Im Grunde soll der Atmega erst mal nur irgendwelche Pins ein- und
> ausschalten, wenn man an der PC-Tastatur tasten drückt.
> Gibt es dafür eventuell schon fertige Programme, die das können?

Prinzipiell kann man auf dem ESP einen Webserver implementieren, dessen 
Website durch einen Browser aufgerufen wurd.
Auf der Website befinden sich dann Buttons, die beim Webserver eine 
Aktion auslösen, die Daten über die serielle Schnittstelle an den AVR 
schickt.
Den Browser kann man dann durch ein Programm in einer beliebigen Sprache 
emulieren.
Für jemanden mit Erfahrung und/oder dem Willen, sich in entsprechende 
Thematik einzuarbeiten, ist das möglich.

Um es schnell hinzubekommen, bietet sich wohl Python an, da es dafür 
einen Haufen fertiger Funktionen / Bibliotheken gibt.

Möglich ist es, einfach nicht unbedingt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.