Les DHT 11, 22, Raspberry ça marche enfin !

Aaahhh, le Raspberry et les DHT de tout type viennent de faire un grand pas car Adafruit met à notre disposition une bibliothèque destinée à faire les acquisitions depuis les DHT11, 22, 2302 QUI FONCTIONNE.

Si, si je vous jure !

un autre article mentionnait ici l’installation et les problèmes liés à l’acquisition des données, c’est du passé.

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

Un DHT 111

Câblage

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

Un lecteur (cj) fait remarquer que :

D’après les spécifications fabriquant, le DHT22 accepte une alimentation comprise entre 3.3V et 6V. Les DHT11 et AM2302 acceptent quant à eux une alimentation comprise entre 3.3 et 5.5V. On peut donc sans problème brancher ces composants sur le 5V d’un RPi (ce que j’ai d’ailleurs fait avec mon AM2302 pour éviter les interférences créées par sa mauvaise cohabitation avec un DS18B20 connecté sur le 3.3V en 1-wire).

Entre 1 et 2 une résistance 4.7K Ohm-10 K, si ça marche pas avec 4.7K , passez à une 10k.

Attention vérifiez la répartition des pins GPIO suivant votre modèle de Raspberry.

Un tuto en anglais de chez Adafruit : https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/wiring

Software

Les outils Adafruit ont été déplacés sur github et consistent maintenant en une librairie C que nous devrons utiliser dans un script python.

Récupérons les sources et compilons la bibliothèque DHT.

Une fois terminé et pour tester cela, on exécute la commande suivante (pour un  DHT11) , un DHT 22 sera interrogé par Adafruit_DHT 22 XX, XX étant le numéro du GPIO concerné.

J’indique au plus têtus d’entre vous que le sudo EST OBLIGATOIRE pour accéder aux GPIO du Raspi.
Attention : le message d’erreur ci-dessous indique que le mode « device-tree » n’est pas activé sur le Raspberry.

Tapez sudo raspi-config puis dans le point 8 « Advanced Options », faites un « Enable Device Tree » et rebootez.
Vérifiez que tout fonctionne avec :

Le 11 étant le type de DHT que vous avez (11 ,22 ou 2302) et 4 le numéro du GPIO que vous avez câblé.

OK tout est bon on a température et humidité, on passe à la suite.

Attention : Le DHT11 et le  DHT22 ne répondent que 1 fois par seconde, inutile donc de les interroger plus rapidement.

Domoticz

On  va dans l’onglet « Matèriel » pour créer un virtual device puis dans ce virtual device.

On ajoute un virtual sensor Temp+Humidité ,

2014-09-05 19_01_10-Domoticz

Maintenant on revient dans  « Réglages/Dispositifs », on clique sur la flèche verte pour l’ajouter puis on on note l’ IDX Domoticz (44) dans mon cas

2014-09-05 19_03_06-DomoticzLire la suite

Notifications Radio

La lecture d’un article de Korben http://korben.info/fabriquer-emetteur-fm-pirate-avec-raspberry-pi.html  et le tuto associé http://www.framboise314.fr/le-raspberry-pi-comme-emetteur-fm-experimental/  m’avaient donné l’idée de faire quelque chose entre Domoticz et la bande FM.

Les nouveaux Raspberry (B+/Pi2) ne supportent plus de cette façon cette technique.

Plus qu’un tuto détaillé , c’est juste l’idée que je voulais présenter aujourd’hui pour le fun.

Évidement  cette émission (qui risque de perturber les récepteurs voisins et d’empêcher les auditeurs du voisinage d’écouter leur station préférée) ne pourra être que de très courte durée et uniquement pour tester cette possibilité offerte par notre framboise314. Les normes d’émission dans la bande FM et la réglementation sont très strictes et il faut absolument éviter de vous mettre hors la loi. Les fréquences sont définies par le CSA et la bande FM est quasiment saturée. Lisez cet article de loi avant de vous lancer… (Merci Framboise314)

Et pour peu que vous ayez le GPIO 4 de disponible, et une fois appliqué le tuto en question c’est un jeu d’enfant de déclencher un

en fonction d’un état de Domoticz via Lua, bash …

Même si la portée n’est pas très grande , cela permet de diffuser quelque chose, jusqu’au fond du jardin

Les périphériques USB, les Raspberry et Domoticz

Question récurrente du débutant sur Raspberry et Domoticz, la déclaration et l’utilisation des ports USB sur le Raspberry et leur utilisation au sein de Domoticz.

Car, un peu comme dans Windows, les ports USB affectés à un USB peuvent changer ou tout du moins on aime bien savoir que le rfxcom est USB10 et le z-wave USB11, voyons donc cette méthode dite des « persistent USB »

L’article d’origine ici https://www.domoticz.com/wiki/PersistentUSBDevices

L’exemple ci dessous est celui de la connexion d’ un stick Z-Wave Aeon Labs Serie 2

z-stick z-wave

z-stick z-wave

Installation

Je ne vais pas réinventer la roue, mais passer en revue les trucs incontournables pour la mise en place.

J’ai déjà un module Rfxcom sur le USB, on peut le constater avec un

qui affiche plein d’infos et entre autre une ligne ID_VENDOR=RFXCOM dont on se servira par la suite, ou toute autre ligne qui ne se répète qu’une fois sur tous vos USB pourra servir (ID_SERIAL_SHORT est pas mal aussi).

Estimant que le Z-stick devrait être en USB1,  un

me donne

En effet la ligne ID_Vendor_Enc affiche Silicons Labs, c’est donc bien le Z-Stick AEON qui est sur USB1.

Fixons définitivement cette affectation dans le Raspberry  sur un port USB de notre choix: USB11 par exemple.

ATTENTION :

Il est déconseillé de garder USB01,USB02 dans Domoticz à cause des zéros préliminaires et il faut préférer des notations à 2 chiffres sans 0 préliminaires 10,11…(c.f. le wiki de Domoticz (http://www.domoticz.com/wiki/PersistentUSBDevices)

Je nommerai USB11 mon stick Z-Wave.

On fait un

Notez ou copiez les lignes, (avancez par appui sur la touche espace) et trouvez

  • idVendor
  • idProduct
  • iSerial (éventuellement)

Ici j’ai  idVendor=10c4 et IdProduct=ea60

Pour cela installons des USB persistants et afin d’éviter que les ports USB changent à chaque fois (comme dans Windows) , on fixe dans un fichier les liens entre le nom du périphérique et le port USB que l’on veut toujours utiliser.

On configure  donc  le fichier /etc/udev/rules.d/99-usb-serial.rules

On reconnait les ID_VENDOR notés plus haut.

Un reboot.

Paramétrage Domoticz

Repassez dans la config Domoticz à « Configuration/Matériel »

Ajoutez un matériel Open-Zwave-USB et affectez le selon votre config du fichier 99-usb-serial.rules

Config_usb_Domoticz

Config_usb_Domoticz

Idem pour le RfxCom à lier au USB10

Et voila, maintenant vous devez avoir un périphérique USB définitivement lié à votre Domoticz, elle est pas belle la vie !

Bluetooth, Squeezelite, Max2play, Picoreplayer : la config des platines Squeezebox pour du Bluetooth

Dans ma mise en place de squeezeplayers à base de Raspberry

multiroom

J’avais déjà installé un Logitech Media Serverlogo_lms sur une distrib Max2play  (LMS dont j’ai marré la mise en place ici)

lms_config

Le but étant aussi de pouvoir faire jouer un MP3 en fonction des événements gérés par Domoticz (présence/absence/messages divers) sur ce player ou un autre de la maison.

J’ai ajouté à chacun de mes players (platines Squeezebox) une paire d’enceinte Bluetooth et une clé USB Orico BT 2.0.

J’ai raconté en détail l’installation de Bluetooth sur un Rapsberry. Ce petit article servira à détailler le support de Bluetooth dans  trois types de platines

Rappel

Nous avions défini dans l’article précédent que les enceintes Bluetooth étaient connues sous le nom de « enceintes »

Voyons ici comment paramétrer nos platines pour utiliser  cette sortie ‘ »enceintes »

Paramétrage de l’interface Max2play

Dans la partie Lecteur Audio , les options avancées

max2play1

max2play2

permettent d’ajouter l’option -o nom_de_notre_periphérique, -o enceintes dans mon cas.

On sauvegarde

Le squeezelite se relance

et donc maintenant, grâce à l’option -o, ce player est capable de jouer sur le périphérique « enceintes »

Allons dans le logitech media server sur mon autre Raspberry , puis un petit play lancé sur le player nommé max2play

max2play3

nous fait bien sortir le son sur nos enceintes bluetooth.

Paramétrage via l’interface Picoreplayer

Dans la partie « Squeezelite Settings » , on peut changer le nom de cette platine (le nom affiché dans LMS), mais surtout mettre un -o enceintes dans le champ « Output Settings »

picoreplayer

Paramétrage d’une Squeezelite

L’excellent article http://www.gerrelt.nl/RaspberryPi/wordpress/tutorial-installing-squeezelite-player-on-raspbian/ nous

donne les instructions pour l’installation d’une Squeezelite sur une Raspbian.

Comme nos sorties se nomment « enceintes » un

permettent de rendre visible le player et d’utiliser la sortie Bluetooth.

Le fichier de configuration de squeezelite est éditable par

 

On y trouve le nom de la platine, et le mode

 

Décommentez la ligne SL_NAME et placez y le nom voulu de votre platine et dans le SL_SOUNCARD affectez « enceintes »

Suivez les instructions du site ci-dessus pour placer tout ceci au démarrage du Pi et pour pouvoir lancer/arrêter le squeezeplayer par des start/stop.

affiche

et c’est gagné.

Conclusion

Voila Résultat de recherche d'images pour "c'est gagne"Résultat de recherche d'images pour "c'est gagne"

 

 Au bout de ces deux articles consécutifs nous avons vu comment ajouter du Bluetooth à nos Raspberry, configurer des platines pour utiliser ces connexions Bluetooth.
La prochaine fois nous verrons (enfin !) comment utiliser Domoticz en liaison avec nos platines

 

 

Mise en place de Bluetooth pour Raspberry

Dans ma mise en place de squeezeplayers à base de Raspberry

multiroom

j’ai souhaité connecter des enceintes Bluetooth (et non pas câblées) à un de mes Raspberry player, voici le détail de mes aventures dans le domaine.

J’avais déjà installé un Logitech Media Serverlogo_lms sur une distrib Max2play  (LMS dont j’ai marré la mise en place ici)

lms_config

Le but étant aussi de pouvoir faire jouer un MP3 en fonction des événements gérés par Domoticz (présence/absence/messages divers) sur ce player ou un autre de la maison.

Après avoir pas mal cherché et galéré pour ajouter du Bluetooth sur mon raspberry, j’ai trouvé cet article sur le wiki officiel de Domoticz 😯 (pff pourtant j’ai cherché partout sur le web) qui m’a servi de base.

Cet article ne se veut pas exhaustif , il s’agit davantage d’un mémo pour mes prochaines installations que un tour d’horizon complet du Bluetooth sur un Raspberry.

Mais en espérant que d’autres y trouveront leur bonheur, voici donc une traduction libre et adaptée à mes besoins de l’article initial.

<culture>

Savez vous que le nom Bluetooth vient du roi Harald du Danemark grand consommateur de myrtilles il avait les dents bleues. C’est sous son règne que les régions du Danemark ont été unifiées au même titre que le protocole Bluetooth unifie les communication entre périphériques. Et oui !!

</culture>

Cette manip est faite sur une distrib max2play destinée aux squeezebox sur  laquelle on se connecte directement en root et donc il n’y a pas besoin de sudo.

Configuration Bluetooth

Installer les paquets bluetooth, droits et configuration.

Commencez par faire une mise à jour par des

Avant d’insérer votre clé USB Bluetooth faites un

Observez les lignes affichées, insérez votre clé Bluetooth puis refaites un

Cela vous donnera les identifiants de la clé du type

  • Installons les paquets

On installe aussi les pilotes Bluetooth d’imprimantes, si le cœur vous en dit vous pourrez imprimer depuis Domoticz sur votre imprimante BT !

  • Adaptons quelques droits

N.B. Il est possible que le sudo devant usermod ne soit pas obligatoire.

  • Editez le fichier de configuration bluetooth audio

Dans la section [General] modifier l’original :

par celui ci :

rebootez le pi.

Appairage et liaisons des équipements Bluetooth

  • Montons la clé USB

  • Passez vos éléments bluetooth en mode appairage en appuyant le le bouton dédié.

puis

renvoie les mac-adresses de mes 2 enceintes DS-1178 (00:52:5B:13:A0:00 et 00:02:5B:13:01:16)

  • Effectuons l’appairage par un

Explications : on lance le programme bluetooth-agent sur l’adaptateur bluetooth hci0 (celui pour lequel nous avons fait un up plus haut) puis on passe le code 0000 aux enceintes en tant que pincode et enfin on donne l’adresse d’une des deux enceintes

  • Ajout dans le mode trusted

me renvoie une erreur

  • il manque une libraire python

on refait

on vérifie que ça fonctionne par un

qui renvoie le chiffre 1 si tout est correct.

Puis enfin un

les enceintes bippent, elles sont liées.

Continuons

Je décide de nommer les 2 hauts parleurs « enceintes » dans ce qui suit.

Dans le fichier etc/asound.conf  (créez le si il n’existe pas) ajouter à la fin un bloc et nommons le matériel bluetooth

un petit aplay -L affiche

Bien, elles sont présentes !

un aplay  -D enceintes test.wav et on a du son !!

Si cela ne marche pas , rebootez