Seite 4 von 5

Re: SD-Karte und FTP-Server

Verfasst: 07.09.2008, 18:31:55
von Fred Froehlich
Hallo Wil,
vielen Dank ersteinmal für Deinen Code und natürlich auch Danke an Uli und alle anderen für Eure Arbeit. Es ist schon einmalig, dass man das Programm nehmen kann und fast Plug and Play benutzen. Noch dazu wo der Code komplett konfigurierbar geblieben ist, je nach Hardware - EINMALIG !

Die Hardwareerweiterung (PA6) ist schon klar. Die Karte gibt halt keine Antwort nach der SPI-Initialisierung. Aber wie gesagt eine andere funktioniert ja.
Ich muss mich sowieso ersteinmal in das Programm reinfinden, habe bisher alles in Assembler gemacht.

Mein Server soll an meine (schon vorhandene) Haussteuerung als Schnittstelle zum PC über LAN oder WEB. Irgendwie muss ich da noch ein SW-Uart anbinden und diese Daten über LAN weiterleiten (quasi ein Gateway). Wahrscheinlich ist es sinnvoller gleich einen 644p zu nehmen - zu spät überlegt.

Bis dann
Gruss Fred

Re: SD-Karte und FTP-Server

Verfasst: 20.10.2008, 19:42:48
von DundeeFSK
Hallo Wil,
ebenfalls von mir ein dickes Lob!

Ich nutze die 093er Software, die läuft soweit auch super.
Ich habe allerdings noch ein Problem mit dem FTP-Server.

Ich kann zwar Connecnten (nutze Filezilla) aber er listet mir nur ein leeres Verzeichnis auf.
Eigentlich sollte er mir ja die 22 Datein (insgesamt 90kb) anzeigen, die ich dort abgelegt habe und auch über HTTP aufrufen kann.

Muss man irgendwas besonderes beachten?
Ich meinte was von einer Hardwareänderung gelesen zu haben, trifft diese hier zu?

Danke

Re: SD-Karte und FTP-Server

Verfasst: 20.10.2008, 20:13:41
von wil
Hi DundeeFSK,
ich nehme an, dass Fillezilla in der Verzeichnisstruktur auf der SD-Karte auf ein Problem stösst. Der IE ist an manchen Stellen etwas gutmütiger.
Stelle beim Filezilla mal die Debugeinstellungen wie im anhängenden Screenshot auf "2-Infos". Dann solltest du sehen, was das Webmodul und Filezilla tatsächlich austauschen und wo es hängen bleibt. Habe dir einen Screenshot dafür von meinem Modul im Keller angehängt.

Wenn du überhaupt (mit IE) auf die Karte zugreifen kannst, hast du entweder PA6 an den slotschalter angeschlossen oder die Zeile im Quellcode abgeändert. Die "Hardwareerweiterung" mit dem PA6 dient nur dazu eine nicht gesteckte Karte ohne Timeout beim Zugriff zu erkennen (kann ganz schön lang sein :wink: )

Kannst du denn mit dem IE per ftp auf die Karte zugreifen? Also ftp://192.168.0.99 in der Adresszeile eingeben.

Gruß
wil

Re: SD-Karte und FTP-Server

Verfasst: 20.10.2008, 22:03:14
von jornbyte
Hallo

ich verwende WSFTP und habe keine Probleme. Es wird alles angezeigt, kann löschen, verschieben und was sonst so alles mit FTP machbar ist.
In der Soft von Wil sind noch paar kleine Fehler drinn. Daher sollte man die SD-Karte nicht entfernen. Wenn die im Berieb doch mal gezogen wurde, kann die in der cmd mit disk wieder eingebunden werden. Ich habs eleganter gelöst, so das diese jederzeit im Betrieb entfernt / gewechselt werden kann.

mfg
Jornbyte

Re: SD-Karte und FTP-Server

Verfasst: 20.10.2008, 22:09:27
von DundeeFSK
Das nenn ich mal Support ;)

Danke dir!
Hatte die Hardwareerweiterung noch nicht drin, werd ich mir die Tage mal genauer angucken, wie das geht.

Habe aber gerade mal auf die Schnelle die softwareseitige Änderung durchgeführt und siehe Da, es geht!

Re: SD-Karte und FTP-Server

Verfasst: 21.10.2008, 01:37:34
von wil
@jornbyte
Ich habs eleganter gelöst, so das diese jederzeit im Betrieb entfernt / gewechselt werden kann.
Dazu musst du in der mainloop eine Funktion f16_check() regelmässig aufrufen:

Code: Alles auswählen

/**
 *	\ingroup sd
 *  Ein-/Ausstecken der Karte abhandeln
 */
void f16_check(void)
{
    if(sd_get_root_dir() && !sd_raw_available())
    {
        fat16_close_dir(cwdir_ptr);
        sd_close();
        cwdir_ptr = 0;
		#if USE_LOGDATEI
		if (logStatus.logfile) {
			f16_close(logStatus.logfile);
			logStatus.logfile = 0;
		}
		#endif

        SD_DEBUG("\r\nSD-Karte unplugged");
    }
    else if(!sd_get_root_dir() && sd_raw_available())
    {
        switch(sd_open())						// SD-Karte initialisieren
        {
            case SD_ERROR_NONE:
                cwdir_ptr = sd_get_root_dir();	// dir-Pointer setzen
				cwdirectory[0] = '/';			// start ist root
				cwdirectory[1] = 0;

				#if USE_LOGDATEI
				machineStatus.LogInit = 1;		// Logdatei in Mainloop initialisieren
				#endif

                SD_DEBUG("\r\nSD-Karte initialisiert");
				return;

            case SD_ERROR_INIT:
                SD_DEBUG("\r\nSD-Karte initialization failed");
                break;
            case SD_ERROR_PARTITION:
                SD_DEBUG("\r\nSD-Karte opening partition failed");
                break;
            case SD_ERROR_FS:
                SD_DEBUG("\r\nSD-Karte opening filesystem failed");
                break;
            case SD_ERROR_ROOTDIR:
                SD_DEBUG("\r\nSD-Karte opening root directory failed");
                break;
            default:
                SD_DEBUG("\r\nSD-Karte unknown error");
                break;
        }
    }
}
In der Soft von Wil sind noch paar kleine Fehler drinn
Wenn Fehler gefunden werden, freuen sich auch andere, die den Code nutzen, dass sie nicht nochmal suchen müssen.

Ich habe schon länger nichts am Code geändert. Allerdings ist mein aktueller Code schon um einiges weiter als Version 093. Nur habe ich einiges so geändert, dass für diejenigen, die aufbauend auf meinem Code ihre eigenen Änderungen gemacht haben wahrscheinlich doch vieles geändert ist. Werde mal sehen, ob ich die nächsten Tage mal etwas Zeit finde die Sache etwas zu beschreiben. Dann gibt's vielleicht noch ne Fortsetzung :wink:

Gruß
wil

Re: SD-Karte und FTP-Server

Verfasst: 21.10.2008, 19:33:50
von jornbyte
Nein Wil

es soll kein Vorwurf sein.
In der tcpcmd ist das ändern oder lesen einer Variable nicht möglich:

Code: Alles auswählen

//ändern einer Variable
int16_t command_setvar (char *outbuffer)
{
#if USE_ADC
	uint8_t i;
	uint32_t var = 0;
	getLong(&var);
	i = (uint8_t) var;
	getLong(&var);
	//var_array[i] = var;      <---- da ist der Übeltäter
	if (outbuffer) {..........
Nun zur SD Karte, da meine Änderungen:

Code: Alles auswählen

		#if USE_MMC
		if(!sd_raw_available())		
		{
			sdk = 0;
		}
		else						
		{
			if (!sdk)				
			{
				f16_init();
				sdk = 1;
			}
			#if USE_SCHEDULER
			#if USE_LOGDATEI
			if (machineStatus.LogInit ) ...........
Das vorhandensein der Karte wird ja über sd_raw_available angezeigt.
Wird die Karte gezogen und wieder gesteckt kommt f16_init() (einmal) zum Einsatz. Dadurch ist die wieder im System eingebunden ohne einen Neustart ausführen zu müssen.
Das habe ich auch in der httpd.c drinn:

Code: Alles auswählen

	//Standart INDEX.HTM Seite wenn keine andere gefunden wurde
	if (!http_entry[index].new_page_pointer
	#if USE_MMC
		&& !http_entry[index].mmc	// falls Zeiger noch nicht in Dateipuffer zeigt
	#endif
		)
	{
		//Besucher Counter
		var_array[MAX_VAR_ARRAY-1]++;
	
	    if(!sd_raw_available())		//Karte nicht gesteckt
	 	{	
			http_entry[index].new_page_pointer = Page2;
			http_entry[index].http_header_type = 0;
			sdk = 0;
		}
		else
		{
			if (!sdk)
			{
				f16_init();
				sdk = 1;
			}
			http_entry[index].new_page_pointer = Page1;
			http_entry[index].http_header_type = 0;
		}
	}..........
So, mal sehen ob ich noch was finde....

mfg
Jornbyte

Re: SD-Karte und FTP-Server

Verfasst: 21.10.2008, 22:04:20
von wil
Hi jornbyte,
ich hab deinen Kommentar nicht unbedingt als Vorwurf verstanden. Fehler sind in den Code bestimmt noch einige drin. Nur kann man den Code nur weiterentwickeln, wenn sie auch entdeckt werden.
... und dazu kann auch jeder beitragen der den Code nutzt :wink:

Ich habe den SV Befehl bisher bestimmt nicht verwendet (er steht so in Ulis Orginal drin), dann wäre mir vielleicht aufgefallen, dass er gerade nicht optimal ist.
Aber zu deinem Übeltäter: in meiner Version ist die Zeile nicht auskommentiert. Man kann Variable setzen -- aber nicht abfragen :? ... und die Variable 0 bis 4 lassen sich praktisch nicht setzen, da sie sofort wieder vom freilaufenden ADC überschrieben werden. Anzeigen kann man sich die Variable nur über eine http-Seite.
Habe daher den Code mal als Vorschlag etwas abgeändert:

Code: Alles auswählen

/**
 * \ingroup tcpcmdcommon
 * \b VAR-Befehl: ändern/anzeigen einer unsigned int Variable
 *
 * \b Syntax VAR \<index\> [\<Wert\>]<br>
 * \<index\>	 Speicherplatz der Variable<br>
 * \<Wert\>		 optional neuer Wert oder -1 zur Anzeige des aktuellen Wertes
 *
 * \attention Die Speicherplätze 0 bis 4 werden auch vom AD-Wandler verwendet
 * und somit durch die aktuellen ADC-Werte überschrieben.
 */
int16_t command_setvar (char *outbuffer)
{
#if USE_ADC
	uint8_t i;
	uint32_t var = 0;

	getLong(&var);
	i = (uint8_t) var;
	getLong(&var);
	if( var <= UINT16_MAX ) {	// falls größer 64K (oder -1) wird die Variable nur angezeigt
		var_array[i] = (unsigned int)var;
	}

	if (outbuffer) {
		sprintf_P(outbuffer,PSTR("Inhalt der Variable[%2i] = %2u\r\n"),i,var_array[i]);
		return strlen(outbuffer);
	}
	else {
		usart_write("Inhalt der Variable[%2i] = %2u\r\n",i,(uint32_t)var_array[i]);
	}
#endif
	return 0;
}
Das mit dem Kartencheck funktioniert bei mir auch auf der Webseite. Aber ich habe inzwischen die neue Version des FAT16-Filesystems von R.Riegel eingebaut. Musste leider ein paar grundlegende Variable von der alten Version ändern. (Er nahm mit der alten Version halt nicht rücksicht auf eine paketweise Ausgabe des Verzeichnisses für FTP). Wenn ich nochmal über meinen aktuellen Code drübergeschaut habe, werde ich es mal in den nächsten Tagen noch komplett hochstellen.

Bis dann
wil

Re: SD-Karte und FTP-Server

Verfasst: 24.10.2008, 13:30:23
von DundeeFSK
Hm, ich habe noch nen kleinen Bug oderso drin.
Vermutlich softwareseitig.

Auf der Standart Webseite (nicht auf SD) muss ich mich immer doppelt einloggen.
Es sieht so aus, als ob er beim 1. Login nur die HTML Datei lädt und beim 2. Login
die Bilder, sprich die Rakete!
Womit kann das zusammenhängen?

Re: SD-Karte und FTP-Server

Verfasst: 15.11.2008, 14:25:07
von orfix
Hi Wil,

bin bei der 093 version, hab die SD karte mit folgender Pinbelegung angeschlossen, kann den Server mit filezilla ansprechen, leider wird die SD karte noch nicht erkannt.

SV1 - PIN 16 -> GND
SV1 - PIN 14 -> 5V
SV1 - PIN 12 (PD2) -> SD-Card CS
SV1 - PIN 10 (PD3) -> SD-Card CMD/DI
SV1 - PIN 8 (PD4) -> SD-Card CLK/SCLK
SD-Card DAT/DO -> SV1 PIN 6 (PD5)

wo werden die Pins software mäßig aktiviert?

Wenn ich die camera aktiv schalte mit #define USE_CAM 1
Kommt ein “adress error 0x10010 out of range at line 4098”

Kannst du mir eine tip geben

Mit freundlichen Grüßen orfix

Re: SD-Karte und FTP-Server

Verfasst: 16.11.2008, 23:20:41
von wil
orfix hat geschrieben:bin bei der 093 version
Die aktuelle Version findest du ganz oben im ersten Beitrag.

In der aktuellen Doku steht auch was über benutzte Hardware Ports und Hardwareanpassungen.
wil hat geschrieben:Falls du in der config.h einfach nur die Cam aktivierst wird dir der Speicher im Flash und im RAM überlaufen. Irgendwas anderes musst du dann abschalten (sendmail, dns ...) damit es noch in den 644er passt. Vielleicht liegt es daran, dass du es nicht programmieren kannst :wink:
Gruß
wil

Re: SD-Karte und FTP-Server

Verfasst: 17.11.2008, 13:38:24
von orfix
Hallo will,

vielen dank für die schnelle Hilfe, in der ausführlichen doku ist nur das „AVR Webmodule“ beschrieben, ich nutze aber das „ETH_M32_EX“ wo ich die SD karte an SV1 angeschlossen habe.

Wie kann ich nun software mäßig „mosi,miso.. auf SV1 umleiten, bin leider blutiger Anfänger?

Die Kamera funktioniert leider noch nicht, er flasht nun zwar ordnungsgemäß, aber danach ist der Prozessor nicht mehr ansprechbar. Mit einem alten Hexfile von den original ETH M32 EX Software geht die Kamera.

Vielleicht kannst du mir noch mal weiter helfen?

Mit freundlichen Grüßen

orfix

Re: SD-Karte und FTP-Server

Verfasst: 07.01.2023, 16:12:34
von knoddelpusch
Hallo,

das hier ist zwar etwas älter aber vllt kann mir doch jemand Helfen.
Hätte ich da eine Frage bezüglich der Website auf SD-Karte.

Verbaut sind eine Atmega644, ENC und eine 2GB SD-Karte auf FAT formatiert.
Verwendet wird die letzte Version.

Das Projekt läuft bisher ganz stabil und ohne Probleme.

Ich habe mir mal eine Simple Webseite mit nur "Hallo Welt" auf die SD-Karte gelegt und diese dann an den IC Angeschlossen. Über FileZilla Client sehe ich die Daten auf der SD-Karte.
Wenn ich jetzt im Internetexplorer die Webseite, also IP/test.html eingebe dauert es etwas länger und ich komme auf der "normalen" Seite raus oder bekomme eine Fehlermeldung vom Browser wegen Zeit Überschreitung.

Gibt es hier noch was Besonderes zu beachten bzw muss man da im Programm selbst noch was ergänzen?
Hab vor nur eine Grund-Seite auf dem IC zu haben und alle andere Seiten dann auf SD-Karte.
Will da nichts Großes drauf machen, nur zur Überwachung von der Heizung.

Danke schon mal für die Hilfe.

Gruß
Torsten

Re: SD-Karte und FTP-Server

Verfasst: 08.01.2023, 18:03:30
von Fred Froehlich
Hallo,
also das ist wirklich schon seeehr lange her. Ich habe meinen/diesen Webserver nicht mehr in Betrieb, kann also auch nur begrenzt helfen.

Letzendlich hatte ich ebenfalls eine SD Karte mit einigen HTML Seiten drauf.
Ich könnte Dir nur anbieten ein paar Dateien (html oder die config.h) von mir zuzusenden damit Du vergleichen kannst und damit vielleicht den Fehler findest.

Gruss

Re: SD-Karte und FTP-Server

Verfasst: 08.01.2023, 19:10:05
von knoddelpusch
Hallo,

ja das stimmt ist schon sehr lange her sollte ja aber trotzdem ohne Probleme laufen.

Wenn du das machen würdest wäre mir vllt dann schon etwas geholfen.

Was mir jetzt noch aufgefallen ist, ich kann über den FileZilla Dateien drauf Kopieren bzw die Datei anlegen aber keinen Inhalt davon Kopieren, das bedeutet die Datei hat immer 0kB.
FileZilla bringt dann eine Fehlermeldung Zeitüberschreitung und der IC bleibt hängen.

Danke