[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