IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

Développement d'un système de contrôle domotique


Sujet :

NodeJS

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 41
    Points : 64
    Points
    64
    Par défaut Développement d'un système de contrôle domotique
    Bonsoir,

    j'utilise des modules Velbus dans ma maison et j'ai la possibilité de me connecter en TCP sur un serveur/répéteur de trames dans le protocole Velbus.
    De fait, je peux décoder les messages et connaître la température dans les pièces, la consommation électrique de certains équipements, l'état des relais (lampes, moteurs, etc.)

    La question que je me pose est maintenant de créer un code capable de remplir une base de données avec des données nettoyées du bruit ambiant :
    • Certains modules peuvent transmettre des messages toutes les deux secondes et d'autres de même type ne renverrons leurs données que sur un changement d'état
    • La consultation avec le logiciel VelbusLink implique des requêtes et réponses plus nombreuses sur les modules sélectionnés


    Or, si je veux faire des graphiques de température, de durée de fonctionnement, de puissance instantanée (< 24h) et de puissance cumulée (chaque jour), je penche pour l'envoi d'une trame d'interrogation et le traitement de la réponse qui peut arriver quelques millisecondes après, de manière à avoir des données synchronisées (exemple : à 15h30, relevé des températures dans chaque pièce).

    Ma question est la suivante :
    Puisque j'ai un flux, comment puis-je créer des listeners sur certains types de trames (exemple : chaque fois que j'analyse une trame avec un code particulier, un code s'exécute) ?

    Merci d'avance pour votre regard sur la meilleure manière de gérer ces messages...

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 41
    Points : 64
    Points
    64
    Par défaut
    Pour info, voici le code qui actuellement est dans index.js (le coeur de mon appli) et que je voudrais pouvoir placer dans un fichier séparé (un contrôleur ?) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    // Manage connexion with a TCP Velbus server
     
    letvelbus = import('./velbuslib');
    letevents = require('events');
    letvelbusEvt = newevents.EventEmitter();
     
    lethost = "teo-tea.hd.free.fr";
    letport = 8445;
    letconnexion = () => {
     
        console.log("connected to velbus  ", host+":"+port);
    }
     
    letclient = newnet.Socket();
    rep = client.connect(port, host, connexion);
     
    client.on('connect', (data) => {
        console.log("connexion ok : ", data);
     
    })
     
    client.on('data', (data) => {
        // RAW data could have multiple Velbus message
        velbus.Cut(data).forEach(element=> {
            letdesc = velbus.analysing(element);
            letd = velbus.toHexa(element);
            letcrc = velbus.CheckSum(element);
            // console.log("DATA: "+d+" CRC:"+crc.toString(16));
            io.emit('news',desc + "--"+d);
     
     
         });
    });
    client.on('close', ()  => {
        console.log("Closing velbus server connexion");
    });

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/06/2020, 09h10
  2. Développement d'un système expert
    Par medchok dans le forum C++Builder
    Réponses: 7
    Dernier message: 02/05/2013, 20h13
  3. SAS et CVS (système du contrôle de version)?
    Par green_fr dans le forum Administration et Installation
    Réponses: 1
    Dernier message: 30/09/2008, 17h52
  4. outil de gestion de conf ou système de contrôle de versions
    Par pimos dans le forum Général Dotnet
    Réponses: 13
    Dernier message: 15/05/2007, 15h42
  5. Cherche système de contrôle de versions écrit en php
    Par f56bre dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 04/04/2007, 17h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo