WLAN Übertragungsmodul für STM32F411RE

OP #5483385
Lesenswert?

Hallo Leute,

im moment habe ich meinen NUCLEO-F411RE noch per seriellen Schnittstelle 
mit meinem Rechner verbunden und lese somit einfach den COM Port aus um 
die Daten weiter zu verarbeiten. Als nächsten Schritt hatte ich jetzt 
vor die Übertragung per Ethernet zu realisieren. Hat jemand Erfahrung 
damit oder kann mir da irgendwelche Module empfehlen? Ist die 
Programmierung arg viel aufwendiger als eine serielle Schnittstelle zu 
programmieren?

Vielen Dank im vorraus
Gast #5484156
Lesenswert?

Ja, das laeuft nach dem folgenden Schema ab:

-Das WLAN-Modul ueber UART (115200 Baud) richtig konfigurieren nach 
jedem Start
-Daten senden erfolgt hier erstmal ganz simpel erklaert ohne 
irgendwelche spezifischen Kommandos:

Du sendest einen bestimmten String inkl. der Anzahl der Bytes die du 
senden willst.

Dann bekommst du vom WLAN-Modul entweder ein "OK" (Ich bin bereit die 
nachfolgenden Bytes zu senden) oder einen "ERROR" ueber UART zurueck 
(als Strings).

Wenn du das "OK" erhalten hast, sendest du exakt die Anzahl der Bytes 
die du vorher spezifiziert hast ueber UART, als waere es eine normale 
Schnittstelle.

Dann sind die Daten gesendet worden zu deinem PC.

Mein Tipp: Installier dir Telnet auf deinem PC (Windows-Feature). 
Darueber kannst du schauen ob die Daten richtig ankommen auf deinem PC.

Denn du musst beachten, nicht nur eine WLAN-Verbindung muss vorhanden 
sein, sondern auch eine Netzwerkverbindung (TCP) muss anschliessend 
aufgebaut werden, wie bei einem Telefongespraech.
Gast #5484167
Lesenswert?

Ein weiterer Tipp:

Da Telnet nur ASCII-Zeichen basiert arbeitet, empfehle ich dir fuer die 
erste Inbetriebnahme eine Umwandlung von binären Bytes in Hex-ASCII 
Zeichen durchzufuehren damit du das gut kontrollieren kannst:

Beispiel binäres Byte:

0xAA   ==> "$","A","A"

Das "$" ASCII Symbol dient einfach nur als Delimiter um den Anfang des 
naechsten Bytes sofort zu sehen.

Ist auch gar nicht so schwer sondern ist nur eine Zeile:

1
uint8_t binaryNibbleToAscii(uint8_t nibble)
2
{
3
     return (  nibble < 0xA ? (nibble+48) : (nibble+55)  );
4
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren