Faut-il craquer pour le nouveau RaspberryPi 3 ?

Et voilà, ce lundi 29 février 2016, 4 ans jour pour jour après avoir bouleversé le marché des micro-ordinateurs, la fondation RaspberryPi est revenue avec un nouveau modèle de son ordinateur phare : le RaspberryPi, en version 3 s’il vous plait. Si vous passez de temps en temps sur ce blog vous savez combien j’aime cette bestiole et quand je me suis levé ce lundi matin, la première chose que j’ai faite a été d’en commander un exemplaire !

Maintenant que l’effervescence autour de cette annonce commence gentiment à retomber, il est temps de faire un point sur les différences de cette nouvelle mouture et son intérêt pour le hacker/maker qui sommeille en vous !

Puissance et connectivité sans fil

Si vous vous demandez ce qui change entre le RaspberryPi 2 et le RaspberryPi 3, sachez que la liste des nouveautés est plutôt restreinte :

  • Le processeur passe de 4 coeurs 900 Mhz à une version 4 coeurs à 1200Mhz, ce qui représente suivant les tâches un gain d’environ 30% de rapidité
  • Une puce Wifi et bluetooth 4.1 est désormais directement embarquée sur la carte : vous n’avez plus besoin d’ajouter de clé USB wifi ou bluetooth
  • Les ports USB sont maintenant capables d’alimenter des périphériques gourmands en énergie comme les disques durs externes
  • Enfin, donnée plus technique, le RaspberryPi devient capable de gérer des instructions 32 et 64 bits (contre 32bits uniquement auparavant).

Et c’est à peu près tout ! Le reste des caractéristiques demeure inchangé, ainsi que le form factor de l’appareil. Cela signifie que vous pourrez utiliser vos boîtiers existants avec ce nouveau RaspberryPi 3.

Le RaspberryPi 3 : pas facile de le distinguer de son prédécesseur !
Le RaspberryPi 3 : pas facile de le distinguer de son prédécesseur !

Faut-il acheter ce nouveau RaspberryPi 3 ?

Pas de réponse universelle ici, ça va surtout dépendre de vos besoins. Si c’est la domotique ou doter un objet de capacités connectées qui vous intéresse, vous n’exploiterez pas forcément les éléments différenciants de cette nouvelle version. Si vous avez déjà un RaspberryPi plus ancien pour cet usage il n’est pas forcément utile de le remplacer. Après si ce sont des tâches gourmandes en puissance qui sollicitent votre raspberryPi (utilisation en tant que mediacenter, ou comme console de « retro-gaming » par exemple) là cela peut valoir le coup ! Le gain de performance permettra certainement une amélioration sensible de votre confort utilisateur.

Le RaspberryPi est-il toujours un outil de hacker/maker ?

C’est la question que je me pose. Au début de son histoire, les capacités très limitées de la première version du RaspberryPi (processeur monocore à 700Mhz, avec seulement 256MB de RAM) le cantonnait à des usages « mono-tâche ». Tantôt on l’utilisait comme un NAS, un serveur web, pour connecter une vieille radio ou comme centrale domotique, mais on mixait rarement les usages. Aujourd’hui, le RaspberryPi se rapproche de plus en plus des capacités d’un ordinateur de bureau standard, et je ne serais pas surpris que petit à petit, on puisse opposer l’achat d’un RaspberryPi à un ordinateur de bureau classique pour les usages courants comme la bureautique et le surf sur internet.

En fait, on sent bien que la gamme des RaspberryPi se segmente pour s’adresser à différentes populations : d’un côté on a le modèle B+ qui gagne en puissance et devient capable de couvrir toujours mieux les usages classiques de « l’ordinateur familial », et de l’autre on a les modèles A et Zero qui sont toujours plus compacts, économes en énergie et faciles à intégrer dans des objets divers et variés.

A bien y réfléchir, je pense que cela a du sens et permettra de satisfaire au mieux les besoins de chacun. Si par exemple je devais refaire aujourd’hui ma radio connectée, je pense que je partirai plutôt sur un modèle A+ accompagné d’une clé USB wifi pas chère. Pour la domotique par contre je garderai le modèle B+ pour son port RJ45 et sa puissance, car même si je n’ai pas de scénarios gourmands, ses capacités restent un gage d’évolutivité.

Le RaspberryPi Zero, pour moi le modèle idéal pour les hacks d'objets avec ses dimensions minuscules
Le RaspberryPi Zero, pour moi le modèle idéal pour les hacks d’objets avec ses dimensions minuscules

Nouveau RaspberryPi3 : attention à l’alimentation

Si le nouveau RaspberryPi3 est capable d’alimenter des périphériques plus gourmands en énergie, c’est au prix d’une alimentation plus robuste. En effet si auparavant une alimentation capable de délivrer 1.5A était suffisante, la fondation RaspberryPi recommande désormais l’usage d’une alimentation de 2.5A pour être sûr de pouvoir répondre aux sollicitations du processeur, des puces wifi/bluetooth ainsi que des éventuels périphériques USB connectés.

Un chargeur USB 3A qui devrait contenter les besoins du Raspberrypi3 (qui peut faire des pointes de consommation à 2.5A d'après la fondation RaspberryPi).
Un chargeur USB 3A qui devrait contenter les besoins du Raspberrypi3 (qui peut faire des pointes de consommation à 2.5A d’après la fondation RaspberryPi).

Les accessoires de cette nouvelle génération changent peu

Avec l’ajout de nouvelles capacités sans fil, le RaspberryPi 3 vous dispense de l’achat de la clé USB wifi habituelle. Il reste cependant quelques accessoires incontournables pour utiliser votre nouveau jouet.

Au rayon des périphériques obligatoires

Il vous faudra au minimum :

  • une carte sd classe 10 : c’est ce qui sert de disque dur au RaspberryPi3, et mieux vaut prendre une carte rapide (classe 10) sous peine de ralentir la machine.
  • une alimentation 2.5 Ampères : c’est donc la petite nouveauté avec cette 3ème version du RaspberryPi, cela permet de subvenir au besoin d’énergie de la partie radio et de vos éventuels périphériques USB.

Au rayon des périphériques moins indispensables

On trouvera :

  • un cable RJ45 : si vous ne désirez pas utiliser la puce wifi de la carte pour vous connecter à l’internet mondial
  • un cable HDMI : pour connecter le RaspberryPi à un écran
  • un boitier : pour protéger votre raspberrypi de la poussière… ou des doigts d’enfant :)
  • un clavier sans fil : ça c’est si vous souhaitez interagir avec la machine sans passer par une console SSH. Si vous destinez la machine à un usage de salon, je vous conseille ce clavier qui intègre un trackpad (c’est ce que j’ai), sinon n’importe quel clavier USB fera l’affaire. Vous pouvez aussi avoir besoin d’une souris, là pareil, il suffit qu’elle soit USB.

Comptez donc une quinzaine d’euros minimum en plus de votre micro ordinateur pour pouvoir jouer avec. Voire davantage s’il vous faut des périphériques « bonus ».

Il ne reste plus qu’à trouver des idées de projet

Si j’aime autant cette plateforme, c’est qu’elle représente pour moi une veritable invitation à la créativité! Je vous avoue que si j’ai cédé à la tentation du raspberrypi 3 c’est bien parce que j’ai quelques idées en tête! Promis je les partagerai ici ! Et vous, allez vous craquer pour le RaspberryPi 3 ? Pour en faire quoi ?

Domotique : Migrer Domoticz vers le RaspberryPi2

Cet article fait partie de la série Domotique (18 articles au total)

J’imagine que la nouvelle ne vous aura pas échappé : depuis fin 2014, la fondation RaspberryPi a sorti un nouveau modèle de son célèbre ordinateur miniature. Sobrement intitulé RaspberryPi 2, celui-ci présente plusieurs évolutions matérielles tout en gardant le même format, et qui plus est le même prix ! Et si pendant des mois mettre la main sur cette nouvelle version relevait du parcours du combattant (voire du combattant fortuné) les prix se sont plutôt calmés et on retrouve cette nouvelle version avec un prix qui colle davantage à celui de l’ancien modèle.

Migrer mon installation domotique

Si vous suivez ma série d’articles sur la domotique, vous savez que le RaspberryPi est au cœur de ma solution. Avec la sortie de cette nouvelle version de la framboise je me suis longtemps demandé si je devais franchir le pas pour migrer mon installation vers ce nouveau jouet. Je me suis finalement décidé et je partage aujourd’hui avec vous les raisons de ma migration et surtout comment la réaliser sans douleur.

RaspberryPi 2, des nouveautés bien cachées ?

D’apparence, il faudra être sacrément entrainé pour faire la différence entre les deux versions ! Ci-dessous une petite photo des deux générations : mon ancien RaspberryPi B+ et mon nouveau RaspberryPi 2 :

Saurez vous distinguer le Raspberrypi2 de son prédécesseur ?
Saurez vous distinguer le RaspberryPi2 de son prédécesseur ?

C’est en soit une bonne nouvelle : cela signifie que les accessoires comme les boitiers restent compatibles entre les différentes versions tout comme les différentes cartes d’extensions qui exploitent le port GPIO.

Un processeur multi-cœurs et 2 fois plus de RAM

Si la plupart des articles relatant la sortie de l’appareil se focalisent sur la quantité de RAM, qui a doublé, c’est personnellement le processeur qui m’a le plus intéressé : en passant d’un modèle simple coeur à un quad-core, le RaspberryPi est désormais capable de paralléliser de manière efficace plusieurs processus. Et ça c’est bon pour notre domotique et ses traitements parfois longs. En terme de puissance, on parle au final d’un processeur qui serait environ 6 fois plus véloce, ce qui ne fera pas de mal non plus même si Domoticz est très léger !

Une meilleure compatibilité logicielle

En changeant d’architecture (ARMv7 pour le RaspberryPi 2 contre ARMv6 pour ses prédécesseurs), c’est la compatibilité logicielle de la plateforme qui s’améliore. Petit fait notable, cette nouvelle version est désormais supportée par Windows mais une mouture bien spéciale du système Microsoft : Windows IoT. Si c’est un pas en avant n’espérez donc pas faire tourner votre suite Microsoft Office sur l’ordinateur à la framboise.

Au final si vous avez du mal à faire votre choix, voici un petit tableau qui récapitule les éléments différenciant de cette version avec son prédecesseur :

[rpt name= »quel-raspberrypi-choisir »]

Migration de Domoticz sous Raspbian d’un RaspberryPi B+ vers un RaspberryPi 2

Si vous êtes intéressé par les nouvelles capacités de cette version du RaspberryPi, voici un petit pas à pas pour migrer en 30 minutes votre installation domotique d’un RaspberryPi B+ vers un RaspberryPi 2.

Etape 1/2 : Préparation de l’ancien système

Saisir les commandes suivantes depuis un terminal ou une connexion SSH (compter une trentaine de minutes max) :

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get dist-upgrade

A ce moment, votre système est à jour et prêt à basculer sur le RaspberryPi 2. Eteignez la bête en saisissant la commande suivante :

sudo halt

 Etape 2/2 : Mise en place du RaspberryPi 2

On arrive au moment crucial ! Les 2 RaspberryPis sont éteints, débrancher alors tout votre équipement du RaspberryPi B+ pour le brancher sur le RaspberryPi 2. Ne pas oublier la carte micro-sd ;)

Vous pouvez alors démarrer le bolide, tout devrait bien se passer. Lancez alors la commande de mise à jour suivante :

sudo rpi-update

Et redémarrez ensuite avec cette commande :

sudo reboot

Dernière étape facultative : si vous avez attribué une IP fixe à votre ancien RaspberryPi, il est peut-être nécessaire de mettre à jour celle-ci dans la configuration de votre box adsl/routeur pour ne pas avoir à changer tous vos marques-pages.

Au final, rien de sorcier vous voyez, et aucunement besoin d’être un as de la ligne de commande ! Merci de m’avoir lu et j’espère que ce petit tuto en aidera quelques uns. Comme d’habitude pour les questions je vous encourage à passer par les commentaires !

Installer la clé wifi TP-Link TL-WN725N sur un RaspberryPi V2 avec Raspbian

Il y a bientôt 1 an, je publiais un article du même genre pour installer la clef wifi TP-Link TL-WN725N sur un RaspberryPi de première génération. Avec la sortie du RaspberryPi v2, vous êtes de plus en plus nombreux à me réclamer une mise à jour de l’article d’origine.

J’ai mis le temps, mais voici donc un petit pas à pas pour installer cette clé sur votre ordinateur miniature flambant neuf !

Notez que si vous ne souhaitez pas vous prendre la tête avec ces histoires de pilotes, vous pouvez aussi opter pour un modèle de clé wifi supporté nativement par raspbian et le raspberrypi v2 comme la clé wifi Edimax EW-7811UN.

Pour que votre clé TP-Link TL-WN725N soit reconnue, il va falloir procéder en 2 étapes :

  1. Trouver la bonne version du pilote de la clé wifi
  2. Télécharger et installer le pilote

Comme pour la précédente version du RaspberryPi, il va falloir vous frotter à la ligne de commande pour installer le pilote, mais n’ayez crainte, je suis là pour aider :)

Etape 1/2 : Trouver la bonne version du pilote pour votre RaspberryPi 2

C’est là l’étape la plus délicate, en fait à chaque version de noyau linux correspond une version du pilote de la clef wifi. Il va donc falloir noter votre version du noyau linux pour trouver le pilote adéquat.

Pour ce faire, depuis un accès en ligne de commande sur votre raspberry pi 2, entrez la commande suivante : uname -a

Le résultat devrait s’afficher sous cette forme :

pi@raspberrypi ~ $ uname -a
Linux raspberrypi 3.18.11-v7+ #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015 armv7l GNU/Linux

La partie qui nous intéresse est ici 3.18.11-v7+ #781. Attention chez vous cela sera certainement différent.

Une fois la version de votre noyau en poche, rendez-vous sur cette page pour y trouver le pilote associé. Par exemple dans mon cas : 8188eu-v7-20150406.tar.gz

Attention : sur la page du forum, il y a là les pilotes pour les deux générations de RaspberryPi, la 1 et la 2. Pour être sûr d’avoir le bon pilote, le nom du fichier doit contenir v7.

Etape 2/2 : Installer le pilote de la clé TP-Link sur le RaspberryPi 2

Pour cette phase, il faut que votre RasbperryPi 2 soit connecté à internet (par exemple avec un câble RJ45).

Entrez les commandes suivantes, en remplaçant bien entendu NOM_DU_FICHIER par celui que vous avez récupéré à la fin de l’étape 1 (dans mon cas 8188eu-v7-20150406.tar.gz).

wget https://dl.dropboxusercontent.com/u/80256631/NOM_DU_FICHIER
tar xzf NOM_DU_FICHIER
./install.sh

Et voilà, au prochain démarrage, la clé devrait apparaître dans la liste de vos interfaces réseau (la liste est disponible en entrant la commande ifconfig).

Si jamais cela ne fonctionne pas, manifestez-vous dans les commentaire en donnant la version de votre noyau et le fichier de pilote téléchargé.

Domotique : Partie 8 – Ajout du support du Z-Wave dans Domoticz

Cet article fait partie de la série Domotique (18 articles au total)

Aujourd’hui on va parler de Z-Wave, ce protocole domotique qui a le vent en poupe et on va voir comment l’intégrer à notre système existant.

Avant de démarrer, voici deux mots sur la domotique et les protocoles : en domotique, contrairement à l’informatique, on n’a pas un protocole standardisé qui fédère les constructeurs. Chacun prêche un peu pour sa paroisse et on voit sortir chaque année de nouveaux protocoles qui cherchent à s’imposer avec plus ou moins de succès.

Dans mes précédents épisodes domotiques, j’ai utilisé des modules et des sondes qui parlaient des protocoles différents. Leurs fréquence étant commune (433Mhz pour les intimes), mon récepteur (le RFXCom) parvenait à discuter avec chacun d’eux sans problème.

Cet article fait partie d’une série dédiée à la domotique dont vous pourrez trouver le sommaire au bas de cet article.

 

De nouvelles problématiques

Pendant plusieurs années, j’ai donc utilisé avec succès différents modules plus ou moins prévus pour la domotique dans le cadre de l’automatisation de mon quotidien. Il y a quelques mois j’ai déménagé pour un logement plus grand et me voici confronté à de nouvelles problématiques :

Des soucis de portée : certaines de mes sondes situées en périphérie de mon logement ne sont pas toujours à portée de ma centrale. Cela varie en fonction de la météo, de la configuration de mes portes/fenêtres, le niveau de batterie etc… Ce qui conduit à une perte de précision dans mes relevés.

Une prise de conscience en matière de sécurité : quand j’ai commencé la domotique en 2010, j’étais un peu un ovni dans mon entourage (pourtant très technophile) et je n’avais pas à me soucier d’éventuelles compromissions de mon système. Maintenant que de plus en plus de monde s’y met, je préfère prévenir que de voir mon voisin Roland jouer avec mes lumières :)

La réponse du Z-Wave

Parmi les protocoles domotiques qui ont le vent en poupe, on trouve le Z-Wave. Ce protocole, conçu pour une utilisation sans-fils, répond à mes soucis : en proposant un fonctionnement en réseau maillé, chaque module répète les ordres à destination de ses voisins de manière à ce que même les plus éloignés du cœur du système restent joignables. En chiffrant les communications entre les modules et le cœur du système il répond aussi à mes inquiétudes en matière de sécurité.

Parmi ses autres avantages, on citera :

  • le fait qu’il soit promu par plusieurs dizaines de constructeurs (il existe plusieurs centaines de modules Z-Wave sur le marché)
  • la communication bi-directionnelle entre module et centrale domotique : le module peut ainsi signaler son état au cœur du système, en l’occurrence mon RaspberryPi avec Domoticz.

Ajouter du Z-Wave dans Domoticz

Domoticz a l’avantage de supporter de nombreux protocoles, à conditions de lui adjoindre l’interface physique adéquate. Il me fallait donc en trouver une pour que mon RaspberryPi puisse « parler » Z-Wave. Attention dans votre quête, la fréquence de fonctionnement du Z-Wave varie selon votre position sur le globe. En Europe le Z-Wave utilise la fréquence de 868Mz contre 915Mh en Amérique du nord.

Quelle interface Z-Wave choisir ?

Pour ajouter à Domoticz la faculté de recevoir et émettre des ordres Z-Wave, il existe deux interfaces assez populaires sur le marché : la carte fille Razberry de ZWave.Me et le Z-Stick S2 d’Aeon Labs au format « clef USB ». Ces deux interfaces sont vendues sensiblement au même tarif (un peu moins de 60€) mais ont quelques différences qui m’ont poussé à opter pour le module Aeon Labs. En effet, la carte Razberry de ZWave.Me ne peut-être utilisée que sur un RaspberryPi, ce qui me semble limité en terme d’évolution du système. Autre avantage du ZStick d’Aeon Labs : il possède une petite batterie qui permet de se déplacer dans le domicile pour y associer les différents modules Z-Waves (un peu à la manière des télécommandes Chacon).

Le Razberry, une interface un peu trop orientée RaspberryPi à mon goût
Le Razberry, une interface un peu trop orientée RaspberryPi à mon goût
zstick_s2
Le Z-Stick S2 d’Aeon Labs est l’interface Z-Wave que j’ai retenu

Intégrer le Z-Stick S2 d’Aeon Labs dans Domoticz

Concrètement il n’y a pas grand chose à faire pour que ça marche dans Domoticz, mais si vous avez comme moi un RFXCom, il y a une petite manipulation à respecter pour éviter des problèmes à l’avenir ! En effet, au démarrage du RaspberryPi, le système attribue au RFXCom et au Z-Stick des adresses du type « /dev/ttyUSB0 » ou « /dev/ttyUSB1 ». Si l’on ne fait rien, ces adresses peuvent changer et donc empêcher Domoticz de joindre ces périphériques.

Attribuer un nom persistant au ZStick (et au RFXCom)

Pour contourner le problème, on va déclarer des alias pour chacun des périphériques, de manière à ce qu’ils aient toujours les mêmes adresses. Pour ce faire, il va falloir ajouter un fichier dans le répertoire /etc/udev/rules.d du RaspberryPi. J’ai intitulé mon fichier « domoticz.rules » et voici le contenu :

SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ENV{ID_VENDOR}=="RFXCOM", SYMLINK+="ttyUSB10" 
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ENV{ID_VENDOR}=="Silicon_Labs", SYMLINK+="ttyUSB11"

Ces 2 lignes vont permettre au système d’attribuer systématiquement l’adresse /dev/ttyUSB10 au RFXCom et /de/ttyUSB11 au ZStick. On va désormais pouvoir passer aux choses sérieuses dans Domoticz :)

Une fois le fichier sauvegardé, redémarrez le raspberryPi. Vous pouvez vérifier la prise en compte du fichier avec la commande ls -lh /dev/ttyUSB*

pi@vesta2 ~ $ ls -lh /dev/ttyUSB*
crw-rw---T 1 root dialout 188, 0 Jan 28 12:05 /dev/ttyUSB0
crw-rw---T 1 root dialout 188, 1 Jan 28 13:40 /dev/ttyUSB1
lrwxrwxrwx 1 root root         7 Jan  1  1970 /dev/ttyUSB10 -> ttyUSB0
lrwxrwxrwx 1 root root         7 Jan  1  1970 /dev/ttyUSB11 -> ttyUSB1

Déclaration du Z-Stick dans Domoticz

Maintenant que le Z-Stick est reconnu par le système d’exploitation, il nous reste à le déclarer dans Domoticz.

Attention : pour une raison que j’ignore, les manipulations décrites ci-dessous doivent être effectuées depuis Chrome et pas Firefox. En effet sur le navigateur de Mozilla, les alias créés précédemment (comme ttyUSB10) ne sont pas visibles, j’ignore pourquoi…

Les captures d’écran ci-dessous sont effectuées avec la version 2.2252 de Domoticz affiché en anglais.

Allez dans l’onglet Setup / Hardware où vous retrouverez votre RFXCom.

L'onglet Hardware avant l'intégration du Z-Stick S2 d'Aeon Labs
L’onglet Hardware avant l’intégration du Z-Stick S2 d’Aeon Labs

Si vous avez un RFXCom et que ça n’est pas déjà fait, je vous conseille de définir son « Serial Port » sur /dev/ttyUSB10 afin d’éviter des surprises à l’avenir.

Pour ajouter le ZStick, complétez ensuite le formulaire en bas de page avec les valeurs suivantes :

  • Name : le nom de votre choix (j’ai choisi ZStick S2 dans mon cas)
  • Type : OpenZWave USB
  • Data Timeout : Disabled
  • Serial Port : /dev/ttyUSB11
Formulaire à remplir pour ajouter le Z-Stick
Formulaire à remplir pour ajouter le Z-Stick

Et enfin cliquez sur « Add« . Voilà ! Domoticz est configuré.

Je vous conseille de redémarrer le RaspberryPi une dernière fois pour vérifier que tout fonctionne correctement :) Domoticz devrait retrouver ses petits au démarrage et présenter à la fois le RFXCom et le Z-Stick dans les interfaces disponibles.

Interfaces disponibles dans Domoticz. On voit le Z-Stick aux côtés du RFXCom
Interfaces disponibles dans Domoticz. On voit le Z-Stick aux côtés du RFXCom

Et maintenant la suite ?

Cette étape terminée, vous voilà avec un Domoticz capable de « parler » à la fois Z-Wave et RFXCom. Cela aura pour avantages de choisir les modules les plus adaptés dans chacune de ces technos en fonction de vos besoins/votre budget/la criticité des applications mises en œuvre.

Dans mon prochain article domotique, je vous parlerai donc d’un capteur Z-Wave que j’ai ajouté à mon système et qui pourrait en intéresser plus d’un ;) A très vite !

 

Domotique : Partie 7 – Détection de présence grâce au wifi de son téléphone

Cet article fait partie de la série Domotique (18 articles au total)

Un nouvel article domotique aujourd’hui où on ne manipulera pas de matériel ! Ce que je vous propose c’est d’utiliser le smartphone au fond de votre poche pour que votre système domotique prenne conscience de votre présence. Ici pas de détecteur de mouvement, pas de caméra IP, seul votre beau téléphone est nécessaire. A l’heure où j’écris ces lignes, cette astuce ne marche pas avec les iPhones mais promis je vous cherche une alternative ;)

Cet article fait partie d’une série dédiée à la domotique dont vous pourrez trouver le sommaire au bas de cet article.

Le principe de base

Sur mon smartphone, le wifi est toujours allumé. Au grès de mes déplacements, mon téléphone se connectera chez moi, à mon travail, chez certains de mes amis, etc… Étant donné que le wifi a une portée (dans le meilleur des cas) maximale de 100 mètres, on peut donc supposer que si on est connecté à son wifi domestique, alors on peut considérer que l’on est chez soi. Le tuto du jour vous montrera donc comment faire pour que Domoticz vérifie régulièrement si votre téléphone est connecté au wifi ou pas.

Quel intérêt que Domoticz sache si on est là ou pas ?

Cela permet tout simplement de mettre en scène des scénarios plus ou moins complexes pour par exemple :

  • Diminuer le chauffage quand personne n’est à la maison
  • Éteindre les lumières oubliées lors du départ des occupants
  • Simuler une présence à domicile quand personne n’est là
  • Etc…

La mise en œuvre

Pour mettre cette mécanique en œuvre, voici le scénario que nous allons suivre aujourd’hui :

  1. Créer un interrupteur virtuel qui indiquera si oui ou non quelqu’un est présent au domicile
  2. Créer un script qui modifiera l’état de l’interrupteur virtuel en fonction de la présence du téléphone sur le réseau wifi

Les captures d’écrans et les explications sont faites à partir de la version V2.2151 de Domoticz, affichée en anglais.

 1. Création de l’interrupteur virtuel

C’est la première étape, on va créer l’interrupteur qui matérialisera la présence à domicile. Pour cela rien de très compliqué ! Dans Setup > Hardware, cliquer sur le bouton « Create Virtual Sensor » sur le device « Dummy » (si vous ne l’avez pas, ajoutez le via le menu déroulant).

Création de l'interrupteur virtuel
Création de l’interrupteur virtuel
Sélectionnez le type « Switch« 
Sélection du type "Switch"
Sélection du type « Switch »

Après avoir cliqué sur OK, le périphérique sera visible dans l’onglet Setup > Devices où il faudra cliquer sur la petite flèche verte associée.

02_Ajout_interrupteur
On retrouve notre nouvel interrupteur rattaché au matériel « Dummy »

Choisissez lui un petit nom, dans mon cas « Presence » (oui j’ai peur des accents, c’est mon instinct de développeur qui me pousse à les fuir ;) Votre magnifique interrupteur apparaitra alors dans l’onglet « Switches ». Pour des raisons d’esthétisme, j’ai choisi d’en changer le type en « Motion Sensor » et de l’afficher sur mon Dashboard (c’est purement facultatif bien entendu). Voici ce que cela donne :

Mon interrupteur virtuel "Presence" maquillé en capteur de mouvement
Mon interrupteur virtuel « Presence » maquillé en capteur de mouvement

Il va maintenant falloir passer aux choses sérieuses : le script qui va altérer l’état de cet interrupteur.

2. Création du script

Le rôle de ce script est assez simple : exécuté périodiquement, il va essayer de joindre le (ou les) smartphone(s) du foyer. S’il y parvient, il bascule l’interrupteur virtuel à « On » et ne vérifiera que 10 minutes plus tard si le téléphone est toujours là. Si aucun smartphone n’est détecté, le script bascule l’interrupteur virtuel à « Off » et attendra 1 minute avant d’essayer de joindre à nouveau le(s) smartphone(s).

Pré-requis : connaitre l’adresse IP de son téléphone. Si vous ne l’avez pas déjà fait, je vous conseille de paramétrer votre box/routeur pour que cette adresse IP ne change jamais . Elle est généralement de la forme 192.168.xxx.yyy. Dans mon exemple, le script est paramétré pour 2 téléphones.

Le script doit être placé dans le répertoire scripts/lua de Domoticz. Le fichier du script doit obligatoirement commencer par « script_time_ » et porter l’extension « .lua« . J’ai par exemple nommé le mien « script_time_presence.lua« . Voici le contenu du script :

-- Alexandre DUBOIS - 2014
-- Ce script vérifie la présence de 2 téléphones sur le réseau pour savoir si quelqu'un est là.
-- La vérification est effectuée une fois par minute tant qu'aucun téléphone n'est à portée,
-- puis une fois toute les 10 minutes quand au moins un téléphone est connecté pour ne pas trop stresser sa batterie.

commandArray = {}

--Cette fonction calcule la différence de temps (en secondes) entre maintenant
--et la date passée en paramètre.
function timedifference (s)
  year = string.sub(s, 1, 4)
  month = string.sub(s, 6, 7)
  day = string.sub(s, 9, 10)
  hour = string.sub(s, 12, 13)
  minutes = string.sub(s, 15, 16)
  seconds = string.sub(s, 18, 19)
  t1 = os.time()
  t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
  difference = os.difftime (t1, t2)
  return difference
end

--Si le téléphone n'est pas détecté ou qu'il est présent depuis plus de 10 minutes (600 secondes),
--alors on vérifie à nouveau sa présence
if (otherdevices['Presence']=='Off' or (otherdevices['Presence']=='On' and timedifference(otherdevices_lastupdate['Presence']) > 600)) then
	ping_success_tel1=os.execute('ping -c1 192.168.1.20')
	ping_success_tel2=os.execute('ping -c1 192.168.1.21')
	
	if ping_success_tel1 or ping_success_tel2 then
	  commandArray['Presence']='On'
	else
	  if otherdevices['Presence']=='On' then --On ne passe l'interrupteur virtuel à Off que s'il est sur On.
             commandArray['Presence']='Off'
          end
	end
end

return commandArray

Bien sûr il faudra remplacer les adresses IP ligne 26 et 27 de mon script par celles de vos appareils :)

Un cas pratique : simulation de présence en cas d’absence

Histoire d’illustrer l’intérêt de ce « détecteur de présence », voici une implémentation d’un scénario de simulation de présence. Celui-ci n’est pas très évolué mais il « fait le boulot ». Grossièrement : si personne n’est à domicile et que nous somme samedi, on allume les lampadaires du salon vers le crépuscule et on les éteint aux alentours de 23h30 (à chaque fois, on spécifie une fourchette de 15 minutes pour chaque changement d’état).

J’ai utilisé le créateur de scénarios qui est disponible dans le menu via : Setup > More Options > Events

Celui-ci permet de « programmer » sans avoir à écrire de code informatique. On assemble simplement des briques pour indiquer les conditions à tester et actions à effectuer. Une fois terminée, cela donne ça :

Scénario de simulation de présence
Scénario de simulation de présence

Libre à vous de l’adapter ensuite à vos besoins :)

Les limites du système

Cela fait plusieurs mois que j’utilise cette méthode et je suis étonné par sa fiabilité. Cependant quelques ombres au tableau subsistent ! Les iPhones coupent automatiquement leur wifi dès que l’écran s’éteint, ce qui empêche d’utiliser cette astuce. D’autres smartphones font probablement de même ! Qui plus est, ceci fonctionne si chaque habitant de la maison possède un smartphone, ce qui ne sera pas forcément le cas. Enfin, nos beaux terminaux ont un point faible : leur batterie. Attention donc aux scénarios que vous programmez derrière, en cas de panne de batterie vous pourriez avoir de mauvaises surprises !