This is an old revision of the document!


Freeboard auf Alpine Container

1. Container auf NB2800 erstellen

Navigiere zu System → Virtualisation und aktiviere den Administrativen Status.
Bei dem Unterpunkt Install folgende URL eingeben. https://jenkins.linuxcontainers.org/job/image-alpine/architecture=armhf,release=3.15,variant=default/lastSuccessfulBuild/artifact/rootfs.tar.xz
Bei dem Unterpunkt Networking muss Mode auf Bridged und LAN1 als Bridge Interface eingegeben werden.
Auf der GUI muss außerdem ein statischer Host unter dem Punkt Service→DHCP erstellt werden und unter Web-Server muss CLI.PHP aktiviert werden.

2. Freeboard auf Container laden

Im nächsten Schritt wird freeboard auf den Container geladen.
github
Das gesamte Verzeichnis muss auf den Router unter mnt/storage0/lxc/guest0/var/www/html/freeboard geladen werden.
Da dieses Verzeichnis möglicherweise nicht von beginn an da ist, muss mit mkdir das Verzeichnis erstellt werden.
Das folgende kommando ist ein Beispiel:

scp -r freeboard root@192.168.1.1:/mnt/storage0/lxc/guest0/var/www/html

3. lighttpd installieren und konfigurieren

Installieren sie den lighttpd server mit den folgenden Kommandos.

apk add lighttpd
rc-update add lighttpd default 
rc-service lighttpd restart 

Die konfig für den Web Server ist unter /etc/lighttpd/lighttpd.conf.
Hier muss das Modul mod_proxy geladen und der Eintrag var.basedir = “/var/www/html/freeboard” eingefügt werden. Unter server.document-root = var.basedir kann das htdocs entfernt werden. Desweiteren muss ein proxy Server eingefügt werden. Desweiteren wird ein Proxyserver benötigt, der die kommunikation zwischen NB2800 und Container übernimmt.

var.basedir  = "/var/www/html/freeboard"
...
server.modules = (
#	"mod_setenv",
	"mod_proxy",
#	...
)
...
server.document-root = var.basedir 
...
 proxy.server = ( "cli.php" =>
                     ( ( 
                         "host" => "192.168.1.1",
                         "port" => 80
                       ) )
                   )

4. Freeboard an Router-config anpassen

In den /var/www/html/freeboard Ordner müssen die folgenden JSON Dateien geladen werden. Diese müssen an die Konfiguration des Routers angepasst werden. actuator.js muss bei index.html head.js eingefügt werden.

5. SDK-Skript anpassen und erstellen

oldlink = "";
while (1){
	priolink = nb_config_get("custom.var0");
	if(priolink != oldlink){
		oldlink = priolink;
		nb_wanlink_priorize(sprintf("%s",priolink), 2);
	}
	sleep(5);
}

Das SDK-Skript mobile-link.are muss bei der funktion nb_wanlink_priorize(sprintf(“%s”,priolink),2); an die Konfiguration des Routers angepasst werden.

6. Image