Hallo Leute! Ich hab ein kleines Problem und hoffe, dass Ihr mir vielleicht weiter helfen könnt! Ich möchte Daten mit einem MSP30 über einen WiPort(von Lantronix) in ein WLAN senden, was auch alles kein Problem ist. Also ich kann die Daten schon super per serielle Schnittstelle ans WLAN senden und mir diese auf der entsprechenden IP des WiPorts ansehen. Jetzt kommt das Problem: der MSP und der WiPort werden von einem Akku-Solar-System gespeist und deswegen kann ich die Daten nur ca. 1 mal pro Stunde senden. Wie kann ich jetzt sicherstellen, dass mein Server in meinem WLAN genau zu der Zeit in der der WiPort die Daten sendet, diese auch entgegen nimmt? Ich möchte die Daten auf dem Server dann mit PHP weiterverarbeiten. Ich denke nicht das es sinnvoll ist, den Server die ganze Zeit(1h) pollen zu lassen oder? Gibt es vielleicht eine Möglichkeit, dass der WiPort erstmal "Hallo" sagen kann und der Server daraufhin anfängt die Daten zu lesen? Nico
Hallo, vielleicht mache ich jetzt auch einen Denkfehler... Ich gehe jetzt mal davon aus, daß Server ein HTML-Server im Netz ist. Der steht ja sowieso rum und wartet auf Seitenaufrufe. Der WiPort fordert also seine Seite an, füllt das Formular aus und schicht es zurück und fertig. Kommt natürlich auf die Menge der Daten an... Wenn ich nicht irre, kann man den TCP-Port beim Wi-Port ja auf die serielle mappen. Dann müßte Dein MSP30 nur den Seitenaufruf mit einer Variablenliste losschicken und Dein Webserver die Variablen-Werte entgegennehmen und eine Dummy-Seite als Antwort schicken, die den Wi-Port wieder schlafen schickt. Also nur den http://meinserver/daten.php?temp=23&feuchte=45&licht=0 oder so ähnlich. Gruß aus Berlin Michael
Hallo Michael! Ja, der Server ist ein HTML-Server im Netz! Das Problem ist, dass der WiPort die Seite mit den Daten selbst generiert. Der Link funktioniert leider nicht!? Leider kenne ich mich mit HTML-Sachen nur wenig aus! Es muss doch eine Möglichkeit geben das der WiPort per HTML "ein Signal" schickt auf welches der Server reagieren kann oder? Nico
>Es muss doch eine Möglichkeit geben das der WiPort per HTML "ein Signal" >schickt
auf welches der Server reagieren kann oder?
Das nennt sich "HTTP-Request"...
Damit startet ein Client bei einem Server eine Sitzung.
Wenn dein WiPort nun aber von sich aus eine Website aufbaut, die man von
aussen sich angucken kann, dann brauchst du auf dem Server einen
Cron-Job, der in regelmässigen Abständen nach deinem WiPort guckt.
Wenn du allerdings nur die Daten an Server schickst (wie man es bei
Formularen etc. macht, in Form von
"www.serverxyz.com/index.htm?a=1&b=2"...), dann solltest du dir mal die
verschiedenen Methoden ("Get" und "post") des HTTP angucken.
Hallo Rahul! Ich will wirklich nur Daten an den Server senden! Mit Cron-Job meinst Du bestimmt das ständige abfragen der Seite vom WiPort.....daran hatte ich auch schon gedacht. Ich dachte aber dass es da vielleicht zu Problemen kommen kann da ich nur 1 mal pro Stunde senden will. Das würde bedeuten das die Webseite immer 1 Stunde offline ist, gibt es da keine timeout Probleme beim abfragen der Seite?
Hallo Nico, schaue Dir doch mal folgende Seiten an: http://tut.php-q.net/get.html http://www.html-world.de/program/http_3.php Kann der Wiport auch eine Webseite bzw. einen Server kontaktieren? Wenn ja könnte man mittels get die Daten an den Server schicken. Gruß Patti
Hat vielleicht noch jemand eine Idee wie ich eine Datenübermittlung realisieren könnte? Mit GET oder POST scheint es nicht zu klappen weil ich ja keinen Submit-Button betätigen kann oder!? Nico
Nachtrag: Am besten wäre es, wenn der Wiport die Daten nur an den Server senden müsste ohne irgendeine Synchronisierung! Mit der POST-Methode in HTML kann man sowas ähnliches machen, aber nur wenn man einen Submit-Button betätigt und das müsste ich automatisieren. Hat denn keiner eine Idee wie man das tun könnte? Bin für jeden Tipp dankbar! Nico
>Mit GET oder POST scheint es nicht zu klappen weil ich ja keinen >Submit-Button betätigen kann oder!? Wer muß denn einen Submit-Button drücken? Bestimmt nicht der WiPort. Guck dir doch mal an, was an einen Server alles übertragen wird, wenn man den Submit-Button drückt. Das sieht dann i.d.R. so aus: www.blaserver.com/index.htm?A=123&B=4323 Guck dir mal die Doku zum siteplayer an. Da ist das wunderschön beschrieben.
Sorry, aber ich kenne mich leider nicht mit HTML usw. aus! Was meinst Du mit siteplayer?
Den hier: http://www.siteplayer.com/main_content.htm >Sorry, aber ich kenne mich leider nicht mit HTML usw. aus! Du solltest dich dafür nicht entschuldigen, sondern es ändern (kleiner Tipp am Rande...).
Aha, danke! Ich seh da aber ehrlich gesagt keinen Hinweis der mir helfen könnte! Ich hatte mich nur entschuldigt weil man hier manchmal behandelt wird als sei man das letzte nur weil man etwas nicht versteht! Egal!
Cronjob schließe ich aus! Am besten wäre wirklich, wenn man es in der Form "www.blaserver.com/index.htm?A=123&B=4323" realisieren könnte, nur wie geht das wenn ich nur eine HTML-Seite generieren kann? Hat denn kiner 'ne Idee zu meinem Problem? Nico
Hallo Nico, der Wiport kann doch, wenn ich mich recht entsinne, auch eine TCP Verbindung zu einer IP Adresse + Port aufbauen. Wichtig ist hierbei aber, dass der Server eine feste IP hat und deine Anfrage an dem Port XX von einem Daemon weitergereicht wird. Der Daemon ruft dann meinetwegen ein Script auf das dann das macht was Du möchtest. Gruß Patti
Oh mein Gott! :) Warum genau willst du die Daten an einen _Web_server schicken? Webserver sind doch primär dazu da, Webseiten auszugeben. Schreib ein kleines Serverprogramm auf dem PC, dass in einer einfachen Sprache mit dem Mikrocontroller kommuniziert und auf irgendeinem festen Port lauscht. Der Mikrocontroller nimmt dann Verbindung zu diesem Programm auf und das kann dann mit den Daten machen was du willst, in eine Datenbank stellen, plotten, eine Webseite generieren, was weiß ich. Such mal nach: Sockets, Serverprogrammierung (Und wenn du dir einen Gefallen tun willst, schreib es nicht in PHP) Links: http://de.wikipedia.org/wiki/Socket http://www.uvomatik.de/programmierung/sockdoc/index.html
Hallo Anonymous! Ich will die Daten an einen Server schicken um sie dort weiter zu verarbeiten! Kannst Du mir denn in etwa sagen wie so ein kleines Serverprogramm aussieht!? In welcher Sprache programmiert man das? Ich kenne mich leider mit diesen Kommunikationssachen nicht so aus, komme aus der Elektronik-Hardwareecke! Was hast Du gegen PHP? Fand ich ganz gut für den Anfang, weil auch verständlich und vergleichbar mit C.
Kann es sein das du das programm wget suchst? ein zyklisch ausgeführter befehl: "wget 192.168.0.x?A=5&E=3" sendet die variablen A=5 und E=3 an deinen Server. Und das ganze ohne einem I...Explorer. Und dann kannst du auch den cron oder sleep nutzen.
Übrigens könntest du mal genaueres zu deinem WiPort und dessen Anschluß und dessen Ansteuerung mittteilen, würde mich mal interessieren.
Hallo, ich habe so etwas mit nem´ WLAN Modul von Avisaro gemacht (www.avisaro.com/html/wlan_module.html) Ich habe einen normalen Webserver benutzt und dort ein gewöhnliches Eingabeformular verwendet. So muss man nichts programmieren. Von meinem Controller sende ich dann (beim Avisaro Modul) ein "at+connect 192.164.0.17 80" (Beispiel)(DNS geht auch). Nach dem "OK" kann ich dann direkt Daten schicken. Also ein "GET http: ..&start=10&wert=20&...". Dabei sind start,wert die Formularfelder. Sonst könntest Du auch die Daten per EMail verschicken. Das Modul hat den EMail Client fertig eingebaut.... Gruß, Ber
@Mitrofanow: wget suche ich nicht, das hat sich auch erledigt. Ich habe das jetzt mit einem Daemon realisiert, welcher auf dem Server auf eine eingehende TCP-Verbindung wartet und daraufhin ein PHP-Script ausführt. Was genau willst Du zum Wiport wissen? Der Wiport verbindet einfach gesagt die serielle Schnittstelle mit dem WLAN. In meinem Fall sende ich Daten vom µC über die serielle Schnittstelle und diese werden auf einer Webseite unter einer bestimmten IP + Port dargestellt. Nico
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.