TFTP Server auf µC Basis ?

OP #7401590
Lesenswert?

Hallo,

ich habe IP Telefone, die holen sich ihre Konfigurationsdateien von einem TFPT Server, sofern der vorhanden ist. Momentan habe ich den auf einem NAS eingerichtet, das NAS ist aber nicht permanent im Heimnetz verfügbar. Daher bin ich auf der Suche, nach einem sehr einfachen TFPT Server, habe aber bisher nichts entsprechendes gefunden. (Der Artikel https://www.mikrocontroller.net/articles/Miniwebserver hat mich auch nicht voran gebracht.)

Ein Raspberry scheint mir fast schon überbemessen für diese Aufgabe.

Gibt es, kennt jemand, bekannte Lösungen auf µC Basis ?

Viele Grüße Stefan

#7401646
Lesenswert?

Stefan W. schrieb:

Gibt es, kennt jemand, bekannte Lösungen auf µC Basis ?

Fertige Lösungen kenn ich nicht ... TFTP braucht UDP als Kommunikations-Basis. Für mich der schnellste Weg wäre einen (etwas grösseren) Arduino oder STM32 mit einem W5100 oder W5500 zu verbinden. In den W5xxx ist schon alles an UDP Protokoll implementiert. Dann kommt man mir UDP sehr schnell in die Gänge und kann dann TFTP darauf implementieren, was ja nur wenige Befehle beinhaltet. Die Grösse des Controllers hängt ein bisschen vom erforder- lichen Speicher ab, ob man nun die Daten im Flash oder in einer SD-Karte vorliegen hat (bzw. haben möchte).

Die Arduino IDE bietet ja bereits fertige Klassen sowohl für die W5xx Bausteine als auch für SD-Karten-Betrieb an. Bei STM32 tut man sich etwas schwerer, aber auch da gibt es ja schon Arduino-lastige Lösungen.

#7401733
Lesenswert?

Wastl schrieb:

integrierte Lösung von Aduino Uno

Nettes Teil, günstiger ginge es...

Oliver R. schrieb:

Auf einem ESP32

https://www.olimex.com/Products/IoT/ESP32/ESP32-GATEWAY/open-source-hardware

Stefan W. schrieb:

Ein Raspberry scheint mir fast schon überbemessen für diese Aufgabe.

Hätte aber den Vorteil, dass man nichts programmieren muss. Es reicht ja auch ein Pi Zero (W), entweder per WLAN oder USB-Ethernet-Adapter. Er hätte auch genug Ressourcen, um über ein Web-Portal Verwaltungsaufgaben durchzuführen.

OP #7402364
Lesenswert?

Wow, ihr wart ja schnell und umfangreich. Herzlichen Dank für die hilfreichen Antworten. Klingen für mich alle interessant und werde ich nachverfolgen.

Eine Frage an Uwe. Ich hatte eher rausgefunden, daß die Fritzbox das nicht kann, es sein denn es ist OpenWRT drauf. Ich gebe Dir recht, das wäre die eleganteste und einfachste Lösung. Hast Du evtl. weiterführenden Informationen ?

Viele Grüße Stefan

#7402378
Lesenswert?

Stefan W. schrieb:

Ein Raspberry scheint mir fast schon überbemessen für diese Aufgabe.

Kommt drauf an, worin man den Aufwand misst und wie viele Tausend Exemplare man herstellen will. Ein billiges RasPi-Analog tut es in ein paar Minuten. Und da tut es wirkliche jeder, bis runter zum allerersten gebrauchten RasPi 1 256MB, oder irgendwelchen anderen Früchtchen.

#7402414
Lesenswert?

Stefan W. schrieb:

Eine Frage an Uwe. Ich hatte eher rausgefunden, daß die Fritzbox das nicht kann, es sein denn es ist OpenWRT drauf. Ich gebe Dir recht, das wäre die eleganteste und einfachste Lösung. Hast Du evtl. weiterführenden Informationen ?

Ich habe das selber letztlich nicht umgesetzt, es läuft eh ein Raspberry als Telefonanlage für die Ciscos (RasPBX) Diskussion dazu z.B. hier: https://www.ip-phone-forum.de/threads/tftp-server-ohne-freetz-m%C3%B6glich.245031/

Uwe

#7402431
Lesenswert?

Ich habe das auch vor einer Weile mal zu Spaßzwecken gemacht.

Da gibt's ein ganz gutes Projekt auf GitHub, welches direkt auf Elm-Chan's FatFS und lwIP aufsetzt. Daher ist das recht vielseitig auf verschiedenen uC's nutzbar.

https://github.com/toelke/lwip-ftpd

Ich selber habe das dann auf ein Aurix TC375 LiteKit portiert (zusammen mit einem Click-Shield SD-Karten Adapter). Wenn du Interesse hast, das zu verfolgen, kann ich dir das Projekt zusenden.

Verbindung & Zugriff hat mit FileZilla funktioniert.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren