[Freifunk Franken] Nodewatcher
Christian Berger
casandro_lion at web.de
So Jan 27 13:56:46 CET 2013
Am 27.01.2013 13:26, schrieb delphiN:
> Ist es möglich den Nodewatcher als eigenes Tool auf einem normalen
> Linux-System zu programmieren und dann in die Firmware einzubinden
> oder muss man immer die ganze Firmware bauen?
Das nennt sich cross-compilieren. Das geht, da hab ich keine Erfahrung
damit. Dafür braucht man aber genau das gleiche Setup wie zum Erstellen
von Firmwares. Sprich, wer eine Firmware bauen kann, kann auch das machen.
Ich hab mir da mal ein paar Gedanken gemacht.
Der Nodewatcher holt sich ja aus verschiedenen Quellen verschiedene
Daten. Diese werden alle in ein XML-artiges Format umgewandelt.
Ich vermute, dass da das Problem ist, dass das Shellskript das relativ
unoptimiert macht.
Die Menge des freien Speichers wird beispielsweise so bestimmt:
memory_free=`cat /proc/meminfo | grep 'MemFree' | awk '{ print $2 }'`
Da werden 4 Prozesse gestartet nur um eine Zahl zu bekommen. An anderen
Stellen scheint es noch schlimmer zu sein.
Zur Originatorliste würde ich vorschlagen, einfach batctl so umzubauen,
dass es die Daten auch gleich im richtigen Format übergibt. So muss man
das nicht umständlich parsen. Da batctl und nodewatcher ja doch
gemeinsam verwendet werden, wäre eine zusätzliche Option "Ausgabe in
XML" sicherlich sinnvoll. Das würde die Gesamtmenge an Code reduzieren,
und jeder hätte was davon.
Am Ende hätte man dann noch ein kompaktes Shellskript welches wenige
kleine Programme (vielleicht 2-5) aufruft und ihre Ausgabe in die Datei
schreibt. Dieses könnte dann auch von anderen Communities auf ihre
Zwecke angepasst werden. Die haben dann vielleicht kein Batman sondern
olsr, und rufen dann halt nicht batctl sondern was anderes auf.
Mehr Informationen über die Mailingliste franken