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 :-)
Arbeitet denn keiner mit dem Wiport? Gruß Patti
Bisher noch nicht. :) Wo bekommt man den denn und wieviel kostet er?
Gibt bei Segor, ich glaube um die 130€ mit Antenne :-)
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). --
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.
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
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
Man findet dazu aber auch nichts passendes im Netz. Ich verzweifel hier schon völlig... Patti
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.
Und wie erkenne ich, dass der Daemon angestoßen wurde und ich die TCP Verbindung Wiport - Seitig trennen kann? Patti
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.
@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
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
@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 :-)
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...
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?
Man findet auch keine Beispiele zu dem Wiport. Er scheint ja überhaupt nicht verbreitet zu sein. Patti
@Simon Es handelte sich aber um 2 verschieden Problem und Bereiche! Gruß Patti
Lass den WiPort einfach solange UDPs schicken, bis der betreffende Server auf seine Aufforderung reagiert.
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
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
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.
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
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.
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!!!!!!
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
Da steht:
1 | Attempts to connect when directed by a command string |
2 | received from the serial port. The first character of the command |
3 | string must be a C (ASCII 0x43), and the last character must be |
4 | either a carriage return (ASCII 0x0D) or a line feed (0x0A). No |
5 | blanks or space characters may be in the command string. |
6 | Between the first and last command string characters must be a |
7 | full or partial destination IP address and can include a |
8 | destination port number. |
9 | The IP address must be in standard dot-decimal notation and |
10 | may be a partial address, representing the least significant 1, 2, |
11 | or 3 bytes of the remote IP address. The period is required |
12 | between each pair of IP address numbers. |
13 | If present, the port number must follow the IP address, must be |
14 | presented as a decimal number in the range 1-65535, and must |
15 | be preceded by a forward slash (ASCII 0x2F). The slash |
16 | separates the IP address and the port number. If you omit the |
17 | port number from a command string, the internally stored remote |
18 | port number starts a connection. |
19 | If a partial IP address is presented in a command string, it is |
20 | interpreted to be the least significant bytes of the IP address and |
21 | uses the internally stored remote IP address to provide the most |
22 | significant bytes of the IP address. If the IP address entered is |
23 | 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!?
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 )
- Communication between TCP and UDP to serial.
@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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.