raspberry et DHT11

Cet article est ABSOLUMENT, COMPLETEMENT PERIME, OBSOLETE, HS.

NE L’UTILISEZ PAS,

je le conserve par attachement sentimental.

Un nouveau tuto est ici https://easydomoticz.com/?p=3824 qui utilise un nouvelle bibliothèque Adafruit fonctionnelle.

Alors ouste !


Voyons ici comment connecter un capteur de température et de % d’humidité DHT11 à notre Raspberry. la procédure est identique pour un DHT22.

  • Mon expérience de la lecture, des plus délicates de ce composant avec un Raspberry, me fait vous conseiller de ne pas utiliser ce composant avec votre Raspberry, tournez vous vers des Ds18b20 de Dallas pour la température ou alors installez un Arduino dédié au DHT11 car  la lecture y fonctionne bien mieux.
  • We noticed that both examples has a chance to lose data. This is because Raspberry Pi is not running at a real-time system, the delay in the program is not accurate enough, and sometimes that leads to a failure of transmission. Because C is a lower level language, it controls the GPIO pin in a more direct way, so the example in C has less chance to fail.As a work around, we can run the program for several times can pick the correct result.  This should also be possible to be done programmatically.
  • En français : Notons que les deux exemples ont des chances de perdre des données. C’est parce que le Raspberry n’a pas de système temps réel, les délais dans les programmes ne sont pas assez précis, ce qui provoque des incidents de transmission. Parce que le C est un langage de plus bas niveau et contrôle les GPIO de façon plus directe, le programme C aura moins de change d’échouer.
  • En solution de contournement nous pouvons lancer ce programme plusieurs fois en espérant avoir un résultat correct.

Vous voyez donc que la lecture des DHT n’est pas, loin s’en faut, facile et reproductible.

L’exemple de script shell ci dessous tente de contourner les problèmes de lecture en interrogeant plusieurs fois le DHT jusqu’a obtenir un résultat de température. Cette méthode surcharge le Raspbery, parfois jusqu’a saturation du CPU.

Ces précautions étant prises et pour les téméraires, voici l’explication de la mise en place.

Merci de ne pas utiliser les commentaires pour dire « Ca marche pas, ça marche pas bien » , vous êtes prévenus.

Un DHT 111

 

Connexion d’un DHT11 au raspberry

    Câblage

  • 1 du DHT au 3.3 V,
  • 2 du DHT au gpio que vous voulez,
  • 3 rien,
  • 4 GND

Entre 1 et 2 une résistance 4.7K Ohm-10 K

300px-RaspberryPiDHT11

http://www.wurst-wasser.net/wiki/index.php/RaspberryPi_Humidity_and_Temperature_Sensor

Lire la suite

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

Raspberry et Teleinfo, la partie Domoticz

Suite a l’article précédent voici le 2eme  chapitre  consacré à la récupération des infos dans Domoticz.

Chapitre 2 : Teleinfo et Domoticz

On a vu dans le chapitre précedent que le GPIO etait relié au ttyAMA0 et que on avait fait un lien vers un /dev/ttyUSB20 par un  sudo ln -s /dev/ttyAMA0 /dev/ttyUSB20

Dans Domoticz , ajouter un matériel , dans la liste déroulante choisir « TELEINFO EDF USB » puis le /dev/ttyUSB20

 

Il apparait alors dans « Configuration » « Periphériques »  sous le nom P1 smart Meter – Energy

 

Cliquez sur la flèche verte tout au bout à droite  pour l’ajouter et lui donner un nom

Voila ce compsant apparait dans l’onglet « Mesures »

 

A partir de la on peut avec « Log » faire de joli graphiques 2014-09-05 21_40_07Attention : La version Stable 1860 comporte des bugs d’affichage des courbes, des infos affichées …. Pour corriger cela , passez en version Beta comme expliqué ici , cela devrait ensuite se résoudre.

 

 

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

Raspberry et Teleinfo

Dans ce chapitre en 2 parties nous verrons comment récupérer les données de teleinfo transmises par le compteurs EDF sur un raspberry puis l’affichage dans Domoticz

Chapitre 1 : Le Hard et le Raspberry

  • il faut un optocoupleur SFH6206, des résistances 1.2K et 47 K
  • Un câble que l’on reliera aux bornes I1 et I2 du compteur, la longueur n’a pas d’importance car on porte à plus de 30 m sans problèmes

le schéma suivant montre le câblage à effectuer

Pour info le raspberry et son brochage, le coté gauche est 1,3,5,7 … le coté droit 2.4.6…

Donc 3.3 Power, GND et GPIO 15 (RXD)

http://elinux.org/images/2/2a/GPIOs.png

Câblage du compteur EDF.

Il n’y a pas de sens à respecter pour cette connexion.

Démontez le capot en bas du compteur.

compteurelec

Dévissez les 2 vis en dessous de ces 2 trous insérez y vos câbles.

Câblez le coté Raspberry 3.3,GND, et le GPIO 15

Le soft coté  Raspberry

  • Modification du fichier « cmdline.txt »

sudo nano /boot/cmdline.txt

remplacer la ligne :
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
par :
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

en d’autre termes supprimer :
console=ttyAMA0,115200 kgdboc=ttyAMA0,115200

puis

  • Modification du fichier « inittab »

sudo nano /etc/inittab
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
devient :
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

(il y a un # devant la ligne)

un petit sudo reboot

au redemarrage
sudo stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts
sudo cat /dev/ttyAMA0

doit afficher les messages du compteur :

OPTARIF HC.. <

ISOUSC 45 ?

HCHC 021475341 !

HCHP 019306374 4

PTEC HP..

IINST 004 [

IMAX 048 
KPAPP 00940

ATTENTION !! Vérifiez bien que vous voyez passer le terme MODETAT , si vous ne le voyez pas essayez avec

stty -F /dev/ttyAMA0 1200 sane parenb -parodd cs7 -isig -icrnl -crtscts -icanon

si ok on fait un lien entre le tty et USB20

sudo ln -s /dev/ttyAMA0 /dev/ttyUSB20

N.B pour conserver le lien à chaque reboot

un sudo /etc/rc.local puis en bas ajoutez la ligne spécifique pour la création du lien, avant le exit 0

#!/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
sudo ln -s /dev/ttyAMA0 /dev/ttyUSB20
exit 0

et voila

Merci à http://www.chaleurterre.com/forum/viewtopic.php?t=15153

et a http://www.domoticz.com/forum/viewtopic.php?f=5&t=627&hilit=teleinfo&start=20

 

 

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

Projet Domotique

J’ai commandé chez domadoo un pack d’équipements divers permettant de plonger dans la domotique

Il y a un emetteur/recepteurs 433 Mhz RFXcom , 3 modules pour volets roulants, 1 douille pour lampe et un interrupteur sans fils

L’idée est de piloter les volets roulants, la lampe pour faire une simulation de présence, mais aussi ouvrir/fermer les volets depuis mon canapé.

En attendant de recevoir la commande de matériel j’ai installé sur un PC une debian et domoticz qui sont compatibles avec le rfxcomm et me semble très ouvert puisque pilotable par json, lua ..

Le soft existe pour Windows,Linux, une image raspberry PI est dispo

Des applications Android existent pour piloter l’ensemble.

L’installation est très bien documentée et très précise sur le site , bien que en anglais. http://www.domoticz.com/wiki/Install.txt

J’ai choisi l’install sur ma debian du raspberry

Quelques sudo apt-get install et svn checkout et compilation du bazar , 30 minutes après on a un domoticz en état, on le démarre via init.d

En utilisant l’ip de ma debian sur le port par défaut de domoticz 8080, l’interface se lance

Le premier aspect est plutôt agréable même si pas transcendant.

La suite pour le hard un peu plus tard

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/