Tous les scripts spécifiques à UrLab sont sur GitHub. Si une nouvelle version est disponible. L'ensemble des programmes HAL tourne sur snips, accessible (pour ceux qui ont un compte) depuis le Hackerspace avec la commande ssh snips.lan.

Interface web

Une interface web permet de commander et visualiser HAL en temps réel.

2015-11-27-161554_1920x1034_scrot.png
L'interface Web, visible depuis le Hackerspace sur hal.lan
2015-11-27-161907_453x609_scrot.png
Pour modifier la couleur d'une ledstrip, cliquer sur le menu déroulant et puis sur le carré de couleur.
2015-11-27-161941_491x448_scrot.png
Pour modifier l'animation d'une ledstrip, cliquer sur le menu déroulant et puis dessiner l'animation voulue dans le rectangle blanc.

Debug Flowchart

digraph debug_hal {
    graph [rankdir="TB"];
    node [shape="rect"];

    leds_off [label="Les leds sont allumées"];
    webapp_up [label="Le site http://hal.lan fonctionne"];

    power_on [label="Le Switch Power est allumé"];
    reset_power [label="Éteindre le Switch Power. Attendre 2s."];
    set_power [label="Allumer le Switch Power"];

    driver_up [label="/hal/driver/uptime (sur Snips) s'incrémente"];
    reset_apps [label="Redémarrer les apps avec la commande 'hal-restart'"];

    driver_conn [label="'tail -f /var/log/hal.log' affiche que le driver est connecté"];
    reset_hal_is_ok [label="Ça fonctionne ?"];
    upload_sketch_is_ok [label="Ça fonctionne ?"];

    reset_hal [label="Redémarrer HAL avec la commande 'hal-restart hard'"];
    stop_hal [label="Arrêter HAL avec la commande 'hal-stop'"];
    upload_sketch [label="Renouveler le firmware de l'Arduino"];
    start_hal [label="Démarrer HAL avec la commande 'hal-start'"];

    done [label="No problem", style="filled", fillcolor="green"];
    call_titou [label="Contacter iTitou", style="filled", fillcolor="red"];

    leds_off -> done [label="OUI", color="green"];
    leds_off -> webapp_up [label="NON", color="red"];
    webapp_up -> power_on [label="OUI", color="green"];
    power_on -> reset_power [label="OUI", color="green"];
    power_on -> set_power [label="NON", color="red"];
    webapp_up -> driver_up [label="NON", color="red"];
    driver_up -> reset_apps [label="OUI", color="green"];
    driver_up -> reset_hal [label="NON", color="red"];
    reset_hal_is_ok -> done [label="OUI", color="green"];
    reset_hal_is_ok -> driver_conn [label="NON", color="red"];
    driver_conn -> stop_hal [label="NON", color="red"];
    driver_conn -> call_titou [label="OUI", color="green"];
    upload_sketch_is_ok -> done [label="OUI", color="green"];
    upload_sketch_is_ok -> call_titou [label="NON", color="red"];


    reset_power -> set_power;
    reset_apps -> done;
    set_power -> done;
    reset_hal -> reset_hal_is_ok;
    stop_hal -> upload_sketch -> start_hal -> upload_sketch_is_ok;
}
debug_hal.png
Comment debugger HAL ?

Mettre à jour

$ sudo su hal
  $ cd $HOME
  $ git pull
  $ git submodule update
  $ exit
$ hal-restart hard