Hat echt noch niemand sowas in die Richtung mal versucht?
Hallo zusammen,
ich bin gerade dabei einen Datenlogger zu programmieren. Es werden zyklisch Messwert in eine Datei auf einer SD-Karte gespeichert.
Die SD-Karte beschreibe ich mittels AVR-DOS.
Dies funktioniert soweit auch alles.
Nun meine Fragen:
Gibt es eine zuverlässige Möglichkeit mittels AVR-DOS zu detektieren ob die SD Karte gezogen wurde bzw. das Sie nicht mehr gesteckt ist?
Der Kartenslot hat leider keinen Kontakt hierfür, den man abfragen könnte?
Mein Datenlogger verfügt auch über eine Netzwerkschnittstelle mittels W5100.
Ich plane aktuell, die Datei über das Netzwerk abrufbar zu machen. Sofern das überhaupt möglich ist?
Hat schon mal jemand eine Datei von einer SD-Karte über das Netzwerk verschickt? Bisher kann ich ganz simpel verschiedene Telnet-Befehle an
den Logger senden und mir die aktuellen Messwerte abholen.
Ich würde mir aber auch ganz gerne auch mal gelegentlich das gesamte Logfile downloaden ohne immer extra an den Logger laufen zu müssen und die SD-Karte zu ziehen.
Vielleicht habt ihr sowas ja schon mal realisiert und könnt mir ein wenig input geben?
Viele Grüße und danke schon mal für euere Hilfe.
Hat echt noch niemand sowas in die Richtung mal versucht?
nicth mit AVR-DOS, ich habe sowohl das W5100 als auch SD KArten Bare Metal angesprochen, das waren aber alles nur "because i want to know if i can" Projekte.
Ich hab keinen Plan wie dein AVR-DOS den W5100 anspricht, aber am "Einfachsten" machst du es dir wohl, wenn du simpelstes HTML benutzt! Also auf eine ankommende Port 80 TCP Verbindung mit einem simplen HTML Header antwortest der dem Browser mitteilt, dass eine Binärdatei folgt und diese dann von der SD Karte lesen.
Oder wenn es Text ist, einfach den Inhalt als Text ausgeben.
Dritte Lösung, einen mini FTP server für dein AVR-DOS finden
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Hallo,
nur grob in der Richtung. Nichts selbstgebautes, nur mit Experimentierboards (NXP [früher Freescale] Freedom K64F oder NXP LPC4088 ) mit mbed als Software.
Die Logik zur Dateiübertagung über TCP habe ich mir aber selber geschrieben, so dass nur die eigenen Programme darauf zugreifen können. Ich weiß aber, dass es zumindest FTP-Clients für mbed gibt. Ein FTP-Server wäre schon eine Nummer größer. Eventuell hat eines der diversen OS, die es für die Cortex-M gibt, da was. Da kenne ich mich nicht aus.
Einen http-Server gibt es in mbed.
Eine Windows Freigabe (SMB) oder etwas Unix mässiges (NFS) halte ich auf einem Mikrocontroller dann doch für ein Abenteuer.
Ganz an allgemein kann man sicher nicht annehmen, dass dabei die Gegenseite darauf Rücksicht nehmen würde, dass auf dem AVR nur ein paar Kilobyte Speicher zur Verfügung stehen.
Geändert von Mxt (07.07.2016 um 08:31 Uhr)
@Mxt daher mein Vorschlag HTML zu nehmen, das ist dann in Stein gemeißelt XD
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
1. sudo apt-get install lynx
2. lynx www.roboternetz.de/community
3. ....
4. Profit!!!!
So surfte man damals ohne Browser und GUI XD
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Ja, lynx kenne ich auch.
Aber unter richtigem DOS musste man erst mal per TCP ins Netz kommen. Ich erinnere mich noch an Windows 3.11 mit Trumpet Winsock ...
der IP Stack ist im W5100 hardwired mit drin, aber du musst trotzdem hingehen und die einzelnen buffer lesen und schreiben um an die DAten zu kommen
der W5100 ist ein 8 Socket Peripheral sozusagen ;D
sorry nur 4 Sockets XD
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
Lesezeichen