Hallo ich versuche nun schon eine weile meine seite in fsdata umzuwandeln, aber das geht nicht. ich hab mir Active Perl installiert und dann auf makefsdata aber nix passiert. im Anhang die beiden Dateien hat denn vielleicht jemand eine solche makefsdata für lwip
ist denn hier niemand in der Lage zu helfen wie das über setzt wird?
> ist denn hier niemand in der Lage zu helfen wie das über setzt wird?
Wahrscheinlich ja, aber dazu solltest du das Problem besser beschreiben.
Was hast du versucht, was hast du erwartet, was ist stattdessen
passiert? Welche Meldungen erscheinen auf deinem Bildschirm?
ich habe mir von der Seite dieses Beispiel runtergeladen: http://www.openedv.com/thread-25178-1-1.html darin sind die Rar Files: Makefsfile.rar atk.rar Alientek ENC28J60 LWIP in den Archiv Makefsfile sind diese beiden Dateien : Beitrag "LWIP Website in fsdata umwandeln" ABER ICH BEKOMME DAS NICHT ALS fsdata.c Über setzt.
Dann würde es sich anbieten, endlich zu verraten, was du eingibst, was der Computer ausgibt, und was sonst noch so passiert. Kriegst du das wohl noch hin?
ich habe das nach der Anleitung gemacht Funktioniert aber nicht. 1)First, you have to install Perl on your PC; 2)create a folder named for example "MyFolder" and put the script in this folder; 3)In the same folder "MyFolder" create a folder "fs" (the name is mandatory) 4)put in the "fs" folder the file you want to convert to fsdata.c 5)launch MS-DOS prompt, go to the folder "MyFolder"; 6)write the command "perl makefsdat.pl" 7)the file "fsdata.c" is created in the folder "Myfolder".
Moin, habe mal mit deinem perl script von oben deine atk.rar unter perl/Linux entpackt und nach der Beschreibung gewandelt. Ergebnis siehe Anhang.
Mach doch mal einen Screenshot von deinem MS-DOS Prompt (so heisst doch schon lange nicht mehr, oder ?), wo man sehen kann, was du da eingegeben hast und was danach erschien, sowie vom Dateimanager.
hp-freund schrieb: > Moin, habe mal mit deinem perl script von oben deine atk.rar unter > perl/Linux entpackt und nach der Beschreibung gewandelt. > > Ergebnis siehe Anhang. und mach ich das unter Windows. Stefan U. schrieb: > Mach doch mal einen Screenshot von deinem MS-DOS Prompt (so heisst > doch schon lange nicht mehr, oder ?), wo man sehen kann, was du da > eingegeben hast und was danach erschien, sowie vom Dateimanager. kann ich erst morgen früh machen
Sooo, sollte eigentlich genau so mit Win cmd funktionieren. Aber beim Ausführen des perl script kommt die Meldung:
1 | FIND: Parameterformat falsch |
Die erzeugte fsdata.c ist dann nur 47byte groß. **************************************************** Mit der makefsdata.exe von holger scheint es zu funktionieren.
Wie genau hast du das Script aufgerufen? Was hast du eingegeben? Unter Linux/Windows geht das ein bisschen unterschiedlich!
Das Perl Script benutzt den Shell befehl "find . -type f", den gibt es unter Windows nicht. Du kannst CygWin installieren und das Script in einer CygWin Shell ausführen. Dann hast du auch alle gängigen Unix Befehle verfügbar, bzw kannst sie nachinstallieren.
Stefan U. schrieb: > Das Perl Script benutzt den Shell befehl "find . -type f", den > gibt es > unter Windows nicht. > > Du kannst CygWin installieren und das Script in einer CygWin Shell > ausführen. Dann hast du auch alle gängigen Unix Befehle verfügbar, bzw > kannst sie nachinstallieren. wie führe ich das unter CygWin Shell wie wechsele ich in mein Ordner und wie führe ich das aus
ich habe mir cygwin installiert aber "das Script in einer CygWin Shell ausführen" wie ich das machen soll weiss ich nicht .
Rufus Τ. F. schrieb: > ./makefsdate.pl geht auch nicht -bash: ./makefsdate.pl: No such file or directory
Dann wirst Du halt selbst nachsehen müssen, wo das Perl-Script auf Deinem Rechner ist.
> -bash: ./makefsdate.pl: No such file or directory
Ich dachte, dass Script heisst makefsdata (mit "a" und ohne ".pl")
Möglicherweise musst die die Datei als "ausführbar" kennzeichnen, mit
dem Befehl:
chmod a+rx makefsdata
Um sie auszuführen musst du "./" davor schreiben, weil Unix (im
Gegensatz zu Windows) die Befehle nicht automatisch im
Arbeitsverzeichnis sucht. Unter Unix muss man Befehle entweder mit Pfad
aufrufen oder das Arbeisverzeichnis in die PATH variable setzen. Aber
lass das mal besser bleiben, das wäre sehr unüblich.
"." Steht für das aktuele Arbeitsverzeichnis, das war schon klar, oder?
Dann führe mal den find Befehl aus dem Script manuell aus und schaue, ob er die gewünschten Dateien findet: cd "fs" find . -type f Es müssten alle Dateien im Unterverzeichnis "fs" aufgelistet werden.
Ich habe ein Ordner MyFolder in dem sind die makefsdata.c makfsdata , so im Ordner MyFolder ist der FS Ordner in dem ist die HTML und Bilder drin. oder muss alles in einem Ordner liegen? Stefan U. schrieb: > Dann führe mal den find Befehl aus dem Script manuell aus und > schaue, ob er die gewünschten Dateien findet: > > cd "fs" > find . -type f > Es müssten alle Dateien im Unterverzeichnis "fs" aufgelistet werden. da ist meine index.HTML und paar GIF bilder mehr is da nocht. Es wird richtig aufgelistet.
so siehe anhang bei ./makefsdata bekomme ich eine Fehlermeldung in der datei makefsdata hab ich den Pfad eingetragen wo Perl installiert ist #!c/Perl/bin/
janusch schrieb: > #!c/Perl/bin/ Was hat dich dazu bewegt? Lass das mal so wie es war. janusch schrieb: > makefsdata gehört in MyFolder und nicht in fs/, denn das script sucht im aktuellen Verzeichnis nach einem Unterverzeichnis Namens fs/.
es kommt aber immer die Fehlermeldung -bash: ./makefsdata: /usr/bin/perl: Defekter Interpreter: No such file or directory
also: 1. wechsel zu MyFolder 2. da drin sollte sich makefsdata befinden 3. ruf perl-script direkt auf: perl makefsdata x. wenn das wieder nichts wird, nimm die exe von Holger
Dann hast noch kein Perl installiert. Schau mal im Setup Programm von Cygwin nach, da kannst du es suchen und nachinstallieren.
Stefan U. schrieb: > Dann hast noch kein Perl installiert. Wird das installierte active perl nicht von Cygwin verwendet?
hp-freund schrieb: > also: > > 1. wechsel zu MyFolder > 2. da drin sollte sich makefsdata befinden > 3. ruf perl-script direkt auf: perl makefsdata > > x. wenn das wieder nichts wird, nimm die exe von Holger $ perl makefsdata No such file or directory at makefsdata line 17, <FILES> line 1.
mit der exe von Holger hab ich aber im Array eine ander Structur damit läuft der Webserver nicht.
> Wird das installierte active perl nicht von Cygwin verwendet? Ja schon, aber nicht, wenn das Script als ./makefsdata aufgerufen wird und der Pfad zur perl.exe sich aus der ersten Zeile des Scriptes ergbibt, die da lautet: #!/usr/bin/perl Dann müsste man es schon so aufrufen: perl makefsdata Allerdings bin ich unsicher, ob die Windows Version von Perl dann den find Befehl vom Cygwin finden würde. Ich glaube, es ist sicherer, Perl von Cygwin zu installieren und zu verwenden. > No such file or directory at makefsdata line 17, <FILES> line 1. Warum schaust du nicht einfach nach, was in zeile 17 steht? > open(HEADER, "> /tmp/header") || die $!; Also fehlt ihm wohl das Verzeichnis /tmp. Das kannst du ja ggf selbst anlegen: mkdir /tmp (im CygWin Fenster)
mkdir: das Verzeichnis „/tmp“ kann nicht angelegt werden: File exists
ich habe den Ordner tmp von hand angelegt C:\webserver\makefsdata\tmp und troztdem kommt die Fehlermeldung
Irgendwie feht dir das Gesamtkonzept bzw. Versändnis der Umgebung/Pfade. Ich würde auch noch Cygwin installieren, gehe aber davon aus das Stefan das schon hat und schneller mit der Lösung ist.
hp-freund schrieb: > Irgendwie feht dir das Gesamtkonzept bzw. Versändnis der > Umgebung/Pfade. > > Ich würde auch noch Cygwin installieren, gehe aber davon aus das Stefan > das schon hat und schneller mit der Lösung ist. Cygwin hab ich installiert
janusch schrieb: > Cygwin hab ich installiert Jepp, ich meinte bei mir, um jeden Schritt nachzuvollziehen.
Verstehe ich dich nun richtig, das das /tmp Verzeichnis existiert, aber
der Open Befehl in zeile 17 dennoch fehlschlägt?
Das ist schon seltsam. Versuche es mal manuell:
echo "Hallo" > /tmp/header
Bekommst du dann eine hilfreichere Fehlermeldung?
Vielleicht hast du ein Problem mit Zugriffsrechten auf die
Verzeichnisse.
Bei mir funktioniert dieser Perl befehl einwandfrei. Siehe angehängter
Screenshot.
Kleine Anmerkunf dazu: Nach Eingabe des open Befehls habe ich Strg-D
gedrückt, um die interaktive Eingabe des einzeiligen Pearl Scriptes zu
beenden.
> Irgendwie feht dir das Gesamtkonzept bzw. Versändnis der Umgebung/Pfade.
C:\webserver\makefsdata\tmp ist jedenfalls falsch. Deas Verzeichnis
heisst /tmp, wie man an Zeile 17 vom Perl Script erkennen kann.
Bei Unix ist das so, dass es keine Laufwerksbuchstaben (wie C:) gibt. Es
gibt nur ein Dateisystem, und dessen Hauptverzeichnis heisst "/". Alle
andere Verzeichnisse liegen irgendwo darunter, auch alle physikalischen
Laufwerke werden dort eingeblendet. Bei CygWin geht das so:
/ ist das Hauptverzeichnis (= c:\cygwin64).
/home/stefan ist mein Cygwin Arbeitsverzeichnis, dass beim öffnen des
CygWin Fensters aktiv ist (= c:\cygwin64\home\stefan).
/tmp ist das verzeichnis für temporäre Dateien (= c:\cygwin64\tmp).
Und dann blendet CygWin noch "virtuelle Verzeichnisse" ein, die du im
Windows Dateimanger so nicht sehen kannst. Zum Beispiel
/cygdrive/c (= c:\)
/cygdrive/d (= d:\)
und so weiter
/proc (gibt es auf der Festplatte gar nicht, wird von Software beim
Zugriff generiert).
Mein persönlicher Dokumente Order von Windows ist in Cygwin so
erreichbar:
cd /cygdrive/c/Users/stefan/Documents/ (=C:\Users\stefan\Documents)
Wobei erschwerend hinzu kommt, dass das Verzeichnis auf der Festplatte
"Users" heisst, aber vom Dateimanager an einigen Stellen als "Benutzer"
angezeigt wird.
Stefan U. schrieb: > Verstehe ich dich nun richtig, das das /tmp Verzeichnis existiert, > aber der Open Befehl in zeile 17 dennoch fehlschlägt? ja das Funktioniert nicht. > > Das ist schon seltsam. Versuche es mal manuell: > > echo "Hallo" > /tmp/header > > Bekommst du dann eine hilfreichere Fehlermeldung? > Vielleicht hast du ein Problem mit Zugriffsrechten auf die > Verzeichnisse. > > Bei mir funktioniert dieser Perl befehl einwandfrei. Siehe angehängter > Screenshot. > Kleine Anmerkunf dazu: Nach Eingabe des open Befehls habe ich Strg-D > gedrückt, um die interaktive Eingabe des einzeiligen Pearl Scriptes zu > beenden. > > Irgendwie feht dir das Gesamtkonzept bzw. Versändnis der Umgebung/Pfade. > > C:\webserver\makefsdata\tmp ist jedenfalls falsch. Deas Verzeichnis > heisst /tmp, wie man an Zeile 17 vom Perl Script erkennen kann. > > Bei Unix ist das so, dass es keine Laufwerksbuchstaben (wie C:) gibt. Es > gibt nur ein Dateisystem, und dessen Hauptverzeichnis heisst "/". Alle > andere Verzeichnisse liegen irgendwo darunter, auch alle physikalischen > Laufwerke werden dort eingeblendet. Bei CygWin geht das so: > > / ist das Hauptverzeichnis (= c:\cygwin64). > > /home/stefan ist mein Cygwin Arbeitsverzeichnis, dass beim öffnen des > CygWin Fensters aktiv ist (= c:\cygwin64\home\stefan). > > /tmp ist das verzeichnis für temporäre Dateien (= c:\cygwin64\tmp). > > Und dann blendet CygWin noch "virtuelle Verzeichnisse" ein, die du im > Windows Dateimanger so nicht sehen kannst. Zum Beispiel > > /cygdrive/c (= c:\) > /cygdrive/d (= d:\) > und so weiter > > /proc (gibt es auf der Festplatte gar nicht, wird von Software beim > Zugriff generiert). > > Mein persönlicher Dokumente Order von Windows ist in Cygwin so > erreichbar: > > cd /cygdrive/c/Users/stefan/Documents/ (=C:\Users\stefan\Documents) > > Wobei erschwerend hinzu kommt, dass das Verzeichnis auf der Festplatte > "Users" heisst, aber vom Dateimanager an einigen Stellen als "Benutzer" > angezeigt wird. Unter C:\webserver\makefsdata sind die makefsdata und makefsdata.c und ein Ordner mit fs darin sind die Bilder und die Webseite. könntest du wenn es denn geht vielleicht nochmal sagen wo der tmp Ordner hingehört. wie gesagt es kommt die Fehlermeldung ./makefsdata: /usr/bin/perl: Defekter Interpreter: No such file or directory Perl ist bei mir unter C:\Programme\Perl installiert.
gibt es denn eine makefsdata.exe die mir das Array passend ausgibt. Die exe von Holger funktioniert nicht das die structure vom array anders ist.
> könntest du wenn es denn geht vielleicht nochmal > sagen wo der tmp Ordner hingehört. Habe ich doch geschrieben, der Order muss in der CygWin Shell /tmp heissen, wass unter Windows c:\cygwin64\tmp entspricht. > wie gesagt es kommt die Fehlermeldung > ./makefsdata: /usr/bin/perl: Defekter Interpreter: > No such file or directory Jetzt bin ich aber verwirrt. Ich habe Dir bereits geschrieben, dass du Perl mit dem Cygwin Setup Programm installieren sollst. Und daraufhin hast du geschrieben, dass nun der Open Befehl in Zeile 17 fehlschlägt. Nun scheint es wohl so, dass du eben nicht den Perl Interpreter von Cygwin verwendet hast, sondern den von Windows. Und der kann mit /tmp nichts anfangen, weil das kein gültiger Windows Pfad ist. Das Script verwenden den Unix spezifischen "find" Befehl und Unix spezifische Pfade. Deswegen funktioniert es nicht mit der Windows Version von Perl. Du musst die Unix Version von Perl verwenden - in deinem Fall als Bestandteil von Cygwin. >>> /usr/bin/perl: Defekter Interpreter: No such file or directory >> Schau mal im Setup Programm von Cygwin nach, da kannst du es >> suchen und nachinstallieren. > Perl ist bei mir unter C:\Programme\Perl installiert. Du musst schon tun, was man Dir sagt, sonst reden wir aneinander vorbei und dann verliere ich die Lust, Dir zu helfen.
OK danke. ich hab cygwin installiert und ich dachte das wäre alles komplett. dann mach ich das nach installieren von perl noch . vielmals danke
So ich hab jetzt alles installiert ich kann auch die fsdata.c erstellen allerdings ist das fsdata anders als in dem Projekt was ich habe und Kompilieren kanns ich auch nicht. Ich habe mal das Projekt im Anhang. Mir geht es eigentlich darum wie ich mit dem LWIP wenn ich auf der Webseite den Button LED ON drücke mir auch ein Bild angezeigt wird. Doch leider finde ich nirgends ein Beispiel dafür, bis auf das Alientek beispiel welches ich aber nich gebrauchen kann. mfg
Ja dann musst du halt das Perl Script so umschreiben, dass es den gewünschten Output erzeugt. Und du musst dein Programm so schreiben, dass es den Link zum Bild einfügt. Wenn du das nicht hinbekommst, bleibt Dir nichts anderes übrig, als einen Programmierer für diese Dienstleistung zu bezahlen. Die Einsteigshürden (Tools benutzen) hast du ja nun mit unserer Hilfe überwunden. Ich denke, viel mehr Hilfe können wir Dir dazu an dieser Stelle nicht geben. Webserver auf Mikrocontrollern (auch lwIP) sind eine exotische Anwendung. Es gibt nur wenige Leute, die damit überhaupt Erfahrung haben, und nur ein Bruchteil dieser Leute wird Dir hier kostenlos Programmier-Dienste anbieten. Also solltest Du dich nun Stück für Stück in HTML, HTTP und lwIP einarbeiten, bis Du die Materie so gut verstehst, dass Du dein Programm selbst schreiben kannst. Für die Sache mit dem Bildern hast Du ja schon einen separaten Thread eröffnet. Wir sollten das Thema also hiermit beenden.
ich bedankte mich trotzdem erstmal ganz herzlich für die Hilfe. Das Thema kann dann hier beendet werden. mfg
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.