www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wiport Daten an Server -> Erfahrungen bzw Einstellungen


Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
wer hat schon einmal ein Projekt mit dem Wiport von Lantronix 
realisiert?
Ich möchte mit dem Wiport eine TCP Verbindung zu einem Server aufbauen. 
Dann möchte ich, mit einem Daemon, der an dem Port lauscht wo der Wiport 
anklopft, eine PHP Script ausführen, das die auf dem Wiport generierte 
Webseite abruft. Leider gibt es immer Probleme, so dass der Daemon das 
Script nicht ausführt.

Wer kann mir hier einen Tipp geben? Wie würdet ihr das lösen? Man findet 
auch keine Bsp. oder anderen Projekte, die in die Richtung gehen...

Danke :-)

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arbeitet denn keiner mit dem Wiport?

Gruß Patti

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bisher noch nicht. :)
Wo bekommt man den denn und wieviel kostet er?

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt bei Segor, ich glaube um die 130€ mit Antenne :-)

Autor: vinculum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was gibt es denn für Probleme?

Wer ist hier Client und wer Server? Der Wiport kann doch immer nur eins 
sein. Wenn er sich als Client am Server connectet, wie kann dann der 
Server bei ihm eine Webseite abrufen?

Der Lantronix XPort arbeitet im Prinzip genauso, nur über Leitung (was 
der Wiport auch kann).

--

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist mir dann doch etwas zu teuer. Da bekomme ich ja für die Hälfte 
schon einen Wlan-Router mit Linux drauf. Da werde ich wohl in absehbarer 
Zeit keine Kommentare zu dem Ding abgeben können.

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe den Wiport jetzt schon am laufen. Leider wird die TCP Verbindung 
dauerhaft ausgeführt. Aber warum?
Ich baue eine TCP Verbindung zum Server an PORT X auf. Nun stoße ich den 
Daemon, welcher an der ein PHP Script ausführt.

Dadurch das die TCP Verbindung nicht geschlossen wird, wird aber das 
Script immer wieder ausgeführt.

Wie kann ich den Socket schließen, nachdem der Daemon einmal ausgeführt 
wurde?

Ich komme einfach nicht weiter...

Ich bin dankbar für jeden Tipp.

Bye Patti

Autor: PM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hast den die Verbindung aufgebaut?
Beim "normalem" XPort gibts da extra ein Modi, in dem man mit 
Cxxxx.xxxx.xxxx.xxxx/portLF oder so ähnlich eine Verbindung aufbaut. Mit 
EOT kannst die dann wieder verbinden. Denke mal das ist beim Wiport 
genau so. Einfach mal in die Doku schauen, steht alles drin ;)

Gruß
Philipp

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man findet dazu aber auch nichts passendes im Netz. Ich verzweifel hier 
schon völlig...

Patti

Autor: PM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Userguide gra wiedergefunden...
Schau mal unter "Manual Connection" (musst den Wiport natürlich 
entsprechend konfigurieren) da steht alles.
Beim mir läuft das auch prima.

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie erkenne ich, dass der Daemon angestoßen wurde und ich die TCP 
Verbindung Wiport - Seitig trennen kann?

Patti

Autor: PM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass den Daemon doch was zurücksenden... Irgendeine Bestätigung.
Oder noch einfacher, lass doch einfach den WiPort die ganzen Daten 
senden, dann brauchst das ganze Theater nicht. WiPort stellt die 
Verbindung her, sendet seine Daten, bekommt evt noch eine Bestätigung 
und trennt die Verbindung dann wieder.
Meiner Meinung nach die sauberste Lösung.

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@PM
Das mit dem Senden geht meines Erachtens nicht. Ich habe schon etliche 
Stunden mit einer Lösung des Problemes verbracht.
Ich kann nur eine TCP Verbindung aufbauen aber nichts senden.
Die Daten liegen dann auf dem Wiport als HTML Seite vor und werden 
abgeparst (wenns denn mal ginge :-(  )
Oder habe ich da doch was falsch verstanden? Wenn es ginge, das wäre ja 
perfekt. ABer ich wüste nicht wie...heul

Patti

Autor: PM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, musst Dir ja "nur" serverseitig einen Prozess schreiben der auf 
Port X horcht. Zu dem Port verbindet sich der Wiport und sendet seine 
Daten (ggf nach einer Authentifizierung).
Das Programm kann die Daten dann in ein Datenbank schreiben oder sonst 
was damit machen.
Gehen wird das auf jeden Fall (hab mal kurzzeitig in einer Firma gejobbt 
die haben das so gemacht), aber frag jetzt nicht wie das serverseitig 
aussehen muss, da kenn ich mich nicht aus. Einfach mal nach "socket 
programing" googlen, da solltest ausreichend Infos finden.

Philipp

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Philipp
Meinen wir das Gleiche? Du meinst doch auch das der Wiport die Daten 
nicht senden kann, oder?. Ich kann doch Serverseitig nur den Daemon 
laufen lassen der an Port X lauscht. Wenn dann der Wiport die 
TCP-Verbindungen aufbaut. Erkennt der Daemon dies und führt dann die 
parsen.php aus. In der parsen.php wird mit fsockopen dier Webseite vom 
Wiport und geholt.

Patti

PS: Danke für deine Zeit :-)

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist eher unmöglich, jemandem eine Website per TCP zu schicken, die 
dieser dann (auch gegen seinen Willen) "ansieht".
Der Reglefall ist doch, dass ein Client (das kann auch ein Server im 
Internet sein) eine TCP/IP-Verbindung zu einem Server aufbaut, und bei 
diesem per HTTP-Request die Internetseite anfrangt.
Um einen Computer dazu zu bringen, sich eine Website herunter zu laden, 
benötigt man einen "Trigger". Das ist entweder ein Cronjob oder ein 
externes Ereignis. Dazu ghören dann auch irgendwelche Deamons, die auf 
irgendwelche Verbindungen (z.B. UDP) warten und darauf dann reagieren.

Sollte also kein Problem darstellen, wenn man die beiden Server 
programmieren kann...

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Daemon erkennt ja die TCP-Verbindung des Wiport, nur scheint er 
diese nicht wieder zu schließen. Dadurch kann man nicht auf die vom 
Wiport generierte Webseite zugreifen, da der Wiport nur eine Verbindung 
herstellen kann.
Hab ich da ein theoretisches Problem oder wo ist der Haken?

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man findet auch keine Beispiele zu dem Wiport. Er scheint ja überhaupt 
nicht verbreitet zu sein.
Patti

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass es doch einfach bei einem Thread:
Beitrag "Daemon starten unter Xampp"

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Simon
Es handelte sich aber um 2 verschieden Problem und Bereiche!
Gruß Patti

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass den WiPort einfach solange UDPs schicken, bis der betreffende 
Server auf seine Aufforderung reagiert.

Autor: PM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, aber warum so umständlich...
Wie ich Dich verstanden habe hast Du Daten und die sollen an den server 
gesendet werden.
Dein Weg: HTML Seite erzeugen, Server Triggern, Server holt sich die 
HTML Page und filter sich da dann die Daten raus um sie abzuspeichern.

Warum nicht: Werte werden über Wiport an den server gesendet (per TCP), 
der Speichert die Daten und gut ist. Alles ohne HTML und parsen.

Philipp

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Philipp,
leider kann der Wiport keine Daten per TCP schicken. Er kann nur eine 
Anfrage an eine IP:Port machen. Sonst wäre es ja alles nicht so 
umständlich.
Meine anfänglichen Probleme, daß die Verbindung nicht beendet wird ist 
auch erledigt (Einstellungssache im Wiport).
Im Augenblick funktioniert schon der Daemon und das parsen mit fsockopen 
wird auf jedenfall ausgeführt. Leider gibt es einen "111" Fehler.

Patti

Autor: PM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar kann er das, baust einfach die Verbindung (wie ich weiter oben 
schon beschriebe habe) und dann wird alles was über die serielle 
Schnitstelle vom Wiport reinkommt gleich weiter zum Server gesendet.
So hab ich mir auch u.a. ein Abfrage meines email Postfaches gebaut, um 
zu schaun ob mails da sind ohne den PC einschlaten zu müssen.

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das verstehe ich nicht ganz, Philipp!
Kannst Du nochmal genau erklären wie man den Wiport einstellt um damit 
Daten per TCP zu senden!?
Beim mir wird der Wiport über serielle Schnittstelle vom Mikrocontroller 
angesteuert. Und jetzt könnte ich Daten vom Mikrocontroller an meinen 
Server senden....ist das richtig?

Danke für deine Hilfe!

Patti

Autor: PM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, also ich würd sagen Du solltest Dich dann erst mal mit der 
grundlegenden Funktionsweise auseinander setzen... Steht alles im User 
Guide.

Konfigurierst beim Wiport entsprechend die serielle Schnitstelle und 
setzt ihn auf Manual Connection.
Dann sendet der uC über die serielle Schnitstelle 
Cxxx.xxx.xxx.xxx/portLF (C zum verbinden, x ist IP Adresse ders Servers, 
Slash als Trennzeichen, port durch die Portnummer am Server ersetzen, 
und mit LF (0x0A) am Ende). Darauf hin baut der Wiport die Verbindung 
auf. Alle weiteren Daten die der uC jetzt über die serielle Schnitstelle 
sendet werden an den Server weitergelietet. Willst Du z.B. Messwerte 
übertragen sendest Du die einfach: Temp1:23.4;Temp2:26.0;CRLF
Daten kommen genau so am Server an, und da kannst die dann weiter 
verarbeiten.
Wenn alle daten gesendet sind, einfach mit dem uC EOT (0x04) senden und 
die Verbindung wird abgebaut.
Fertig.

Aber wie gesagt, steht auch alles in der Doku.

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Philipp, das funktioniert tatsächlich!
Ich weiß garnicht wie ich dir danken kann!? Wie wärs mit deiner 
Kontonummer :-) ?

Kannst Du mir noch sagen wo das im UserGuide steht? Ich hatte die Doku 
schon 3 mal durchgelesen und nichts gefunden!

Tausend Dank!!!!!!

Autor: PM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

mmm, das mit der Kontonummer klingt gut ;)

Das ganze steht im User Guide unter

5: Configuration via Serial Mode or Telnet Port
  ->Connect Mode
    ->b) Response
      ->Manual Connection

In der Version die ich hab(aktuelle von Lantronix Seite) steht das auf 
Seite 42.

Gruß
Philipp

Autor: Patti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da steht:
Attempts to connect when directed by a command string
received from the serial port. The first character of the command
string must be a C (ASCII 0x43), and the last character must be
either a carriage return (ASCII 0x0D) or a line feed (0x0A). No
blanks or space characters may be in the command string.
Between the first and last command string characters must be a
full or partial destination IP address and can include a
destination port number.
The IP address must be in standard dot-decimal notation and
may be a partial address, representing the least significant 1, 2,
or 3 bytes of the remote IP address. The period is required
between each pair of IP address numbers.
If present, the port number must follow the IP address, must be
presented as a decimal number in the range 1-65535, and must
be preceded by a forward slash (ASCII 0x2F). The slash
separates the IP address and the port number. If you omit the
port number from a command string, the internally stored remote
port number starts a connection.
If a partial IP address is presented in a command string, it is
interpreted to be the least significant bytes of the IP address and
uses the internally stored remote IP address to provide the most
significant bytes of the IP address. If the IP address entered is
0.0.0.0/0, the device server enters Monitor Mode.

Also ich finde dort keine Erklärung, dass man zwischen Start-String und 
EOT Daten senden kann!?

Autor: PM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, das ist ja der Grund warum es den Wiport überhaupt gibt... wird 
also nicht extra erwähnt, und ist ja eigentlich der Grund warum es das 
Ding überhaupt gibt.
(Wenn Du das umbedingt lesen möchtest, steht in
2: Introduction
  -> Capabilities
    -> geleich der erste Aufzählungspunkt
)

Autor: PM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- Communication between TCP and UDP to serial.

Autor: Msp 430_crew (msp430_crew)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@PM
Ich habe immer noch starke Probleme beim senden. Der Wiport funktioniert 
manchmal einwandfrei. Ansonsten meldet er sich auf der Fritzbox an und 
sendet keine Daten.

Wer kennt solche Probleme mit dem Wiport? Wie empfindlich ist der Wiport 
gegenüber Störungen?

Danke Euch.

Patti

Autor: Msp 430_crew (msp430_crew)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin am verzweifeln...

Autor: PM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, dazu kann ich leider nix sagen. Hab nur mit dem XPort gearbeitet.
Aber WiPort hat doch auch "normalen" Netzwerkanschluss.
Lass ihn doch erst mal darüber laufen und schau ob alles einwandfrei 
läuft über einen längeren Zeitraum (ggf mit Wireshark).
Sollte das dann zuverlässig laufen noch mal an den WLAN Einstellungen 
fummeln. Evt im abgeschottetem Netz erst mal ohne Verschlüsselung und 
sich dann an den Fehler rantasten.

Gruß
PM

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.
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.

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