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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.