Forums Neueste Beiträge
 

UDP Probleme

18/07/2015 - 09:48 von Stefan | Report spam
Hallo,

hat zwar mehr mit Software als mit Elektronik zu tun, aber ich versuchs
trotzdem mal hier.

Wir haben ein Microcontroller-System mit STM32 und ENC28J60. Dieses
System kommuniziert mit einem externen Webserver (V-Server). Auf dem
Server làuft ein Python-Script, das auf Kommandos vom Microcontroller
antwortet.

Der Microcontroller sendet jede Minute ein kurzes UDP-Paket raus, ich
meine, das wàre Port 10100. Der Server empfàngt das Paket, wertet es aus
und antwortet, z.B. mit einem <ack>.

Das funktioniert soweit ganz gut, wenn wir das hier von mir im Betrieb
aus machen. Als ich das beim Kunden vorführen wollte, bekam ich aber aus
dessen Netz keine Verbindung hin. Deren Netzwerkadmin war zu dem
Zeitpunkt nicht greifbar...

Ich hab mir dann gedacht, für solche Vorführungen baue ich mir eine
mobile Lösung, also einen Ethernet zu Wlan Adapter bestellt (TP-Link
TL-WA890EA). Das Ding per Tethering mit meinem Android Smartphone
(Vodafone) verbunden und den ENC per Patchkabel an den WA890.

Jetzt kann der Server die Datenpakete vom Microcontroller/ENC28J60
empfangen, aber das Datenpaket vom Server zum Microcontroller geht nicht
durch.

Ich programmier das jetzt nicht selber und will dem Mitarbeiter der das
bearbeitet mit ein paar Tips auf die Sprünge helfen.

Deshalb hier die Frage, ob jemand eine Idee hat, woran das liegen kann,
also jetzt speziell das Problem mit der Mobilfunkverbindung.

Vieleicht ist ja einfach die Wahl des Ports ungünstig...


Gruß

Stefan
 

Lesen sie die antworten

#1 Reinhardt Behm
18/07/2015 - 10:03 | Warnen spam
Stefan wrote:

Hallo,

hat zwar mehr mit Software als mit Elektronik zu tun, aber ich versuchs
trotzdem mal hier.

Wir haben ein Microcontroller-System mit STM32 und ENC28J60. Dieses
System kommuniziert mit einem externen Webserver (V-Server). Auf dem
Server làuft ein Python-Script, das auf Kommandos vom Microcontroller
antwortet.

Der Microcontroller sendet jede Minute ein kurzes UDP-Paket raus, ich
meine, das wàre Port 10100. Der Server empfàngt das Paket, wertet es aus
und antwortet, z.B. mit einem <ack>.

Das funktioniert soweit ganz gut, wenn wir das hier von mir im Betrieb
aus machen. Als ich das beim Kunden vorführen wollte, bekam ich aber aus
dessen Netz keine Verbindung hin. Deren Netzwerkadmin war zu dem
Zeitpunkt nicht greifbar...

Ich hab mir dann gedacht, für solche Vorführungen baue ich mir eine
mobile Lösung, also einen Ethernet zu Wlan Adapter bestellt (TP-Link
TL-WA890EA). Das Ding per Tethering mit meinem Android Smartphone
(Vodafone) verbunden und den ENC per Patchkabel an den WA890.

Jetzt kann der Server die Datenpakete vom Microcontroller/ENC28J60
empfangen, aber das Datenpaket vom Server zum Microcontroller geht nicht
durch.

Ich programmier das jetzt nicht selber und will dem Mitarbeiter der das
bearbeitet mit ein paar Tips auf die Sprünge helfen.

Deshalb hier die Frage, ob jemand eine Idee hat, woran das liegen kann,
also jetzt speziell das Problem mit der Mobilfunkverbindung.

Vieleicht ist ja einfach die Wahl des Ports ungünstig...



Bei UDP wird für jedes Paket eine getrennte Verbindung aufgebaut. D.h., Dein
Controller schickt was ab. Das ist eine Verbindung.
Der Server will für sein ACK auch eine Verbindung aufbauen. Das geht aber
nicht, weil Dein Controller wahrscheinlich keine öffentliche IP hat.

In Eurem Netz zu Hause geht das, weil sich beide im gleichen internen Netz
(wahrscheinlich irgendwas 192.168.x.x) befinden.

Wenn Du das mit TCP machst, könte der Conrtoller di Verbindung aufbauen und
der Server auf der Bestehenden antworten.

Das obige ist sprachlich nicht ganz korrekt, denn UDP ist connectionless.
Aber das Prinzip ist wie beschrieben.

Reinhardt

Ähnliche fragen