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

sudo udevadm info --query=all --name=ttyUSB0

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

sudo udevadm info --query=all --name=ttyUSB1

me donne

P: /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/ttyUSB1/tty/ttyUSB1
N: ttyUSB1
S: serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
S: serial/by-path/platform-bcm2708_usb-usb-0:1.3:1.0-port0
E: DEVLINKS=/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 /dev/serial/by-path/platform-bcm2708_usb-usb-0:1.3:1.0-port0
E: DEVNAME=/dev/ttyUSB1
E: DEVPATH=/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/ttyUSB1/tty/ttyUSB1
E: ID_BUS=usb
E: ID_MODEL=CP2102_USB_to_UART_Bridge_Controller
E: ID_MODEL_ENC=CP2102x20USBx20tox20UARTx20Bridgex20Controller
E: ID_MODEL_FROM_DATABASE=CP210x UART Bridge / myAVR mySmartUSB light
E: ID_MODEL_ID=ea60
E: ID_PATH=platform-bcm2708_usb-usb-0:1.3:1.0
E: ID_PATH_TAG=platform-bcm2708_usb-usb-0_1_3_1_0
E: ID_REVISION=0100
E: ID_SERIAL=Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001
E: ID_SERIAL_SHORT=0001
E: ID_TYPE=generic
E: ID_USB_DRIVER=cp210x
E: ID_USB_INTERFACES=:ff0000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Silicon_Labs
E: ID_VENDOR_ENC=Siliconx20Labs
E: ID_VENDOR_FROM_DATABASE=Cygnal Integrated Products, Inc.
E: ID_VENDOR_ID=10c4
E: MAJOR=188
E: MINOR=1
E: SUBSYSTEM=tty
E: UDEV_LOG=3
E: USEC_INITIALIZED=139369208365

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

sudo lsusb -v | more

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

  • idVendor
  • idProduct
  • iSerial (éventuellement)
idVendor 0x10c4 Cygnal Integrated Products, Inc.
idProduct 0xea60 CP210x UART Bridge / myAVR mySmartUSB light

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

sudo nano /etc/udev/rules.d/99-usb-serial.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="ttyUSB11" 
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="ef1c", SYMLINK+="ttyUSB15"

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 !

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

Domoticz, Arduino : MySensors.org Partie 3 : Un sensor

Dans les épisodes précédents nous avions détaillé le principe de fonctionnement de MySensors.org, vu comment intégrer une passerelle MySensors à notre Domoticz, il nous reste à expliquer l’intégration d’un capteur MySensor.

Cette partie sera plus légère car je ne vais pas détailler ici tous les montages à base d’Arduino possibles. Je prendrai plusieurs exemples.

Le site de MySensors.org nous facilite l’intégration de nos capteurs au sein de nodes MySensors car sur la page du capteur on a à la fois le schéma de câblage, le code MySensor qui correspond et la boutique pour faire nos achats de capteurs (E-bay ou Ali-express).

Ainsi je je veux intégrer un capteur de gaz ou d’alcool : :mrgreen: , la page http://www.mysensors.org/build/gas me fournit tout ce qui est nécessaire.

Il faudra aussi bien entendu un module radio NRF24L câblé correctement à notre sensor Arduino. Le montage est le même que celui de la passerelle.

On peut directement téléverser le code Arduino MySensors dans notre propre Arduino depuis cette page en n’oubliant pas d’installer les librairies Mysensors auparavant, mais si vous avez suivi la progression dans l’ordre, vous avez fait cette étape lors de la mise en place de la passerelle. https://easydomoticz.com/domoticz-arduino-mysensors-org-partie-2-la-passerelle/

Respectez les schémas de câblage donnés ou pensez à changer, dans le sketch,  les numéro de pin que vous utilisez.

Si vous avez installé les bibliothèques MySensors sur votre PC, le menu des Exemples (Fichiers/Exemples) contient tous les sketches Arduino-MySensors.org

arduino_mysensors_libLire la suite

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

Domoticz, Arduino : MySensors.org Partie 2 : la passerelle

L’article précédent nous à permis de voir le principe de fonctionnement du réseau MySensors.org à base d’Arduinii (un Arduino des Arduinii) avec leurs capteurs, leur passerelle.

Édition du 22/11/2015 pour ajouts paramétrages Gateway dans Domoticz.

network

Voyons ici la mise en place de la passerelle (GW) Arduino⇒Domoticz.

Dans ce qui suit j’utiliserai les symboles S pour les Sensors, GW pour la passerelle pour rester cohérent avec le schéma ci-dessus.

 

1 – Les composants nécessaires :

La passerelle Arduino.

Je vais prendre exemple de la réalisation d’une gateway USB vers Domoticz, sachez qu’un lien Ethernet est possible également avec Domoticz.

Pour la passerelle :

  • un arduino

250px-Arduino_Diecimila

  • un cable USB A/B

USBAB

  • un module radio NRF24L

radio

  • 6 câbles pour relier le module radio à l’Arduino

 

assortiment-de-100-straps-mf

Câblage  du module radio

Lire la suite

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

Domoticz, Raspberry et Arduino sont dans un bateau : MySensors.org Partie 1

Depuis quelques versions de Domoticz (2252), le protocole MySensors.org est intégré dans Domoticz. Super !! diront certains, explications pour les autres.

MySensors.org : Le concept.

MySensors.org est un projet open source piloté par 6 barbus, leur idée de base est de permettre de créer facilement des objets connectés, de pouvoir moduler et assembler ces objets entre eux, d’avoir de nombreux capteurs et d’avoir des coûts les plus bas possibles.

Avec ce cahier des charges le noyau central était tout trouvé : Arduino.

250px-Arduino_Diecimila

Pour les débutants , l’Arduino est une petite carte électronique programmable sur laquelle on peut connecter des capteurs, des moteurs pas à pas, et bien plus et ainsi permettre de découvrir l’électronique. Bien entendu Arduino est une plateforme de choix pour la domotique.

L’avantage de l’Arduino est double :

font que c’est un point d’entrée incontournable.

Partant d’Arduino, l’équipe de MySensors à bâti une architecture sans fil (radio) permettant de relier plusieurs Arduino (Arduinii ?) entre eux, d’échanger des données, de se relier à une passerelle mysensors puis au final à Domoticz.

L’architecture est la suivante :

Des Sensors (S), capteurs en français qui sont des Arduino équipés du capteur qui va bien, température, humidité, lumière, taux d’alcool, pH …Ce sont les Sensors qui effectuent les mesures.

Des répéteurs (R) utilisés pour couvrir de grandes distances (20-60 m en champ ouvert) qui ne servent qu’à retransmettre le signal d’un capteur trop éloigné à la passerelle.

Une et une seule passerelle Gateway (GW) qui collecte tous les signaux radio issus des Sensors ou Répéteurs et la retransmet soit par USB ou par Ethernet à un système tel que Domoticz nommé contrôleur qui pilote, gère, stocke les données et constitue l’intelligence du système.

Le schéma est donc le suivant :

network

Lire la suite

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

Préserver la carte SD ;Episode II, booter sur USB

episode2L’épisode II reprend quelque part après le premier de la serie.

Nous y avions vu comment limiter les écritures pour économiser la carte SD.

Dans ce nouvel opus, voyons comment passer une étape de plus en bootant sur une clé USB et en y déportant tout le système.

Pour être exact il y a une séquence de boot qui DOIT se dérouler sur la carte SD, c’est comme cela par construction du Raspberry, puis ensuite le raspberry monte une partition nommée root fs Linux et utilise les informations de ce root fs.

Un root fs contient applications, fichiers spéciaux d’accès aux périphériques, les fichiers de configuration, les données… C’est root fs qui fait tout le boulot sous Linux.

C’est donc lui que nous allons déplacer sur l’USB pour économiser notre μSD

Lire la suite

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