dimanche 23 décembre 2012

Domotique - Température: Commander le thermostat depuis un PC

Afin de compléter les possibilités de commande de mon thermostat, j'ai développé une petite interface tournant sous Windows.
Cette interface est codée en Visual Basic.
Je fournis l'exécutable, et le code source pour les courageux.

L'utilisation directe de l'exécutable est possible tel quel: il suffit de mettre à jour le fichier de configuration joint (répertoire Dropbox, référence des sondes) et c'est parti !
Seule limitation: je n'ai que 3 sondes, donc seules 3 sondes apparaîttront, c'est codé en dur !

Si bien-sûr vous voulez des modifications (pas trop lourdes !), je suis dispo à vous les faire et les livrer, il suffit de me contacter
.
La modification du code source est simple: il suffit de télécharger Microsoft Visaul Basic Studio Express qui est gratuit.

Interface

Le but de ce petit programme (déguisé en widget sur le bureau Windows) est de permettre de consulter la température courante délivrée par les différentes sondes, ainsi que l'état du thermostat, et de pouvoir modifier la programmation courante.
Une modification de la programmation courante sera prioritaire sur ce qui est programmé sous Google Calendar.

Il est ainsi possible de modifier ponctuellement l'état du chauffage sans avoir à rajouter/modifier ou supprimer  une plage de programmation au travers l'agenda. C'est pratique et rapide !

J'ai volontairement limité le choix des déclenchements afin que ce soit au plus simple et au plus rapide (pour répondre à une demande pressante de ma femme ...). Il est ainsi possible de:

  • forcer une température, de 17° à 22°, par pas de 1°
  • forcer l'extinction du chauffage, sans condition de température
  • forcer la mise en marche du chauffage, sans condition de température
  • revenir au mode Automatique (contrôlé par l'agenda)
Ces consignes peuvent être déclenchées sur 30mn, 1h, 1h30, 2h, sauf le forçage de la mise en marche, qui par sécurité est bloquée à 30mn.

Voilà !
C'est tout simple, mais on s'en sert tous les jours !

Fonctionnement

Je voulais une interface avec un taux de mise à jour plus élevé que ce que me fournie la page web.
Autant la page web est conçue pour visualiser une tendance et avoir un aperçu de l'historique, autant le panneau de commande Windows se doit d'être à jour, car le besoin est immédiat.
Afin de ne pas avoir des accès web trop fréquents (mes craintes ne sont peut-être pas justifiées, mais bon ...), j'ai choisi une synchronisation des données dans un répertoire partagé: le PC récupérant les données de l'Arduino sauvegarde une trame toutes les minutes dans un répertoire partagé, que le panneau va interroger sur les autres PC.
L'écriture du fichier est effectuée par le prog Python (le même que celui qui met le répertoire Dropbox à jour).

Une petite capture d'écran pour finir en images ...

Fichiers

Exécutable
  • Dézipper le fichier joint
  • Installer l'exécutable (setup.exe)
  • Dézipper le fichier de configuration dans un répertoire c:\controle_th
  • Modifier le contenu du fichier de configuration avec vos données
Exécutable

Dézipper le fichier joint.
Bonnes modifs !
Je suis d'ailleurs preneur des évolutions !

lundi 13 février 2012

Domotique - Surveillance vidéo

Je viens de faire l'acquisition d'une caméra pour un prix super compétitif, surtout en regard de ses capacités.

Tout d'abord, je précise que cette caméra n'a besoin d'aucun autre équipement pour fonctionner, et donc pas d'un Arduino, mais l'interfacer avec celui-ci dans certaines réalisations (comme ajouter un canal vidéo sur un robot, ou faire une alarme maison) permettra d'en tirer le meilleur sans trop se prendre la tête avec la transmission vidéo, ou le pilotage de cette caméra.

J'ai donc acheté cette caméra sur e-abay, chez ce vendeur, pour moins de 50 euros fdp.

En farfouillant un peu le web, j'ai aussi découvert que cette marque (Tenvis) était assez bien documentée sur un site dédié, quand ce site marche (il arrive que ça ne réponde pas, et quand ça répond, le téléchargement des docs et softs prend du temps ... mais pas de soucis, j'ai téléchargé tout ce qui pouvait y être téléchargé !).

Présentation de la caméra

La boite. On ne peut pas dire que ça ne fait pas sérieux

La caméra, posée sur ma Freebox, histoire d'avoir un rendu de la taille

Les caractéristiques sont alléchantes: caméra wifi, voies jour et nuit, 300.000 pixels, télécommandable depuis un navigateur internet, sur réseau local ou via le web, mais aussi depuis un smartphone Android ou I-Phone. De plus, cette caméra à une fonction permettant de générer des alarmes sur détection de mouvement ou écart de luminosité (comme un éclairage de lampe en pleine nuit), entraînant l'envoi d'un e-mail avec photo, d'upload de photos sur serveur FTP, et/ou enregistrement d'une vidéo en local.
Pour finir, le soft livré avec (ou tout du moins téléchargeable sur le site cité plus haut) permet de commander plusieurs de ces caméras toujours par l'interface du navigateur internet.
La caméra à aussi une sortie directe, permettant de commander un autre appareil (un Arduino ? ;) ) sur alarme, mais je dois dire que je n'ai pas trop regardé: l'accès est masqué ce qui me laisse malheureusement penser que mon modèle ne l'a pas :(

D'après mes premiers essais, cette caméra fait bien son taf: la vidéo est bien de nuit comme en plein jour mais attention: elle fait 300.000 pixels, il ne faut pas s'attendre non plus à du HD !

Caractéristiques détaillées
Caméra
- connexion internet RJ45 100base-Tx
- connexion wifi b/g avec clé WEP/WPA
- caméra 300000 pixels
- résolution 640x480, 320x240, 25 img/secondes
- télécommandable en pan/tilt
- Alarme sur détection de mouvement, avec notification par e-mail ou FTP et enregistrement possible de la séquence video en local, via le logiciel de surveillance

Logiciel de télésurveillance sur PC
le logiciel est un client web, qiu peut fonctionner avec divers plugins:
- sous IE, via ActiveX
- sous tous navigateurs, via VLC ou en mode push

Le client ActiveX est le mieux intégré, talloné de peu par celui sous VLC. Seul bémol sur le client ActiveX: il ne permet pas de zoomer la caméra.
Parmi les possibilités offertes par le logiciel:
- afficher la video en provenance de plusieurs caméras
- diriger la caméra en pan/tilt
- changer la résolution de la caméra
- tourner l'image de 180° et en miroir
- activer le retour audio
- effectuer un enregistrement manuel
- effectuer un enregistrement auto si le mode Alarm de la caméra est activé
- de prendre une photo
- configurer la caméra (mail, FTP, wifi ...)

Logiciel de télésurveillance Android
Il permet:
- de diriger la caméra, manuellement ou en continu (balayage droite-gauche, haut-bas, combinés ou non)
- de prendre une capture d'écran

Il existe aussi une version pour I-Phone, qui doit fournir les mêmes prestations

Mise en route et Configuration


Le soft permet de créer plusieurs utilisateurs avec 3 profils possibles:

Sur la partie gauche se trouve la liste de tout ce qui peut être configuré. Voici ci-dessous les IHM des principaux paramètres. Si vous désirez en voir d'autres, demandez, je posterai les captures d'écran.

L'adresse IP peut être affectée soit à partir d'un serveur DHCP, soit en statique. J'ai tout d'abord configuré le soft afin d'obtenir une IP dynamique, puis reconfiguré ensuite afin d'avoir une IP statique. Cette manip permet de récupérer les autres paramètres (gateway ...) sans avoir à trop se prendre la tête, tout en étant sûr de conserver la même IP par la suite

La conf Wifi est on ne peut plus simple: il suffit de scanner le réseau, puis de sélectionner le réseau dans la liste, et enfin de rentrer les params d'identification

La conf mail m'a posé quelques soucis. Pas trop à cause du soft de la caméra, mais surtout car (sous Gmail en tout cas) il faut aller dans les params de votre compte autoriser les connexions SMTP.

Voici un aperçu de la configuration des alarmes. Le niveau de sensibilité peut être réglé. Au dessus de 5, la caméra a tendance à balancer des alarmes au moindre changement de luminosité (un rayon de soleil par exemple).
Le triger level sur low est inutilisable ou je n'ai pas trop compris comment l'exploiter: il me génère des alarmes permanentes.
Le scheduler est bien fait: inutile de cliquer sur toutes les petites cases: un double clic dans une tranche horaire permet de sélectionner la tranche horaire complète. Pouvoir enregistrer plusieurs profils aurait été sympa, de même que ne pas perdre la configuration lorsqu'on décoche/recoche la case Scheduler !

Pour en finir avec la configuration, il est même possible de configurer la caméra pour quelle se place en position centrée au démarrage, ou qu'elle garde sa position courante. Cette option peut être utile en cas de couplage de la caméra avec un système de mise sous tension (afin de pouvoir faire un scheduler externe par exemple)
Il est aussi possible de régler les vitesses de déplacement en pan et tilt.

Fichiers disponibles sur Tenvis.com
J'ai à peu près tout essayé au niveau des softs.
Ils sont disponibles ici. Pour certains je n'arrive rien à en tirer, ils ont l'air pourtant pas mal (DVSImageCenter par exemple).
Au final, aucun soft n'est nécessaire à partir du moment où vous connaissez l'IP de la caméra: un simple navigateur suffit.


Conclusion
Cette caméra est donc un très bon produit, surtout pour ce prix défiant toute concurrence ... Son utilisation ne se limite pas seulement à de la vidéo surveillance: en mettant en oeuvre le fichier jar, il devrait être possible de commander cette caméra au travers d'un programme "maison", permettant par exemple de l'intégrer parfaitement dans une IHM de commande de robot.
Il est aussi peut-être possible de récupérer le signal vidéo au travers d'autres logiciels de streaming. C'est à étudier, mais mes connaissances dans le domaine sont tout de même très limtiées.

Sous peu, je joindrai à ce post quelques vidéos de jour et de nuit.