www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR NET-IO Daten auf FTP-SERVER


Autor: Juppo Nini (juppo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo an alle

Bin immer noch mit der web-anbindung vom avr web-io beschäftigt.

Internetverbindung haben ich nun ,entweder mit der Fa.Medex über openVPN 
oder öffentliche adresse.

Nun möchte ich auf meine internet server ,da wo meine homepage zb. liegt 
eine Datei anlegen ,öffnen, beschreiben usw.

Wie bekommt man das hin?
Gibt es html oder js befehle die das machen?

oder muss ich auf eine ganz ander ebene ,da es ja kein html protokoll 
ist?

Gruß juppo

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wenn du uns das jetzt noch mal in verständlicher Form schreiben 
würdest, dann könnte man dir auch helfen...

Autor: Juppo Nini (juppo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok

Also
AVR-WEB-IO (Pollin) Hardware mit Radig Software vorhanden.

Am Ehternet Port ein GSM Modem das eine TCP Internet verbindung 
herstellt.

Das GSM Modem hat eine öffentliche IP Nummer (momentan 80.187.24.221:81)

Das läuft wunder bar.

Nun möchte ich zb.die Temperaturen die der AVR einsammelt alle 5 min in 
eine Date auf meinen Wepspace speichern.

Mit Filezilla kann ich die Daten dann einsehen.

also eine FTP Client erstellen,oder gibt es Javascript/html befehle die 
das erledigen.

Gruß Juppo

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>also eine FTP Client erstellen,oder gibt es Javascript/html befehle die
>das erledigen.

Einen FTP-Client zu programmieren stelle ich mich schon interessant 
vor...

Einfacher wäre es wohl, per PHP-Script die NETIO-Website in gewissen 
Zeitabständen herunter zu laden und dort dann die Werte aus dem 
HTML-Code herauszufiltern.

Autor: Leo-andres H. (leoloewe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Über HTML/JS kannst du von "außerhalb" prinzipiell nichts auf dem Server 
speichern.
Das wäre ja ein Einfallstor für jeden Hacker...

Du kannst allerdings auf dem Server ein Script laufen lassen, dass für 
dich die Daten speichert.
In der URL übergibst du dann deinen Datensatz (Stichwort PHP GET).

So eine URL könnte z.B. so aussehen 
www.meinserver.de/NetIO/Messwerte_Speichern.php?sensor=15&temperatur=25. 
6&zeit=17:00:00

Im PHP-Script hättest du dann auf die einzelnen Parameter mittels 
$_GET['sensor'] usw. Zugriff.
Die Werte kannst du dann überprüfen (wichtig!) und in deine 
Messwerte-Liste ablegen lassen.
Am Ende gibt das Script z.B. nur "OK" aus, damit das NetIO-Modul weiß, 
dass alles funktioniert hat.
Kommt kein "OK", oder z.B. "Error xyz", muss es die Daten anpassen bzw. 
neu versenden.

Wichtig ist, dass du die eingehenden Daten zumindest ganz grob 
überprüfst.
Nicht das jemand deinen Server findet und ihm so eine Anfrage gibt: 
"Messwerte_Speichern.php?sensor=evil_virus&temperatur=kill_server&zeit=n 
ow"  :)

Auch könntest du eine einfache Absicherung der Übertragung einbauen:
Zusätzlich zum "OK" gibt der Server an dein Modul eine zufällige ID 
weiter.
Bei der nächsten Anfrage muss dein Modul dann die ID mit übermitteln, 
oder ggf. sogar mit einem eigenen Schlüssel erweitern.

Bei dieser Methode wärst du darauf angewiesen, dass das Modul von sich 
aus regelmäßig den Server kontaktiert.
IMHO ist das die sinnvollste Lösung, weil der Server wahrscheinlich 
zuverlässiger läuft wie das Modul.

Autor: juppo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Besten Dank für euere Beiträge .

Mal schauen ob ich ein Beispiel finde.


Thanks Juppo

Autor: Ulrich E. (ulrich_e)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann dein Webserver php? Falls ja dann wird dir das schon gelingen.
Der PHP Teil ist in jedem PHP Tutorial erklärt.

Autor: juppo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grund Software von U.Radig

Habe Javascript für dynamische Werte und normal HTML drin.

Naja habe mich schon tagelang damit beschäftigt und immer ein Stück 
weiter gekommen.

Schauen wir mal.

Gruß Juppo

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ulrich meinte wohl eher ob auf deinem Webspace wo die Daten hin sollen 
PHP verfügbar ist.

Sascha

Autor: juppo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die normalen Seiten von 1und1


?

Autor: Weingut Pfalz (weinbauer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du kein Hostingpaket inklusive PHP hast wird das unter Garantie 
nix.
JS und HTML können keine Daten speichern auf dem Server.
Auch die Auswertung von Formularen geht dann bestenfalls wenn da n CGI 
hinterlegt wird. Damit liese sich mit viel Gewürge was basteln was die 
Daten dann per Mail überträgt ... u.U.
Das Nächste wird dann sein, ob 1und1 in ihrem PHP die Ausführung von 
Cronjobs aktiviert hat und ob die auch 5-minütlich ausgelöst werden 
können ... eher nicht vermutlich.
Ich vermute um die Einrichtung eines kleinen Servers mit DynDNS bei Dir 
daheim wirst Du da nicht herum kommen.

Autor: Juppo Nini (juppo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin

Ich habe auch noch bei Concept69 Space ,da läüft Xcommerce ,
Dort sind auch Datenbanken angelegt usw.



Also dort eine PHP Programm das dann von meine Webserver Daten hohlt und 
in eine Datei/Datenbank ablegt.
Richtig?

Gruß Juppo

Autor: Björn C. (Firma: privat) (blackmore)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst noch immer Cronjobs, um Deine php-Seite regelmässig 
aufzurufen...

Das geht mit normalen Spaces nicht...

Ich hatte mal eine Seite gebaut, die alle 5 Minuten von verschiedenen 
Websites die RSS-Feeds ausliest, guckt, ob neue Feeds vorhanden waren 
und bei Bedarf an meinen Pager geschickt hat...

Bei 12 Feeds sind da schnell 3GB im Monat aufgelaufen...

Zum testen könnt ich Dir auf meinem Server die PHP hosten und laufen 
lassen, Datenbankanbindung kannst Du auch haben...

Oder als herunterladbare txt-Datei...

Dafür benötige ich jedoch eine dyndns-Addresse Deines AVR-Webservers... 
>> PM
ohne komm ich ja nicht drauf...
Und welche Daten Du genau benötigst...

Autor: Juppo Nini (juppo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Besten Dank für die Anwort

Ich gehe erst mal einen anderen Weg.

Das Modem arbeitet mit Open At .
Mit der WIPSOFT sollte es gehen direkt meine gelüste zu erfüllen.

Nur diese Software ist nicht installiert.

Mal schauen was mir der Support sagt.

Gruß
Juppo

Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo-andres H. schrieb:
> Über HTML/JS kannst du von "außerhalb" prinzipiell nichts auf dem Server
> speichern.
> Das wäre ja ein Einfallstor für jeden Hacker...

Nein, HTML unterstützt sehr wohl die Übertragung von Daten vom "Client" 
zum "Server". Der Server kann das beliebig speichern wie und wo er ist. 
Dieses Forum hier funktioniert zum Beispiel so.

Was man machen könnte, wäre einfach die Daten per HTTP-GET auf den 
Server zu laden.

Dazu muss er am "Client" nur eine TCP/IP-Verbindung aufmachen und den 
HTTP-Header abschicken und nach der Antwort einfach die Verbindung 
beenden.

Auf dem Server bräuchte man ein kleines CGI-Skript (oder irgend ein 
anderes 'CGI'-artiges Verfahren) welches die Werte entgegennimmt und 
irgendwie speichert.

FTP ist ungünstig, weil:
1. Die Passwörter im Klartext übertragen werden. (GSM ist ausreichend 
verschlüsselt)
2. FTP ein relativ kompliziertes Protokoll ist.

Autor: Björn C. (Firma: privat) (blackmore)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian Berger schrieb:
> Auf dem Server bräuchte man ein kleines CGI-Skript (oder irgend ein
> anderes 'CGI'-artiges Verfahren) welches die Werte entgegennimmt und
> irgendwie speichert.

Dann hat er immernoch das Problem, das er regelmässig alle 5 Minuten 
diese CGI-Datei aufrufen muss...

ich kenn das Board und die Firmware nicht - können die sowas???

Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, wie will er denn sonst alle 5 Minuten Werte übertragen? Die Firmware 
muss er sowieso selbst schreiben.

Autor: Björn C. (Firma: privat) (blackmore)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abruf der Daten von extern via PHP-Script, perl oder ähnliches mit 
cron...

wäre für mich die erste Wahl...

Die Daten liegen ja schon als Website vor, man muss nur noch lesen...

Autor: Reinhard S. (rezz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Björn C. schrieb:
> Abruf der Daten von extern via PHP-Script, perl oder ähnliches mit
> cron...
>
> wäre für mich die erste Wahl...
>
> Die Daten liegen ja schon als Website vor, man muss nur noch lesen...

Wärs nicht eher sinnvoll, dem NET-IO zu sagen, das es alle x Minuten 
eine PHP-Seite aufzurufen wie 
"www.trallala.de/skript.php?wert1=30&wert2=40"?

Da braucht man nur PHP auf dem Server, eine Datenbank wäre noch ein 
schönes Extra, ansonsten speichert man eben in einer Datei.

Autor: Juppo Nini (juppo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ,das höhrt sich ja gut an.

Um die AT+WIP Commandos zu benutzen muss einen andere Firmenware auf das 
Modem .

Jo ,PHP Programm auf eine Server laufen lassen der dann auf dem AVR Web 
IO Daten ausliest und speichert.

Das wäre fein, aber wie geht das ?

wie kann man zb. die Temperaturwerte des AVR-IO auslesen?

Gruß Juppo

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>wie kann man zb. die Temperaturwerte des AVR-IO auslesen?

Dein AVR-NETIO erzeugt doch eine HTML-Seite, oder?
Diese Seite wird von deinem anderen Server in regelmäßigen Abständen 
aufgerufen (dein Webserver arbeitet dabei als Client, so wie du mit dem 
Browser deinen NETIO "ansurfen" kannst).
Aus der HTML-Datei (menschenlesbare Text-Datei) kann man dann die 
entsprechenden DAten herausfiltern.

Einfach wäre es aber, die NETIO-Firmware von Ulrich Radig zu benutzen, 
die auch noch eine HTML-GET-Prozedur mitliefert.
Mit dieser Prozedur kann man vom NETIO Daten an einen anderen Server 
übertragen und erhält von diesem dann eine Antwort (die man aber auch 
ignorieren kann).
Das Thema dieser Prozedur wurde hier im Forum schon besprochen.

Lies dich mal in die GET- und POST-Methode des HTTP ein.

Autor: Juppo Nini (juppo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Software habe ich geändert ,also müsste da müsste die functionen da 
sein


Für dynamische werte habe ich js eingebaut.

------------------------------------------------------


<form><input type=\"button\" value=\" Print this page \""
"onclick=\"window.print();return false;\" /></form> "

"<script type=\"text/javascript\">"



"HTTPRequest=function(){};"
"HTTPRequest.prototype="
"{"
    "isSupported:function(){return!!this.getConnection()},events:[\"start\", 
\"open\",\"send\",\"load\",\"end\"],filter:"
    "encodeURIComponent,getConnection:function(){var 
i,o=[function(){return new 
ActiveXObject(\"Msxml2.XMLHTTP\")},function(){return new 
ActiveXObject(\"Microsoft.XMLHTTP\")},function(){return new 
XMLHttpRequest()}];for(i=o.length;i--;){try{return o[i]()}catch(e)"
    "{}}return null},formatParams:function(a){var i,r=[];for(i in 
a){r[r.length]=i+\"=\"+(this.filter?this.filter(a[i]):a[i])}return r."
    "join(\"&\")},get:function(a,b,c,d){return 
this.request(\"GET\",a,null,c,null,d)},post:function(a,b,c,d){return 
this.request(\"POST\""
    ",a,b=this.formatParams(b),c,{\"Connection\":\"close\",\"Content-Length\ 
":b.length,\"Method\":\"POST  \"+a+\" HTTP/1.1\",\"Content-Type\""
    ":\"application/x-www-form-urlencoded; 
charset=utf-8\"},d)},request:function(a,b,c,d,g,h)"
  "{var i,o=this.getConnection(),f=d instanceof 
Function;try{o.open(a,b,!h);h||(o.onreadystatechange=function(){var 
s=HTTPRequest.prototype.events[o.readyState];f?d(o):s in d&&d[s]"
    "(o)}); if(g){for(i in{USER_AGENT:0,XUSER_AGENT:0}){i in 
g||(g[i]=\"XMLHttpRequest\")}for(i in 
g){o.setRequestHeader(i,g[i])}}o.send(c);"
    "h&&(f?d(o,oThis):d[\"end\"]&&d[\"end\"](o,oThis));return 
true}catch(e){return false}}};"

Autor: sven s. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum so kompliziert.
versuchs mit nem ftp client auf dem net io. der schiebt einfach alle 5 
min die daten zum server und gut is.
ftp is so einfach gestrickt das sollt man noch hinbekommen und wenn 
nicht es gibt bestimmt was fertiges.

gruß sven

Autor: FTP (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
laut 
http://www.ulrichradig.de/home/index.php/software/...
kann der doch schon FTP, also warum nicht nutzen?

Autor: Juppo Nini (juppo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So habe noch ein wenig gestöbert

Habe da ein kleine Heftchen mit Ajax Anwendungen.

Hat jemand so eine kleine Routine die mit auf meine server 
ftp://www.webseite/log/

eine file "info.txt" erstellt und "Hallo World" reinschreibt.

Wäre nett.
Juppo

Autor: Tom Tom (tfv)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch mein Problem.

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.