lundi 9 juin 2014

Piloter des modules X10 CPL avec sa Vera

Ma première installation domotique était basée sur le protocole X10. Ca fonctionnait plutôt bien même si les temps de transmission étaient assez long et que ce type de module ne retourne pas d'information quant à son état. Cependant, mes "vieux" modules X10 m'avaient quand même coûté pas mal de sous à l'époque et tout jeter me chagriner un peu d'autant que certains d'entre eux pourraient rester largement suffisants pour certaines fonctionnalités !

Pour les modules Hertziens pas de soucis : Avec le RfxTrx et l'excellent plugin de Lolodomo ils ont très vite été reconnus par la Vera. Pour les module CPL (courants porteurs) ce n'était pas le cas d'autant que l'interface CM15 Pro que j'utilisais avec mes modules X10 semblait ne plus fonctionner.

LE TM13 : UNE PASSERELLE EFFICACE ET PAS CHERE !

Le TM13 de chez Marmitek est un module prise (donc CPL) dôté d'une antenne (donc Hertzien). Coûtant à peine plus de 20,00 € c'est donc bien lui qui va "transformer" les signaux CPL en signaux Hertziens et vice versa, via le module RfxTrx.

On branche le TM13 et quelques secondes après on découvre deux nouveaux modules. Le premier est un module "Télécommande" (mais on s'en fiche) et le second un module "Lampe" adressé par défaut à l'adresse E1 du réseau X10 (en effet sur le module TM13 on peut choisir le code maison A, B, C,... mais pas le numéro d'affectation.

Ce numéro sera 1 par défaut soit. On aura donc un module TM13 qui pourra aussi actionner un appareil ou une lampe via le code A1, B1, C1... et une passerelle Hertzien / CPL.

Si ces modules n'apparaissent pas automatiquement alors tentez de créer un nouveau module à l'adresse E1 via la gestion des paramètres du plugin pour le RfxTrx. Dans "Category" conservez "X10 Lighting" dans "Device Type" laissez "Switch Light", nommez votre module (Exemple : TM13) et entrez son code. A1 si votre "house code" est A, B1 si votre "house code" est B, etc...

Si vous connaissez les modules X10 (certainement sinon vous ne seriez pas en train de lire ces lignes) alors vous savez qu'à l'origine vous devez choisir un code maison "House code" et ce afin d'éviter certains parasitages avec le voisinage même si les signaux X10 CPL restent limités au circuit électrique sur lequel ils sont installés. Le "House Code" (A, B, C,...) sera le même pour tous vos modules CPL. Seul leur numéro d'affectation changera 1, 2, 3, etc...Soit 16 modules CPL maximum : Encore une limite du protocole X10.

Pour la suite c'est tout simple. Quand vous installez un nouveau module X10 CPL vous lui affectez son adresse grâce aux sélecteurs présents sur le module (A1, A2, A3,...) et vous créez ce module via la gestion de paramètres du plugin RfxTrx comme nous l'avons fait ci-dessus pour le TM13).

Le module est créé, un petit "Reload" pour raffraîchir tout ça et hop !





Installation et utilisation de Gcal Switch

INTRODUCTION :

Pour certaines actions "vitales" comme la gestion de la programmation du chauffe-eau je préfère que cela se fasse en interne depuis la Vera pour ne pas dépendre d'une connexion Internet mais certaines planifications peuvent s'appuyer sur un agenda en ligne comme la programmation des modes "confort" ou "éco" de vos radiateurs par exemple, histoire de se simplifier la vie et surtout de pouvoir tenir compte également des jours fériés !

S'il est un agenda en ligne qui a déjà largement fait ses preuves c'est bien celui de Google. Nous allons donc le faire communiquer avec notre Vera !

INSTALLATION DU PLUGIN :

Mes essais les plus concluants furent obtenus avec Google Calendar Switch à ne pas confondre avec Event2GCal (qui envoie des infos vers l'agenda Google et non l'inverse) ou Google Calendar II (que j'ai testé mais qui ne m'a pas apporté satisfaction).

Google Calendar Switch est gratuit et disponible ici.

Le principe est assez simple : Le plugin va "lire" votre agenda Google et si il tombe sur une date / heure contenant un mot clef  (Keyword) alors votre Vera en sera informée et pourra mener une action (scène) en conséquence.

VOTRE AGENDA COTE GOOGLE :

Pour cela vous devez bien sûr disposer d'un agenda Google (et donc d'un compte Google !).Avec Google vous pouvez créer plusieurs agendas dans votre compte. Pour ma part j'en ai créé un nommé "Domotique" au sein duquel je place les événements que je veux déclencher. Vous pouvez créer un compte Google séparé rien que pour cet agenda mais pour ma part je l'ai créé dans mon compte habituel car le plugin installé sur la Vera va juste lire un flux privé d'informations depuis votre agenda Google et n'aura heureusement pas besoin de vos accès (login / mot de passe) Google pour fonctionner !

Une fois votre agenda "Domotique" créé il faut aller récupérer le lien lui correspondant et qui sera à renseigner dans la configuration du plugin. Pour cela cliquez sur l'engrenage en haut à droite de Google Agenda et sélectionnez "Paramètres". Cliquez sur l'onglet "Agenda" et sélectionnez celui que vous souhaitez utiliser pour correspondre avec votre Vera (dans mon cas l'agenda nommé "Domotique").

Descendez jusqu'à la ligne "Adresse URL Privée" et cliquez sur XML. Vous verrez apparaître un lien du type :

https://www.google.com/calendar/feeds/13d7777jhgfXXXXXXXXXXXopzzzz%45group.calendar.google.com/private-8abXXXXXXXXXX40ecXXXXXXXXX11f/basic 
Ce lien est juste un exemple, générez votre propre lien comme expliqué !

Copiez le lien en supprimant le "s" de https : Il va vous servir ensuite.

CONFIGURATION :

Nous allons utiliser le plugin Google Calendar Switch dans son plus simple appareil c'est à dire sans utiliser une seule ligne de code Luup. Cela nous obligera à créer un module par action souhaitée mais au final ce n'est peut être pas plus mal car l'ensemble restera très "lisible" et souple.

Une fois qu'il a été installé, le plugin a créé un "Device" nommé "Gcal Sensor". Nous allons devoir le configurer. Ca ne va pas être bien compliqué car il ne demande que deux choses : Link et Keyword ! Dans Link collez simplement le lien que nous avons évoqué ci-dessus (rappel : n'oubliez pas de retirer le "s" de https !). Dans Keyword mettez le même terme que celui que vous utiliserez dans votre agenda Google pour indiquer un événement à réaliser, par exemple le terme "lampe". Cliquez sur "Set" puis relancez la console MiOS (reload).

Créez autant de "rendez-vous" que vous le souhaitez dans votre agenda Google et contenant le titre "lampe" : A chaque fois que le plugin Google Calendar Switch approchera d'un de ces événements il vous l'indiquera en vous donnant la date et l'heure de son exécution à venir.

Vous pourrez alors créer une scène destinée par exemple à allumer une lampe et lui indiquer comme "Trigger" votre module Gcal Sensor puis les paramètres qui correspondront à vos besoins (déclenchement sur Switch armé ou non, etc...). Magie : A la date et à l'heure fixée la lampe s'allumera !

Vous pourrez donc créer plusieurs modules "GCal Sensor" : Un pour allumer la lampe avec le Keyword "lampeON" et un autre avec le Keyword "lampeOFF" par exemple. Votre agenda "Domotique" contiendra alors des zones avec les titres "lampeON" et "lampeOFF" à chaque fois que vous voulez effectuer l'une de ces actions.

JOURS FERIES : 

Il peut également être intéressant que votre Vera connaisse les jours fériés. Pour ne pas mettre le chauffage en mode "éco" ou pour ouvrir les volets plus tard ces jours là par exemple.

Créez alors un nouveau module GCal Sensor (pour cela allez dans "Apps", onglet "My Apps", sélectionnez Google Calendar Switch et cliquez sur "Create another").

Dans Link indiquez l'adresse des jours fériés (pour la France ci-dessous) :
https://www.google.com/calendar/feeds/french__fr%40holiday.calendar.google.com/public/basic
Copiez cette adresse telle quelle !

Laissez Keyword vide.

Chaque jour férié le module se "déclenchera" ce qui vous permettra de le lier avec les scènes et actions de votre choix !



lundi 21 avril 2014

Visualiser son bureau à distance

Pour lancer le panneau de configuration de votre RPi vous allez donc saisir :

  pi@raspberrypi ~ $ sudo apt-get install tightvncserver 


Allez

http://the-raspberry.com/vnc


Principales commandes du Terminal

Les principales commandes du terminal :


Trouver l'IP de son Raspberry :  pi@raspberrypi ~ $ sudo raspi-config 


Allez e

Utiliser son Raspberry à distance

Comme j'en avais assez d'être à genoux, plié en deux, pour brancher le Raspberry sur la télé familiale et avant que Madame ne rouspète sur le fait que je la prive pendant ce temps de ses emissions préférées, j'ai décidé de pouvoir gérer mon Raspberry à distance avec mon PC portable.

Nous allons pour cela utiliser le protocole SSH mais attention ! N'imaginez pas voir le bureau linux de votre RPi avec cette méthode, elle ne vous servira qu'à lancer des lignes de commande ! Pour visualiser son bureau à distance il y a une autre méthode que nous verrons plus tard mais ce n'est pas l'objet de cet article.

SSH / Putty et leurs amis !


Pour pouvoir se connecter à distance à son RPi nous allons utiliser un protocole de connexion sécurisée nommé SSH (qui signifie Secure SHell mais on s'en fout en fait !). Il faut donc que notre RPi autorise d'être ainsi "pénétré" par ce type de connexions ! Nous allons donc lancer son panneau de configuration grâce à la commande sudo raspi-config :


Allumez votre RPI, saisissez vos login et mot de passe et la ligne  pi@raspberrypi ~ $  va apparaître.


Pour lancer le panneau de configuration de votre RPi vous allez donc saisir :

  pi@raspberrypi ~ $ sudo raspi-config 


Allez ensuite dans le menu "Options avancées" et choisissez la ligne  SSH Enable or Disable SSH Server puis validez votre choix qui sera  Enable . Une fois cela fait votre RPi acceptera les requêtes SSH venant de l'extérieur !

Maintenant voyons du côté de votre PC... Il vous faudra un logiciel qui gère les connections SSH. J'ai opté pour Putty qui est gratuit est qui est une référence dans le domaine.


Il y a juste une ligne a utiliser : Host Name [or IP address]. C'est dans cette ligne que nous allons saisir l'adresse IP de notre Raspberry sur le réseau domestique.


Connaître l'IP de son Raspberry Pi sur le réseau


Mais comment je la trouve cette adresse IP ? Grâce à la commande ifconfig que vous lancerez depuis votre terminal :

  pi@raspberrypi ~ $ sudo ifconfig 

Vous verrez apparaître une dizaine de lignes de charabia mais une ligne nous intéresse particulièrement : inet addr :

 inet addr : 192.168.0.33 

Toutes les machines connectées à votre réseau domestique utilisent une adresse du type 192.168.0.X et dans l'exemple ci-dessus le Raspberry Pi a pris la "place" 33. Son adresse IP est donc 192.168.0.33 mais bien sûr chez vous vous avez une chance sur 255 pour que ce soit 33 aussi ! :o)

Pour ma part, pour trouver cette IP, je suis passé directement par le biais de ma Freebox Révolution en regardant les périphériques réseau connectés (via http://mafreebox.freebox.fr/). Le Raspberry est apparu de suite et a été parfaitement reconnu comme étant un... Raspberry ! Merci Free !


Se connecter via Putty


Revenons à Putty et entrons l'adresse IP que nous avons trouvé dans la ligne Host Name [or IP address] puis cliquons sur "Open".

Magie ! Le terminal du RPi s'affiche avec son très accueillant et énigmatique   pi@raspberrypi ~ $  :o)

Nous allons vérifier que ça fonctionne bien en lançant une mise à jour de son Raspberry (ça fait jamais de mal !) :

 pi@raspberrypi ~ $ sudo apt-get update 

Si tout se passe bien vous allez voir dans la fenêtre Putty de votre terminal le processus d'installation des mises à jour de votre Raspberry ! Cela prendra quelques secondes.

Pour cet article j'ai suivi en majeure partie les indications fournies sur le site the-raspberry.com ! Merci pour leur aide !


vendredi 11 avril 2014

Première mise en route !

Matériel nécessaire :


Attention : Quand vous achetez votre Rasperry Pi il est livré tout nu ! Pas de notice, ni d'alimentation : Rien !

Pour les premiers essais j'ai donc décidé de brancher l'animal sur la télé du salon. Voici donc ce qu'il m'a fallu comme matériel supplémentaire pour démarrer :


  • 1 alimentation 5v micro USB. (Pour ma part j'ai pris en 1500 mA).
  • 1 cable HDMI (si vous décidez comme moi de brancher le Raspberry sur votre télé)
  • 1 carte SD 8Go (j'ai choisi une carte "préparée avec Noobs", j'y reviens plus bas).

Pour le transfo (pardon, l'alimentation !) et le cable HDMI je ne vais pas vous donner un cours, vous devriez trouver ça facilement chez votre marchand préféré ! Pour l'alim' tapez tout de même "alimentation raspberry" pour être surs d'avoir ce qu'il vous faut !

Si vous branchez votre Raspberry (que je vais désormais appeler le RPi pour ne pas trop user les touches de mon PC !) il ne fera strictement rien ! Quedalle ! Keudchi ! Nada ! Normal, sans "disque dur" il est un peu inutile. Et son "disque dur" à lui ça sera une carte mémoire de type SD.

Noobs :


Pour les "Newbies" comme moi (le "Newbie" c'est un peu l'ennemi naturel du "Geek" !) l'idéal c'est de trouver un truc facile a installer et qui fonctionne rapidement ! C'est pour ça que j'ai choisi de commander une carte SD déjà configurée avec Noobs chez mon marchand Américain préféré...

Noobs c'est en fait un système qui vous permet (théoriquement) d'installer l'OS de votre RPi en quelques clics, et bien plus encore ! Ah oui, l'OS... hmmmm... on dira que c'est l'équivament de votre Windows ou de votre MacOS (OS voulant dire Operating System)... En gros ça sert a installer ce qui va faire que vous verrez des belles icones sur un beau bureau ! :o)

J'insère donc dans le slot (la fente !) prévu à cet effet la magnifique carte SD reçue et contenant la dernière distribution de Noobs. Première mauvaise surprise : La carte est une "Classe 4" ce qui signifie que ce n'est pas le top de la vitesse en lecture / écriture... J'aurais préféré une "Classe 10" ! Mais bon... Deuxième mauvaise surprise : Après quelques secondes de démarrage le menu de Noobs s'affiche et me propose les différents "modules" que je peux installer mais je ne peux en installer aucun car ma carte SD est soit disant "pleine" !!! Il y a pourtant de la place...

C'est là qu'on commence a mettre les mains dans le camboui !

Bon... Y'a pas : Je veux voir un truc s'ouvrir sur l'écran de ma télé ! Je veux voir tourner mon RPi ! En regardant sur plusieurs sites Internet je vois que la carte SD, avant d'y copier les fichier de la solution Noobs, doit avoir été formatée avec l'option "Format Size Adjustement" sinon toute sa taille n'est pas prise en compte. J'en déduit que la carte que j'ai reçue "pré-installée" n'a pas été correctement formatée...

On est jamais aussi bien servi que par soi-même !


Je décide donc de télécharger le logiciel (gratuit) SDFormater et de formater la carte "pré-installée" que j'avais reçue pour y installer Noobs moi-même... Dans la section "Options" de ce logiciel on retrouve effectivement "Format Size Adjustement" qu'il faut mettre sur ON !


jeudi 10 avril 2014

Pourquoi un RaspBerry Pi B ?

Un Raspberry ? C'est quoi ?


Ca y est, j'ai enfin reçu le Raspberry Pi que je convoitais ! J'avais déjà entendu parler de ce "mini PC" mais c'est au hazard d'une balade en librairie que je suis tombé sur le livre "Programmer un Raspberry Pi - Initiation avec Python" (Editions Dunod). Je l'ai acheté et même si l'ouvrage est à mon sens parfois "léger" sur certains aspects il m'a en tous cas donné envie de me lancer !

Pour rappel (ou pour ceux qui ne le savaient simplement pas), le Raspberry Pi est un micro PC développé au départ pour permettre aux personnes qui n'ont pas trop de moyens de pouvoir tout de même utiliser un ordinateur mais aussi à tous ceux qui le veulent de découvrir les joies de l'informatique et de la programmation.

En effet, avec le Raspberry pas de Windows ni de MacOS : Nous allons découvrir le fabuleux monde de Linux ! Mais rassurez-vous, il conviendra autant à ceux qui veulent juste s'en servir simplement de petite machine bureautique comme à ceux qui veulent en faire le coeur d'expérimentations les plus folles !


J'ai opté pour le modèle B que l'on trouve pour moins de 36,00 € sur Amazon car il dispose, contrairement au modèle A d'un port Ethernet, de 512 Mo de Ram au lieu de 256 et de deux ports USB au lieu d'un (même si cela peut rapidement être compensé par un simple hub USB). Un petit comparatif entre les modèles A et B du Raspberry Pi

Comme on peut le voir sur le schéma (ci-dessus) du site PcMag.com le Raspberry Modèle B n'est pas avare en entrées / sorties !

Note importante : Le Raspberry Pi est livré sans notice, sans alimentation, sans aucun câble, sans carte SD, rien ! Juste une carte mère ! J'y reviendrais dans le prochain article...

Au fil de mes articles vous découvrirez pas à pas, et en même temps que moi (!), ce petit ordinateur ! J'essayerais de partager avec vous mes expériences et j'espère qu'elles vous aideront à bien démarrer avec votre Raspberry Pi !

Je précise que si j'ai toujours aimé la "bidouille" j'ai des connaissances plus que limitées tant en électronique qu'en ce qui concerne Linux ! Les termes que j'utiliserais ne seront peut-être pas toujours ceux utilisés par certains geeks "puristes" (du genre -"branchez le PRZ 24 sur le slot 32 bits du BX2000 et activez le Bios via le Setup du Kernel et hop !") :o) mais au moins ils pourront être compris du plus grand nombre, du moins je l'espère !

La prochaine étape ? On va démarrer la bestiole et commencer à la configurer !

A suivre donc !