Domoticz, Raspberry et ImperiHome en français

Ajout du 26/03/2016 : Cette documentation n’est conservée ici que pour historique, une nouvelle version de Imperihome/MyDomoAtHome en NodeJS est maintenant disponible rendant ce qui est décrit ci-dessous obsolète , utilisez donc ce lien https://easydomoticz.com/?p=3269

 

Cet article est la mise à jour du post initial concernant la mise en place de la passerelle Imperihome sur Domoticz.

Ajout du 07/11/2015: Comment se connecter avec Imperihome depuis l’extérieur de notre domicile.

Correctifs sur l’installation de la passerelle : le 12/11/2015

Objectif :

Il existe un article sur le wiki anglophone de Domoticz http://www.domoticz.com/wiki/ImperiHome décrivant l’utilisation de ImperiHome sous Android avec notre plateforme de domotique préférée.

Je vous en propose ici une traduction libre agrémentée de mes remarques rencontrées lors de la configuration de cet outil.

L’installation est vraiment facile.

Les liens sur le site ImperiHome http://www.imperihome.com/fr/

Le lien sur l’appli Android https://play.google.com/store/apps/details?id=com.imperihome.lite&hl=fr

Une version pro avec des fonctionnalités additionnelles existe sur le PlayStore.

Un lien vers le wiki de Domoticz http://domoticz.com/wiki/ImperiHome

Un joli readme.md concocté par epierre https://github.com/empierre/MyDomoAtHom … /README.md

Ma gratitude à epierre et aux contributeurs du projet.

Généralités  :

Imperihome est une application pour smartphone qui s’intègre nativement à bon nombre de systèmes de domotique via une API génerique.

Contrairement aux autres applis existantes (Andromoticz par exemple) , ImperiHome est donc multiplateforme domotique.

La procédure ci dessous est faite pour ajouter à Domoticz une passerelle ImperiHome afin de permettre le pilotage via smartphone.

Cette passerelle agira comme une interface entre Domoticz et Imperihome et vice versa.

Il y a donc un Client (ImperiHome), une Passerelle (voir ci dessous l’install et configuration) et un Serveur (notre Domoticz). La Passerelle est un Web serveur REST avec son propre IP:port qui sera différent de celui existant déjà pour Domoticz.

Voila quelques screens tirés du wiki anglais de Domoticz.

Imperihome screen 1

Imperihome screen 2

Possibilités

Lire la suite

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Domoticz et Gpio : Les exports

RaspberryPi_ConnectingToGPIO

Dans un article précédent nous avions parlé de la mise en place des GPIO dans Domoticz.

Un point un peu délicat est la configuration de ceux ci AVANT le lancement de Domoticz. De nombreuses discussions sur le forum en font état.

Voyons ici les pistes dont nous disposons afin de configurer proprement les GPIO.

Elles sont au nombre de 2 ,

  • dans le fichier /etc/init.d/domoticz.sh
  • dans le /etc/rc.local.

Ces deux solutions sont équivalentes bien que la méthode utilisant  le rc.local soit la plus propre.

D’autre part on verra ici que l’on peut utiliser soit la commande gpio, soit directement des écritures dans le bon périphérique pour affecter nos inputs,outputs,état haut/bas …

Le fichier domoticz.sh de init.d

Nous savons que nous devons faire tous nos exports gpio avant le lancement de Domoticz, la première idée est donc de modifier le fichier domoticz.sh de /etc/init.d pour y inclure les commandes nécessaires.

Attention toutefois, ceci est dangereux car une mise à jour de ce fichier peut supprimer votre configuration.

  • La méthode avec la commande gpio

Donc en tête de ce fichier  et après la définition des diverses variables

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
DESC="Domoticz Home Automation System"
NAME=domoticz
USERNAME=pi
DAEMON=/home/$USERNAME/domoticz/$NAME
#DAEMON_ARGS="-daemon -www 8080 -log /tmp/domoticz.txt"
#DAEMON_ARGS="-daemon -www 8080 -syslog"
DAEMON_ARGS="-daemon -www 8080"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

on ajoute autant de lignes que d’exports à faire

/usr/local/bin/gpio export 18 out
/usr/local/bin/gpio export 17 in
.......
/usr/local/bin/gpio exports

N.B. il faut y indiquer le chemin complet vers gpio (/usr/local/bin)

  • La méthode sans gpio

Les gpio étant dans  /sys/class/gpio/gpioXX on peut aussi configurer directement par un

# Pin GPIO14 (OUT)
echo “14″ >  /sys/class/gpio/export
chmod 777 -R /sys/class/gpio/gpio14
echo “out” > /sys/class/gpio/gpio14/direction
echo "1" > /sys/class/gpio/gpio14/active_low

# Pin GPIO8 (IN)
echo “8″  >  /sys/class/gpio/export
chmod 777 -R /sys/class/gpio/gpio8
echo “in” >  /sys/class/gpio/gpio8/direction

On accède ici aux propriétés direction, edge,active_low, et value (pratique en lecture)

La directive active_low permet de changer l’état du signal.

Si active_low est passée à 1 et  value=1 on est à LOW alors que en l’atat « normal » on serait à HIGH.

 

Le fichier /etc/rc.local

Toutes ces commandes peuvent être placées dans le /etc/rc.local pour assurer un démarrage lors du boot du Raspberry.

Il suffit juste d’éditer le fichier en question et d’y recopier vos instructions.

 ➡ Toutefois le fichier rc.local est lu et executé APRES le lancement du fichier domoticz.sh , ordre alphabétique oblige ( cf /etc/rc2.d pour vous en convaincre : S03Domoticz.sh et S04rc.local)

Donc on supprime domoticz.sh du lancement automatique et on le rajoute ici

sudo update-rc.d -f domoticz.sh remove

Puis il faut lancer domoticz.sh dans ce fichier rc.local

Donc par exemple, mon  rc.local que j’édite par un

sudo nano /etc/rc.local

Puis à la fin du fichier ET AVANT le  ‘exit 0’ on place ses commandes.

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
 
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi
/usr/local/bin/gpio export 17 out
/home/pi/domoticz/domoticz.sh
exit 0

 

Un reboot devrait confirmer que tout est correct.

IMG_9852_raspberry_pi_8_cluster_1024

Attention : Edit du mois d’octobre 2016 : Pour les versions beta Version number / build hash: 3.5841 / 77cafc4

un problème existe , le thread http://www.domoticz.com/forum/viewtopic.php?f=6&t=13979&sid=70d0e353a49921ca1c9a975886925b78 du forum anglais donne la correction en imposera de recompiler Domoticz en attendant une solution native au soft.

 

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Domoticz, Raspberry et ImperiHome en français

Cet article est obsolète, veuillez consulter sa mise à jour ici

https://easydomoticz.com/?p=1723 

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Video surveillance a base de raspberry pi et motion

 

Installation d’un système de videosurveillance à base de raspberry pi et  motion

 

J’ai décidé d’utiliser mon raspberry pour faire de la vidéo surveillance de ma maison en mon absence.

L’objectif est de pouvoir faire de la surveillance temps réel mais également lors de la détection de mouvements d’envoyer une alerte via twitter ou par e-mail et generer une vidéo.

Que faut ‘il  ? :

  1. Un raspberry
  2. Une carte SD
  3. une Webcam à la norme UCVIDEO de préférence pour eviter les problèmes de compatibilité.
  4. un accés à internet pour le raspberry
  5. un routeur configurable pour de la redirection de port/adresse

Comment fait on ? :

Phase 1 : Installation

installer une debian sur la sd du raspbery : de nombreux tuto sont dispo sur le net

installer motion (sudo apt-get install motion)

installer wput pour nous permettre d’envoyer la vidéo ou les images  par ftp

donner une ip fixe au raspeberry http://www.pihomeserver.fr/2013/05/24/raspberry-pi-home-server-donner-une-ip-statique-a-votre-machine/

comme j’ai décidé d’envoyer des tweets lors de la détection de mouvement  j’ai  installé le script ttytter pour faire ca en ligne de commande depuis motion.conf

installer ttytter http://www.floodgap.com/software/ttytter/ puis suivre les instructions de configuration

l’envoi de mail via exim (http://www.sbprojects.com/projects/raspberrypi/exim4.php)

connecter la webcam

Phase 2 : le paramètrage

Le fichier de config est motion.conf dans /etc/motion

lancer motion à la main (/etc/motion) et vérifier que tout se passe bien dans cet écran:2014-09-05 21_22_52

pas d’erreurs : on continue.

Sinon corrigez. Pour moi par exemple je ne pouvais pas dépasser 320×240 même si dans motion.conf je précisais 640×480 il m’a suffi de changer le mode V412 pour accéder à du 640×480 avec ma webcam hercules Twist

D’un autre coté si ces images doivent être consultées depuis un smartphone sans connexion 3G cela ne sert a rien de faire des images en 640×480

Phase 3 : les réglages

les images générées par motion sont accessibles via un navigateur : pour cela plusieurs chose à vérifier :

le port utilisé par motion pour la diffusion des images : 8081 par défaut (webcam_port 8081)

le paramétrage autorisant l’accès à distance : webcam_localhost on à passer à off

demander une identification lors de l’arrivée sur cette page :  control_authentication username:password

la qualité des jpg en % à été passée à 80 %  (webcam_quality 80)

donc sur un autre PC en tapant ipdemonraspberry:8081
Lire la suite

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/