Un canard sauvage
Un couple de cygnes
Une poule d'eau
Deux oiseaux
Vous êtes ici : AccueilRacinePublicInformatiqueProgrammationZeroMQ et Python : show me the bus

ZeroMQ et Python : show me the bus

zmq icon

Quatrième épisode de ma saga zeromq. Et ce n'est pas un pas que je vous propose cette fois, mais un véritable bon en avant :).

Au programme : des daemons, du http et du tkinter.

 

Pour ceux qui prennent le bus en marche, il faut télécharger la dernière version (la 0.0.3) :

Ensuite il faut configurer le bus. Je ne vais pas reprendre toute la procédure, vous la trouverez dans la documentation incluse dans l'archive (play.html).

Démarrage

Le bus peut maintenant être démarré en une seule commande :

./start.sh.

Cette commande lance tous les programmes nécessaires en tâche de fond.

Les différents acteurs peuvent aussi être administrés séparément. Par exemple :

./myhaozwave.py start|stop|status|restart|front

L'option "front" est spécialement dédiée aux développeurs : elle permet de lancer le programme en avant-plan.

Pour ceux qui seraient intéressés par l'implémentation, tout est dans le fichier harunner.py

On démarre le bus :

./start.sh

broker :
sleep ...
boot :
sleep ...
proxy :
sleep ...
sys.log :
sys.snmp :
sys.sql :
usr.ozwave :

On vérifie que tout a bien démarré :

./status.sh

broker : process is running
boot : process is running
proxy : process is running
sys.log : process is running
sys.snmp : process is running
sys.sql : process is running
usr.ozwave : process is running

En théorie, tout marche bien. Cependant, quelques bugs empêchent l'arrêt de certains daemons. Alors n'hésitez pas à utiliser ps -Af pour vérifier.

Http

J'ai développé un embryon de serveur web afin de visualiser ce qui se passe sur le bus.

Editez myhahttpd.py et modifiez la ligne suivante afin qu'elle pointe vers votre installation :

__builtin__.env = Environment(loader=FileSystemLoader('/home/domogik/devel/habus/habus/usr/httpd/templates'))

Et démarrez le serveur. Celui-ci s'éxécute encore en avant-plan, il faut donc le lancer dans un terminal séparé

./myhattpd.py

Et connectez-vous à http://yourip:5000

usr.httpd

TKinter

Les outils d'administration peuvent être installés sur un hôte différent. Cela est particulièrement intéressant dans le  cas de micro-machines.

Il faut d'abord installer quelques dépendances :

sudo pip install pyttk
sudo pip install pil

Et ensuite modifier les scripts de démarrage afin de mettre l'adresse IP de votre broker :

endpoint_cmd = "tcp://192.168.14.167:14015"

tkmon : c'est une petite applet pour visualiser l'état du réseau

tkmon

tkhadus : c'est le principal outil d'administration du bas

tkhabus main

tkhabus snmp

tkozwave : pour ceux qui ont installé python-openzwave, il permet d'effectuer certaines tâches d'administration du réseau zwave : reset, ajout et suppression de noeuds, ...

tkozwave controller

tkozwave network

Mais encore

J'ai également apportés quelques modifications au code par rapport à la 0.1.0 :

  • le broker comprend maintenant un publisher et un subscriber. A terme, il faudra utiliser ces fonctionnalités pour la gestion de l'état des services.
  • le proxy implémente un cache permanent (supporte le reboot) ainsi qu'un espace temporaire.
  • SNMP est implémenté par défaut : tous les workers publient des informations et les développeurs peuvent en ajouter simplement. A l'heure actuelle, ce sont plus de 170 valeurs qui sont disponibles.

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Dernières modifications

  • Ubuntu
    06-05-2014
    Une méthode de plus pour utiliser Skype avec son Ubuntu 14.04. Je ne sais pas si elle va marcher pour vous mais elle marche pour moi :) Toutes les autres ont donné le même résultat : au bout...
  • Programmation
    22-02-2013
    Quatrième épisode de ma saga zeromq. Et ce n'est pas un pas que je vous propose cette fois, mais un véritable bon en avant :). Au programme : des daemons, du http et du tkinter.  
  • Ubuntu
    08-04-2014
    Afin de publier les paquets du plugin Munin pour Cassandra, il m'a fallu compiler les paquets pour Fedora et les mettre à disposition. L'utilisation de mock et createrepo sur Uubnut feront l'objet...
  • Administrateurs systémes
    15-02-2014
    Un dépôt spécialisé pour les administrateurs systèmes. Les realeases d'Ubuntu Oneiric (11.10), Precise (12.04), Quantal (12.10), Raring (13.04) et Saucy (13.10) sont supportées. La...
  • Arduino
    24-11-2013
    Le module enc28j60 permet de connecter son arduino à son réseau local. Peu cher, il repésente une alternative intéressante au module officiel basé sur le contrôleur W5100. Jusqu'à peu, on...

Tags


Powered by Easytagcloud v2.1

Identification



Free business joomla templates