Quantcast
Channel: MaMaquette
Viewing all 610 articles
Browse latest View live

Nouvelle catégorie entraide sur le forum pour vos projets DIY

$
0
0
entraide forum projets diy

Vous êtes de plus en plus nombreux à solliciter directement mon aide pour vos projets ou résoudre des problèmes techniques particuliers. Je désespère car je n’ai malheureusement pas assez de temps pour répondre à toutes vos demandes :frowning:

Le plus souvent vous êtes étudiants et vous avez besoin d’un coup de main urgent pour un projet de fin d’étude.

Heureusement, vous êtes aussi de plus en plus nombreux à utiliser le forum pour échanger et participer à la réalisation de projets DIY en commun :muscle:

Je viens de créer une nouvelle catégorie “Entraide Projets DIY” sur le forum pour vous permettre d’échanger plus facilement avec d’autres Makers.

Vous pouvez également utiliser la catégorie “Boîte à Idées” pour soumettre de vos idées et vos reflexions sur de nouvelles réalisations.

Bonnes pratiques à suivre pour publier un projet sur le forum

Pour être efficace et vous aider à trouver la solution, je vous propose de suivre ses bonnes pratiques :

  • Vérifiez que le problème n’a pas déjà été posé ou résolu. C’est une évidence, mais c’est mieux de le dire. Vous gagnerez du temps :slight_smile:
  • Donnez un titre et décrivez votre projet. Internet est vaste. D’autres personnes rencontrent peut être le même problème… et cherchent certainement la même solution que vous. Plus la description sera précise, plus vous aurez la chance de rencontrer un autre Maker qui partage le même centre d’intérêt.
  • Donnez le plus de détails techniques possibles :
    • Plateforme utilisée : Arduino, ESP8266, ESP32, ATTiny, autre microchip, Raspberry Pi ou autre mini-PC…
    • Capteurs et actionneurs employés. Indiquez la (les) référence(s). Il n’est pas rare qu’une librairie ou un driver existe déjà, ce qui simplifie considérablement le travail
    • Languages (imposés ou préféré) : C++, micropython, python, javascript, C#…
    • Publiez* du code, schémas (même à la main ou avec Fritzing), photos en indiquant ce qui pose problème même si le code n’est pas “propre”. Personne n’est là pour juger. C’est aussi ça l’esprit Maker. On est tous là pour apprendre et progresser ensemble.
  • Respecter les idées des autres. Ce qui compte avant tout c’est d’atteindre l’objectif. Toutes les solutions sont bonnes. On fera mieux la prochaine fois !

(*) Ne publiez que les éléments dont vous êtes l’auteur et uniquement si vous en avez le droit. N’oubliez pas de supprimer toutes les données personnelles et identifiants (identifiant de connexion à un réseau WiFi, mot de passe à votre serveur domotique, adresse IP personnelle…).

Je prend un moment chaque semaine pour parcourir le forum et mettre mon grain de sel dès que j’ai une idée 🙂

En ce moment sur le forum

Plusieurs sujets sont actifs sur le forum en ce moment. Pourquoi ne pas y participer aussi :

 

J’en profite enfin pour vous remercier pour tous vos encouragements et vos messages de soutien. Sans vous, le blog ne serait pas ce qu’il est aujourd’hui !

L’article Nouvelle catégorie entraide sur le forum pour vos projets DIY est apparu en premier sur Domotique et objets connectés à faire soi-même.


Armbian, distribution linux ultime pour cartes de développement ARM (pour ceux qui n’aiment pas la framboise !)

$
0
0
armbian wip suitable testing

En quelques années, Armbian est devenu la distribution Linux incontournable pour les cartes de développement à base de SoC ARM. Même si le Raspberry Pi 3 reste la star incontournable des mini-PC, il y existe beaucoup d’autres alternatives. Orange Pi, Nano Pi de Friendly ARM, Olimex, Pine64

 

Petit rappel sur Armbian

Le projet Armbian est développé par 9 développeurs principaux dont voici le profil Github Igor Pečovnik, Mikhail, Thomas Kaiser, Tony, Oleg, Miouyouyou, Gauthier Provost, Martin Ayotte, Karabek et d’autres contributeurs ponctuels.

La distribution Armbian est dédiée aux cartes de développement à base de processeur ARM (pour l’essentiel). Armbian s’occupe de préparer la distribution, de réaliser les adaptations techniques et les tests nécessaires pour certains fabricants. Le plus gros contributeur est sans doute Orange Pi.

Armbian est livré sous la forme d’une image ISO à copier sur une carte microSD (de classe 10 de préférence) à l’aide du logiciel Belana Etcher par exemple.

Il est aussi possible de fabriquer sa propre image du système, j’avais d’ailleurs écrit un tutoriel en 2017 sur le sujet (et là je prend conscience que le temps passe vite 😕 ).

Versions disponibles

Auparavant, il est possible de choisir entre la version serveur (la version minimale sans interface graphique) et la version Desktop (avec environnement graphique XFCE). Probablement pour réduire la bande passante et les coûts de fonctionnement de son site internet, il n’y a plus que la version serveur disponible. L’image du système pèse environ 250 Mo.

Il est très facile ensuite d’installer une interface graphique. Suivez ce tutoriel par exemple pour installer le bureau XFCE.

Prêt à vous lancer dans l’aventure des objets connectés, voici de quoi bien débuter !

Armbian Stretch ou Bionic ?

Armbian, tout comme Raspbian est construit sur la base de Debian, une distribution de référence Linux. Sur cette base les développeurs viennent y ajouter les librairies et les drivers pour faire fonctionner les différents matériels spécifiques à la carte : CPU, GPU, GPIO, carte réseau (WiFi, Bluetooth, 2G), support mémoire eMMC…

La version Stretch est la version stable actuelle. La version Bionic est la future version stable. Cela ne veut pas dire que rien ne fonctionne. Cela veut simplement dire que certaines librairies sont en cours de développement et qu’il peut y avoir des problèmes. Le mieux est d’installer Stretch.

Pourquoi choisir autre chose que le Raspberry Pi ?

La force de la fondation Raspberry Pi est d’avoir su créer tout un écosystème autour de sa carte de développement. Le GPIO est parfaitement supporté. On trouve des cartes d’extension et les librairies nécessaires pour faire à peu tout ce qui nous passe par la tête. Les caméras CSI sont d’excellente qualité. Bref, c’est presque un monde parfait !

Oui mais le Raspberry Pi a aussi quelques défauts :

  • Le cycle d’évolution est assez long. Pour rester à prix constant (et très bas), la fondation doit attendre que les prix des composants baissent. Donc pas d’USB 3 et pas de mémoire flash eMMC 😥
  • Les performances restent modestes. Le CPU est assez musclé pour faire fonctionner un serveur domotique mais on arrive vite aux limites pour un usage bureautique. Le Raspberry Pi risque donc de rester un bon moment cantonner à l’apprentissage et à la bidouille.
  • L’utilisation d’une carte micro SD pour faire fonctionner Raspbian est une excellente idée pour faire baisser le prix du Raspberry Pi, mais c’est aussi son talon d’Achille pour des usages intensifs. Difficile de vouloir utiliser le Raspberry Pi comme enregistreur vidéo en réseau (NVR), serveur (domotique ou autre), acquisition de données sans prendre des précautions (carte micro SD de très très bonne qualité, onduleur pour éviter toute coupure de courant, sauvegarder et / ou cloner la carte très régulièrement). Cela prive le Raspberry Pi de nombreuses applications industrielles même s’il existe quelques applications. En attendant le Raspberry Pi 4 qui sera peut être équipé d’un stockage à mémoire flash eMMC, il faudra se tourner vers le Compute Module, très difficile à se procurer.

Voilà pourquoi, dans certain cas, il est bon de sortir du verger des framboises pour aller voir ce qui se fait à coté 🙂

Trois cartes sortent du lot et totalisent le plus de téléchargement d’Armbian

asus TinkerBoard friendly arm nanopc t4 Raspberry Pi 3 Model B+ 2018
Désignation Orange Pi Zero Asus Tinkerboard / S Nanopc T4 de Friendly ARM Raspberry Pi 3 modèle B+
Budget < 15€ ~120€ ~120€ < 40€
SoC Allwinner H2+

Rockchip Quad-Core RK3288

Rockchip RK3399 BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz
GPU Mali400MP2 GPU @600MHz

Quad-Core Mali GPU 4K@30hz H.264/H.265

Mali-T864
Sortie audio via carte d’extension

RTL ALC4040 CODEC

Jack 3,5mm

Jack 3,5mm Jack 3,5mm
Microphone via carte d’extension

via prise jack

x1
eMMC 16 GB 16 GB
RAM 256/512MB

2GB DDR3

4GB LPDDR3-1866 1GB LPDDR2 SDRAM
GPIO 1 x 23-pin 1 x 40-pin 1 x 40-pin 1 x 40-pin
Debug UART Oui Oui Oui Oui
CSI (caméra) x1 x1 13MPix/s max. x1
DSI (écran tactile) x1 x1
HDMI x1 x1 x1
USB 2.0 x1 x4 x2 x4
USB 3.0 x1
PCIe x1
SATA x1
Slot microSD x1 x1 x1 x1
WiFi 802.11 b/g/n 802.11 b/g/n 802.11a/b/g/n/ac 802.11 b/g/n
Connecteur IPEX Oui Oui
Bluetooth 4.0 4.1 4.2
Ethernet 10/100 10/100/1000 10/100/1000 10/100/1000
POE x1 Via carte d’extension
Dimensions 93 x 64 x 20 mm 100 mm x 64 mm
Alimentation micro USB 5V ou POE micro USB OTG 5V – 2.5A DC 12V/2A micro USB OTG 5V – 2.5A
Page produit Lire Lire Lire Lire

Comment choisir votre carte de développement compatible Armbian ?

La plupart des autres constructeurs utilisent des processeurs ARM du fondeur chinois Allwinner ou Rockchip. La famille longue comme le bras est consultable ici. Les drivers qui seront ensuite intégrés au kernel linux sont développé par la communauté sunxi-linux.

Si vous n’avez pas encore fait le choix de votre carte de développement alternative au Raspberry Pi, vous pouvez vous aider du status de développement. La liste complète des cartes supportées se trouve ici.

Supported. Toutes les cartes supportées officiellement. Je vous conseille de rester dans cette catégorie. C’est déjà tout une aventure de sortie du sentier Raspberry Pi. Autant mettre toutes les chances de notre coté ! J’ai retiré de la liste les cartes obsolète introuvables

WIP – Suitable for testing. Ce sont pour l’essentielle de nouvelles carte en cours de test. En général c’est une nouvelle génération de carte donc à priori, Armbian devrait fonctionner et gérer la plupart des équipements.

EOS – support Ended. Cette carte est obsolète. Armbian ne sera plus mis à jour pour cette carte. Il faudra fabriquer vous même votre image !

CSC – No Official Support. Armbian fonctionne d’après les retours d’utilisateurs mais elle n’est pas supporté officiellement par l’équipe de développement.

L’article Armbian, distribution linux ultime pour cartes de développement ARM (pour ceux qui n’aiment pas la framboise !) est apparu en premier sur Domotique et objets connectés à faire soi-même.

Installer un contrôleur Z-Wave, RFLink sur un NAS QNAP pour Docker ou VM

$
0
0
nas qnap docker usb device privilege mode

Dans ce tutoriel nous allons voir comment installer les modules nécessaires pour supporter la plupart des dongles et passerelles domotiques (Z-Wave, RFlink, bluetooth, sniffer Zigbee..). Le script autorun.sh permet de recharger les modules automatiquement après un redémarrage du NAS. On pourra ainsi utiliser les ports USB du NAS pour brancher une passerelle domotique et l’utiliser sur un serveur domotique fonctionnant sur une machine virtuelle (VM) ou un container docker.

 

Les NAS disposent de plusieurs ports USB qui servent avant tout à faire de la sauvegarde ou du transfert de fichier. Gros problème, la plupart du temps, le système ne charge pas les modules au démarrage. Les passerelles restent totalement inaccessibles au serveur domotique (Jeedom, Domoticz, Home Assistant…).

Tutoriel réalisé sur un QNAP TS-251A

Les tests ont été réalisés sur un NAS QNAP TS-251A équipé d’un processeur Intel x86. La méthode devrait fonctionner sur d’autres modèles de la marque à condition qu’ils soient équipés d’un processeur Intel x86. QNAP ne semble pas avoir pris le temps de compiler les drivers pour les processeurs ARM Alpine AL-212 ou Alpine AL-314 qui équipent les modèles d’entrée de gamme (modèles : TS-x28, TS-x31P, TS-231P2, TS-x31X, TS-1635).

Configuration testée

Dernière mise à jour des prix le 9 avril 2019 19 h 12 min

Ouvrir l’accès SSH du NAS QNAP

On va devoir mettre les mains dans le moteur du NAS. Pour cela, il va nous falloir un accès SSH. Ouvrez le panneau de configuration de QTS. Dans l’onglet Services de fichier, ouvrez le panneau Telnet / SSH. Cochez l’option Permettre la connexion SSH. Laissez le port 22 par défaut.

nas qnap activate ssh

Créer un script autorun.sh pour charger les drivers au démarrage

La procédure est détaillée assez clairement sur leWiKi officiel de QNAP ici. La procédure est différente en fonction du modèle de NAS. Pour tous les NAS équipés d’un processeur Intel x86 (dont le TS-251A ou TS-251x sont équipés), voici comment faire.

On commence par monter un disque virtuel

mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config

On édite le fichier script avec l’éditeur vi standard sous Linux (l’éditeur nano n’est pas installé par défaut 😕 )

 vi /tmp/config/autorun.sh

Taper la lettre a (add) au clavier puis ajoutez les commandes en fonction du module que vous voulez charger au démarrage du système.  Je vous conseille de démarrer au moins ces 4 modules. Vous devriez pouvoir connecter la plupart des dongles Z-Wave et passerelles domotiques (RFLink à base d’Arduino, sniffer Zigbee…)

Module Exemple de matériel
insmod /usr/local/modules/ftdi_sio.ko Contrôleur Z-Wave Conbee
insmod /usr/local/modules/cdcacm.ko Contrôleur Z-Wave Aeotec AEOEZW090-C
insmod /usr/local/modules/cp210x.ko ESP8266, clones Arduino
insmod /usr/local/modules/usbserial.ko ESP8266, clones Arduino
Pour connaitre la liste des drivers disponibles sur votre NAS, exécutez cd /usr/local/modules/ puis ls.

Il ne reste plus qu’à enregistrer le script. Tapez successivement au clavier la touche ESC puis et enfin x pour sauvegarder

Pour rendre le script exécutable

chmod +x /tmp/config/autorun.sh

enfin, on démonte le disque temporaire

umount /tmp/config

Autoriser l’exécution du script au démarrage

Il faut maintenant autoriser l’exécution du script au démarrage. Pour cela, ouvrez le panneau de configuration depuis QTS. Ouvrez l’onglet Matériel et cochez l’option Exécuter les processus définis par l’utilisateur au démarrage (autorun.sh).

Cliquez sur Appliquer pour enregistrer la configuration.

nas qnap autoriser scrip autorun

Vous pouvez vérifier que le script autorun.sh a bien été modifié en cliquant sur le lien entre parenthèses.

nas qnap verifie script autorun.sh

Autoriser le Docker à accéder aux ports USB

Il ne reste plus qu’à donner un accès aux ports USB à vos containers Docker.

Remarque. Si vous n’arrivez pas à accéder aux périphériques connectés aux ports USB, c’est probablement qu’il faut démarrer le container en mode privilège. Pour cela, il faut obligatoirement cocher l’option Run containers in privileged mode avant de créer le container. Cette option n’est plus accessible une fois que le container a été créé.

nas qnap docker usb device privilege mode

Redémarrer le NAS et vérifier que tout fonctionne

Il ne rester plus qu’à redémarrer le NAS. Depuis le gestionnaire, allez dans le menu Admin puis redémarrer.

qnap nas restart menu

Connectez vous au NAS en SSH et exécutez la commande lsusb pour lister les périphériques USB connectés

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter ==> RFLink
Bus 001 Device 003: ID 0451:16a8 Texas Instruments, Inc. ==> sniffer zigbee
Bus 001 Device 002: ID 0658:0200 Sigma Designs, Inc.     ==> dongle Z-Wave
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Parfait, maintenant vérifions que les drivers sont correctement chargés ls /dev/ttyA*.

/dev/ttyACM0  /dev/ttyACM1

Astuces Docker

Si vous avez oublié un paramètre, sachez que tous les images des containers sont stockées sur le NAS.

nas qnap dockers images

Il est possible de créer un nouveau container en partant d’une image sans avoir à la re-télécharger depuis le docker hub. Pour cela, il suffit de cliquer sur le +

nas qnap container station create docker image

Je n’ai malheureusement ni les moyens ni le temps de tester l’ensemble des contrôleurs et passerelles domotique disponibles sur le marché. N’hésitez pas à partager vos expériences et conseils en utilisant les commentaires ou le forum.

L’article Installer un contrôleur Z-Wave, RFLink sur un NAS QNAP pour Docker ou VM est apparu en premier sur Domotique et objets connectés à faire soi-même.

Quel NAS choisir en 2019 ? NVR, virtualisation, docker, serveur domotique, objets connectés

$
0
0

Les fabricants de NAS ne manquent pas sur le marché (Asustor, D-link, Netgear, QNAP, Synology, TerraMaster, Western Digital…) mais seul un très petit nombre d’entre eux proposent des NAS capables d’exécuter une machine virtuelle ou un conteneur Docker (virtualisation légère qui utilise les ressources du système du NAS). Un NAS est une solution alternative si vous trouvez que le Raspberry Pi manque de puissance ou de fiabilité (surtout la carte micro SD). Le NAS est conçu pour fonctionner en permanence, il est donc beaucoup mieux adapté pour faire fonctionner un serveur domotique qu’un PC standard. 

 

Point à ne pas négliger lorsqu’on se lance dans la domotique, la consommation énergétique des accessoires et de la box domotique. Le Raspberry Pi est imbattable sur ce point. Le NAS se situe entre le Raspberry Pi et le PC. La consommation dépend évidemment de(s) l’usage(s) que l’on ferra de son NAS. Surveillance vidéo (NVR), serveur multi-média (Plex, Kodi, iTunes…), sauvegarde de fichier, concentrateur domotique (Z-Wave, RFXCom, RFink, Bluetooth, Zigbee)… Les fabricants annoncent moins de 20W pour un modèle équipé de 2 disques.

Pourquoi choisir un NAS plutôt qu’un PC ou un Raspberry Pi ?

Un NAS (Network Attached Storage) n’est rien d’autre qu’un ordinateur avec un système d’exploitation dédié. Généralement, c’est une distribution Linux adaptée par chaque fabricant pour ses besoins et ses services : réplication de données en ligne, surveillance vidéo (NVR), accélération SSD…

Si c’est un PC, alors pourquoi choisir un NAS ? Et bien pour plusieurs (bonnes) raisons :

  • Le NAS est conçu pour fonctionner en continu contrairement à un ordinateur. Alimentation électrique, composant électronique… Tout a été prévu pour un fonctionnement 24h/24 toute l’année contrairement à un ordinateur qui fonctionne quelques heures par jour.
  • Le NAS n’embarque pas de composants inutiles (la carte graphique notamment) ce qui permet de garder une enveloppe thermique basse et une consommation électrique raisonnable. Pour un NAS équipé de 2 disques dur, comptez environ 25W en usage normal et moins de 10W lorsque l’activité est faible (voir moins pour les meilleurs).
  • C’est une boîte à outil à (presque) tout faire
    • Stockage et partage de fichier
    • Sauvegarde et réplication de données (photo, documents, code source…)
    • Téléchargement et partage de fichier (torrent, url)
    • Serveur multi-média (Plex ou Kodi). Certains modèles disposent d’une sortie HDMI et d’une télécommande. Le NAS pourra prendre place à coté du téléviseur et servir de lecteur multi-média
    • Serveur domotique
    • Concentrateur de passerelles domotique. Les NAS disposent toujours d’au moins un port USB sur lequel on pourra branché* un contrôleur Z-Wave, une passerelle radio RFXCom  RFLink, un dongle Bluetooth… Lisez cet article qui explique comment faire sur un QNAP TS-251A
    • Serveur WEB
    • Développement d’objets connectés. Il est très facile de faire fonctionner une base de données (InfluxDB, MongoDB, Elastric Search), un moteur de règle (Node-RED), un dashboard (Freeboard, Dashboard Node-RED, Grafana) soit dans un container Docker, soit dans une machine virtuelle. A vous de choisir.
    • Serveur d’impression (partage d’imprimante)
    • Vidéo-surveillance

Installer un serveur domotique sur une machine virtuelle

C’est la méthode la plus simple pour installer un serveur domotique. L’installation est presque identique que sur un Raspberry Pi, un PC (Windows ou Linux) ou un Mac. La virtualisation nécessite un NAS plus musclé. Les fabricants annoncent qu’il est possible de virtualiser à partir de 2GB de RAM mais il ne faudra pas s’attendre à des performances exceptionnelles. Avec 2GB les performances globales du NAS risquent vite d’être en berne. Il est préférable d’opter pour 4GB voir 8GB.

La virtualisation est le plus souvent réservée aux architectures Intel VT-x et AMD-V.

La virtualisation consomme plus de ressources (processeur, RAM, stockage). Il faudra doser les ressources du système virtualisé (nombre de Core, RAM) afin de conserver de bonnes performances globales (NAS + Système virtualisé).

Principaux points à vérifier avant d’acheter un NAS pour de la virtualisation

  • Processeur compatible Intel VT-x ou AMD-V
  • Certains modèles de processeurs ARM 64bits supportent Docker (mais pas la virtualisation).
  • 2BG minimum extensible à 4GB ou 8GB
  • 2To de stockage au minimum pour prendre des clichés (sauvegarde, point de restauration en cas de problème après une mise à jour)

Installer un serveur domotique dans un conteneur Docker

Docker est un autre système de virtualisation qui utilise la technologie Linux LXE. Cette technologie permet de partager les ressources (matériel et système) avec un container. On fait croire à l’application, le serveur domotique en l’occurence, qu’il fonctionne sur un ordinateur normal. L’avantage c’est qu’il faut beaucoup moins de ressource matériel (la RAM notamment). C’est un peu comme démarrer un programme.

Revers de la médaille, il faut décrire le container ou trouver un container existant en espérant qu’il convienne à ses besoins. Ca devrait être le cas, il y en a déjà plus de 2 millions sur le docker hub. Concernant les logiciels domotiques, vous pouvez relire cet article qui commence à dater mais qui est toujours d’actualité.

La technologie Linux LXC a été développée pour diminuer les ressources serveurs nécessaires. Imaginez les économies (matériel, consommation d’énergies) faites par les hébergeurs internet ou les sociétés qui proposent des ressources informatiques en ligne (OVH, Google, Amazon, Microsoft, Infomaniak…).

En principe, tous les NAS équipés de processeurs Intel x86 prennent en charge la technologie LXC. Ce n’est pas toujours le cas pour les NAS équipés de processeurs ARM (dommage, ils sont souvent beaucoup moins chers).

Principaux points à vérifier avant d’acheter un NAS pour Docker

  • Tous les modèles x86 supportent Docker. Pour les NAS à base de processeur ARM, c’est au cas par cas
  • Vérifier que le firmware (en général un linux adapté par le fabricant) supporte Docker
  • Préférez les NAS avec un gestionnaire. Dans le cas contraire, il faudra tout installer et gérer en ligne de commande.
  • Fonctionne avec 1GB de RAM mais au détriment des performances. Optez pour avec NAS avec au moins 2GB de RAM et si possible avec une extension possible.
  • 2To de stockage au minimum pour prendre des clichés (sauvegarde, point de restauration en cas de problème après une mise à jour)

NAS comme concentrateur domotique, accès aux ports USB

On pourra utiliser les ports USB pour utiliser le NAS comme un concentrateur de passerelles domotiques (Z-Wave, RFXCom, RFLink, Zigbee, Bluetooth, Ethernet…). Mais il n’est pas suffisant que le NAS soit équipé de ports USB. Il faut surtout que le système dispose des drivers nécessaires. C’est souvent le cas pour les NAS équipés de processeur x86. C’est malheureusement moins évident pour les NAS équipés de processeur ARM.

Je vous conseille donc d’opter pour un NAS à architecture x86. Pour en savoir plus sur le sujet, lisez cet article.

Utiliser le NAS comme NVR (enregistreur vidéo réseau)

Autre avantage du NAS, il est parfaitement adapté à l’enregistrement vidéo de caméra de surveillance IP. En vous équipant de caméra IP (WiFi ou Ethernet POE), nul besoin d’ajouter une carte d’acquisition vidéo. La majorité des fabricants proposent un logiciel d’enregistrement vidéo.

Modèles compatibles NVR, enregistreur vidéo en réseau

Ce qui fait la force des logiciels de surveillance vidéo des fabricants de NAS, c’est la liste impressionnante de caméras compatibles. Synology revendique le support de 6900 types de caméras ONVIF 2.6. QNAP en revendique 4500. Asustor est à la traine dans ce domaine avec seulement 900 caméras.

Vous ne devriez donc pas avoir trop de mal pour configurer votre caméra. Revers de la médaille, il faudra payer une licence (un achat unique) par chaque caméra supplémentaire. Il existe des packs (4 ou 8 licences). Chaque NAS est livré avec 2 licences sauf les NAS Asustor qui sont livrés avec 4 licences.

Les licences peuvent être achetées ultérieurement en ligne

61,63€
en stock
21 nouveau de 55,46€
Amazon.fr
Livraison gratuite
194,04€
en stock
18 nouveau de 192,99€
Amazon.fr
365,29€
en stock
7 nouveau de 360,31€
Amazon.fr
Dernière mise à jour le 12 avril 2019 12 h 32 min

L’application Surveillance Station 8 de Synology se détache de celle de QNAP. En plus d’un nombre plus important de caméras supportées, une API permet de piloter Surveillance Station depuis une application tierce (une bonne idée pour la prochaine version de Homy !). Toutes les informations techniques sont disponibles ici. L’application DS Cam pour iOS et Android permet d’accéder à votre système de vidéo surveillance. Vous pouvez utiliser ce comparateur pour déterminer le modèle Synology le mieux adapté en fonction du nombre de caméra envisagé, de la durée de stockage et de la qualité d’enregistrement souhaité.

Marque Modèles
Asustor Surveillance center 2.8 (présentation) prend en charge les principaux fabricants de caméra IP (Beseye, Dahua, EDIMAX, Eminent, Foscam, GeoVision, Hikvision, Vivotek). La liste complète des caméras compatibles est ici. Un pack de 4 licences est livré avec chaque NAS.

Nombre de caméras au maximum : AS7 (x64). A61, A62 A63 et A64, (x36). A50/A51 (x30). A31/A32 (x25). AS40 (x16). AS-6 (x16). AS2-T, AS10 (x8)

D-Link Aucun modèle
Netgear ReadyNAS 102/104/2120, x8 caméras ReadyNAS 312/314/316/3130, x16 caméras ReadyNAS 516/3220, x32 caméras ReadyNAS 716/4220, x64 camérasNécessite l’installation de l’application ReadyNAS Surveillance
QNAP Surveillance Station. Licence pour 2 caméras. Un pack de licence supplémentaire doit être acheté par caméras supplémentaire.
Synology Utiliser le comparateur pour déterminer le meilleur modèle en fonction du nombre de caméra et de la qualité d’enregistrement souhaité. Attention, un pack de licence supplémentaire est nécessaire au delà de 2 caméras.

Modèles compatibles avec Surveillance Station 8+

Série 19:RS1619xs+, RS1219+, RS819, DS2419+, DS1819+, DS1019+, DS119j

Série 18:FS1018, RS3618xs, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS3018xs, DS1618+, DS918+, DS718+, DS418, DS418play, DS418j, DS218+, DS218, DS218play, DS218j, DS118, NVR1218

Série 17:FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, RS217, DS3617xs, DS1817+, DS1817, DS1517+, DS1517

Série 16:RS18016xs+, RS2416RP+, RS2416+, RS816, DS916+, DS716+, DS716+II, DS416, DS416play, DS416slim, DS416j, DS216+, DS216, DS216play, DS216j, DS216se, DS216+II, DS116, NVR216

Série 15:RS815RP+, RS815+, RS815, RC18015xs+, DS3615xs, DS2415+, DS2015xs, DS1815+, DS1515+, DS1515, DS715, DS415+, DS415play, DS215+, DS215j, DS115, DS115j

Série 14:RS3614xs+, RS3614RPxs, RS3614xs, RS2414RP+, RS2414+, RS814RP+, RS814+, RS814, RS214, DS414, DS414slim, DS414j, DS214+, DS214, DS214play, DS214se, DS114, EDS14

Série 13:RS10613xs+, RS3413xs+, DS2413+, DS1813+, DS1513+, DS713+, DS413, DS413j, DS213+, DS213, DS213j, DS213air

Série 12:RS3412RPxs, RS3412xs, RS2212RP+, RS2212+, RS812RP+, RS812+, RS812, RS212, DS3612xs, DS1812+, DS1512+, DS712+, DS412+, DS212+, DS212, DS212j, DS112+, DS112, DS112j

Série 11:RS3411RPxs, RS3411xs, RS2211RP+, RS2211+, RS411, DS3611xs, DS2411+, DS1511+, DS411+, DS411, DS411slim, DS411j, DS411+II, DS211+, DS211, DS211j, DS111

Liste des modèles compatibles

TerraMaster Aucun modèle
Western Digital Aucune application officielle mais devrait être possible

Alternative aux licences payantes : vidéo surveillance Open Source

Vous trouvez le prix des licences excessif, pourquoi ne pas installer un logiciel de surveillance Open Source sur une VM ou un Docker.  Vous pouvez tester Motion Eye,  ZoneMinder ou Kerkeros.

NAS compatibles Docker et Virtualisation 2019

Parmi tous les fabricants de NAS, seul un petit nombre proposent une solution de virtualisation ou de “dockerisation” pour le grand public. Voici les principaux modèles disponibles en 2019*.

Trois fabricants sortent du lot.

Asustor n’a pas développé de suite logicielle spécifique pour la virtualisation. A la place on pourra installer et utiliser les applications officielles. VirtualBox, DockerUI, Docker CLI, Linux Center. Gros avantage, toutes les plateformes (x86 64bits, ARM, ARM 64bits) sont supportées. Le logiciel maison Aria2 permet de gérer les conteneurs Docker.

QNAP propose deux applications maison Contenair Station pour Docker et Virtualization Station pour la virtualisation ou l’exécution de machine de machines existantes. Les formats ova, ovf et vmx sont supportés. On pourra donc exécuter des VM créées avec VirtualBox ou VMWare.

Enfin Synology qui propose des applications similaires à QNAP. Virtual Machine Manager permet de créer et gérer ses VM. Pour les Docker, Synology propose d’utiliser l’application officielle. Vous pouvez utiliser le comparateur pour sélectionné le modèle le mieux adapté à vos besoins et votre budget. Attention, il faut au moins 4GB de RAM pour faire fonctionner Virtual DSM. Le nombre de Machines Virtuelles pouvant fonctionner en même temps varie en fonction de la RAM disponible. Le DS218+ et DS718+ pourront exécuter 2 VM simultanément à 6GB de RAM (maximum). Pour les autres modèles, consultez cette page.

Certaines fonctionnalités destinées à un usage professionnel nécessitent une licence Virtual Machine Manager Pro :

  • Effectuer une migration en direct de machines virtuelles en déplaçant une machine virtuelle d’un hôte à un autre sans interruption
  • Prise en charge de la haute disponibilité des machines virtuelles pour les clusters de plus de 3 hôtes
  • Prise en charge du plan de protection pour protéger les machines virtuelles avec instantané planifié et réplication

(*) Données techniques susceptibles d’évoluer ou d’être modifiées par les constructeurs. Pour plus d’informations avant d’acheter votre NAS, veuillez vérifier la compatibilité auprès du fabricant. N’hésitez pas à signaler une erreur ou un omission en utilisant les commentaires.

Modèles prenant en charge la virtualisation

Marque Modèles
Asustor AS6102T, AS6104T, AS6202T, AS6204T, AS6208T

Avec support de la virtualization VMware, Citrix et Hyper-V : AS6102T, AS6104T

D-Link Aucun
Netgear Aucun
QNAP QNAP Turbo NAS équipés d’un processeur Intel VT-x ou AMD-V (TS-x20, TS-x21, TS-x69 Pro, TS-x69L)
Synology Série 19: RS1619xs+, RS1219+, DS2419+, DS1819+, DS1019+

Série 18: FS1018, RS3618xs, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS3018xs, DS1618+, DS918+, DS718+, DS218+

Série 17: FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xs, DS1817+, DS1517+

Série 16: RS18016xs+, RS2416RP+, RS2416+, DS916+

Série 15: RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+

Série 14: RS3614xs+, RS3614RPxs, RS3614xs

Série 13: RS10613xs+, RS3413xs+

Série 12: RS3412RPxs, RS3412xs, DS3612xs

Série 11: RS3411RPxs, RS3411xs, DS3611xs

Liste complète

TerraMaster Aucun modèle
Western Digital Aucune application ni support officiel mais semble possible d’après ce sujet

Modèles compatibles Docker

Marque Modèles
Asustor

Docker UI pour x86 64bits. Séries AS70, AS50, AS51, AS61, AS62, AS31, AS32, AS63, AS64, AS52, AS53

Docker UI ARM. Modèle AS10

D-Link Aucun modèle
Netgear Nécessite ReadyNAS OS 6. Uniquement en ligne de commande (CLI), pas d’interface graphique pour créer, démarrer, stopper, connaître l’état du conteneur. Modèles ReadyNAS RN102, RN104, RN202, RN204, RN212, RN214, RN312, RN314, RN316, RN516, RN716X, RN2120, RN3130, RN3138, RN3220, RN4220
QNAP

 

Modèles équipés de processeurs x86 (TS-x51, TS-x51+, TS-x51A, TS-x53, TS-x53A, TS-x53B, TBS-453A, TS/TVS-x63, TVS-x70, TVS-x71, TS/SS-x79, TS/TVS-x80, TS-1685, TDS-16489U et TVS-x82) ou ARM Alpine  (TS-x28, TS-x31P, TS-x31X, TS-1635, TS-x31+) avec un minimum de 1Go de RAM

Liste complète

Synology Série 19:RS1619xs+, RS1219+, DS2419+, DS1819+, DS1019+

Série 18:FS1018, RS3618xs, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS3018xs, DS1618+, DS918+, DS718+, DS218+

Série 17:FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xs, DS1817+, DS1517+

Série 16:RS18016xs+, RS2416RP+, RS2416+, DS916+, DS716+, DS716+II, DS216+, DS216+II

Série 15:RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+, DS415+

Série 14:RS3614xs+, RS3614RPxs, RS3614xs, RS2414RP+, RS2414+, RS814RP+, RS814+

Série 13:RS10613xs+, RS3413xs+, DS2413+, DS1813+, DS1513+, DS713+

Série 12:RS3412RPxs, RS3412xs, RS2212RP+, RS2212+, RS812RP+, RS812+, DS3612xs, DS1812+, DS1512+, DS712+, DS412+

Série 11:RS3411RPxs, RS3411xs, RS2211RP+, RS2211+, DS3611xs, DS2411+, DS1511+, DS411+, DS411+II

Série 10:RS810RP+, RS810+, DS1010+, DS710+ (DSM v6+)

Liste complète

TerraMaster Aucun modèle
Western Digital Aucune application ni support officiel mais semble possible d’après ce sujet

Quels NAS choisir en 2019 pour la domotique et la vidéosurveillance

C’est l’heure du choix. Les modèles sélectionnés sont adaptés pour faire fonctionner le NAS comme serveur domotique et faire de la vidéosurveillance. Voici les critères de choix retenus pour la sélection :

  • Processeur x86 pour la compatibilité avec Docker, virtualisation
  • Au moins 2 baies pour duplication des données en RAID1
  • Extension de mémoire possible pour faire fonctionner plusieurs machines virtuelles. La mémoire est soudé sur certains modèles et ne disposent d’aucun connecteur d’extension
  • Micro-logiciel compatible avec Docker, virtualisation, vidéo-surveillance

Quel processeur choisir ?

Les fabricants de NAS utilisent des processeurs ayant une faible consommation et une faible enveloppe thermique. C’est une bonne solution pour diminuer le bruit (des ventilateurs). Le plus gros de la chaleur sera produite par les disques durs.

Le processeur Intel Celeron J1900 qui équipe le QNAP TS-251+ est 54% plus puissant que le Celeron J3355 du Synology DS218+ d’après les tests réalisés par le site CPU Benchmark. Le J3455 qui équipe les meilleurs modèles de la sélection est 78% plus puissant que le Celeron J3355@2GHz.

cpu benchmark nas synology ds218plus qnap ts251a j3355

Benchmark CPU processeurs Intel J3455, J1900 et J3355. Source : cpubenchmark.net

Synology DS218+ ou DS718+

Le Synology DS218+ est le modèle qui répond à tous les critères énoncés en introduction. On le trouve à partir de 340€. Achetez directement une extension de 4GB ce qui permettra de faire fonctionner 2 machines virtuelles (le maximum pour ce modèle).

Le DS718+ est un excellent choix également. Il coûte environ 100€ plus cher. La différence de prix est justifiée par un processeur Intel Celeron J3455 Quad Core@2.3 GHz est deux fois plus puissant que le J3355 Dual Core@2.0 GHz qui équipe le DS218+. Petit plus du DS718+, la garantie constructeur est de 3 ans au lieu de 2 pour le DS218+.

Enfin, si vous recherché la performance, le DS918+ est un très bon choix. Il pourra également convenir à usage professionnel (accélération SSD via 2 disques SSD au format M.2 MVMe combiné au RAID 5 sur 4 disques). Evidemment, le budget risque vite d’atteindre des sommets.

Si vous prévoyez d’utiliser votre NAS comme enregistreur pour vos caméras de vidéo surveillance, l’application développée par Synology prend en charge plus de caméras IP que QNAP et Asustor.

Ce qui fait la réputation des NAS Synology, c’est surtout la qualité des logiciels proposés et la très large communauté d’utilisateurs.

DS218+ DS718+ DS918+
nas synology DS218 plus nas synology ds718 plus
Processeur Intel Celeron J3355

Dual Core@2.0 GHz

Intel Celeron J3455

Quad Core@2.3 GHz

Intel Celeron J3455

Quad Core@2.3 GHz

RAM 2 GB DDR3L 2 GB DDR3L 4 GB DDR3L
RAM max 6 GB  (2 GB + 4 GB) 6 GB (2 GB + 4 GB) 8 GB (2 x 4 GB )
Nombre VM max.** 2 2 4
Stockage max. 28 TO

2 x 14 TO

28 TO

2 x 14 TO

56 TO

4 x 14 TO

Emplacement disque MVMe* x2
Transcodage H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s
USB 2.0 x2
USB 3.0 x1 x3 x2
Ethernet 1GbE x1 x2 x2
eSATA x1 x1 x1
Bruit 19.3 dB(A) 18.4 dB(A) 19.8 dB(A)
Conso. normale 17,23W 20,1 W 28,8 W
Conso. en veille 5,4 W 9,1 W 12,6 W
Fiche technique Consulter Consulter Consulter

QNAP TS-251+

Le TS-251+ (ou son frère le TS-251A plus orienté multi-média) est le concurrent direct du Synology DS218+. QNAP a opté pour deux connecteurs d’extension mémoire au format SODIM ce qui permet de passer à 8GB de RAM. Le processeur ne permet toutefois pas de faire fonctionner plus de 2 machines virtuelles simultanément – ce qui est largement suffisant pour un usage personnel. En terme de puissance brute, le TS-251A se situe entre le DS218+ et le DS718+ de Synology.

Si vous envisagez d’utiliser votre NAS comme lecteur multi-média, le TS-253B est une très bonne alternative.

qnap ts253b
Modèle TS-251+ TS-251A TS-253B
Processeur Intel Celeron J1900

Quad-core @ 2,0 GHz

Intel Celeron N3060

Dual-core @ 1.6GHz

Intel Celeron J3455

Quad-core @ 1,5 GHz

Architecture x86 64 bits x86 64 bits x86 64 bits
GPU Intel® HD Graphics Intel® HD Graphics Intel® HD Graphics 500
RAM 2 Go DDR3L SO-DIMM

(1 x 2 Go)

2GB / 4GB 4GB
Extension RAM max.

Emplacement

8 Go

2 x DDR3L SODIMM

8 Go

2 x DDR3L SODIMM

8 Go

2 x DDR3L SODIMM

Mémoire flash 512Mo 512Mo 512Mo
Baies 2 x SATA 6 Gbits/s, 3 Gbits/s 2,5 pouces ou 3,5 pouces 2 x SATA 6 Gbits/s, 3 Gbits/s 2,5 pouces ou 3,5 pouces 2 x SATA 6 Gbits/s, 3 Gbits/s 2,5 pouces ou 3,5 pouces
Remplacement d’un disque à chaud Oui Oui Oui
Prise en charge de l’accélération par cache SSD Oui  via un adaptateur PCIe pour disque SSD M.2
Port Ethernet Gigabit (RJ45) x2 x2 x2
Port USB 2.0 x2
Port USB 3.0 x2 x3 x5
Récepteur IR x1 x1 x1
Lecteur SDXH x1 x1
Sortie HDMI x1@1080p x1@1080p x2
Sortie audio  jack 3,5 mm
Dimensions (H x L x P) 168,5 × 102 × 225 mm 169 x 102 x 219 mm 168 × 105 × 226 mm
Consommation en  mode Veille 10,56 W 7,9 W 13,07 W
Consommation en mode normal 18,09 W 16,2 W 24,42 W
Niveau sonore 15,4 dbA 18.3 dB (A) 16,7 db(A)
Page produit Lire Lire Lire

Quel disque dur choisir ?

Optez directement pour un disque dur conçu pour les NAS surtout si vous voulez utiliser celui-ci comme enregistreur vidéo (NVR). Les meilleurs fabricants dans le domaine sont Seagate IronWolf , Toshiba N300 et Western Digital RED.

Pour estimer la taille nécessaire, vous pouvez utiliser par exemple ce calculateur mis à disposition par Western Digital.

Attention, le système de fichier utilise une partie (au moins 10%) de la capacité totale du disque. Pour vous donner une idée, voici une estimation du stockage nécessaire dans les conditions suivantes :

  • 4 caméras 2MP (1080p)
  • Activité moyenne. Plus il y a de mouvements, plus la compression sera faible. Magasin, parking, allée de jardin, hall d’entrée..
  • Vidéo à 12 images / seconde
  • Encodage : voir le tableau ci-dessous
  • 30 jours d’historique

Le stockage dépend fortement de l’encodage vidéo. Le H265+ est le meilleur et vous fera faire de grosses économies d’espace ! Choisissez votre NAS en tenant compte de ce critère !

MJPEG H.264 H.265 H.265+
20,639To ! 2,983To 2,023To 1,83To

Voici une sélection de disques offrant 2To de stockage. D’autres capacités

67,09€
en stock
25 nouveau de 67,09€
1 occasion de 143,99€
Relevé le 9 avril 2019 3 h 02 min
Amazon.fr
Livraison gratuite
81,79€
106,76
en stock
27 nouveau de 80,50€
4 occasion de 64,99€
Relevé le 9 avril 2019 3 h 02 min
Amazon.fr
Livraison gratuite
138,22€
139,62
en stock
22 nouveau de 122,89€
Relevé le 9 avril 2019 3 h 02 min
Amazon.fr

Faut-il un onduleur ?

Rien d’obligatoire mais il est tout de même conseillé de protéger le NAS derrière un onduleur. En effet, en cas de coupure brutale de l’alimentation, les fichiers risquent d’être corrompus. Les NAS modernes disposent tous d’un système de récupération de fichiers endommagés. La vérification et la reconstruction d’un volume RAID est assez longue. Optez pour un modèle d’au moins 500VA avec une sortie USB permettant au d’arrêter automatiquement le NAS en cas de coupure de courant.

[wpm_ads1]

Quelques conseils : 

  • Protégez également votre box internet si elle est située à proximité.
  • Protégez également votre routeur ethernet, répéteur WiFi.
  • Si internet est toujours disponible malgré la coupure de courant, vous aurez toujours accès à vos accessoires domotiques fonctionnant sur batterie. Capteurs qui communiquent en WiFi, Zigbee, Z-Wave, 433MHz…
  • Configurez l’arrêt automatique du NAS en connectant celui-ci à l’onduleur via la prise USB (vérifier la compatibilité). Demander au NAS de vous envoyer une notification (email…) pour être informé qu’une coupure de courant vient de se produire. Pratique pour sauver le congélateur 🙂
74,95€
130,39
en stock
20 nouveau de 74,95€
Relevé le 12 avril 2019 15 h 00 min
Amazon.fr
Livraison gratuite
86,99€
131,99
en stock
21 nouveau de 86,99€
Relevé le 12 avril 2019 15 h 00 min
Amazon.fr
Livraison gratuite
91,99€
107,99
en stock
24 nouveau de 91,99€
Relevé le 12 avril 2019 15 h 00 min
Amazon.fr
Livraison gratuite
105,56€
179,38
en stock
24 nouveau de 105,56€
1 occasion de 99,99€
Relevé le 12 avril 2019 15 h 00 min
Amazon.fr
Livraison gratuite

Recycler un vieux PC ou fabriquer un NAS DIY

Vous trouvez que les configurations ne sont pas assez musclées par rapport à votre PC de gamer ou vous avez un vieux PC qui dort dans un coin, pourquoi pas le transformer en NAS !

Parmi toutes les distributions dédiées au NAS, c’est FreeNas qui est à mon sens la plus aboutie. L’équipe de développement a su lier des partenariats industriels et proposer des produits certifiés. FreeNas prend en charge les machines virtuelles ainsi que Docker. L’interface est moderne et efficace, merci bootstrap !

nas freenas virtual-machines docker

Attention toutefois, il faudra une configuration très musclée pour faire tourner FreeNas. Un processeur 64 bits AMD ou Intel (la liste des processeurs compatibles est ici) ainsi que 8GB de RAM au minimum ! Pour chaque machine virtuelle, FreeNas recommande le double de RAM que ce qui a été alloué à la VM. C’est à dire qu’il faudra 2GB de RAM pour une VM avec 1GB. Bon faut pas trop se poser de question et acheter directement 16GB (~110€) si vous voulez virtualiser un serveur domotique. Avant de recycler votre vieux PC, il faudra certainement commencer par ajouter un peu de RAM 😆

OpenMediaVault ou Nas4Free sont deux autres alternatives Open Source mais elles ne proposent aucun outil de virtualisation. Il faudra donc tout faire à la main depuis le Terminal.

Quel budget prévoir pour fabriquer un NAS DIY

Les composants informatiques sont obsolète après 2 ou 3 mois d’existence, par contre le budget reste toujours assez similaire. Par faire des économies, vous pouvez acheter des composants d’ancienne génération, souvent 20 à 40% moins chers. Pour le processeur, j’ai opté pour un Intel Core i3-8100 dont la puissance est déjà très supérieure au Celeron J3455 du DS718+ utilisé par Synology. La consommation est 7 fois plus importante, la note d’électricité du NAS aussi !

Voici un comparatif réalisé sur CPU Benchmark

cpu benchmark intel celeron j3455 i3-8100

Composant Référence Budget moyen
Carte mère

Intel B360 Gaming Plus Carte mère MSI LGA1151 ATX

~ 90€
Processeur Intel Core i3-8100 3.6GHz ~ 125€
Ventilateur CPU Ventirad ~ 38€
Carte graphique intégrée 
RAM 16 GB (2x8GB) DDR4 ~ 105€

Boitier

Corsait Carbide 100R au format ATX ~55€

Alimentation

Corsai VS450 (450 W) pour boitier ATX ~40€

Budget total sans HD ~ 455€

Synology DS718+ nu (2GB)  ~ 445€

Fabriquer son propre NAS revient donc quasiment au même prix qu’un NAS, mais peut-on vraiment comparer les deux solutions ? A vous de voir. C’est un projet sympa à réaliser et FreeNas est vraiment à la hauteur de la tâche.

L’article Quel NAS choisir en 2019 ? NVR, virtualisation, docker, serveur domotique, objets connectés est apparu en premier sur Domotique et objets connectés à faire soi-même.

Installer Jeedom sur un NAS QNAP. Machine virtuelle ou Docker (script v3)

$
0
0
jeedom installation nas qnap ts-251a docker machine virtuelle

Si vous trouvez que l’installation de Jeedom sur un Raspberry Pi 3 manque de fiabilité et de performance, vous pouvez opter pour un NAS (Network Attached Storage). Revers de la médaille, le ticket d’entrée est beaucoup plus élevé et demande d’un peu plus de connaissance de base (mais rien d’insurmontable comme vous allez le voir dans ce tutoriel). Comptez environ 550€ pour une configuration x86 équipée de 8GB de RAM et 2x2To de stockage.

 

Dans ce tutoriel, nous allons tester l’installation de Jeedom sur une machine virtuelle Debian ainsi que dans un conteneur Docker. Ce tutoriel a été réalisé sur un NAS QNAP TS-251A mais la procédure sera très similaire pour d’autres modèles ou d’autres fabricants NAS (Synology, QNAP, TerraMaster…)

Quel NAS choisir ?

nas synology ds718 plus

NAS Synology DS718+

Les NAS équipés de processeurs ARM permettent de déployer des conteneurs Docker mais vous risquer de rencontrer des difficultés pour utiliser des contrôleurs branchées sur le port USB du NAS (Z-Wave, RFXCom, RFlink, bluetooth, sniffer Zigbee..). En effet, bien souvent les drivers n’ont pas été compilés pour les NAS à base de processeur ARM (Alpine AL-212, Alpine AL-314…). Il est possible de le faire mais c’est assez long et difficile.

Je vous conseille donc d’opter directement pour un NAS équipé d’un processeur intel x86. Ils sont un peu plus chers mais vous serez en terrain connu. Choisissez également un modèle qui permet d’ajouter une extension de RAM. Les modèles d’entrée de gamme sont souvent limités à 1GB de mémoire. C’est suffisant pour Docker mais la virtualisation est quasi impossible. Il faudra au moins 4GB pour faire faire fonctionner une machine virtuelle correctement.

Pour bien choisir votre NAS, vous pouvez commencer par lire ce guide qui fait le point sur les différents modèles prenant en charge la virtualisation ou Docker.

DS218+ DS718+ TS-251+
nas synology DS218 plus nas synology ds718 plus
Processeur Intel Celeron J3355

Dual Core@2.0 GHz

Intel Celeron J3455

Quad Core@2.3 GHz

Intel Celeron J1900

Quad-core @ 2,0 GHz

RAM 2 GB DDR3L 2 GB DDR3L 2 Go DDR3L SO-DIMM
RAM max 6 GB  (2 GB + 4 GB) 6 GB (2 GB + 4 GB) 8 GB (2 x 4 GB )
Nombre VM max.* 2 2 2
Stockage max. 28 TO

2 x 14 TO (RAID0)

28 TO

2 x 14 TO (RAID0)

non précisé
Transcodage H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s non précisé
USB 2.0 x2 x2
USB 3.0 x1 x3 x2
Ethernet 1GbE x1 x2 x2
eSATA x1 x1 x1
Sortie HDMI x1@1080p
Bruit 19.3 dB(A) 18.4 dB(A) 15,4 db(A)
Conso. normale 17,23W 20,1 W 18,09 W
Conso. en veille 5,4 W 9,1 W 10,56 W
Fiche technique Consulter Consulter Consulter
Tarif Nu** ~ 340€ ~440€ ~ 365€

(*) nécessite au moins 4GB de RAM pour pouvoir installer l’application de Virtualization Station (QNAP) ou Virtual Machine Manager de Synology.

Coté performances brutes des CPU, le processeur Intel Celeron J1900 qui équipe le QNAP TS-251+ est 54% plus puissant que le Celeron J3355 du Synology DS218+ d’après les tests réalisés par le site CPU Benchmark. Le J3455 qui équipe le DS718+ est le plus puissant (78% plus puissant que le Celeron J3355@2GHz) ce qui justifie a centaine d’euros supplémentaires à débourser pour ce modèle.

cpu benchmark nas synology ds218plus qnap ts251a j3355

Benchmark CPU des processeurs Intel J3455, J1900 et J3355. Source : cpubenchmark.net

Ce qui fait la force de Synology, c’est la qualité de ses applications (virtualisation, vidéo-surveillance…) et la très grande communauté d’utilisateurs. Le NAS de QNAP sont plus économiques. A budget équivalent vous aurez un NAS plus puissant. Comme nous allons le voir dans ce tutoriel, les applications de QNAP conviennent très bien pour un usage quotidien.

Avant de commencer

Vous aurez certainement besoin de piloter ou récupérer des informations en provenance d’accessoires domotiques via un contrôleur ou une passerelle domotique (Z-Wave, RFXCom, RFlink, bluetooth, sniffer Zigbee..). Les drivers (modules) ne sont malheureusement pas chargés au démarrage par le système d’exploitation du NAS QNAP. Heureusement, l’OS du QNAP est basé sur une distribution Linux. Commencez par lire ce tutoriel qui explique comment charger les modules au démarrage.

nas qnap docker usb device privilege mode

Configuration testée : NAS QNAP TS-251A

Pour ce tutoriel, j’ai réalisé les tests sur le NAS TS-251A du fabricant QNAP équipé de 2 disques dur de 2To chacun du fabricant Western Digital. Les disques durs de la série RED sont dédiés à un usage intensif typique des NAS. Pour encore plus de sécurité, il est préférable de créer un volume de stockage de type RAID 1 (miroir). Le RAID 1 permet une réplication en temps réel des données évitant ainsi toute perte de données en cas de panne d’un disque.

J’ai opté pour le modèle TS-251A car c’est le modèle le moins chère de la gamme qui est compatible avec l’application Virtualization Station de QNAP.

Le TS-251A est livré avec 2Go de RAM. C’est largement suffisant pour faire fonctionner Docker mais c’est un peu juste pour Virtualization Station. Impossible également d’utiliser la suite de développement d’objets connectés QIoT. Le TS-251A est équipé de deux emplacements au format SODIM ce qui permet d’installer jusqu’à 8Go (2x4Go).

Configuration testée

Budget de la configuration ~510€.

Dernière mise à jour des prix le 15 avril 2019 3 h 01 min

Installer Container Station, Virtualization Station et Download Station

Avant l’aller plus loin, ouvrez l’App center et installez les applications suivantes si ce n’est pas déjà fait :

  • Container Station permet d’utiliser des Dockers. Ce sont les ressources du NAS (sont système d’exploitation Linux) qui sont utilisées. C’est une solution plus légère que la virtualisation et en générale moins consommatrice en ressources (CPU, RAM)
  • Virtualization Station. C’est l’application QNAP qui permet de créer et gérer des machines virtuelles. Chaque fabricant propose une solution similaire. Virtualization Station nécessite au moins 2GB de RAM. Pour plus de confort, optez directement pour une extension à 8GB (environ 60€)
  • Download Station. Tous les NAS disposent d’une application permettant de télécharger et partager des fichiers. Chez QNAP elle se nomme Download Station. C’est beaucoup plus pratique que de télécharger les fichiers sur un PC puis les déplacer sur le NAS.
qnap virtualization station qnap container station

Installer Jeedom sur une machine virtuelle Debian

Si votre NAS est équipé d’au moins 2GB de RAM*, vous pouvez installer Jeedom sur une machine virtuelle (VM**). La distribution Debian est conseillée. C’est également cette distribution qui sert de base à Raspbian, la distribution adaptée au Raspberry Pi.

(*) Attention, les contraintes techniques peuvent varier d’un fabricant à l’autre et d’un modèle à l’autre.

(**) VM : Virtual Machine … Machine Virtuelle. Ca sera plus facile à lire.

Télécharger Debian Stretch ou supérieur

Ouvrez Download Station. Allez sur le site de Debian pour récupérer le lien de la distribution. Prenez la version amd64 netInstall (même si le NAS est équipé d’un processeur Intel x86). Le téléchargement est rapide même avec une connexion moyenne. L’archive pèse environ 290Mo. Si vous changez d’avis, vous pourrez installer un bureau graphique à la fin de l’installation (ou ultérieurement)… ce n’est pas comme Windows ou macOS !

Les liens vers la version NetInstall (petite taille) se trouvent sur cette page.

Sur Download Station, cliquez sur + puis Entrer URL. Collez le lien dans la boite de dialogue et lancez le téléchargement. L’image de Debian est enregistrée par défaut dans le répertoire Download à la racine du NAS.

download debian stretch amd64 qnap

Créer la machine virtuelle Debian

Une fois le téléchargement terminé, ouvrez Virtualization Station et lancez la création de la machine virtuelle et cliquant sur créer VM.

qnap virtualisation station add create vm jeedom homeassistant

Adaptez les paramètres en fonction de la puissance de votre NAS et des performances souhaitées pour Jeedom :

  • Système : indiquer Linux et Debian dans la liste. La version n’a pas d’importance
  • Coeur : 1 ou 2
  • Mémoire : 1024 MB c’est bien. Plus si vous avez ajouté une extension à 8GB
  • Image CD : Indiquez le chemin vers l’ISO précédemment téléchargé. En le conservant sur le NAS, vous pourrez vous en servir ultérieurement pour d’autres VM
  • Stockage. Comptez 6GB pour Linux et 1GB pour Jeedom. Vous pouvez créer un disque de 30GB pour démarrer. La taille pourra être augmentée ultérieurement.
  • Emplacement sur le NAS : indiquez le répertoire d’installation de la VM. Le mieux est de créer un répertoire dédié pour faciliter la gestion et la sauvegarde.

nas qnap virtualisation station debian jeedom vm

Indiquer un mot de passe VNC qui permettra d’accéder à l’écran de la machine virtuelle à n’importe quel moment.

nas qnap virtualisation station vnc password

Cliquer sur OK pour terminer la configuration. Dernière chose indispensable à faire avant de démarrer la VM Jeedom, configurer le clavier. Vous allez devoir saisir les mots de passe root et utilisateur. Cliquez sur l’image de la VM pour déployer le menu puis cliquer sur la roue crantée

vm debian virtualisation station qnap keyboard settings

Ouvrez l’onglet paramètres puis opération de la console. Choisissez la disposition de votre clavier dans la liste.

qnap vm jeedom clavier

Donner un accès aux ports USB pour Z-Wave, RFXCom, Zigbee…

Avant d’aller plus loin, je vous conseille de lire ce tutoriel qui explique comment installer les drivers prenant en charge le port USB du NAS QNAP.

Pendant que nous sommes dans les réglages de la VM, on va en profiter pour donner un accès aux ports USB à la VM. Vous pourrez ainsi utiliser les passerelles domotiques connectées sur les ports USB du NAS (contrôleur Z-Wave, RFXCom, RFLink, Zigbee, Bluetooth…).

Ouvrez le gestionnaire de périphériques USB

qnap nas virtualisation station usb zwave rflink

On retrouve bien dans le gestionnaire les 3 passerelles connectées au NAS : RFLink, clé ZWave et le dongle Zigbee nécessaire pour Zigbee2MQTT. Cochez la passerelle que vous voulez utiliser sur le NAS et cliquez sur OK.

jeedom vm usb connect zwave rflink zigbee2mqtt

Il est également possible de le faire à chaud. Dans ce cas vous aurez un message d’avertissement à valider.

nas qnap avertissement usb

Il est également possible de débrancher à chaud un accessoire partagé sur la VM. Attention à stopper le service du plugin pour éviter les erreurs.

nas qnap unplug usb dongle zwave rflink vm

Activer le démarrage automatique de la VM Jeedom

Vous voudrez enfin très certainement que Jeedom démarre automatiquement au démarrage du NAS. Ce n’est pas très pratique de devoir lancer manuellement le serveur domotique après une coupure de courant. Ouvrez le panneau Autre et choisissez Conserver l’état précédent. Cliquer sur Appliquer pour enregistrer les paramètres.

nas qnap autostart vm

Ouvrir la console et installer Debian

Tout est prêt, vous pouvez démarrer la VM

qnap virtualisation station start debian jeedomet ouvrez la console.

qnap open vm console

Une nouvelle fenêtre s’ouvre dans le navigateur ainsi qu’une boite de dialogue vous demandant le mot de passe VNC créé précédemment.

qnap vm vnc authentification debian

Vous devriez arriver sur la première page du logiciel d’installation de Debian. Choisissez Graphical install pour commencer l’installation du système. Si ce n’est pas le cas, attendez quelques secondes que Debian finisse de démarrer.

qnap vm debian graphical install

Configurer la langue du système

Configurer le réseau

Configurer les comptes root et utilisateur

Saisissez le mot de passe root puis le compte utilisateur et son mot de passe. N’utilisez jamais le compte root pur installer Jeedom (ou un autre logiciel d’ailleurs). Choisissez un mot de passe différent pour les deux comptes. Le compte root offre un accès total au système.

Configurer le disque

Inutile de partitionner le disque. Pour plus de sécurité pour pouvez chiffrer le disque de la VM. N’oubliez pas de cliquer sur oui à la question faut-il appliquer les changements sur le disque (même si vous n’en avez fait aucun).

Installation (y compris paquets complémentaires)

Sélectionnez au moins les paquets suivants Serveur SSH et Utilitaires usuel du système. Inutile d’installer un bureau graphique qui ne fera que consommer de la place sur le disque de la VM et consommer des ressources du NAS.

Installation de grub

Grub est un petit logiciel qui permet de démarrer le système au démarrage de la VM. S’en lui Debian ne pourra pas démarrer. Grub est installé sur le disque dur virtuel de la VM Jeedom. Aucune crainte à avoir, on ne va pas toucher au NAS.

L’installation de Debian est maintenant terminée. Le système va redémarrer

Connectez vous en SSH à la machine virtuelle

Comme vous avez du le constater, il n’est pas possible de coller des commandes linux depuis la console. Connectez-vous en SSH à la machine virtuelle sur le NAS. Sous macOS, ouvrez le Terminal. Sous Windows, lancez PowerShell ou installez Putty (gratuit).

Exécutez la commande

ssh utilisateur@ip_vm_jeedom

Saisissez votre mot de passe. A la première connexion, vous devez d’abord accepter la clé d’authentification en saisissant yes au clavier.

Vérifier que la commande sudo est disponible

Je n’ai pas pris le temps de vérifier l’origine du problème, mais la commande sudo ne semble pas être installée par défaut. Commencez par vérifier si elle est disponible en exécutant la commande suivante par exemple

sudo ls /dev/tty*

Le système doit vous demander votre mot de passe et lister les périphériques sur le port tty. Si la commande échoue, il faut installer la commande sudo manuellement comme ceci

su - root

Saisir votre mot de passe root (créé au moment de l’installation) puis exécuter la commande d’installation

apt-get install sudo

Redémarrez le système

sudo reboot

Comment attribuer une adresse IP fixe à la machine Virtuelle

Virtualisation Station n’offre aucune solution pour attribuer une IP fixe à la VM. Le risque est que la machine virtuelle change d’adresse IP après un redémarrage, rendant le serveur inaccessibles aux accessoires domotiques ou une application tierce. Pour éviter ça,  on va devoir attribuer nous même une adresse IP fixe en modifiant les paramètres de l’interface.

Ouvrez la console depuis la gestionnaire de VM

qnap open vm console

Connectez-vous et ouvrez le fichier de configuration (vous pouvez également vous connecter en SSH)

sudo nano /etc/network/interfaces

Commentez la configuration actuelle et collez cette nouvelle configuration en l’adaptant à vos paramètres. Ici la VM sera accessible à d’adresse IP 192.168.1.10

auto ens3
iface ens3 inet static
address 192.168.1.10
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1

Enregistrer avec CTRL+X puis O. Redémarrer ensuite le système avec la commande sudo reboot.

Après le redémarrage, vous pouvez vérifier l’adresse IP en exécutant cette commande

/sbin/ip -4 addr

jeedom nas qnap vm debain ip fixed

Installer Jeedom sur la machine virtuelle Debian Stretch

L’installation est ultra-simplifiée depuis le script v3. Commencez par récupérer le script avec la commande wget

wget https://raw.githubusercontent.com/jeedom/core/master/install/install.sh

On rend ensuite le script exécutable

chmod +x install.sh

Puis on lance l’installation de Jeedom

sudo ./install.sh

Le script commence par mettre à jour le système. En fonction du débit internet, l’installation peut prendre environ 30 minutes, le temps d’aller regarder un épisode sur Netflix… ou sauter au paragraphe suivant pour tester l’installation avec un Docker 🙂

installation jeedom debian nas qnap machine virtuelle

Une fois l’installation terminée, vous pouvez vous connecter à Jeedom et saisissant l’adresse IP configurée précédemment depuis un navigateur internet.

jeedom login vm debian nas qnap ts-251

Test du plugin Z-Wave

Il ne reste plus qu’à tester que tout fonctionne correctement comme sur un Raspberry Pi ou un ordinateur classique. L’installation et l’activation du plugin Z-Wave n’a posé aucun problème particulier.

Le contrôleur Z-Wave branché sur un port USB à l’arrière du QNAP est parfaitement détecté par la VM.

Après avoir installé le plugin officiel Z-Wave depuis le Market, ouvrez le panneau de configuration. Le contrôleur Z-Wave devrait être correctement détecté dans la liste des port disponibles. Fermez la page de configuration si vous avez branché à chaud le contrôleur. Sauvegardez la configuration et relancez l’installation des dépendances.

jeedom qnap machine virtuelle zwave plugin

L’inclusion d’une prise connectée Neo CoolCam NAS-WR01ZE (clone de la prise connectée Fibaro FGWPE-102 ZW5n’a posé aucun problème. Tout fonctionne parfaitement.

inclusion prise neocool calm zwave jeedom nas qnap syology

Sauvegarder la VM Jeedom (manuel ou planifié)

Gros avantage d’installer Jeedom sur une Machine Virtuelle, il est possible de réaliser des sauvegardes directement sur le NAS. Ouvrez le gestionnaire de sauvegarde depuis le menu

qnap virtualization station sauvegarde vm jeedom

La tâche de sauvegarde permet de sauvegarder plusieurs VM simultanément. Par défaut, la sauvegarde est réalisée dans un répertoire du NAS mais vous pouvez également enregistrer la sauvegarde sur un second NAS pour plus de sécurité.

sauvegarde vm jeedom qnap

On peut planifier la sauvegarde (journalière, hebdomadaire, mensuelle). Seul problème, tous les périphériques USB sont déconnectés durant la sauvegarde 🙁

sauvegarde vm qnap deconnexion appareils usb

Je vous déconseille donc de planifier vos sauvegardes car il faudra re-configurer le port USB manuellement après chaque sauvegarde. Ici par exemple, le plugin Z-Wave a perdu le port USB du contrôleur.

port usb non configure jeedom qnap machine virtuelle

Remarque. Re-démarrer Jeedom ne changera rien, il faudra absolument re-configurer le port USB du contrôleur.

Avantages et inconvénients d’une VM Jeedom

Je manque encore d’expérience sur le long terme mais voici quelques conclusions générales sur l’installation de Jeedom sur une VM Debian

POUR:
  • Simplicité d’installation
  • Montage / démontage à chaud des accessoires USB
  • Possibilité de faire des clichés de la VM (avant l’installation d’un plugin non certifié). Possibilité de revenir en arrière en cas de problème
  • Très bonnes performances
  • Lancement correct du serveur et contrôleurs domotique après un redémarrage du NAS

CONTRE:
  • Nécessite plus de ressources, passage à 4GB ou plus à envisager rapidement
  • Configuration manuelle de l’adresse IP. Il faudra mettre les mains dans la console
  • Déconnexion obligatoire des périphériques USB durant la sauvegarde d’un cliché. Il faudra re-configurer les ports USB (contrôleur Z-Wave, RFXCom…) après chaque sauvegarde

Installer Jeedom dans un docker Debian sur un NAS QNAP avec Container Station

Dans cet article (déjà ancien), nous avions vu comment tester Jeedom à l’aide de Docker sur n’importe quel PC, MAC ou Raspberry Pi. Naturellement, j’ai pensé naïvement qu’il suffisait de refaire la même chose, mais je suis tombé sur un os. Impossible de lier Jeedom à MariaDB / MySQL. Impossible également de lier MySQL à PHPMyAdmin 😥

Finalement plutôt que de m’entêter, j’ai préféré repartir du container Jeedom sur lequel j’ai installé MySQL et ça fonctionne plutôt très bien après quelques adaptations que nous allons découvrir.

Créer le container Jeedom

Ouvrez Container Station et cliquez sur Create. Faites un recherche sur le mot clé jeedom sur le docker hub puis cliquez sur Create

find jeedom docker container station qnap

Nommez le container. Il ne sera plus possible de le modifier après la création.

Activer l’option auto-start pour lancer le docker après le démarrage du NAS.

Vous pouvez spécifier une limite d’utilisation du CPU et de la mémoire pour préserver les performances des autres fonctions du NAS (sauvegarde, serveur de fichier, serveur multimédia…)

Cliquez ensuite sur Advanced Settings

jeedom create docker qnap nas

Allez à l’onglet réseau (Network) et sélectionner le mode Nat. Normalement, les ports 22 et 80 sont pré-renseignés. Si ce n’est pas le cas, il faut les ajouter. Indiquer un autre port afin de ne pas empêcher le NAS de fonctionner normalement. Le port 80 est utilisé par QTS, l’interface de gestion du NAS serait alors inaccessible.

jeedom docker qnap nas network nat

Ouvrez ensuite l’onglet device et cocher Run containers in privileged mode. C’est impératif pour pouvoir accéder aux ports USB (dongle ZWave, RFlink…). Attention, cette option n’est plus modifiable après la création du container. Vous pouvez dès maintenant ajouter les ports USB à partager. Il est possible de le faire ultérieurement.

 

Vous pouvez lancer la création du docker en cliquant sur Create. Le container est immédiatement lancé et Jeedom termine l’installation. Pendant ce temps, on va installer MySQL dans le docker. Ouvrez le Terminal.

jeedom docker qnap terminal console

Saisissez /bin/sh dans la boite de dialogue qui apparait.

container station nas qnap run command terminal

Une nouvelle fenêtre s’ouvre dans le navigateur internet. Ajoutez les dépôts de MySQL (si vous rencontrez des difficultés pour installer MySQL)

wget http://repo.mysql.com/mysql-apt-config_0.8.9-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.9-1_all.deb

puis

sudo apt update 
sudo apt install mysql-server

Le programme d’installation va vous demander de saisir le mot de passe root pour le serveur MySQL. Il sera nécessaire pour connecter Jeedom à la base de données plus tard.

L’installation terminée, démarrez manuellement MySQL en exécutant

/etc/init.d/mysql start

Finaliser l’installation de Jeedom

Vous pouvez maintenant vous connecter à Jeedom en saisissant dans le navigateur

IP_JEEDOM:port_jeedom

Vous aurez certainement un message d’erreur vous indiquant les commandes à exécuter dans le terminal (ouvert précédemment) pour permettre à Jeedom de fonctionner. La plupart du temps, c’est un problème lié à crontab, par exemple

sudo su -
croncmd="su --shell=/bin/bash - root -c '/usr/bin/php /var/www/html/core/php/jeeCron.php' >> /dev/null 2>&1"
cronjob="* * * * * $croncmd"

jeedom executer commande terminal

Une fois que c’est fait, vous pouvez continuer l’installation de Jeedom. Saisissez le mot de passe MySQL créé précédemment et cliquez sur Proceed. Comme MySQL est installé dans le même container, vous pouvez laisser localhost et le port 3306 par défaut.

L’installation de Jeedom se termine avec succès !

installation jeedom docker nas qnap ts-251a

Démarrer MySQL automatiquement au lancement du container Jeedom

Si vous redémarrez le conteneur, vous allez obtenir ce message d’erreur

SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Oups ! C’est un message typique en cas de panne ou que MySQL n’est pas lancé. En installant MySQL dans le container Jeedom, rien a été configuré pour démarrer la base de données. On va corriger ça avec une seule ligne de code !

Ouvrez un Terminal (sur macOS ou Linux) ou PowerShell (sur Windows) et connectez vous au NAS en SSH

ssh admin@ip_nas

Lister les containers lancés avec la commande docker ps

# docker ps

CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS              PORTS                                                                       NAMES

42c449d22286        jeedom/jeedom:latest-data-1           “/root/init.sh”          2 hours ago         Up 14 minutes       0.0.0.0:1822->22/tcp, 0.0.0.0:1880->80/tcp                                  jeedom-1

Le container jeedom-1 est bien démarrer. On s’y connecte

docker exec -it jeedom-1 bash

et on édite le script de démarrage de jeedom avec l’éditeur vi (désolé nano n’est pas disponible … et on ne va pas l’installer pour une ligne de code)

vi /root/init.sh

Passez en mode insertion en tapant ESC puis a

Déplacer le curseur avant la ligne /usr/bin/supervisord et insérer ces deux nouvelle lignes

echo 'Start MySQL'
sudo /etc/init.d/mysql restart

Quitter vi en tapant au clavier ESC puis : puis (pour quitter sans enregistrer saisir q!)

Ouff, vous n’aurez plus à le faire !

Vous pouvez redémarrer le conteneur Jeedom et actualiser le navigateur. Tout fonctionne parfaitement maintenant même après un redémarrage du NAS.

Vous avez oublié de re-diriger le port 80, votre NAS QNAP n’est plus accessible, comment faire ?

Et bien tout simplement en arrêtant manuellement le container. Comme précédemment, connectez-vous en SSH au NAS. Trouvez le nom du container avec la commande docker ps puis exécuter la commande docker stop <nom_container> pour l’arrêter

docker stop jeedom-1

Et voilà, QTS est de nouveau accessible !

Avantages et inconvénients d’un docker Jeedom Debian

POUR:
  • Moins de RAM nécessaire (fonctionne très bien avec 2GB)
  • Excellentes performances
  • Accès aux commandes Docker possible en SSH
  • Démarrage ultra-rapide
  • Port USB (ZWave, RFLink…) très bien supporté. Aucun problème d’installation des plugins testés
  • Lancement correct du serveur et contrôleurs domotique après un redémarrage du NAS

CONTRE:
  • Pas de montage / démontage à chaud des accessoires USB
  • Container Station est beaucoup moins souple que Docker sur PC, Mac, Linux
  • Beaucoup de paramètres non modifiables après la création du Docker (link, variables d’environnement, mode master…)
  • Plus difficile de faire des clichés pour revenir en arrière
  • Configuration plus difficile qu’une VM (pour Jeedom du moins)
  • MySQL supporte mal l’arrêt du conteneur Jeedom ce qui oblige à re-démarrer le NAS (long)

Quelle solution choisir pour installer Jeedom sur un NAS ? Docker ou VM

En terme de performance, les deux solutions sont équivalentes. Si vous avez un budget serré, vous pouvez choisir d’installer Jeedom dans un conteneur Docker. Container Station, l’application développée par QNAP n’est pas aussi souple d’utilisation que l’application officielle développée par Docker. Si on reste dans une installation connue, ça fonctionne très bien. Dans le cas ou il faut faire des modifications (variables d’environnement …) on passe son temps à détruire ses conteneurs dockers pour tester d’autres paramètres. C’est un peu pénible. Cependant, une fois que tout est configuré correctement, Jeedom sous Docker fonctionne très bien même avec un NAS équipé de seulement 2GB de RAM. Seul problème, il arrive parfois que MySQL ne re-démarre pas après un arrêt du conteneur.

En passant à 4GB ou mieux à 8GB, vous pourrez installer Jeedom sur une machine virtuelle fonctionnant sous Debian. C’est la solution que je vous conseille. L’application Virtualisation Station offre beaucoup plus de souplesse que Docker (du moins avec l’application Container Station de QNAP). On démarre sur Linux comme sur un ordinateur classique. La possibilité de sauvegarder un cliché de la VM avant de faire une mise à jour ou l’installation d’une dépendance permet de revenir en arrière en quelques instants en cas de problème. Seul regret, les périphérique USB sont déconnectés de la machine virtuelle durant la sauvegarde et Jeedom (du moins pour le contrôleur Z-Wave) est incapable de se reconnecter automatiquement. Après chaque sauvegarde, il faudra donc re-configurer le port USB de chaque passerelle (contrôleur Z-Wave notamment, ce qui rend inutilisable la planification des sauvegardes.

Dans les deux cas, je n’ai rencontré aucun problème lors d’un redémarrage du NAS. Le serveur Jeedom se lance parfaitement. Idem pour les contrôleurs USB. Notons toutefois que le redémarrage est beaucoup plus long que sur un Raspberry Pi, mais ce n’est pas le but recherché après tout.

Configuration testée

Budget de la configuration testée ~510€.

Dernière mise à jour des prix le 15 avril 2019 3 h 01 min

L’article Installer Jeedom sur un NAS QNAP. Machine virtuelle ou Docker (script v3) est apparu en premier sur Domotique et objets connectés à faire soi-même.

#TEST du NAS QNAP TS-251A. Extension RAM 8GB. Benchmark CPU avec une VM Jeedom

$
0
0
test nas qnap ts-251A review

Le NAS QNAP TS-251A est équipé d’un processeur Intel Celeron N3060 Dual-core cadencé à 1.6GHz. C’est un NAS polyvalent capable de faire fonctionner des machines virtuelles  (Linux ou Windows) et des conteneurs Docker en plus des fonctions habituelles d’un NAS : serveur de fichier, stockage et partage de photo / vidéo, lecteur multimédia (Plex), téléchargement…

Dans sa version de base, le QNAP TS-251A-2G est livré avec 2GB de mémoire vive qu’il est très facile d’étendre à 8GB. On pourra ainsi faire fonctionner jusqu’à 2 machines virtuelles.

Déballage et présentation du NAS QNAP TS-251A

La série TS-x51 se décline en 2 versions. Le QNAP TS-251+ est un NAS pour un usage général. Il est équipé d’un processeur Intel Celeron J1900 quad Core à 2GHz et 2GB de RAM DDR3L au format SO-DIMM. Les deux modèles pourront prendre place à coté d’un téléviseur pour diffuser du contenu (vidéo, musique photo…) via la sortie HDMI. La partie graphique est prise en charge par le GPU Intel HD Graphics. Ce n’est pas une carte graphique de gamer, mais elle est suffisamment puissante pour diffuser une vidéo 4K sur un téléviseur.

Contenu de l’emballage :

  • NAS
  • Bloc d’alimentation externe 12V
  • 2 câbles Ethernet
  • 1 télécommande IR
  • Guide de démarrage rapide

test nas qnap ts-251A review

Le QNAP TS-251A coute un peu moins cher (environ 15€). Ce modèle est plus adapté à un usage multi-média. Il est équipé d’un lecteur de carte SDXC ainsi que d’un bouton en façade qui permet de lancer une copie de sauvegarde du contenu d’une carte micro SD ou d’un disque dur USB. On pourra piloter l’application Plex à l’aide de la télécommande infra-rouge livrée. Le TS-251A dispose par ailleurs d’une sortie auto au format jack 3.5mm et d’une entrée micro. Petit regret, il ne dispose d’aucune sortie audio de type S/PDIF.

289,03€
en stock
9 nouveau de 289,03€
Relevé le 24 avril 2019 3 h 01 min
Amazon.fr
Livraison gratuite

En terme de puissance brute du CPU, voici les résultats des tests réalisés par CPU Benchmark. L’Intel Celeron N3060 est le plus économe en énergie avec une consommation de seulement 6W. Le score de CPU Benchmark est également le plus bas de trois processeurs testés. A ma grande surprise le Celeron N3060 qui équipe le TS-251A testé s’en sort vraiment très bien pour les tâches les plus courantes. J’ai testé simultanément le fonctionnement des dockers Home Assistant et Domoticz ainsi que Jeedom en machine virtuelle sans la moindre difficulté.

cpu benchmark nas qnap intel celeron J3455 J199 N3060

Benchmark CPU Intel Celeron J3455, J199 et N3060

Comparaison des spécifications techniques des NAS QNAP TS-251+, TS-251A et TS-253B

Voici un tableau comparatif des 3 modèles QNAP d’entrée de gamme compatible avec la virtualisation ou l’exécution de Docker.

qnap ts253b
Modèle TS-251+ TS-251A TS-253B
Tarif moyen du NAS nu* ~ 365€ ~ 350€ ~ 550€
Processeur Intel Celeron J1900

Quad-core @ 2,0 GHz

Intel Celeron N3060

Dual-core @ 1.6GHz

Intel Celeron J3455

Quad-core @ 1,5 GHz

Architecture x86 64 bits x86 64 bits x86 64 bits
Score CPU Benchmark 1841 992 2126
GPU Intel® HD Graphics Intel® HD Graphics Intel® HD Graphics 500
RAM 2 Go DDR3L SO-DIMM

(1 x 2 Go)

2GB / 4GB 4GB
Extension RAM max.

Emplacement

8 Go

2 x DDR3L SODIMM

8 Go

2 x DDR3L SODIMM

8 Go

2 x DDR3L SODIMM

Mémoire flash 512Mo 512Mo 512Mo
Baies 2 x SATA 6 Gbits/s, 3 Gbits/s 2,5 pouces ou 3,5 pouces 2 x SATA 6 Gbits/s, 3 Gbits/s 2,5 pouces ou 3,5 pouces 2 x SATA 6 Gbits/s, 3 Gbits/s 2,5 pouces ou 3,5 pouces
Remplacement d’un disque à chaud Oui Oui Oui
Prise en charge de l’accélération par cache SSD Oui  via un adaptateur PCIe pour disque SSD M.2
Port Ethernet Gigabit (RJ45) x2 x2 x2
Port USB 2.0 x2
Port USB 3.0 x2 x3 x5
Récepteur IR x1 x1 x1
Lecteur SDXH x1 x1
Sortie HDMI x1@1080p x1@1080p x2
Sortie audio jack 3,5mm  x1 jack 3,5 mm
Entrée micro x1 x2
Dimensions (H x L x P) 168,5 × 102 × 225 mm 169 x 102 x 219 mm 168 × 105 × 226 mm
Consommation normale 10,56 W 7,9 W 13,07 W
Conso. usage intensif 18,09 W 16,2 W 24,42 W
Niveau sonore 15,4 dbA 18.3 dB (A) 16,7 db(A)
Page produit Lire Lire Lire

(*) Le NAS est livré sans disque dur

Quel fabricant et type de disque dur choisir ?

Le TS-251A est livré nu. Voici plusieurs critères à prendre en compte pour vous aider à bien choisir le type de disque dur pour votre NAS

Usage Disque dur standard Disque dur certifié NAS

180 ou 300 To / an

Partage de fichiers
Synchronisation de fichiers *** *****
Concentrateur multi-média (photo, vidéo, musique, plex) ** *****
Sauvegarde de données sensibles * *****
Serveur domotique *** *****
NVR, vidéo-surveillance * *****
Virtualisation (VM ou Docker) **** *****

Il est préférable pour la plupart des applications d’opter pour un disque dur certifié NAS. Ils coutent environ 35% plus cher qu’un disque dur standard. C’est le prix à payer pour avoir plus de sécurité.

La résistance d’un disque dur est indiquée par la qualité de données qu’il peut traiter en une année. Elle est indiquée en To / an. Voici un tableau comparatif des modèles proposés par Western Digital, Seagate et Tohiba

180 To / an 300 To / an
Seagate Iron Wolf* Iron Wolf with rescue service**
Toshiba N300 NAS
Western Digital Série Red

(*) Garantie 3 ans par le constructeur

(**) 5 ans de garantie constructeur dont 2 ans de Service de récupération de données Rescue de Seagate

81,79€
106,76
en stock
28 nouveau de 78,99€
2 occasion de 74,45€
Relevé le 24 avril 2019 3 h 01 min
Amazon.fr
Livraison gratuite
85,17€
en stock
28 nouveau de 73,00€
1 occasion de 145,99€
Relevé le 24 avril 2019 3 h 01 min
Amazon.fr
Livraison gratuite
120,89€
146,12
en stock
25 nouveau de 120,89€
Relevé le 24 avril 2019 3 h 01 min
Amazon.fr
Livraison gratuite

Quelle capacité de stockage choisir ?

Optez directement pour un disque dur conçu pour les NAS surtout si vous voulez utiliser celui-ci comme enregistreur vidéo (NVR). Les meilleurs fabricants dans le domaine sont Seagate IronWolf , Toshiba N300 et Western Digital RED.

Pour estimer la taille nécessaire, vous pouvez utiliser par exemple ce calculateur mis à disposition par Western Digital. Le comparateur de vidéo-surveillance de Synology permet également d’estimer la taille du disque nécessaire.

Attention, le système de fichier utilise une partie (au moins 10%) de la capacité totale du disque. Pour vous donner une idée, voici une estimation du stockage nécessaire dans les conditions suivantes :

  • 4 caméras 2MP (1080p)
  • Activité moyenne. Plus il y a de mouvements, plus la compression sera faible. Magasin, parking, allée de jardin, hall d’entrée..
  • Vidéo à 12 images / seconde
  • Encodage : voir le tableau ci-dessous
  • 30 jours d’historique

Le stockage dépend fortement de l’encodage vidéo. Le H265+ est le format d’encodage vidéo actuel qui offre le meilleur taux de compression. Il offre environ 10% de gain par rapport au H.265 mais il n’est proposé que par une poignée de fabricants. Choisissez un NAS capable d’encoder les vidéos dans le format H.265.

MJPEG H.264 H.265 H.265+
20,639To ! 2,983To 2,023To 1,83To

Voici une sélection de disques offrant 4To de stockage.

125,04€
177,45
en stock
43 nouveau de 125,04€
5 occasion de 111,51€
Relevé le 24 avril 2019 3 h 01 min
Amazon.fr
129,99€
158,90
en stock
67 nouveau de 129,99€
3 occasion de 94,58€
Relevé le 24 avril 2019 3 h 01 min
Amazon.fr
Livraison gratuite
132,89€
en stock
30 nouveau de 132,26€
4 occasion de 99,00€
Relevé le 24 avril 2019 3 h 01 min
Amazon.fr
Livraison gratuite

Autres capacités

Installation de l’extension de RAM à 8GB (2 x 4 GB)

Le QNAP TS-251A est livré avec une barrette au format SO-DIM de 2GB DDR3L. C’est largement suffisant pour un usage standard et même pour faire fonctionner un serveur domotique dans un conteneur Docker. Par contre, c’est un peu juste, voir insuffisant si l’on souhaite faire fonctionner une machine virtuelle (Windows 10 ou Linux). L’application Virtualization Station nécessite un NAS équipé d’au moins 2GB de RAM mais il faudra ensuite au moins 4GB pour démarrer une machine virtuelle.

La liste complète des NAS compatibles se trouve sur cette page. Voici la liste des NAS 2 baies (les plus économiques) destinés à un usage personnel compatibles avec Virtualization Station. Les modèles équipés de 8 GB ne nécessitent aucune extension mémoire. Les modèles équipés de 4 GB de RAM peuvent faire fonctionner 1 machine virtuelle.

HS-251+-2G (2 GB)
TS-253B-4G (4 GB) / TS-253B-8G (8 GB)
TS-253A-4G (4 GB) / TS-253A-8G (8 GB)
TS-251+-2G (2 GB) / TS-251+-8G (4 GB)
TS-251A-2G (2 GB) / TS-251A-4G (4 GB)

Modèles obsolètes qui ne sont plus commercialisés mais sont compatibles
TS-251 (2 GB) /TS-251-4G (4 GB)
TS-253 Pro / TS-253 Pro-8GB (8 GB)

Dernière mise à jour des prix le 22 avril 2019 3 h 02 min

Attention, il faut également prendre en compte la puissance du processeur et pas uniquement la quantité de RAM pour déterminer le nombre de machines virtuelles pouvant être exécuter en même temps. Au delà, les performances du NAS risques de s’effondrer et affecter les autres fonctions du NAS (serveur de fichier, sauvegarde planifiée, lecture de vidéos…). Il faut également tenir compte des ressources utilisées par les applications exécutée sur chaque VM. Il pourra être nécessaire de limiter le nombre de Core et la puissance maximale accordée à chaque VM (50% est un bon compromis) pour conserver de bonnes performances du NAS.

Passons maintenant aux choses sérieuses. Suivez ces étapes pour installer votre extension de mémoire :

  • Arrêtez le NAS depuis QTS. Attendez l’arrêt complet du NAS et débranchez tous les câbles. Repérez le connecteur Ethernet
  • Retirez les disques du NAS
  • Dévisser les 2 vis à l’arrière du NAS (indiquées par un cercle rouge)
  • Dé-verrouillez le NAS en poussant le capot vers l’avant jusqu’à ce que le repère se trouve en face du cadenas ouvert
  • Dévisser les 4 du châssis
  • Retirer le châssis délicatement vers le haut pour ne pas détériorer le connecteur SATA.
  • Retirer les 2 barrettes mémoire. Il faut d’abord dé-verrouiller chaque barrette en tirant le levier vers l’extérieur. La barette se soulève. Il suffit de la tirer vers l’arrière pour la retirer. On fait de même pour la seconde barette
  • Insérez d’abord la barrette du slot primaire (le connecteur ne doit plus être visible) puis enfoncez la avec un léger mouvement de rotation vers la carte mère. Un clic signale qu’elle est en place. Faites la même chose avec la seconde barrette mémoire.
  • Ré-insérez le châssis en l’insérant verticalement. Attention à ne pas détériorer le connecteur SATA ou la carte mère.
  • Re-vissez le châssis sur la carte mère et à l’arrière du NAS
  • Re-fermez le capot
  • Re-mettez en place les 2 disques
  • Rebranchez tous les câbles. Rebranchez le câble Ethernet sur le même port sinon votre NAS risque d’avoir une autre adresse IP sur le réseau local.

Test de performance avec Sysbench sur Virtualisation Station (machine virtuelle)

Il est temps de passer aux tests de performances. Pour cela, j’ai installé sysbench sur la machine virtuelle qui fonctionne sous Debian sur laquelle nous avons installé Jeedom (v3.3) pour le tutoriel précédent.

Pour comparer les différents processeurs, j’ai réalisé 20000 cycles sur 4 threads simultanés. Par curiosité, j’ai testé en attribuant 1 coeur puis 2 coeurs à la machine virtuelle pour voir l’impact sur les résultats de sysbench. Voici la commande pour reproduire le test

sysbench –test=cpu –cpu-max-prime=20000 –num-threads=4 run

Voici tous les résultats obtenus à l’aide de Sysbench

Temps total en secondes

(le plus court est le meilleur)

min avg max 95 %
Core i5 8GB macOS 10,0021 3,94 5,78 175,71 9,91
VM Debian / QNAP TS-251A 2 Cores 1GB RAM 33,9727 4,09 13,57 329,26 29,4
VM Debian / QNAP TS-251A 1 Core 1GB RAM 52,1020 4,10 20,84 362,54 37,99
Raspberry Pi 3 b+ 124,3146 31,64 49,72 106,02 78,19
Raspberry Pi 3 200,5089 30,90 80,19 295,38 121,52

Comme vous pouvez le constater, une VM avec 2 coeurs et 1GB de RAM est 3,7 fois plus rapide que le nouveau Raspberry Pi 3 b+ (2018) et 5,9 fois plus rapide que le Raspberry Pi 3 !

Autre résultat surprenant, le processeur du NAS tient la route face à un Core i5.

nas qnap ts-251a benchmark virtualisation debian rapsberry pi

Bilan

Le TS-251A donne des résultats surprenant en virtualisation et l’exécution de conteneurs Docker. Malgré un processeur deux fois moins puissant que le TS-251+ ou le TS-253B, Jeedom fonctionne parfaitement sur une machine virtuelle. J’ai même testé sans aucun problème en démarrant simultanément Jeedom en parallèle de Domoticz et Home Assistant installé avec Docker !

Le TS-251A offre beaucoup plus de puissance que le Raspberry Pi 3 b+. On pourra donc pour utiliser ce NAS pour faire fonctionner un serveur domotique et tous les outils de développement pour objets connectés (Node-RED, Grafana…)

Si votre budget vous le permet, vous pouvez également opter pour le TS-253B plus puissant et livré en standard de 4GB de mémoire vive. Le boîtier nu coûte environ 550€.

L’article #TEST du NAS QNAP TS-251A. Extension RAM 8GB. Benchmark CPU avec une VM Jeedom est apparu en premier sur Domotique et objets connectés à faire soi-même.

Installer Mosquitto sur NAS Synology fonctionnant sous DSM 6.2+ avec Docker

$
0
0
nas synology mosquitto container status

Il est très facile d’installer un broker Mosquitto sur un NAS Synology à l’aide de Docker. Depuis la version 6.2 de DSM, la structure des dossiers Docker est différente. Synology a développé l’application Docker (attention, ce n’est pas l’application officielle Docker) qui permet de récupérer des images et de gérer des conteneurs. 

 

C’est la méthode la plus facile pour installer, configurer, et démarrer des conteneurs si vous n’avez pas l’habitude des lignes de commande. Malheureusement, l’application Docker de Synology est limitée pour les réglages avancés. Il faudra utiliser le Terminal ou Powershell pour modifier le fichier de configuration de Mosquitto. Ce tutoriel a été réalisé sur un NAS Synology DS718+ équipé de 8GB de RAM.

NAS Synology compatibles avec Docker

Voici la liste des modèles de NAS Synology qui peuvent exécuter des conteneurs Docker. La liste officielle se trouve sur cette page.

Série 19:RS1619xs+, RS1219+, DS2419+, DS1819+, DS1019+

Série 18:FS1018, RS3618xs, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS3018xs, DS1618+, DS918+, DS718+, DS218+

Série 17:FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xs, DS1817+, DS1517+

Série 16:RS18016xs+, RS2416RP+, RS2416+, DS916+, DS716+, DS716+II, DS216+, DS216+II

Série 15:RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+, DS415+

Série 14:RS3614xs+, RS3614RPxs, RS3614xs, RS2414RP+, RS2414+, RS814RP+, RS814+

Série 13:RS10613xs+, RS3413xs+, DS2413+, DS1813+, DS1513+, DS713+

Série 12:RS3412RPxs, RS3412xs, RS2212RP+, RS2212+, RS812RP+, RS812+, DS3612xs, DS1812+, DS1512+, DS712+, DS412+

Série 11:RS3411RPxs, RS3411xs, RS2211RP+, RS2211+, DS3611xs, DS2411+, DS1511+, DS411+, DS411+II

Série 10:RS810RP+, RS810+, DS1010+, DS710+ (DSM v6+)

Installer le gestionnaire Docker Synology

La première chose à faire est d’installer l’application Docker développée par Synology. Ouvrez le Centre de Paquets et faites une recherche sur le mot clé Docker dans le champ de recherche. Cliquer sur Installer.

install docker nas synology dsm 6.2

Installer l’éditeur nano

Par défaut, il n’y a que l’éditeur standard VI qui est installé. C’est un éditeur un peu particulier à prendre en main. Heureusement, la communauté a développé un paquet pour installer très facilement l’éditeur nano que l’on connait mieux.

Ouvrez le centre de paquets et cliquer sur Paramètres.

nas synology dsm 6.2 centre paquet ajouter source

Ajouter la source suivante et enregistrer.

http://packages.synocommunity.com/

nas synology community source

Ouvrez la source Communauté qui a été ajoutée à la liste et faites une recherche avec le mot clé nano. Installer le paquet. L’éditeur Nano est disponible dès la fin de l’installation du paquet.

nas synology install nano editor dsm 6.2

Configurer l’accès SSH

Dernière chose à faire avant d’installer Mosquitto, ouvrir l’accès SSH du NAS. Ouvrez le panneau de configuration et activez le mode avancé (dans le coin supérieur gauche). Ouvrez le panneau Terminal & SNMP puis

  • Cochez Activer le service SSH
  • Configurer le port. Par défaut, SSH utilise le port 22. Pour limiter les risques d’intrusion, vous pouvez le modifier.
  • Appliquer les modifications. Il n’est pas nécessaire de redémarrer le NAS pour prendre en compte les nouveaux réglages.

nas synology dsm 6.2 activate ssh port

Installer le broker Mosquitto

Lancez l’application Docker depuis le menu de DSM.

nas synology docker application

Ouvrer le panneau Registre et faites une recherche sur le mot clé mosquitto dans le champ de recherche. Sélectionner le dépôt eclipse-mosquitto officiel. Lancez le téléchargement en cliquant sur Télécharger dans la barre d’options.

nas synology docker mosquitto download latest

Choisir latest (version la plus récente) dans la boite de dialogue qui s’affiche.

nas synology mosquitto latest

Tous les fichiers nécessaires au fonctionnement de Mosquitto (dockerfile) sont téléchargés dans la librairie d’images. Même si vous détruisez le conteneur, l’image restera disponible sur le disque. Cela permet par exemple de tester plusieurs configurations.

Sélectionner eclipse-mosquitto dans la liste et cliquer sur Lancer pour démarrer l’installation du broker.

nas synology install mosquitto image

Vous pouvez personnaliser le nom de conteneur. Cliquez ensuite sur paramètres avancés.

Remarque. Contrairement au gestionnaire Docker QNAP, la plupart des paramètres sont modifiables après la création du conteneur (d’ailleurs, il me semble que tous les paramètres peuvent être modifiés).

nas synology install docker mosquitto

Cocher l’option Activer le redémarrage automatique qui permettra de relancer Mosquitto en cas de plantage.

nas synology install docker mosquitto autostart

Ne changez pas la configuration réseau. Par défaut, le mode bridge est sélectionné.

nas synology install docker mosquitto reseau

Sur l’onglet Paramètres des ports, cliquer sur le + pour ajouter une redirection de port. Ajouter un redirection du port 1883 du NAS vers le port 1883 du conteneur Mosquitto. Vous pouvez également ajouter une redirection vers le port 9001 si vous voulez vous connecter en websocket à Mosquitto.

nas synology install docker mosquitto port 1883 9001

Cliquer sur Appliquer pour terminer la configuration. Dans la fenêtre de synthèse qui s’affiche, cocher Exécuter ce conteneur lorsque l’assistant a terminé puis Appliquer.

 nas synology install docker mosquitto summary

Le conteneur démarre automatiquement et le broker Mosquitto est disponible immédiatement. Ouvrez l’onglet Conteneur puis détail pour afficher l’état du broker.

nas synology mosquitto container status

Modifier la configuration de Mosquitto. Ouvrir le port 9001

Dans la plupart des cas, vous ne devriez pas avoir besoin de toucher au fichier de configuration de Mosquitto. Nous allons toutefois voir comment faire. Vous aurez peut être besoin d’ouvrir le port 9001 qui permet de se connecter en Websocket à Mosquitto.

Connectez-vous en SSH à votre NAS. Utilisez Powershell ou Putty sur Windows, le Terminal de commande sur Linux ou macOS.

Une fois connecté, connectez vous en root avec la commande

sudo su -

Saisissez de nouveau votre mot de passe

Rechercher le chemin du fichier mosquitto.conf avec la commande

find / -name mosquitto.conf

Vous devriez obtenir quelque chose qui ressemble à ceci.

/volume1/@docker/btrfs/subvolumes/e22e9eda6d82a1ec8b772536eb339c611f306af1153f150c2ecb3e1a30922b11-init/mosquitto/config/mosquitto.conf
/volume1/@docker/btrfs/subvolumes/e22e9eda6d82a1ec8b772536eb339c611f306af1153f150c2ecb3e1a30922b11/mosquitto/config/mosquitto.conf

Il ne faut ouvrir le fichier qui se trouve dans le dossier qui se terminant par -init.

Ouvrer le fichier de configuration avec la commande

nano /volume1/@docker/btrfs/subvolumes/e22e9eda6d82a1ec8b772536eb339c611f306af1153f150c2ecb3e1a30922b11/mosquitto/config/mosquitto.conf

Descendez le curseur dans la section Default listener et ajouter les ports souhaité. Par exemple

listener 1883
listener 9001

Combinaison Ctrl + X puis Y pour enregistrer. Re-démarrer le conteneur depuis DSM pour appliquer les modifications. N’oubliez pas d’ajouter une redirection vers le nouveau port si nécessaire.

 

L’article Installer Mosquitto sur NAS Synology fonctionnant sous DSM 6.2+ avec Docker est apparu en premier sur Domotique et objets connectés à faire soi-même.

#FRENCHDAYS 2019, promos accessoires domotiques Xiaomi Aqara chez Gearbest

$
0
0

Gearbest nous propose plusieurs promos très intéressantes durant les French Days 2019 sur les accessoires domotiques Xiaomi Aqara, les robots aspirateurs Mijia Robot Rock et les imprimantes 3D Creality et Jgaurora. Les ventes flash se terminent le 6 mai prochain. Attention, les quantités sont limitées.

Promos accessoires domotiques Xiaomi Aqara sur Gearbest sans code promo

Aucun code promo n’est nécessaire pour profiter de ces promos.

Dernière mise à jour des prix le 29 avril 2019 17 h 36 min

Promos sur les caméras IP Xiaomi Mijia

Dernière mise à jour des prix le 29 avril 2019 17 h 36 min

Promos robots aspirateur Xiaomi

Dernière mise à jour des prix le 29 avril 2019 17 h 36 min

Promos sur les imprimantes 3D Creality et Jgaurora

Dernière mise à jour des prix le 29 avril 2019 17 h 36 min

Autres promos intéressantes

Dernière mise à jour des prix le 29 avril 2019 17 h 36 min

L’article #FRENCHDAYS 2019, promos accessoires domotiques Xiaomi Aqara chez Gearbest est apparu en premier sur Domotique et objets connectés à faire soi-même.


Installer Domoticz sur NAS Synology DS718+ sous Docker ou machine virtuelle

$
0
0
nas synology ds718 domoticz rflink zwave usb

La documentation officielle propose d’installer Domoticz sur un NAS Synology à partir d’une image pré-compilée par Jadahl.. ou en compilant le code source directement sur le NAS. La compilation depuis de code source demande un peu trop de travail à mon gout. Je me suis donc lancé dans l’installation du paquet destiné à mon DS718+ préparé par Jadahl… sans succès. Heureusement, il nous reste encore deux autres solutions pour installer Domoticz sur un NAS Synology. Installer Domoticz sur une machine Virtuelle comme on l’a déjà fait avec Jeedom ou installer Domoticz dans un conteneur Docker. 

 

Dans les deux cas, il faudra un NAS Synology compatible. Pour la virtualisation, il faudra au moins 4GB de RAM. Synology stipule qu’il est possible d’étendre la mémoire jusqu’à 6GB pour les modèles DS218+ et DS718+, mais il est possible d’aller au delà. J’ai installé 8GB sur un DS718+ sans difficulté. Certains utilisateurs ont déjà installé 16GB mais l’intérêt est assez limité compte tenu des processeurs utilisés pour les NAS d’entrée de gamme.

Configuration testée : DS718+, RAM 8GB, 2x2To

L’application Virtual Machine Manager de Synology nécessite au moins 4GB de RAM pour fonctionner.

nas synology ds718 plus

J’ai installé une extension mémoire de 8GB (2x4GB DDR3L SO-DIMM de marque Crucial) sur mon DS718+. Il est assez difficile d’accéder au connecteur principal, c’est la raison pour laquelle Synology annonce que les modèles DS218+ et DS718+ ne supportent que 6GB de RAM.

nas synology ds218 ds718 plus ram extension 8gb crucial

Le NAS est équipé de deux disques dur de 2 To chacun de marque Western Digital RED adaptés à un usage intensif. C’est largement suffisant pour de la domotique, un serveur de fichier multi-média et même de la vidéo surveillance en réseau (à condition de limiter la durée et la qualité d’enregistrement).

N’oubliez pas de de protéger votre NAS par un onduleur.

Dernière mise à jour des prix le 29 avril 2019 15 h 24 min

Autres NAS Synology compatibles avec Docker

Voici la liste des modèles de NAS Synology qui peuvent exécuter des conteneurs Docker. La liste officielle se trouve sur cette page.

Série 19: RS1619xs+, RS1219+, DS2419+, DS1819+, DS1019+

Série 18: FS1018, RS3618xs, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS3018xs, DS1618+, DS918+, DS718+, DS218+

Série 17: FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xs, DS1817+, DS1517+

Série 16: RS18016xs+, RS2416RP+, RS2416+, DS916+, DS716+, DS716+II, DS216+, DS216+II

Série 15: RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+, DS415+

Série 14: RS3614xs+, RS3614RPxs, RS3614xs, RS2414RP+, RS2414+, RS814RP+, RS814+

Série 13: RS10613xs+, RS3413xs+, DS2413+, DS1813+, DS1513+, DS713+

Série 12: RS3412RPxs, RS3412xs, RS2212RP+, RS2212+, RS812RP+, RS812+, DS3612xs, DS1812+, DS1512+, DS712+, DS412+

Série 11: RS3411RPxs, RS3411xs, RS2211RP+, RS2211+, DS3611xs, DS2411+, DS1511+, DS411+, DS411+II

Série 10:RS810RP+, RS810+, DS1010+, DS710+ (DSM v6+)

Ouvrir le port SSH du NAS

Si le port SSH est déjà ouvert sur votre NAS, vous pouvez passer à l’étape suivante.

Ouvrez le panneau de configuration et activez le mode avancé (dans le coin supérieur gauche). Ouvrez le panneau Terminal & SNMP puis

  • Cochez Activer le service SSH
  • Configurer le port. Par défaut, SSH utilise le port 22. Pour limiter les risques d’intrusion, vous pouvez le modifier.
  • Appliquer les modifications. Il n’est pas nécessaire de redémarrer le NAS pour prendre en compte les nouveaux réglages.

nas synology dsm 6.2 activate ssh port

Installer le gestionnaire Docker Synology

La première chose à faire est d’installer l’application Docker développée par Synology. Ouvrez le Centre de Paquets et faites une recherche sur le mot clé Docker dans le champ de recherche. Cliquer sur Installer.

install docker nas synology dsm 6.2

Récupérer l’image du Docker Domoticz

Lancez l’application Docker depuis le menu de DSM.

nas synology docker application

Ouvrer le panneau Registre et faites une recherche sur le mot clé domoticz dans le champ de recherche. Sélectionner le dépôt préparé par linuxserver.io. Lancez le téléchargement en cliquant sur Télécharger dans la barre d’options.

docker hub domoticz nas synology ds718 plus

Configurer et démarrer le conteneur Domoticz

L’image est téléchargée dans la libraire des images. Ouvrez l’onglet, sélectionnez l’image et démarrez la création du conteneur en cliquant sur Lancer.

create contenair docker domotics nas synology

Vous pouvez personnaliser le nom de conteneur. Cochez Exécuter la conteneur à l’aide de privilèges élevés pour pouvoir accéder aux ports USB du NAS Synology.

nas synology domoticz create contenair

Par défaut les ports sont attribués automatiquement par DSM au démarrage du conteneur. Ce n’est pas très pratique car le port risque de changer au prochain re-démarrage du NAS ou du conteneur. Ouvrez les paramètres avancés puis allez sur l’onglet Paramètres des ports. Remplacez le port local Auto par le port souhaité. Par défaut Domoticz utilise le port 8080.

nas synology domoticz port

Cliquez sur Appliquer puis suivant. Si tout semble correct, cliquer sur Appliquer en bas de la fenêtre du résumé.

Remarque. Tous les paramètres sont modifiables après la création du conteneur (à condition que le conteneur soit arrêté).

nas synology domoticz docker contenair creation

Ouvrez l’onglet conteneurs et ouvrez les détails de conteneur Domoticz. Comme vous pouvez le constater, Domoticz consomme très peu de ressources du NAS Synology. Sans aucun accessoire et aucun ni script, Domoticz utilise moins de 1% du CPU et 18MB de RAM ! Autant dire rien du tout.

status docker domoticz nas synology ds218 ds718

Le conteneur Domoticz consomme très peu de ressources du NAS.

Ajouter des accessoires domotiques Z-Wave, radio RFLink…

Ouvrez l’interface de Domoticz et saisissant l’adresse IP du NAS suivi du port, par exemple

http://IP_NAS:8080

Pour pouvoir accéder aux passerelles domotiques connectées sur les ports USB du Synology, il faut absolument cocher l’option Exécuter la conteneur à l’aide de privilèges élevés. Sur un DS718+, j’ai testé avec succès l’ajout d’accessoires Z-Wave et RFLink.

nas synology ds718 domoticz rflink zwave usb

Ajout de plugins Python

Comme tout se passait bien, j’ai ensuite tenté d’installer des plugins Python. Pour mémoire, nous avions déjà vu comment faire pas à pas dans ce tutoriel.

L’installation est assez simple mais aucun plugin n’est chargé au démarrage de Domoticz. Il n’y a aucun message d’erreur. Je vous donne les étapes en espérant que l’un d’entre vous trouve une solution. J’ai aussi signalé le problème à l’équipe de Linux.server.io.

Connectez-vous en SSH au NAS Synology puis passez en root

sudo su –

Localiser le répertoire d’installation du Docker Domoticz en faisant une recherche

find / -name domoticz

Vous risquez comme moi d’avoir plusieurs répertoires d’installation.

docker domoticz install folder nas synology dsm 6.2

Si tel est le cas, vous pouvez nettoyer les volumes en exécutant la commande

docker volume prune

Récupérer le lien du projet PP-Manger sur Github

pp-manager domoticz github url

Placez-vous dans le dossier Plugins puis téléchargez le plugin à l’aide de la commande wget

cd /volume1/@docker/btrfs/subvolumes/b683e5ada7a9c3f5cccedba85be377890051a5de866b69ece57bfba4d7539290/var/lib/domoticz/plugins
wget https://github.com/ycahome/pp-manarchive/master.zip

La commande unzip n’est pas disponible sur DSM 6.2, à la place, on dispose de 7z

7z x master.zip

On renomme le dossier

 mv pp-manager-master/ pp-master

Il ne reste plus qu’à redémarrer le conteneur. Malheureusement, Python Plugin Manager (ni aucun autre plugin) n’est lancé pour le moment. Si vous connaissez la solution, n’hésitez pas à la partager dans les commentaires ou sur le forum :-).

Bilan du fonctionnement de Domoticz sous Docker

Malgré une installation en deux coups de cuillère à pot, le fonctionnement de Domoticz sous Docker est assez mitigé. L’installation de plugin Python est assez simple mais rien n’y fait, les plugins ne sont pas lancé. J’ai tenté un re-démarrage du NAS (au cas ou), sans succès. Autre point négatif, après un re-démarrage du NAS, Domoticz n’arrive plus à charger le driver du contrôleur Z-Wave. La seule solution est de supprimer le matériel. En cas de re-démarrage après une coupure de courant prolongée, vous risquez de perdre l’accès à vos accessoires Z-Wave. C’est un peu génant lorsqu’on part en vacances !

POUR:
  • Installation simple et rapide
  • Aucune configuration nécessaire (sauf le port)
  • Fonctionnement ultra-léger grâce à Docker (charge CPU ~ 1%)

CONTRE:
  • Installation de plugin Python possible mais les plugins ne démarrent pas (cause inconnue pour le moment)
  • Perte du contrôleur Z-Wave après un re-démarrage

Installer Domoticz sur une machine virtuelle Debian Stretch (9.8)

Face à ce bilan en demi-teinte, j’ai tenté une installation plus classique sur une machine virtuelle fonctionnant sous Debian. On ne va pas reprendre ici toutes les étapes de création de la VM.

Modèles compatibles avec Virtual Machine Manager de Synology

Série 19: RS1619xs+, RS1219+, DS2419+, DS1819+, DS1019+

Série 18: FS1018, RS3618xs, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS3018xs, DS1618+, DS918+, DS718+, DS218+

Série 17: FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xs, DS1817+, DS1517+

Série 16: RS18016xs+, RS2416RP+, RS2416+, DS916+

Série 15: RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+

Série 14: RS3614xs+, RS3614RPxs, RS3614xs

Série 13: RS10613xs+, RS3413xs+

Série 12: RS3412RPxs, RS3412xs, DS3612xs

Série 11: RS3411RPxs, RS3411xs, DS3611xs

Installer Download Station

Si vous utilisez déjà Download Station vous pouvez passer à l’étape suivante.

Ouvrez le gestionnaire de paquets et faites un recherche sur le mot clé Download. Installer Download Station

nas synology download statio install

Installer Virtual Machine Manager

Si vous utilisez déjà Virtual Machine Manager vous pouvez passer à l’étape suivante.

Ouvrez le gestionnaire de paquets et faites un recherche sur le mot clé Download. Installer Virtual Machine Manager

nas synology dsm install virtual machine manager

Récupérer l’image de Debian Stretch avec Download Station

Allez sur le site de Debian pour récupérer le lien de la distribution. Prenez la version amd64 netInstall (même si le NAS est équipé d’un processeur Intel x86). Le téléchargement est rapide même avec une connexion moyenne. L’archive pèse environ 292Mo. Si vous changez d’avis, vous pourrez installer un bureau graphique à la fin de l’installation (ou ultérieurement).

url downolad debian stretch

Les liens vers la version NetInstall (image Debian Stretch de petite taille) se trouvent sur cette page.

Ouvrez Download Station et collez le lien vers le fichier ISO de Debian Stretch. Lancez le téléchargement en cliquant sur OK.

synology download station debian stretch url

Création d’une machine virtuelle sous Debian Stretch (9.8)

Ouvrez Virtual Machine Manager, ouvrez l’onglet Machine Virtuelle et cliquer sur Créer. Dans la boîte de dialogue qui s’ouvre, sélectionnez Linux comme système d’exploitation.

nas synology ds718 vm linux domoticz hass jeedom

Choisir un stockage dans la liste

nas synology ds718 vm linux domoticz hass jeedom volume

Attribuer 1 ou plusieurs processeurs (2 conseillé), la RAM (conseillé 1GB) et le type de carte vidéo (vga conseillé).

nas synology ds718 vm linux domoticz hass jeedom cpu ram

Indiquer la taille du disque dur virtuel (stockage). 30 GB est largement suffisant. Cliquer sur parcourir en face de l’option Fichier ISO pour le démarrage et indiquer le chemin vers l’image ISO de Debian Stretch téléchargé précédemment.

nas synology vm storage iso debian stretch

 

Conserver la configuration réseau par défaut

nas synology network

Choisir Oui pour l’option Autostart pour démarrer la machine virtuelle (Domoticz) au démarrage du NAS. Choisir le type de clavier dès maintenant. Choisir USB 3.0 comme contrôleur virtuel afin de pouvoir accéder aux passerelles domotiques (RFLink, Z-Wave, Zigbee…). Il n’est pas possible de connecter des accessoires USB à ce stade.

nas synology virtaul machine debian usb keyboard autostart

Attribuer les permissions aux utilisateurs

nas synology virtual machine permissions

La configuration est terminée. Cocher Mettre en marche la machine virtuelle après sa création puis Appliquer.

nas synology virtual machine summary

Vous pouvez également démarrer la machine virtuelle manuellement en sélectionnant celle-ci et en cliquant sur Mettre sous tension.

start vm virtual machine manager synology

Une fois que la machine est démarrée, vous pouvez vous connecter pour installer Debian.

nas synology connect vm

Un client VNC s’ouvre dans une nouvelle fenêtre du navigateur internet.

nas synology start install virtual machine debian stretch

Il ne reste plus qu’à suivre les étapes d’installation de Debian. Pour plus de détails, cliquez sur l’image ou lisez ce tutoriel précédent.

L’installation de Debian est maintenant terminée. Le système va redémarrer

Attribuer une adresse IP fixe à la machine virtuelle Debian

Par sécurité, il est préférable d’attribuer une adresse IP fixe à la machine virtuelle de façon à ce que le serveur domotique soit toujours accessible sur le réseau local à la même adresse.

Après le re-démarrage, re-connectez vous à la machine virtuelle et ouvrez une session à l’aide du compte utilisateur créé durant l’installation de Debian. Ouvrez le fichiers interfaces

sudo nano /etc/network/interfaces

Commentez la configuration actuelle et collez cette nouvelle configuration en l’adaptant à vos paramètres. Ici la VM sera accessible à d’adresse IP 192.168.1.10

auto ens3
iface ens3 inet static
address 192.168.1.10
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1

Enregistrer avec CTRL+X puis O. Redémarrer ensuite le système avec la commande sudo reboot.

Connectez-vous après le redémarrage et exécuter cette commande pour vérifier que l’adresse IP a correctement été modifiée

ip -4 a

La machine virtuelle Debian est bien accessible à l’adresse 192.168.1.10 sur le réseau local. Vous pouvez maintenant vous y connecter en SSH pour installer facilement Domoticz.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
   inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   inet 192.168.1.10/24 brd 192.168.1.255 scope global ens3
   valid_lft forever preferred_lft forever

Installer Domoticz

Connectez-vous en SSH à la machine virtuelle. Connectez-vous en SSH à l’aide du Terminal (Linux ou macOS) ou PowerShell sous Windows puis exécutez la commande suivante pour récupérer Domoticz et lancer l’installation.

curl -sSL install.domoticz.com | sudo bash

ou

curl -L https://install.domoticz.com | bash

Répondez simplement aux quelques questions posées. Vous pouvez conserver les paramètres proposés par défaut.

domoticz orange pi lite installation armbian raspbian

La configuration commence

2-domoticz-orange-pi-lite-installation

On peut activer ou désactiver la connexion HTTP et HTTPS.

domoticz orange pi lite installation armbian port http raspbian

Choix du port HTTP. 8080 par défaut.

domoticz orange pi lite installation armbian raspberry pi raspbian https

Choix du port HTTPS. 443 par défaut.

domoticz orange pi lite installation armbian raspberry pi raspbian folder destination

Le dossier des fichiers.

domoticz orange pi lite installation armbian raspberry pi raspbian complete

C’est terminé. L’adresse IP de Domoticz sur le réseau est indiqué à la fin de l’installation.

Domoticz ne peut toutefois pas démarrer directement sous Debian Stretch car il manque la librairie libssl1.0.0.

Installer manuellement la librairie libssl1.0.0

Si vous tentez de vous connectez à Domoticz, vous obtiendrez une fenêtre vide et pour cause, en exécutant cette commande qui permet de connaître l’état du service (sudo /etc/init.d/domoticz.sh status) vous allez obtenir l’erreur suivante

./domoticz: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

Impossible d’installer la librairie avec une simple commande apt-get install. Il faut aller la récupérer directement sur Debian ici. Récupérez le lien vers la librairie sur le site officiel et exécutez la commande wget pour la télécharger.

wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb

Enfin, on l’installe manuellement

sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb 

Il ne reste plus qu’à redémarrer Domoticz

sudo /etc/init.d/domoticz.sh restart

Et vérifier que tout fonctionne correctement

domoticz.service - LSB: Home Automation System
   Loaded: loaded (/etc/init.d/domoticz.sh; generated; vendor preset: enabled)
   Active: active (exited) since Fri 2019-04-26 20:22:29 CEST; 3h 18min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2836 ExecStop=/etc/init.d/domoticz.sh stop (code=exited, status=0/SUCCESS)
  Process: 2845 ExecStart=/etc/init.d/domoticz.sh start (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/domoticz.service
avril 26 20:22:29 ds718 systemd[1]: Starting LSB: Home Automation System...
avril 26 20:22:29 ds718 domoticz.sh[2845]: 2019-04-26 20:22:29.821  Status: Domoticz V4.9701 (c)2012-2018 GizMoCuz
avril 26 20:22:29 ds718 domoticz.sh[2845]: 2019-04-26 20:22:29.823  Status: Build Hash: b47a877f, Date: 2018-06-23 16:27:56
avril 26 20:22:29 ds718 domoticz.sh[2845]: 2019-04-26 20:22:29.824  Status: Startup Path: /home/projetsdiy/domoticz/
avril 26 20:22:29 ds718 domoticz.sh[2845]: domoticz: Domoticz is starting up....
avril 26 20:22:29 ds718 domoticz[2850]: Domoticz is starting up....
avril 26 20:22:29 ds718 domoticz[2851]: Domoticz running...
avril 26 20:22:29 ds718 systemd[1]: Started LSB: Home Automation System.

Installer Python Plugin Manager

Je ne vais pas reprendre toutes les étapes de l’installation dans ce tutoriel. Si vous avez besoin de plus d’informations sur Python Plugin Manager, lisez ce tutoriel plus détaillé.

Python 3.5 (ou supérieur) est déjà installé sur la distribution Debian Stretch. Il manque toutefois 2 librairies

sudo apt install libpython3.5 python3-dev

Après l’installation des librairies, relancez Domoticz

sudo systemctl restart domoticz.service

Vérifiez que la Librairie python est correctement chargée au démarrage de Domoticz

La librairie Python est correctement chargée La librairie Python n’est pas installée
domoticz plugin system ok debian synology python plugin manager failed domoticz debian synology

Accorder les permissions d’accès au dossier plugins

Si vous n’avez pas installé Domoticz avec le compte root (ce qui est mieux pour la sécurité), vous n’aurez probablement pas le droit d’accéder au dossier plugins. Exécutez cette commande en remplaçant le nom d’utilisateur pour attribuer un accès complet à ce dossier.

sudo chown -R NOM_UTILISATEUR domoticz/plugins/

Installer le plugin Python Plugin Manager

Le plugin Python Plugin Manager permet d’installer et mettre à jour automatiquement les plugins Python pour Domoticz. Placez-vous dans le répertoire des plugins

cd /domoticz/plugins

et clonez le plugin depuis Github

git clone https://github.com/ycahome/pp-manager.git

Relancez Domoticz

sudo systemctl restart domoticz.service

Vous pouvez maintenant installer facilement d’autres plugins. N’oubliez pas de relancer le service Domoticz après l’ajout d’un nouveau plugin pour qu’il apparaisse dans la liste.

Bilan du fonctionnement de Domoticz sur une machine virtuelle

La création de la machine virtuelle peut sembler long et fastidieux mais dès qu’on la fait une première fois, c’est vraiment super simple. L’énorme avantage est de se trouver sur un Linux parfaitement standard. On n’aura donc absolument aucun problème pour installer des librairies supplémentaires. Tous les tutoriels adaptés au Raspberry Pi sont le plus souvent valables. Enfin gros avantage, on pourra planifier des sauvegardes régulières.

Petite remarque au passage, contrairement à QNAP, les contrôleurs USB ne sont déconnectés durant la sauvegarde sur les NAS Synology. Aucun risque de perdre le contrôle de vos accessoires Z-Wave, radio en cas d’absence !

Coté performance, vous ne verrez pas la différente. Une VM sera toutefois plus lente à démarrer (re-démarrer) qu’un conteneur Docker. Enfin, une VM consommera plus de ressources du NAS, surtout de la RAM.

POUR:
  • Installation standard dans un environnement Linux
  • Tous les contrôleurs domotiques (Z-Wave, Zigbee, RFLink…) sont détectés par le NAS et accessibles depuis la machine virtuelle
  • Démarrage automatique de Domoticz avec le NAS
  • Sauvegarde programmable
  • Pas de déconnexion des périphériques USB durant la sauvegarde (contrairement à QNAP)

CONTRE:
  • Création assez longue de la machine virtuelle
  • Installation assez longue de Domoticz (comparée à Docker)
  • Plus de ressources consommées (2% du CPU, RAM)
  • Re-démarrage plus long

Conclusions : Docker ou VM pour Domoticz ?

Si vous n’utilisez pas de plugins python et/ou d’accessoires Z-Wave, vous pouvez envisager d’installer Domoticz dans un conteneur Docker. L’installation est ultra-simple et rapide. Le démarrage est vraiment très rapide. Le conteneur Domoticz ne consomme pratiquement aucunes ressources du NAS.

Par contre, passez votre chemin si vous utilisez le NAS comme concentrateur de passerelles domotiques. Domoticz sous Docker supporte mal le re-déamarrage du NAS. Vous risquez de devoir re-configurer vos accessoires Z-Wave ce qui n’est pas tolérable pour un serveur domotique auquel on voudra confier des tâches de sécurité. Simulateur de présence, détection de présence, déclenchement de scénarios en cas d’intrusion, événement météo (fermeture automatiques des volets)… Dans ce cas, je vous conseille d’opter pour une installation plus traditionnelle sur une machine virtuelle. C’est un peu plus long et consommateur en ressources, mais c’est aussi la solution la plus fiable.

Dernière mise à jour des prix le 29 avril 2019 15 h 24 min

L’article Installer Domoticz sur NAS Synology DS718+ sous Docker ou machine virtuelle est apparu en premier sur Domotique et objets connectés à faire soi-même.

Bien débuter en domotique. Quels matériels, serveur, protocoles choisir ?

$
0
0

La domotique est aujourd’hui une réalité. Il n’est pas toujours facile de s’y retrouver et de choisir entre tous les protocoles  disponibles (Z-Wave+, Zigbee, HomeKit, radio, EnOcean…) et les box domotiques (eedomus+, Fibaro Home Center, Somfy Tahoma, Zipato…). Vous êtes très nombreux à vous lancer dans la domotique en fabricant votre propre box. Nous verrons quelle plateforme choisir en fonction de vos projets. PC standard sous Windows ou Linux, mini PC Intel, NAS, Raspberry Pi ou un autre ordinateur carte.

 

Cet article est essentiellement consacré au matériel grand public qui est souvent beaucoup plus économique. Si vous avez des questions concernant un protocole ou du matériel professionnel, vous pouvez utiliser les commentaires ou le forum.

Introduction à la domotique, vocabulaire technique

Avant de rentrer dans le vif du sujet, prenons le temps de bien comprendre ce qu’est la domotique. Prenons l’exemple d’un volet roulant que l’on souhaite piloter dans différentes conditions automatiquement en fonction de certaines conditions :

  • Ensoleillement. On voudra le déplier uniquement lorsqu’il y a du soleil
  • Vitesse du vent. On voudra replier le store lorsqu’il y a trop de vent

Voici à quoi pourrait ressembler le système domotique voulu. On trouve la plupart des composants et des notions que l’on va rencontrer en domotique

L’anémomètre est un capteur qui permet de mesurer la vitesse du vent.

Il transmet (automatiquement) au serveur domotique la vitesse du vent à intervalle régulier.

Les données sont transmises sur un bus de données. On pourra donner l’image du tuyau. Le bus de données peut être filaire ou sans fil.

  • Le réseau filaire le plus connu en informatique est l’Ethernet. D’autres bus existent. Le Modbus issu de l’industrie. Le CPL (Courant Porteur en Ligne) qui transforme les fils électriques en réseau informatique.
  • Le réseau sans fil le plus connu est le WiFi mais il n’est pas très bien adapté à la domotique. Le Z-Wave et le Zigbee sont les plus répandus car ils sont plus économe en énergie. Le WiFi est surtout utilisé pour les appareils fonctionnant sur le secteur du fait de sa consommation électrique plus importante. Z-Wave, Zigbee et WiFi sont supportés par des regroupement de fabricants. Les ondes radio qui utilisent des bandes de fréquences libres (non réglementées) sont aussi très utilisées. Les fréquences 433MHz et 868Mhz (en fonction du pays) sont les plus utilisées en domotique. La distance entre les accessoires et la box domotique peut être un problème. Sigfox et LoraWan sont deux technologies concurrentes qui visent à résoudre ce problème en offrant une portée maximale (théorique) de 15km.

Les données qui transitent sur le bus (dans le tuyau) sont “formatées” pour que plusieurs accessoires puissent communiquer sur le même réseau et être comprises par le serveur domotique. C’est le protocole domotique. Les protocoles HTTP ou la version sécurisé HTTPS utilisés pour transmettre les pages d’un site internet sont utilisés par certains accessoires mais le plus souvent, ce sont des protocoles dédiés et plus rapides. C’est par exemple le Websockets ou MQTT.

Parfois le protocole domotique porte le même nom que le bus de données. C’est en général le cas pour les technologies propriétaires (développées par un groupement de fabricants) : Z-Wave, Zigbee, Zigfox, LoraWan, Modbus, EnOcean, HomeKit

Les messages sont réceptionnés directement par le serveur domotique lorsqu’ils sont envoyés sur un réseau informatique traditionnel en WiFi ou Ethernet. Pour les protocoles propriétaires, il faudra acheter une passerelle (gateway en anglais) dédiée au protocole. Cette passerelle est équipée d’une antenne et d’un circuit capable de décoder / encodes les messages.

Le serveur domotique s’occupe de nombreuses tâches :

  • Historiser les mesures et les états
  • Exécuter les commandes lorsqu’un seuil est atteint ou un état est activé
  • Exécuter les scénarios
  • Permettre à l’utilisateur de définir ses scénarios, règles
  • Informer les utilisateurs via un tableau de bord
  • Notifier les utilisateurs (SMS, email, notification push…)

Dès que les conditions sont réunies, le serveur domotique pilote l’actionneur. Dans cet exemple, si le vent atteint une certaine vitesse, la box domotique commande la fermeture du store. C’est possible car les fabricants d’accessoires domotiques mettent à disposition des commandes qui d’interagir avec leurs équipements. Ces commandes peuvent être utilisées par des applications tierces (autre que l’application officielle). C’est ce qu’on appel l’API.

Chaque API est spécifique. C’est tout ce travail qui est fait depuis des années par les développeurs des logiciels domotiques. A chaque mise à jour, modification, il faut tout re-tester et corriger si besoin.

Quoi faire avec une box domotique ?

Impossible de lister totalement tout ce qu’il est possible de faire avec la domotique mais en voici un petit aperçu

  • Automatiser / piloter
    • Volets, volets roulants, portail…
    • Eclairages : intérieur, extérieur, ambiance…
    • Piscine, sona…
    • Thermostat, chauffage, PAC, VMC…
  • Surveiller / mesurer
    • Ouverture de portes et volets
    • Présence, mouvement
    • Climat, météo
    • Ambiance, qualité de l’air, état de l’eau
    • Consommation. Eau, électricité, gaz
  • Protéger
    • Simulation de présence
    • Système d’alarme d’appoint (mouvement, présence, ouverture)
  • Alerter
    • Envoyer une notification sur un smartphone en cas d’événement : ouverture, présence, seuil dépassé
  • Exécuter des scénarios
    • Déclencher par un événement. Quelques exemples :
      • Fermer les volets roulants à la tombé de la nuit
      • Fermer les stores si le vent est trop fort
      • Fermer les volets roulants si une intrusion est détectée
      • Simuler une présence à partir de 19h00 si la maison est inoccupée. Par exemple allumer des éclairages, jouer une playlist sur une enceinte connectée Alexa, Google Home, Sonos, HomePod…)
    • Ambiances pré-programmée.
  • Vidéo-surveillance
    • Détection de mouvement
    • Enregistreur vidéo

Bien identifier vos besoins ?

Maintenant que le décors est planté, il convient de se poser la question, quels sont mes besoins en domotique ?

Derrière cette question toute bête, c’est toute l’architecture de l’installation domotique qui va être bouleversée. Pour vous aider à y répondre, voici quelques pistes de ce qu’il est possible de faire avec la domotique

  • Distance entre la box et les accessoire (intérieur ou extérieur)
  • Quelle est la nature des murs, cloisons et planchers (épaisseur, béton armé, matériaux…). Tout ce qui pourrait réduire la porté des communications radio (433MHz, WiFi, Z-Wave+, Zigbee…)
  • Piloter des accessoires en extérieur : piscine, éclairage, détection de présence…
  • Accessoires pour l’extérieur
  • Vidéo-surveillance (caméra IP WiFi ou Ethernet POE)
  • Réseau Ethernet existant

Box domotique, PC standard, NAS, Raspberry Pi. Quelles sont les solutions ?

Le serveur domotique est donc un logiciel traditionnel capable de communiquer et piloter avec des accessoires via une passerelle ou un réseau informatique. Voici un aperçu des solutions à notre disposition.

PC standard sous Windows ou Linux, MAC

Le PC standard est idéal pour débuter et tester la plupart des solutions. Pour que l’installation domotique fonctionne, il faudra laisser allumer votre PC ou votre MAC en permanence ce qui peut présenter pas mal de problèmes :

  • Une consommation électrique plus élevée. C’est une dépense cachée qui peut vite être significative sur la durée de vie du système domotique.
  • Re-démarrage périodique qui entraîne l’indisponibilité du système domotique. Mise à jour, crash d’un logiciel…
  • N’a pas été conçu pour un fonctionnement permanent

Petit bémol, de nombreux logiciels ne sont pas “directement” compatibles avec Windows. Il faudra l’installer sur une machine virtuelle fonctionnant sous une distribution Linux. La distribution Debian est la plus utilisée. Si vous possédez un MAC, la plupart des logiciels développés pour Linux peuvent fonctionner.

Pensez aussi à re-conditionner un vieux PC et pourquoi pas le transformer en NAS.

Mini-PC Intel sous Windows 10 ou Linux

Un Mini-PC Intel fonctionnant sous Windows 10 est beaucoup mieux adapté à un usage domotique. On pourra très facilement installer une distribution Linux. La consommation électrique est beaucoup plus faible qu’un PC standard. Le budget est également beaucoup plus raisonnable. Vous pouvez vous équiper pour environ 150€.

Dernière mise à jour des prix le 3 mai 2019 11 h 26 min

Voir plus d’offres

POUR:
  • Economique
  • Consommation raisonnable
  • Tous les protocoles domotiques supportés

CONTRE:
  • Installation d’une distribution Linux avant de débuter
  • Stockage externe USB nécessaire pour la vidéo-surveillance
  • Pas de système RAID

NAS (Network Attached Storage).

C’est un mini-serveur dédié au stockage et la sauvegarde de fichiers. Les NAS modernes sont de véritables ordinateurs pouvant faire fonctionner une (ou plusieurs) machine virtuelle ou un conteneur Docker (un système de virtualisation légère). QNAP et Synology sont les principaux fabricants de NAS permettant de faire fonctionner une machine virtuelle ou un conteneur Docker (virtualisation légère).

Les NAS Synology sont les plus performants pour la domotique. Cerise sur le gâteaux, l’application de vidéo-surveillance de Synology est . Attention toutefois, les 2 premières caméras sont gratuites, ensuite il faudra acheter une licence pour chaque caméra supplémentaire.

Meilleur choix
Modèle DS218+ DS718+ DS918+
nas synology DS218 plus nas synology ds718 plus
Tarif moyen du NAS nu** ~ 340€ ~ 455€ ~ 550€
Processeur Intel Celeron J3355

Dual Core@2.0 GHz

Intel Celeron J3455

Quad Core@2.3 GHz

Intel Celeron J3455

Quad Core@2.3 GHz

Score CPU Benchmark 1193 2126 2126
RAM 2 GB DDR3L 2 GB DDR3L 4 GB DDR3L
RAM max 6 GB  (2 GB + 4 GB)

possible 8GB

6 GB (2 GB + 4 GB)

possible 8GB

8 GB (2 x 4 GB )
Nombre VM max.* 2 2 4
Stockage max. 28 TO

2 x 14 TO

28 TO

2 x 14 TO

56 TO

4 x 14 TO

Transcodage*** H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s
USB 2.0 x2
USB 3.0 x1 x3 x2
Ethernet 1GbE x1 x2 x2
eSATA x1 x1 x1
Bruit 19.3 dB(A) 18.4 dB(A) 19.8 dB(A)
Conso. normale 17,23W 20,1 W 28,8 W
Conso. en veille 5,4 W 9,1 W 12,6 W
Fiche technique Consulter Consulter Consulter

(*) nécessite au moins 4GB de RAM.

(**) Le NAS est livré sans disque dur et extension de mémoire.

(***) Permet de réduire fortement l’espace de stockage (et donc le cout global du NAS) pour la vidéo-surveillance

Voici quelques tutoriels pour bien débuter avec la domotique sur NAS

POUR:
  • Fiabilité
  • Prévu pour un fonctionnement continu
  • Consommation raisonnable
  • Peu de maintenance
  • Idéal pour la vidéo-surveillance (attention au coût caché des licences par caméra)
  • Données sécurisées (RAID1)

CONTRE:
  • Coût plus élevé
  • Installation plus compliquée. Machine virtuelle ou Docker
  • La prise en charge des contrôleurs USB peut poser problème chez QNAP
  • Peu de fabricants compatibles (QNAP, Synology, TerraMaster)
  • Spécialisé

Raspberry Pi, autres ordinateurs carte à processeur ARM

Le Raspberry Pi est la solution la plus économique. Le Raspberry Pi 3 modèle b+ coûte environ 35€ auquel il faudra ajouter une carte micro SD, une alimenation 5V et un boitier. Le prix moyen d’un kit de démarrage est d’environ 75€. Le Raspberry Pi 3 offre largement assez de puissance pour faire fonctionner un serveur domotique. Tous les contrôleurs Z-Wave, Zigbee, RFXCom sont supporté. Le talon d’Achille du Raspberry Pi est l’utilisation d’une carte micro SD pour faire fonctionner le système d’exploitation Raspbian.

D’autres fabricants d’ordinateurs carte peuvent être envisagés. Certains modèles offrent plus de puissance et une mémoire eMMC plus fiable que la carte micro SD pour faire fonctionner Linux. La distribution Linux Armbian est la distribution la plus avancée pour les ordinateur carte ARM. Pour en savoir plus, vous pouvez commencer par la lecture de cet article.

L’intérêt est toutefois assez limité car la note grimpe vite. Le budget avoisine rapidement 100 à 150€ ce qui place ces ordinateurs carte dans la même gamme de prix qu’un Mini-PC à base de processeur Intel. Si vous n’avez pas besoin du connecteur GPIO, je vous conseille d’optez directement pour un mini-PC Intel. Pour le même budget, vous aurez un processeur plus puissant, au moins 64GB de stockage SSD et un boitier.

Comment fabriquer une box domotique 100% DIY
Quel matériel choisir pour fabriquer une box domotique avec un Raspberry Pi 3 pour Jeedom, Domoticz, Home Assistant
Comment fabriquer une box domotique 100% DIY
POUR:
  • Economique
  • Faible consommation
  • Tous les protocoles domotiques supportés
  • Peu de maintenance

CONTRE:
  • Puissance limitée
  • Carte micro SD peu fiable, cloner et sauvegarder régulièrement
  • Limité pour la vidéo-surveillance
  • A l’exception du Raspberry Pi 3, le prix avoisine rapidement celui d’un mini-PC Intel

Box domotique dédiée

Dernière solution, la box domotique dédiée. Généralement, elles sont construites sur la base d’un ordinateur carte ARM similaire au Raspberry Pi. Chaque fabricant développe son propre système d’exploitation. L’avantage est que tout fonctionne immédiatement. Il n’y a rien à installer. En contre partie, vous aurez beaucoup moins de liberté dans le choix de vos modules domotiques. Vous serez limité aux technologies supportées par le constructeur.

Dernier point à ne pas négliger, la pérennité de la solution. Comme en informatique, la domotique évolue vite. Compte tenu du budget global de l’installation et du temps que vous allez y consacrer, optez pour un fabricant connu qui dispose de plusieurs années d’expérience dans le domaine. Oubliez les fabricants douteux ou low cost. eedomus, Fibaro, Somfy Tahoma, Zipato et Wattlet (Wattcube) sont les plus connus.

Voici un tableau comparatif des principales caractéristiques techniques des box domotiques eedomus+, Fibaro Home Center 2, Somfy Tahoma, et Zipato Zipamicro.

box domotique eedomus plus somfy tahoma home box
Box domotique eedomus+ Fibaro Home Center 2 Somfy Tahoma Zipamicro (Zipato)
Prix moyen ~299€ ~ 520€ 299 € ~ 100€
Processeur 1GHz Intel Atom Dual Core (1.6 GHz) Quad-core ARM Cortex-A7
Mémoire 500 Mo 1GB 256Mo
Stockage 2GB
Port Ethernet x1 x1 x1 x1
WiFi Oui
Port USB x2 x4 x1
Sortie vidéo Oui
Connecteur filaire x4
Z-Wave+ Oui Oui Oui
EnOcean Option
433MHz Option Oui
868MHz Oui
Dimensions 147 x 147 x 35 mm 225 x 185 x 42 mm 114 x 10 x 97 mm 62 x 60 x 50 mm
Consommation < 2 W ? < 2 W < 5 W
Batterie Option
Haut parleur Oui
Appli iOS Oui Oui
Appli Android Oui Oui
Appli Windows Phone Oui
Compatible Amazon Alexa Oui
Compatible Google Home Oui Oui
Cloud Sauvegarde, accès à distance
Caméra 5 caméras Visidom max.
Site officiel Consulter Consulter Consulter Consulter
POUR:
  • Fonctionne directement. Branchez, configurez, c’est prêt
  • Faible consommation
  • Peu de maintenance
  • Peu de compétences requises

CONTRE:
  • Choix des modules domotiques plus limité (prévu par le fabricant)
  • Limité pour la vidéo-surveillance
  • Coût
  • Plateforme fermée

Synthèse : avantages et inconvénients

Chaque plateforme présente des avantages et des inconvénients. Pour déterminer les avantages et les inconvénients de chaque plateforme, voici ce qu’on demande avant tout à un système domotique :

  1. Fonctionnement en continu 24h/24h, 365 jours par an
  2. Fiable
    • Chaque panne entraîne l’indisponibilité du système domotique. Les principales causes de pannes : bloc d’alimentation, disque dur, carte micro SD, carte graphique.
    • Re-démarrage automatique fiable. En cas de panne de courant de longue durée, le système domotique doit pouvoir re-démarrer automatiquement de façon fiable
  3. Faible consommation électrique
  4. Peu de maintenance et de mises à jour. Chaque mise à jour entraîne une indisponibilité de l’installation domotique
  5. Polyvalence. Nombre de protocoles domotiques supportés par ajout d’un contrôleur (Z-Wave, RFXCom, EnOcean, Zigbee…)

Voici un tableau de synthèse pour vous aider à choisir votre plateforme

Plateforme Fonctionnement continu Fiable Faible consommation Peu de maintenance Polyvalence Budget
PC Windows ou Linux ** *** * * ***** *
Mini PC Intel sous Linux **** **** *** **** ***** ***
Box domotique ***** ***** **** ****** ** ***
NAS** ***** ***** **** ***** ***** ***
Raspberry Pi 3 ***** **** ***** **** ***** *****
Autres mini-PC ARM eMMC* ***** ***** ***** **** ***** ****

(*) Equipé d’une mémoire eMMC pour faire fonctionner Linux à la place d’une carte micro-SD

(**) Dépend fortement du fabricant

Compatibilité des logiciels Open Source domotique avec Windows, Linux, ARM (Raspberry Pi et similaires)

Il existe des logiciels domotiques Open Source, c’est à dire dont le code source est disponible publiquement. Chacun peut le consulter, le modifier, l’adapter à ses besoins, sans avoir besoin à en demander la permission ou à payer quoi que ce soit. C’est la garantie que nos données personnelles restent sous contrôle).

Voici une liste que j’espère assez complète, n’hésitez pas me signaler un oubli (ou une erreur) dans les commentaires.

Serveur Open Source Disponible en français Windows macOS Linux* Raspberry Pi 3 ou carte ARM Appli iOS et/ Android Alexa Projet actif en 2019**
Ago Control X X X Non
Calaos X X X Faible
Domoticz X X X X X X Oui
DomotiGa X X Faible
FHEM X X X X Oui
Freedomotic Arrêté
Gladys Assistant X X X Oui
Home Assistant X X X X X X X Oui
HomeGenie X X X ? Oui
Homeseer X X X X X Oui
HoMIDoM X X Non
ioBroker X X X X X Oui
Jeedom XX X X X X Oui
MajorDoMo X X Oui
Misterhouse Inactif
MyController X X X X Oui
NextDom XX X X Oui
myHouse Faible
MyNodes.NET Arrêté
OpenHAB A faire soi-même X X X X X X Oui
openLuup (émulation box Vera) X X X X Faible
PiDome (!! pas Open Source) X Oui
pimatic X X X X Oui

(*) Installation possible sur NAS via une machine virtuelle

(**) Le niveau d’activité du projet est basé sur la dernière mise à jour du code source sur GitHub ou SourceForge ainsi que le nombre de fichiers mis à jour.

En 2019, on peut constater l’arrêt ou la stagnation de 6 logiciels. Calaos et HoMIDoM tous les deux français, DomotiGa, Freedomotic, myHouse, MyNodes.NET et Misterhouse.

Si on regarde maintenant les résultats du sondage qui est inséré dans plusieurs articles du blog, vous êtes 42% à utiliser Jeedom, suivi de 29% Domoticz, 9% Home Assistant et 5% OpenHAB. Les enceintes connectées (Amazon Alexa, Google Home, Apple HomePod) représentent 6%. Certains logiciels sont très bien implanté géographiquement. Par exemple OpenHAB et FHEM sont très utilisés en Allemagne, Homeseer aux USA.

Enfin, vous êtes 3% à être équipé d’une domotique (eedomus, Zipato, Somfy Tahoma…). Compte tenu du contenu très orienté DIY du blog, ce chiffre est probablement sous estimé par rapport à la réalité du marché.

Dans la catégorie “Autres”, on retrouve Node-RED (l’environnement de développement d’objets connectés soutenu par IBM), Gladys Assistant, Calaos et NextDom.

statistiques utilisation logiciel domotique open source france 2019 eedomus tahoma

Répartition de l’utilisation des logiciels domotiques Open Source en France en 2019. 1050 votants. Jusqu’à 2 votes par votant.

Quel(s) protocole(s) domotiques choisir ?

Maintenant que l’on a terminé avec les différentes plateformes, attaquons nous aux protocoles domotiques. La liste est longue comme le bras mais finalement très peu qui ont réussi à s’imposer sur le marché durablement. Voici les principaux protocoles que l’on retrouve dans les produits grand public.

EnOcean

EnOcean est une technologie sans fil et sans batterie développée par la société Allemande qui porte le même nom. Elle utilise l’effet piezo-électrique pour produire l’énergie électrique nécessaire à la transmission des données. L’effet piezo-électrique est une propriété de certains cristaux. Un courant électrique est produit sur la face opposée à la face sur laquelle on exerce une pression  mécanique. La technologie est normalisée depuis 2012 sous la référence ISO/CEI 14543-3-10. Elle concerne le moyen de production d’énergie et le protocole de transmission radio.

La technologie EnOcean était d’abord utilisée pour des interrupteurs et des télécommandes sans câblage et batterie. La gamme de produits s’est peu à peu étoffée avec l’arrivée de nouveaux fabricants au sein de l’alliance EnOcean. La liste complète des produits est disponible sur le site officiel de l’alliance EnOcean.

Une passerelle est nécessaire pour communiquer avec les modules EnOcean

37,90€
en stock
3 nouveau de 37,90€
Relevé le 3 mai 2019 7 h 59 min
Amazon.fr
39,95€
en stock
1 nouveau de 39,95€
Relevé le 3 mai 2019 7 h 59 min
Amazon.fr
Livraison gratuite
49,06€
en stock
1 nouveau de 49,06€
Relevé le 3 mai 2019 7 h 59 min
Amazon.fr
56,95€
en stock
1 nouveau de 56,95€
Relevé le 3 mai 2019 7 h 59 min
Amazon.fr

Voici quelques modules du fabricant NodOn qui utilisent la technologie EnOcean. Interrupteur sans câblage et sans batterie, télécommande, modules à encastrer pour l’éclairage, volets roulants, prises connectées.

49,90€
en stock
1 nouveau de 49,90€
Relevé le 3 mai 2019 7 h 59 min
Amazon.fr
Livraison gratuite
49,90€
en stock
9 nouveau de 49,90€
Relevé le 3 mai 2019 7 h 59 min
Amazon.fr
Livraison gratuite
49,90€
en stock
6 nouveau de 49,90€
1 occasion de 39,54€
Relevé le 3 mai 2019 7 h 59 min
Amazon.fr
Livraison gratuite
53,99€
54,90
en stock
9 nouveau de 53,99€
1 occasion de 14,97€
Relevé le 3 mai 2019 7 h 59 min
Amazon.fr
Livraison gratuite

Voir plus de modules EnOcean

HomeKit (Apple)

Apple HomeKit est un environnement logiciel qui permet aux fabricants de rendre leurs modules domotiques (et de caméras de vidéo-surveillance IP) accessibles directement depuis l’appli Maison disponible sur (iOS) iPhone, iPad, HomePod, Mac (macOS), Apple Watch. HomeKit utilise le réseau WiFi pour communiquer avec les modules domotiques. Pour fonctionner, il faudra disposer d’un concentrateur compatible et le laisser allumer. On pourra utiliser un iPad (déconseillé car il fonctionne sur batterie), une Apple TV (3ème génération minium) ou un HomePod.

19,99€
en stock
20 nouveau de 19,99€
2 occasion de 18,42€
Relevé le 3 mai 2019 14 h 04 min
Amazon.fr
Livraison gratuite
38,57€
39,99
en stock
1 nouveau de 38,57€
1 occasion de 28,81€
Relevé le 3 mai 2019 14 h 04 min
Amazon.fr
Livraison gratuite
49,95€
en stock
16 nouveau de 49,00€
2 occasion de 48,02€
Relevé le 3 mai 2019 14 h 04 min
Amazon.fr
Livraison gratuite
54,99€
59,99
en stock
8 nouveau de 54,99€
3 occasion de 50,36€
Relevé le 3 mai 2019 14 h 04 min
Amazon.fr
Livraison gratuite

Voir plus de modules compatibles HomeKit

LoRaWan, Sigfox

Pour le moment, les accessoires domotiques qui utilisent la technologie LoRa ou Sigfox sont des accessoires très spécifiques, comme par exemple le Flipr qui permet de surveiller l’état de l’eau de sa piscine à distance.

Cependant, il est possible de fabriquer ses propres objets connectés à base d’Arduino qui communiquent sur un réseau privé LoRa en point à point ou via une gateway LoRa.

Radio sans licence : 315MHz, 433MHz, 868MHz

Certaines fréquences radio exploitables sans licence et sans restrictions sont largement utilisées pour la domotique. Les fréquences 315MHz, 433MHz et 868MHz sont les plus utilisées. Vérifiez la législation de votre pays avant d’acheter un matériel, surtout si vous achetez directement en Chine sur AliExpress par exemple.

La passerelle RFXCom 433MHz est la plus connue. Elle coûte environ 100€. La version 315MHz ne semble plus commercialisée pour le moment.

Rfxcom USB Transceiver (Transmitter/Receiver 433?Mhz) with Somfy Stand by Rfxcom, Rfxcom

Price: 90,00
as of 5 May 2019  
Buy This Item
amazon.fr
Wait For A Price Drop
You will receive a notification when the price drops.

Price History

Statistics

Current Price 90,00€ 5 May 2019
Highest Price 109,95€ 13 March 2019
Lowest Price 79,00€ 22 April 2019
Since 31 August 2018

Last price changes

90,00€ 29 April 2019
79,00€ 22 April 2019
104,05€ 12 April 2019
109,95€ 13 March 2019
109,85€ 8 March 2019

Ce nouveau module de RFXCom propose les nombreuses fonctionnalités déjà présentes dans le RFXCom de base, mais ajoute le support de Somfy RTS !. Le RFX14103 (également répertorié comme RFXTRX433E) est un appareil émetteur/récepteur, qui se branche en USB à un ordinateur, une microcarte type...

mini rflink arduino mega 2560 pro robotdyn 433mhzIl est également possible de fabriquer sa propre Gateway à l’aide d’un Arduino Mega 2560 Pro Mini du fabricant RobotDyn. Comptez un budget d’environ 20€ si vous commandez vos composants depuis la Chine (hors impression du boitier par impression 3D). Tout est expliqué en détail dans ce tutoriel. Voici la liste des composants nécessaires.

Dernière mise à jour des prix le 2 mai 2019 3 h 02 min

Zigbee. Philipps Hue, Xiaomi Aqara

Le Zigbee n’est pas connu directement comme un protocole domotique mais il est en fait utilisé par la majorité des fabricants de modules domotiques et éclairages connectés. Le fabricant le plus connu est Philips avec sa gamme d’éclairage connecté Hue. Le Zigbee est également utilisé par Ikea pour ses produits connectés Trädfi. Il n’existe pas de contrôleur domotique Zigbee comme pour le Z-Wave ou EnOcean. Par contre le projet Zigbee2MQTT permet de fabriquer son propre contrôleur à partir d’un sniffer Zigbee. Voici plusieurs articles qui expliquent en détail comment faire :

Avec un contrôleur Zigbee2MQTT vous pourrez piloter un nombre impressionnant d’accessoires

Z-Wave+

Z-Wave et Z-Wave+ plus récent est un protocole domotique propriétaire développé par Sigma Designs. Chaque fabricants qui veut rendre son matériel doit intégrer une puce certifiée. Le Z-Wave+ augmente la portée de 50% (en théorie) avec une consommation moindre (67% annoncé). C’est important car les appareils fonctionnent très souvent sur piles.

La compatibilité ascendante est assurée entre le ZWave et le Zwave+. Plus d’infos sur Wikipedia

Le projet OpenZWave permet de communiquer avec des modules domotiques Z-Wave+. La liste des appareils supportés se trouve sur cette page.  Il faudra acheter un contrôleur Z-Wave. Le contrôleur Z-Wave+ de la société Everspring ne semble plus commercialisée. Le contrôleur Z-Wave.Me est très bien pris en charge par Jeedom et Domoticz ou Home Assistant.

30,00€
en stock
11 nouveau de 29,70€
Relevé le 4 mai 2019 3 h 01 min
Amazon.fr
Livraison gratuite
31,06€
en stock
4 nouveau de 30,75€
3 occasion de 17,95€
Relevé le 4 mai 2019 3 h 01 min
Amazon.fr
Livraison gratuite
50,89€
59,99
en stock
8 nouveau de 50,89€
5 occasion de 40,96€
Relevé le 4 mai 2019 3 h 01 min
Amazon.fr
Livraison gratuite

On trouve des accessoires Z-Wave pour piloter à peu près tout dans la maison. Chauffage électrique à fil pilote, éclairage, variateur de lumière, prise connectée, détecteur de présence (capteur de mouvement), commande de volets roulants, vanne thermostatique pilotée, détecteur d’ouverture (porte ou fenêtre), télécommandes… La Z-Wave Alliance regroupe 700 fabricants dans le monde qui totalisent un catalogue de 2400 produits. Le catalogue complet se trouve ici.

Synthèse : quel protocole domotique choisir ?

Si vous faites appel à un professionnel, vous pouvez optez pour des modules CPL du fabricant français Wattlet ou des modules Modbus surtout pour le pilotage des éclairages (intérieur / extérieur), le chauffage et la VMC. Pour les détecteurs (présence, ouverture / fermeture, ambiance, pollution de l’air), les détecteurs grand public seront beaucoup moins chères.

En ce qui concerne la couverture, les modules CPL sont imbattables avec une couverture pouvant atteindre jusqu’à 3km ! Le Z-Wave+ ou le Zigbee sont également un très bon choix car chaque module (alimenté sur le secteur) peut devenir un noeud d’un réseau ce qui permet d’augmenter la portée et la fiabilité des transmissions. Vous pouvez mixer les deux technologies mais vous allez perdre le bénéfice du maillage.

Oubliez les modules radio (433MHz ou autre) au delà de 30m (et encore je suis optimiste). Les communications sur les fréquences radio libres sont très faciles à brouiller. Evitez absolument cette technologie pour les modules de sécurité (détection de mouvement, ouverture / fermeture, fumées…)

Enfin, voici un tableau de synthèse pour vous aider à choisir vos accessoires en fonction de plusieurs critères :

  • Projet de construction ou rénovation
  • La couverture souhaitée.
  • La diversité des modules disponibles
  • La présence d’un réseau Ethernet. Il pourra être utilise pour la vidéo-surveillance
Protocole domotique Filaire Sans fil Gateway** Budget Rénovation Couverture* Diversité des accessoires
EnOcean X X **** ** ***** ****
Modbus X X ***** * ***** ***
CPL X X ***** ***** ***** **
WiFi X **** **** *** ****
Z-Wave X X **** **** **** *****
Zigbee X X *** **** **** *****
HomeKit X AppleTV , iPad, HomePod ***** **** *** ****
Radio sans licence X X ** **** ** *****
LoRa, Sigfox X X *** ***** ***** *

(*) Nécessite une passerelle domotique adaptée qui permet la communication entre le serveur domotique et le(s) accessoire(s)

(**) La couverture varie fortement en fonction des obstacles et des matériaux de construction.

Peut-on fabriquer ses propres objets connectés ? capteurs, détecteurs…

Absolument !

Rien de plus facile un Arduino et quelques composants. Vous pourrez fabriquer votre propre sonde d’ambiance (température, humidité, pression atmosphérique), détecteur de pollution (CO2, particules fines…), consommation d’énergie…

Voici une série de tutoriels pour débuter

Peut-on hacker des modules ou la communication ?

Oui, il est possible de hacker les modules domotiques de certains fabricants ou d’intercepter / mimer les données échangées avec les modules. C’est d’ailleurs ce qui est fait avec la passerelle RFLink pour les modules radios et Zigbee2MQTT pour les modules Zigbee (Xiaomi Aqara, Philips Hue, Ikea Trädfi, ampoules Innr…).

Voici quelques articles sur le sujet

Prêt à vous lancer dans la domotique ?

J’espère que vous avez maintenant une bonne vision d’ensemble de ce qu’est la domotique. Voici une sélection d’article pour bien débuter ou aller plus loin avec Jeedom, Domoticz ou Home Assistant, les 3 serveurs domotiques les plus utilisés actuellement.

 

L’article Bien débuter en domotique. Quels matériels, serveur, protocoles choisir ? est apparu en premier sur Domotique et objets connectés à faire soi-même.

#Guide : quel ESP32 choisir pour développer des objets connectés DIY en 2019 [MàJ]

$
0
0
ttgo esp32 wrover camera

Espressif à mis à jour l’intégralité de la gamme de SoC ESP32. Espressif propose 9 variantes de son SoC en 2019, ce qui ne va pas rendre le choix très facile pour vos projets d’objets connectés. Les modules ESP32-WROOM-32D et ESP32-WROOM-32U sont préconisés par Espressif pour les cartes de développement. 

 

Certains modules disposent de 8MB de mémoire PSRAM accessible via le bus SPI pour les applications qui nécessitent plus stockage. Faites attention au moment de choisir votre carte de développement. Restez sur des fabricants connus tel que LilyGo (marque TTGO), LoLin (ancien Wemos), Sparkfun, Keyestudio

Liste des modules ESP32 disponibles en 2019

Espressif a totalement mis à jour sa gamme de SoC ESP32. En 2019, on dénombre 9 modules (liste officielle) classés en 2 familles

  • Dual Core avec connectivité WiFi et Bluetooth
  • Single Core avec connectivité WiFi et Bluetooth

La liste peut sembler longue mais en fait il existe 4 Cores qui sont ensuite assemblés dans différentes configurations

  • Présence de mémoire PSRM
  • Antenne gravée sur le PCB ou avec un connecteur IPEX

Les modules ESP32-WROOM-32D et ESP32-WROOM-32U sont préconisés par Espressif pour la majorité des applications.

Image Désignation / Chipset Dual Core Single Core WiFi Bluetooth Pins Mémoire flash (MB) Mémoire PSRAM (MB) Antenne
esp32-wroom-32 ESP32-WROOM-32

ESP32-D0WDQ6

X X X 38 4 PCB
ESP32-WROOM-32D ESP32-WROOM-32D

ESP32-D0WD

X X X 38 4 PCB
ESP32-WROOM-32U ESP32-WROOM-32U

ESP32-D0WD

X X X 38 4 8 IPEX
esp32-wrover-i-01 ESP32-WROVER

ESP32-D0WDQ6

X X X 38 4 8 PCB
esp32-wrover-i-01 ESP32-WROVER-I

ESP32-D0WDQ6

X X X 38 4 8 IPEX
esp32-wrover-b ESP32-WROVER-B

ESP32-D0WD

X X X 38 4 8 PCB
ESP32-WROVER-IB

ESP32-D0WD

X X X 38 4 8 IPEX
esp32-pico-d ESP32-PICO-D4 (boitier)

ESP32

X X X 48 4
esp32-solo1 ESP32-SOLO-1

ESP32-S0WD

X X X 38 4 PCB

PCB : l’antenne est gravée sous la forme d’une piste sur le circuit

IPEX : connecteur au standard IPEX permettant la connexion d’une antenne extérieure pour une portée supérieure.

Comparatif des modules ESP32 ESP32-D0WD, ESP32-D0WDQ6 et ESP32-S0WD

Toutes les caractéristiques techniques des modules se trouvent sur ce document disponible au format PDF.

Tous les Cores partagent la plupart des caractéristiques. Les différences sont notées en gras

  • Module ESP32 : ESP-WROOM-32 d’Espressif.
    • Microprocesseur dual core de 240 MHz pour les Cores ESP32-D0WDQ6 et ESP32-D0WD. 160MHz pour les Cores ESP32-D2WD et ESP32-S0WD
    • 4MB de mémoire flash
    • Mémoire flash embarquée : 16-Mbit pour le Core ESP32-D2WD
  • Connectivité
    • WiFi 802.11 b/g/n conforme à la norme IEEE 802.11 compatible avec les sécurités WFA, WPA/WPA2 et WAPI
    • Bluetooth 4.0 LE et BR/EDR
  • 32 Entrées/Sorties
    • 26x E/S digitales (3.3V). Toutes les sorties peuvent être PWM
    • 18x entrées analogiques
    • 3x UART
    • 3x SPI
    • 2x I2S
    • 2x DAC
    • 2x I2C
  • Consommation en mode sommeil (Deep Sleep mode) : 5 μA
  • Capteurs intégrés
    • Effet Hall
    • 10x entrées pour interface tactile capacitive
  • Protection cryptographique : AES, SHA-2, RSA, ECC, random number generator (RNG)

Voici également le repérage général des broches. Comme vous pouvez le constater, contrairement à l’Arduino, la quasi totalité des broches supportent le PWM (Pulse With Modulation). Par contre pas d’évolution concernant la tension d’entrée et de sortie, elle est toujours de 3,3V.

Les broches sont identiques quelque soit le core embarqué par le module ESP32. La compatibilité avec les adaptateurs est donc conservée y compris pour les nouveaux modules.

ESP32 espressif Pinout broche esp-wroom-32

Cartes de développement ESP32-WROOM-32

Ce sont des cartes de développement économique qui pourront convenir pour l’apprentissage et la mise au point de projet. On peut s’équiper maintenant pour moins de 4€.

Voir plus d’offres

Attention toutefois à la largueur de certaines cartes de développement. Il ne reste qu’une seule rangée de broche accessible sur la breadboard. Ce n’est pas très pratique pour le câblage !

ide arduino esp32 demo led blink geekcreit

Cartes de développement ESP32-WROVER-B

Le Core du ESP32-WROVER-B est cadencé à 160MHz au lieu de 240Mhz. Le ESP32-WROVER-B est équipé de 8MB de mémoire PSRAM. L’antenne est gravée sur le PCB. C’est le SoC le plus utilisé par les fabricants pour le développement de cartes avec un module caméra OV2640 du fabricant Omnivision.

Le fabricant chinois LilyGo qui commercialise ses cartes ESP32 sous la marque TTGO est le principal fabricant de cartes équipées de l’ESP32-WROVER-B.

Voir plus d’offres

Pour le moment aucun fabricant low cost n’a opté pour le ESP32-WROVER-IB qui est équipé d’un connecteur IPEX pour antenne externe

Carte de développement avec connectivité LoRa (+GPS)

LiLyGo (TTGO) est devenu le spécialise des cartes de développement ESP32 équipée d’une connectivité LoRa. La carte TTGO T-Beam embarque également un module GPS NEO-6M du fabricant u-box (documentation), un support pour batterie 18650 et un écran OLED SSD1306

Attention les cartes LoRa sont encore équipées d’un module ESP32 rev.1 d’ancienne génération.

Les cartes obsolètes : Wemos, SparkFun, LoLin ESP32

La plupart des cartes de développement étant développée sous licence Open Source, On Trouve encore sur les sites marchands chinois des cartes d’ancienne génération. Ces cartes sont équipées des la première génération de module ESP-WROOM-32. Ce module n’est plus fabriqué par Espressif.

C’est par exemple l’ancienne Wemos LoLin32 présentée dans cet article. Elle était équipée de 4MB de mémoire flash et d’un connecteur micro USB pour la programmation et d’un connecteur pour batterie LiPo externe.

wemos esp32 lolin32 breadboard

Wemos a changé de nom en 2018 pour devenir LoLin (store officiel sur AliExpress). A force d’être copié par de nombreux fabricants alternatifs, la marque originale est devenu invisible. LoLin commercialise encore deux cartes équipées d’un ESP-WROOM. La LoLin D32 et la LoLin D32 Pro avec connecteur pour écran TFT et I2C, lecteur de carte micro-SD, connecteur pour batterie LiPo.

Le carte SparkFun ESP32 Thing est toujours commercialisée mais son prix reste excessif (30€ environ). Si vous êtes un passionné de la marque, opté directement pour la nouvelle génération SparkFun Thing Plus équipée d’un ESP32-WROOM

SparkFun_Thing_Plus_ESP32_WROOM-01

SparkFun Thing Plus

La LoLin ESP32 qui proposait un équivalent de la Wemos d1 Mini n’est plus commercialisée. Elle était vendue seule ou sous la forme d’un kit (environ 45€) comprenant une base double, shield DHT11, DHT22, relai, 4x Led WS2812B, éclairage annulaire 12x  Led, proto

lolin esp32 wemos kit

 

Carte pour la mise au point pour projets  ESP32

Si la compacité de la carte de développement est primordiale pour votre projet, il existe des cartes très compactes ou des supports amovibles. N’oublions pas que l’ESP32 intègre également le Bluetooth ce qui permet de réaliser des montages moins couteux et plus compacts qu’en partant d’un Arduino nano V3 combiné à un module Bluetooth HC-06. Un module Bluetooth HC-06 coûte à lui seul 50% d’une carte de développement ESP32 !

DIY MORE commercialise par exemple cette carte qui mesure approximativement 2cm de coté pour environ 15€. Il faudra acheter le module ESP-WROOM-32 séparément. Un système astucieux de ressort de cuivre permet de maintenir le module sans avoir besoin de le souder. Il faudra toutefois réserver ce montage pour la phase de développement. Cette carte peut aussi convenir à des projets sans chocs ni vibrations.

esp32 diy more development board

Si la soudure et la conception de circuit ne vous pose pas de problème, rien ne vous empêche de partir sur la solution Module ESP32 + adaptateur. On trouve des kits à partir de 5,90€ environ. Attention au module, bien souvent c’est un ESP-32S qui est livrée dans le kit.

esp32s adapter board

Un bon logiciel de conception de circuit en ligne tel que EasyEDA et c’est parti ! Voici quelques modules WROOM-32D et WROOM-32U à souder.

Module ESP32-WROOM-32D à souder

Module ESP32-WROOM-32U à souder

Prêts à vous lancer, voici une série de tutoriels pour bien débuter

Voici une série de tutoriels pour bien débuter avec les objets connectés.

 

[07/05/2019] Mise à jour de l’article avec les modules ESP32 disponibles en 2019

L’article #Guide : quel ESP32 choisir pour développer des objets connectés DIY en 2019 [MàJ] est apparu en premier sur Domotique et objets connectés à faire soi-même.

Installer Jeedom sur NAS Synology DS718+ sur une machine virtuelle Debian Stretch

$
0
0
jeedom login vm debian nas qnap ts-251

Après Domoticz, je vous propose aujourd’hui de tester l’installation de Jeedom sur un NAS Synology. Contrairement à Domoticz, il n’existe pas de version pré-compilée pour Synology. Les tests avec Docker étant peu concluant sur le NAS QNAP TS-251A, nous allons installer Jeedom sur une machine virtuelle fonctionnant sous Debian Stretch (9.8).

 

Dans les deux cas, il faudra un NAS Synology compatible. Pour la virtualisation, il faudra au moins 4GB de RAM. Synology stipule qu’il est possible d’étendre la mémoire jusqu’à 6GB pour les modèles DS218+ et DS718+, mais il est possible d’aller au delà. J’ai installé 8GB sur un DS718+ sans difficulté. Certains utilisateurs ont déjà installé 16GB mais l’intérêt est assez limité compte tenu des processeurs utilisés pour les NAS d’entrée de gamme.

Configuration testée : DS718+, RAM 8GB, 2x2To

L’application Virtual Machine Manager de Synology nécessite au moins 4GB de RAM pour fonctionner.

nas synology ds718 plus

J’ai installé une extension mémoire de 8GB (2x4GB DDR3L SO-DIMM de marque Crucial) sur mon DS718+. Il est assez difficile d’accéder au connecteur principal, c’est la raison pour laquelle Synology annonce que les modèles DS218+ et DS718+ ne supportent que 6GB de RAM.

nas synology ds218 ds718 plus ram extension 8gb crucial

Le NAS est équipé de deux disques dur de 2 To chacun de marque Western Digital RED adaptés à un usage intensif. C’est largement suffisant pour de la domotique, un serveur de fichier multi-média et même de la vidéo surveillance en réseau (à condition de limiter la durée et la qualité d’enregistrement).

N’oubliez pas de protéger votre NAS par un onduleur.

Dernière mise à jour des prix le 5 mai 2019 3 h 02 min

Autres modèles compatibles avec Virtual Machine Manager de Synology

Série 19: RS1619xs+, RS1219+, DS2419+, DS1819+, DS1019+

Série 18: FS1018, RS3618xs, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS3018xs, DS1618+, DS918+, DS718+, DS218+

Série 17: FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xs, DS1817+, DS1517+

Série 16: RS18016xs+, RS2416RP+, RS2416+, DS916+

Série 15: RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+

Série 14: RS3614xs+, RS3614RPxs, RS3614xs

Série 13: RS10613xs+, RS3413xs+

Série 12: RS3412RPxs, RS3412xs, DS3612xs

Série 11: RS3411RPxs, RS3411xs, DS3611xs

Préparation

Avant de préparer la machine virtuelle sous Debian et installer Jeedom, nous allons installer les paquets nécessaires et configurer le NAS.

Installer Download Station

Si vous utilisez déjà Download Station vous pouvez passer à l’étape suivante.

Ouvrez le gestionnaire de paquets et faites un recherche sur le mot clé Download. Installer Download Station

nas synology download statio install

Installer Virtual Machine Manager

Si vous utilisez déjà Virtual Machine Manager vous pouvez passer à l’étape suivante.

Ouvrez le gestionnaire de paquets et faites un recherche sur le mot clé Download. Installer Virtual Machine Manager

nas synology dsm install virtual machine manager

Récupérer l’image de Debian Stretch avec Download Station

Allez sur le site de Debian pour récupérer le lien de la distribution. Prenez la version amd64 netInstall (même si le NAS est équipé d’un processeur Intel x86). Le téléchargement est rapide même avec une connexion moyenne. L’archive pèse environ 292Mo. Si vous changez d’avis, vous pourrez installer un bureau graphique à la fin de l’installation (ou ultérieurement).

url downolad debian stretch

Les liens vers la version NetInstall (image Debian Stretch de petite taille) se trouvent sur cette page.

Ouvrez Download Station et collez le lien vers le fichier ISO de Debian Stretch. Lancez le téléchargement en cliquant sur OK.

synology download station debian stretch url

Ouvrir le port SSH du NAS

Si le port SSH est déjà ouvert sur votre NAS, vous pouvez passer à l’étape suivante.

Ouvrez le panneau de configuration et activez le mode avancé (dans le coin supérieur gauche). Ouvrez le panneau Terminal & SNMP puis

  • Cochez Activer le service SSH
  • Configurer le port. Par défaut, SSH utilise le port 22. Pour limiter les risques d’intrusion, vous pouvez le modifier.
  • Appliquer les modifications. Il n’est pas nécessaire de redémarrer le NAS pour prendre en compte les nouveaux réglages.

nas synology dsm 6.2 activate ssh port

Création de la machine virtuelle Debian Stretch (9.8)

Ouvrez Virtual Machine Manager, ouvrez l’onglet Machine Virtuelle et cliquer sur Créer. Dans la boîte de dialogue qui s’ouvre, sélectionnez Linux comme système d’exploitation.

nas synology ds718 vm linux domoticz hass jeedom

Choisir un stockage dans la liste

nas synology ds718 vm linux domoticz hass jeedom volume

Attribuer 1 ou plusieurs processeurs (2 conseillé), la RAM (conseillé 1GB) et le type de carte vidéo (vga conseillé).

nas synology ds718 vm linux domoticz hass jeedom cpu ram

Indiquer la taille du disque dur virtuel (stockage). 30 GB est largement suffisant. Cliquer sur parcourir en face de l’option Fichier ISO pour le démarrage et indiquer le chemin vers l’image ISO de Debian Stretch téléchargé précédemment.

nas synology vm storage iso debian stretch

 

Conserver la configuration réseau par défaut

nas synology network

Choisir Oui pour l’option Autostart pour démarrer la machine virtuelle (Domoticz) au démarrage du NAS. Choisir le type de clavier dès maintenant. Choisir USB 3.0 comme contrôleur virtuel afin de pouvoir accéder aux passerelles domotiques (RFLink, Z-Wave, Zigbee…). Il n’est pas possible de connecter des accessoires USB à ce stade.

nas synology virtaul machine debian usb keyboard autostart

Attribuer les permissions aux utilisateurs

nas synology virtual machine permissions

La configuration est terminée. Cocher Mettre en marche la machine virtuelle après sa création puis Appliquer.

nas synology virtual machine summary

Vous pouvez également démarrer la machine virtuelle manuellement en sélectionnant celle-ci et en cliquant sur Mettre sous tension.

start vm virtual machine manager synology

Une fois que la machine est démarrée, vous pouvez vous connecter pour installer Debian.

nas synology connect vm

Un client VNC s’ouvre dans une nouvelle fenêtre du navigateur internet.

nas synology start install virtual machine debian stretch

Il ne reste plus qu’à suivre les étapes d’installation de Debian. Pour plus de détails, cliquez sur l’image ou lisez ce tutoriel précédent.

Configurer la langue du système

Configurer le réseau

Configurer les comptes root et utilisateur

Saisissez le mot de passe root puis le compte utilisateur et son mot de passe. N’utilisez jamais le compte root pur installer Jeedom (ou un autre logiciel d’ailleurs). Choisissez un mot de passe différent pour les deux comptes. Le compte root offre un accès total au système.

Configurer le disque

Inutile de partitionner le disque. Pour plus de sécurité pour pouvez chiffrer le disque de la VM. N’oubliez pas de cliquer sur oui à la question faut-il appliquer les changements sur le disque (même si vous n’en avez fait aucun).

Installation (y compris les paquets complémentaires)

Sélectionnez au moins les paquets suivants Serveur SSH et Utilitaires usuel du système. Inutile d’installer un bureau graphique qui ne fera que consommer de la place sur le disque de la VM et consommer des ressources du NAS.

Installation de grub (lanceur)

Grub est un petit logiciel qui permet de démarrer le système au démarrage de la VM. S’en lui Debian ne pourra pas démarrer. Grub est installé sur le disque dur virtuel de la VM Jeedom. Aucune crainte à avoir, on ne va pas toucher au NAS.

L’installation de Debian est maintenant terminée. Le système va redémarrer

Configurer la machine virtuelle Debian

Il reste encore quelques détails à configurer avant d’installer Jeedom.

Installer la commande sudo si nécessaire

La commande sudo ne semble pas être installée par défaut sur la distribution netinstall de Debian Stretch. Commencez par vérifier si elle est disponible en exécutant la commande suivante par exemple

sudo ls /dev/tty*

Le système doit vous demander votre mot de passe et lister les périphériques sur le port tty. Si la commande échoue, il faut installer la commande sudo manuellement comme ceci

su - root

Saisir votre mot de passe root (créé au moment de l’installation) puis exécuter la commande d’installation

apt-get install sudo

Il faut ensuite donner l’autorisation à votre compte utilisateur d’utiliser la commande sudo. Exécuter cette commande en remplaçant le nom de l’utilisateur

adduser NOM_UTILISATEUR sudo

Vous pouvez vérifier le fichier sudoers qui devrait ressembler à ceci (nano /etc/sudoers)

# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d

Il ne reste plus qu’à redémarrez le système

sudo reboot

Attribuer une adresse IP fixe à la machine Virtuelle

Ouvrez le fichier de configuration

sudo nano /etc/network/interfaces

Commentez la configuration actuelle et collez cette nouvelle configuration en l’adaptant à vos paramètres. Ici la VM sera accessible à d’adresse IP 192.168.1.10

auto ens3
iface ens3 inet static
address 192.168.1.10
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1

Enregistrer avec CTRL+X puis O. Redémarrer ensuite le système avec la commande sudo reboot.

Après le redémarrage, vous pouvez vérifier l’adresse IP en exécutant cette commande

ip -4 a

jeedom nas qnap vm debain ip fixed

Démarrer l’installation de Jeedom sur la machine virtuelle Debian Stretch

L’installation est ultra-simple depuis le script v3. Commencez par récupérer le script avec la commande wget

wget https://raw.githubusercontent.com/jeedom/core/master/install/install.sh

On rend ensuite le script exécutable

chmod +x install.sh

Puis on lance l’installation de Jeedom

sudo ./install.sh

Le script commence par mettre à jour le système. En fonction du débit internet, l’installation peut prendre environ 30 minutes.

installation jeedom debian nas qnap machine virtuelle

Une fois l’installation terminée, vous pouvez vous connecter à Jeedom et saisissant l’adresse IP configurée précédemment depuis un navigateur internet.

jeedom login vm debian nas qnap ts-251

Inclusion de modules Z-Wave+, EnOcean, RFXCom…

Avant de pouvoir inclure des modules domotiques, il est nécessaire d’autoriser la machine virtuelle à accéder aux contrôleurs connectés en USB. Pour cela, ouvrez Virtual Machine Manager, allez sur l’onglet Machine Virtuelle. Après avoir sélectionné la VM Debian, cliquer sur modifier pour ouvrir la configuration.

Allez sur l’onglet Autre. Sélectionner le contrôleur USB en face de périphérique USB. Cliquer sur le + pour connecter un autre contrôleur à la VM. Terminer en cliquant sur OK. Il n’est pas nécessaire de redémarrer la VM.

nas synology vm debian jeedom usb zwave rflink rfxcom

Allez sur l’interface de Jeedom et ouvrez le panneau de configuration des modules Z-Wave. Ouvrez le sélecteur Port clé Z-Wave et choisissez le port. Il sera de la forme /dev/ttyACMx.

jeedom plugin zwave nas synology

Sauvegardez et relancez l’installation des dépendances si nécessaire. Une fois l’installation terminée, tout est prêt.

jeedom nas synology zwave plugin virtual machine

Bilan du fonctionnement de Jeedom sur machine virtuelle

La création de la machine virtuelle peut sembler long et fastidieux mais dès qu’on la fait une première fois, c’est vraiment super simple. L’énorme avantage est de se trouver sur un Linux parfaitement standard. On n’aura donc absolument aucun problème pour installer des librairies supplémentaires. Tous les tutoriels adaptés au Raspberry Pi sont le plus souvent valables. Enfin gros avantage, on pourra planifier des sauvegardes régulières. Une VM consomme (un peu) plus de ressources du NAS (<2%), surtout de la RAM.

Petite remarque au passage, contrairement à QNAP, les contrôleurs USB ne sont déconnectés durant la sauvegarde sur les NAS Synology. Aucun risque de perdre le contrôle de vos modules domotiques en votre absence !

POUR:
  • Installation standard dans un environnement Linux
  • Tous les contrôleurs domotiques (Z-Wave, Zigbee, RFLink…) sont détectés par le NAS et accessibles directement sur la machine virtuelle sans avoir besoin d’installer des drivers
  • Démarrage automatique de Jeedom avec le NAS
  • Sauvegarde programmable
  • Pas de déconnexion des périphériques USB durant la sauvegarde (contrairement à QNAP)

CONTRE:
  • Création assez longue de la machine virtuelle
  • Installation assez longue de Jeedom

Quel modèle de NAS Synology choisir ?

Plusieurs modèles grand public peuvent convenir. Optez de préférence pour un modèle à double baie permettant de créer un volume RAID 1 ou Btrfs (plus moderne) afin de sécuriser vos données.

Meilleur choix
Modèle DS218+ DS718+ DS918+
nas synology DS218 plus nas synology ds718 plus
Tarif moyen du NAS nu** ~ 340€ ~ 455€ ~ 550€
Processeur Intel Celeron J3355

Dual Core@2.0 GHz

Intel Celeron J3455

Quad Core@2.3 GHz

Intel Celeron J3455

Quad Core@2.3 GHz

Score CPU Benchmark 1193 2126 2126
RAM 2 GB DDR3L 2 GB DDR3L 4 GB DDR3L
RAM max 6 GB  (2 GB + 4 GB)

possible 8GB

6 GB (2 GB + 4 GB)

possible 8GB

8 GB (2 x 4 GB )
Nombre VM max.* 2 2 4
Stockage max. 28 TO

2 x 14 TO

28 TO

2 x 14 TO

56 TO

4 x 14 TO

Transcodage*** H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; résolution maximale : 4K (4096 x 2160)@30i/s
USB 2.0 x2
USB 3.0 x1 x3 x2
Ethernet 1GbE x1 x2 x2
eSATA x1 x1 x1
Bruit 19.3 dB(A) 18.4 dB(A) 19.8 dB(A)
Conso. normale 17,23W 20,1 W 28,8 W
Conso. en veille 5,4 W 9,1 W 12,6 W
Fiche technique Consulter Consulter Consulter

(*) nécessite au moins 4GB de RAM.

(**) Le NAS est livré sans disque dur et extension de mémoire.

(***) Permet de réduire fortement l’espace de stockage (et donc le cout global du NAS) pour la vidéo-surveillance

L’article Installer Jeedom sur NAS Synology DS718+ sur une machine virtuelle Debian Stretch est apparu en premier sur Domotique et objets connectés à faire soi-même.

Débuter avec les objets connectés DIY (1). Choix du micro-contrôleur, bus de données, format carte de développement, composants

$
0
0
objets connectes iot diy arduino samd21 asp32 esp8266 raspberrypi

Vous voulez vous lancer dans la fabrication de vos propres objets connectés à base d’Arduino, ESP8266, ESP32, Raspberry Pi ou vous êtes étudiants et vous avez un projet de fin d’étude à réaliser. Dans cette nouvelle série d’articles, nous allons aborder tous les aspects techniques à connaître sur les objets connectés et les micro-contrôleurs en général.

 

Impossible de passer en revue l’intégralité des solutions disponibles, il y aurait de quoi en écrire plusieurs livres ! Je vous propose de présenter les solutions les plus utilisées et les plus accessibles lorsqu’on débute en programmation. Si vous êtes étudiant, la plupart des solutions sont également disponibles dans l’industrie ou sont très similaires.

Toutes les abréviations sont expliquées à la fin de l’article.

Dans ce premier article nous allons aborder les points suivants

C’est quoi un objet connecté ?

Il n’existe pas encore de définition précise de ce que sont les objets connectés. Les objets connectés portent plusieurs autres dénominations. On pourra aussi parler d’Internet des Objets (IdO) ou Internet of Things (IoT) en anglais.

Finalement, ce sont des objets qui embarquent un micro-processeur qui est chargé de réaliser des tâches locales et qui peut communiquer avec d’autres services (au sens large). Un service pourra être

  • Un serveur. Par exemple une caméra de surveillance de trafic routier qui envoi régulièrement le nombre de véhicules à un serveur en charge de prévision le trafic.
  • Un autre objet. Un smartphone qui s’authentifie auprès d’une serrure connectée.

La notion d’internet est omniprésente mais c’est une notion restrictive, il vaudrait mieux parler d’objets communicants. Mais c’est vrai que le principal objectif est de pouvoir piloter ou connaître l’état des objets via un accès internet.

Voici un schéma qui permet de mieux comprendre un exemple de logique à mettre en place.

  • Un premier objet connecté fonctionnant sur batterie permet de collecter la mesure d’un anémomètre (capteur). La vitesse du vent (mesure) pourra être récupérée par exemple sous la forme d’un signal électrique 0-5V sur un entrée analogique (DAC).
  • Le micro-contrôleur (aussi dénommé MCU en anglais) est alimenté par une batterie rechargée à l’aide d’un petit panneau solaire (lisez ce tutoriel pour en savoir plus). Il transmet la vitesse du vent à intervalle régulier via une connexion WiFi à un serveur via des messages MQTT. Il pourrait également communiquer avec le serveur par ondes radio sur une fréquence libre (par exemple en LoRa 433MHz pou une plus grande portée). Dans ce cas, il faudra installer une passerelle (ou gateway en anglais). La passerelle permet de faire communiquer le (les) objet(s) entre eux ou le serveur.
  • Un second objet connecté est chargé de piloter le moteur (actionneur) d’un volet roulant. Il est connecté en WiFi à un broker MQTT. Le programme développé en C++ à l’aide de l’IDE Arduino réalise un traitement local. Par exemple, il pourra commander la fermeture du volet si la vitesse du vent dépasse un certain seuil.
  • Le 2nd objet connecté fonctionnant sur le secteur, il dispose d’une interface de commande accessible sur le réseau local (ou depuis internet en configurant un routage de port). Entièrement développée avec du code HTML, elle pourrait permettre de piloter manuellement le moteur du volet roulant, de connaître l’état du volet et l’historique des actions précédentes.
  • Le serveur permet de réaliser des traitements plus complexes :
    • Un moteur de règles développé avec Node-RED permet d’ouvrir partiellement les volets en fonction de la météo du jour récupérée sur un service en ligne.
    • Donner accès à une interface de contrôle de tous les objets connectés disponibles. Le plugin Dashboard pour Node-RED permet de créer rapidement des interfaces sans avoir aucune connaissance en HTML, CSS, PHP, Javascript…
    • Les données pourront être stockées sur une base de données locale pour conserver un historique (actions ouverture / fermeture / partielle, vitesse du vent…). On pourra utiliser une base de données traditionnelle (MySQL, MariaDB, PosgreSQL…) ou plus dédiée au stockage rapide (MongoDB, InfluxDB)
    • Tracer des relevés. Le plugin Dashboard pour Node-RED dispose d’un objet pour tracer ds courbes simplifié. Pour des projets plus complexes, Grafana est la Rolls dans le domaine.
    • On pourra également utiliser un logiciel spécialisé dans la domotique pour récupérer les mesures des sondes (température, pollution de l’air…), l’état des modules (allumés, éteint, vitesse, température de consigne…) et des détecteurs (portes, fenêtres, volets, présence…). Un serveur domotique permet de créer facilement des scénarios (ouvrir les volets tous les jours à 7h00…) et de réagir à des événements (fermer tous les volets et envoyer une notification si une intrusion et détectée en votre absence…). Pour en savoir plus, commencez par la lecteur de cet article plus détaillé.

Comme vous avez pu le constater, toutes les solutions proposées sont totalement Open Source et gratuites.

objets connectes iot diy arduino samd21 asp32 esp8266 raspberrypi

 

Fabriquer un objet connecté DIY, quel micro-contrôleur choisir ?

Il existe un très grand nombre de micro-contrôleurs disponibles sur le marché, Atmel AVR, Atmel SAM, Espressif ESP32 ou ESP8266, Freescale Kinetics, Intel ARC32, Lattice iCE40, Maxim 32, Microchip PIC32, Nordic nRF51, Nordic nRF52, NXP LPC, samsung ARTIK, Silicon Labs EFM32, ST Microelectronic STM32, Teensy, TI MSP430, TI TIVA, WIZNet W7500… mais la plupart sont destinés à des cartes de développement ou des projets professionnels.

Microchip Atmel ATmega AVR

Pour des projets personnels ou le coût des composants est un critère primordial, le choix se réduit drastiquement. On retiendra les cartes à base de micro-contrôleurs (MCU en anglais pour Micro Controller Unit) Atmel AVR. Ce sont des MCU basés sur une architecture RISC 8 bits. On retrouve ces MCU sur toutes les cartes Arduino et les clones asiatiques. Ce sont des MCU 8 ou 32-bits performants et peu gourmand en énergie. Impossible de lister tous les MCU Microchip Atmel ici. Si vous avez besoin de plus d’informations techniques, vous trouverez tout ce qu’il vous faut ici. Voici un tableau comparatif des principaux MCU qui équipent le plus souvent les cartes Arduino (officielles et compatibles).

MCU Carte de développement Broches Flash (KB) RAM (KB)
ATmega16U2 Arduino Uno Rev.3 ou Arduino Nano 32 16 512
ATmega168 Arduino micro 32 16 1024
ATmega32U4 Arduino micro 44 32 2560
ATmega328P Arduino Uno Rev.3 ou Arduino Nano 32 32 2048
ATmega2560 Arduino Mega 2560 100 256 8192

On trouve les MCU Microchip Atmel dans la plupart des cartes de développement Arduino ainsi que les cartes compatibles. Plutôt qu’un long discours, voici en image l’encombrement des principaux modèles d’Arduino. De gauche à droite

  • 1ère colonne : Arduino Uno Rev.3, Arduino Leonardo
  • 2nd colonne : Arduino Micro, Arduino Nano, Arduino Pro Mini
  • 3ème colonne : Arduino Mega 2560, Arduino Due

famille arduino

Le défaut majeur des solutions Atmel (propriété de Microchip depuis 2016), c’est l’absence de connectivité (WiFi ou Ethernet) qui oblige à recourir une carte additionnelle (WiFi, Ethernet, Bluetooth) dès que l’on veut communiquer avec un serveur domotique par exemple. En plus du coût, les projets sont beaucoup plus volumineux. Pour des projets qui nécessitent une connectivité WiFi, optez directement pour une carte à base d’ESP8266EX ou ESP32.

Dernière mise à jour des prix le 10 mai 2019 3 h 01 min

Microchip Atmel ATTiny85

L’ATTiny85 est un MCU développé par Atmel adapté à la réalisation de projets d’électronique vestimentaire ou nécessitant peu d’E/S. Voici un tableau de comparaison entre l’ATTiny85 et le MCU  ATmega328. Pour en savoir plus et débuter la programmation de cartes à ATTiny85, lisez ce tutoriel.

ATiny85 ATmega328
Nombre de broches 8 28
Taille Flash (ko) 8 32
Taille SRAM (octets) 512 2048
Taille EEPROM (octets) 512 1024
Canaux PWM 2 6
GPIO (en comptant les ADC et PWM) 6 (5 disponibles sans désactiver le fusible de reset*) 23 (dont 20 exposés sur Arduino Uno)
Connectivité I2C oui oui
Connectivité SPI oui oui
Connectivité UART non oui

L’ATTinyest très utilisé dans les cartes LilyPad, LilyTiny et Gemma ou Flora d’Adafruit destinées au développement de projets vestimentaires (costumes, cosplay…)

cjmcu board wearable attiny85 arduino lilytiny lilypad_atmega32u4 lilypad_atmega328
CJMCU – ATTiny 85

Programmation via le port USB

LilyTiny – ATTiny85

Nécessite un programmateur AVR et une pince IC Test Clip for SOIC8 Pins

LilyPad – ATmega 32u4

Programmation via le port USB

Documentation technique

LilyPad – ATmega 328

Programmation par liaison Série (FTDI)

Documentation technique

Programmation de l'ATtiny85 d'un carte LilyTiny de Sparkfun (source : Sparkfun)

Attention toutefois au moment de choisir votre carte. Pour gagner en encombrement (et en prix), certaines cartes n’embarquent pas de convertisseur Série / USB. Pour programmer le MCU ATTiny, il faudra venir se brancher directement sur les broches du boitier à l’aide d’une pince spéciale IC Test Clip pour SOIC8 Pins et quelque fois disposer également d’un programmateur AVR. C’est par exemple le cas de la carte LilyTiny de Sparkfun qui ne mesure que 20mm de diamètre. ) 

Vous pouvez également le MCU ATTiny85 seul pour développer vos propres circuits.

Microchip Atmel SAMD21, nouveaux MCU pour Arduino (et clones)

Depuis 2015, un nouveau micro-contrôleur plus puissant construit sur la base d’un processeur ARM Cortex M0+ à 48 MHz est disponible chez Atmel / Microchip. La fondation Arduino utilise les MCU SAMD21 comme moteur pour plusieurs modèles de la nouvelle génération de cartes de développement Arduino MKR.

Il existe plusieurs versions du SAMD21, voici comment reconnaître le MCU embarqué sur la carte à partir de sa désignation

Il existe donc 3 variantes SAMD21E (26 E/S), SAMD21G (38 E/S) et SAMD21J (52 E/S) qui embarquent entre 32KB et 256KB de mémoire flash. Voici un tableau récapitulatif des spécifications techniques.

Les premières cartes ont été commercialisées courant 2018. On trouve de plus en plus ce cartes low cost chez les fabricants chinois depuis 2019 au format Arduino Uno R3

Et au format compact (successeur de l’Arduino Micro)

Toutes les données techniques sont tirées de la documentation technique disponible ici.

Espressif ESP8266 avec connectivité WiFi

Pour des projets d’objets connectés en WiFi, c’est Espressif qui s’est imposé sur ce marché. Né en 2014, les μC ESP8266 sont rapidement devenus incontournables dès que l’on souhaite réaliser un objet connecté en WiFi. Initialement, les modules ESP-01 étaient conçus pour ajouter une connectivité WiFi low cost aux projets Arduino. L’ESP-01 dispose de 2 broches. Elle permettent de communiquer avec le programme Arduino via une liaison série (RX/TX). L’Arduino Killer était né ! Le module ESP-01 a rapidement rencontré un très fort succès dans la communauté des Makers. Très économique (moins de 2€), il était polyvalent et aussi puissant qu’un μC Atmel, le WiFi en plus ! On trouve encore ce module sur les boutiques asiatiques mais il est appelé à disparaitre dans un avenir très proche.

Fort de ce succès, Espressif a ensuite conçu le module ESP8266. Basé sur un Cortex M0 à 160MHz, l’ESP8266 embarque 4Mo de mémoire flash. Il dispose de 11 E/S, toutes PWM. Il dispose également d’une entrée analogique dans la tension admissible maxi est de 3,2V.

Malgré ses nombreuses qualités, l’ESP8266 était (est) encore en dessous des MCU Atmel sur plusieurs points :

  • Seulement 11 broches d’E/S
  • Une seule entrée analogique (limitée à une tension de 3.2V)
  • Impossible de sécuriser (crypter) la connexion WiFi

Depuis 2018, Espressif commercialise 4 nouveaux modules ESP8266EX. Le EX à la fin de la désignation permet d’identifier les nouveaux SoC mais ne permet pas d’identifier les spécifications techniques pour chaque modèle. Les 4 modèles disposent de 2MB de mémoire flash au lieu de 4MB pour la génération précédente. C’est largement suffisant pour faire fonctionner les programmes et faire stocker les fichiers d’une interface HTML si vous voulez ajouter une interface WEB à votre projet (vous pouvez réaliser ce projet de station météo pour apprendre comment faire).

Pour différencier chaque modèle, vous devez utiliser la référence du Core.

Image Core Pins Mémoire flash (MB) Antenne
esp-wroom-02 ESP-WROOM-02

Module de base. L’antenne WiFi est gravée sur le PCB

18 2 PCB
ESP-WROOM-02D ESP-WROOM-02D

Antenne RF améliorée gravée sur le PCB

18 2 PCB
ESP-WROOM-02U ESP-WROOM-02U

Connecteur U.FL pour antenne externe

18 2 IPEX
esp-wroom-s2 ESP-WROOM-S2

Modèle spécifique qui peut travailler comme un esclave SDIO/SPI. Le bus SPI a été optimisé pour atteindre une vitesse de 8 Mbps

18 2 PCB

Voici les autres caractéristiques des modules ESP8266EX

  • Processeur mono-cœur cadencé à 160 MHz
  • Courant de veille inférieur à 20 μA
  • WiFi 802.11 b/g/n à 2.4 GHz
  • L’ESP8266EX supporte les entrées/sorties UART, GPIO, I2C, I2S, SDIO, PWM, ADC et SPI
  • Certifié CE et FCC

Vous pouvez lire ce guide pour en savoir plus et bien débuter avec les modules ESP8266. Si la sécurité des données de vos projets d’objets connectés est un point primordial, optez directement pour un module RSP32.

Quelques modèles de cartes de développement ESP8266

L’ESP8266EX tarde être utilisé par les fabricants de carte de développement. L’IDE Arduino supporte la majorité des cartes de développement génériques.

Si vous débutez, je vous conseille les cartes de développement du fabricant chinois Wemos. La Wemos d1 mini est une carte de développement ESP8266 parfaitement prise en charge par l’IDE Arduino. Elle utilise un convertisseur Série/USB CH340 pris en charge nativement sous Windows ou macOS. Si toutefois vous rencontrez des difficultés (sur Windows, macOS ou Linux), vous trouverez certainement la solution en lisant ce tutoriel.

En plus d’être très accessibles (environ 2,5€), Wemos a développé de nombreux shields (cartes d’extensions) qui vienne s’empiler ou s’assembler sur une base double ou triple. Tous les shields disponibles sont actualisés ici.

Voir plus de shields

Pour débuter avec les modules ESP8266, voici une série de tutoriels et projets DIY développés à l’aide de la WeMos d1 mini

Voir plus de tutoriels

Espressif ESP32 : WiFi sécurisé, bluetooth, support pour écran tactile, bus CAN

L’ESP32 est un micro-contrôleur beaucoup plus musclé que l’ESP8266EX. Cette fois, Espressif a mis toutes les chances de son coté :

  • SoC : dual-core Xtensa 32-bit LX6 @ 240MHz
  • Mémoire : 520 kB de mémoire interne SRAM, 4MB de mémoire flash externe
  • Connectivité
    • WiFi 802.11 b/g/n/e/i conforme à la norme IEEE 802.11 compatible avec les sécurités WFA, WPA/WPA2 et WAPI
    • Bluetooth 4.2 BLE et BR/EDR
    • Connecteur IPEX pour antenne externe sur certains modèles (la liste complète ici)
    • USB pour la mise au point des programmes via le port micro USB
  • Entrées/Sorties
    • 26x E/S digitales (fonctionnement à 3.3V)
    • 18x entrées analogiques et 2x sorties analogiques
      • 18x ADC (pour Analog to Digital Converter, convertisseur analogique numérique). Broches 0, 2, 4, 12, 13, 14, 15, 25, 26, 27, 32, 33,  34, 35, 36, 37, 38, 39 
      • 2x DAC (pour Digital to Analog Converter en anglais, convertisseur numérique vers analogique) sur les broches 25 et 26
    • 3xSPI, 2x I²S, 2x I²C, 3xUART, CAN 2.0, IR, Touch Sensor (écran tactile)
    • Capteur de température
  • Protection cryptographique : AES, SHA-2, RSA, ECC, random number generator (RNG)

En 2019, on dénombre 9 modules (liste officielle) classés en 2 familles

  • Dual Core avec connectivité WiFi et Bluetooth
  • Single Core avec connectivité WiFi et Bluetooth

La liste peut sembler longue mais en fait il existe 4 Cores qui sont ensuite assemblés dans différentes configurations

  • 8MB de mémoire PSRAM accessible via le bus SPI qui permet de stocker plus de données
  • Antenne gravée sur le PCB ou avec un connecteur IPEX

Les modules ESP32-WROOM-32D et ESP32-WROOM-32U sont préconisés par Espressif. Voici un tableau de synthèse permettant de comparer tous les modèles.

Image Désignation / Chipset Dual Core Single Core WiFi Bluetooth Pins Mémoire flash (MB) Mémoire PSRAM Antenne
esp32-wroom-32 ESP32-WROOM-32

ESP32-D0WDQ6

X X X 38 4 PCB
ESP32-WROOM-32D ESP32-WROOM-32D

ESP32-D0WD

X X X 38 4 PCB
ESP32-WROOM-32U ESP32-WROOM-32U

ESP32-D0WD

X X X 38 4 8 IPEX
esp32-wrover-i-01 ESP32-WROVER

ESP32-D0WDQ6

X X X 38 4 8 PCB
esp32-wrover-i-01 ESP32-WROVER-I

ESP32-D0WDQ6

X X X 38 4 8 IPEX
esp32-wrover-b ESP32-WROVER-B

ESP32-D0WD

X X X 38 4 8 PCB
ESP32-WROVER-IB

ESP32-D0WD

X X X 38 4 8 IPEX
esp32-pico-d ESP32-PICO-D4

ESP32. Boitier seul

X X X 38 4
esp32-solo1 ESP32-SOLO-1

ESP32-S0WD

X X X 38 4 PCB

PCB : l’antenne est gravée sous la forme d’une piste sur le circuit

IPEX : connecteur au standard IPEX permettant la connexion d’une antenne extérieure pour un portée supérieure.

Vous pouvez opter pour une carte LoLin D32 ou LoLin D32 Pro (ancien Wemos). Ces deux cartes sont aussi compactes que la Wemos d1 mini et disposent d’un connecteur pour batterie LiPo 3.7V. Elle est également parfaitement supportée par l’IDE Arduino.

Ordinateur carte à processeur ARM : Raspberry Pi, Orange Pi, Friendly ARM, Asus Tinkerboard…

Lorsqu’on parle d’objets connectés, on pense (presque) automatiquement micro-contrôleur (MCU), mais dans certains cas le Raspberry Pi (ou d’autres ordinateurs cartes à base de processeur ARM) sera beaucoup mieux adapté. C’est le cas par exemple de tous les projets qui utilisent de la vision à l’aide de caméra ou qui nécessitent une puissance de calcul supérieure (traitement du signal).

Pour les projets intégrant de la vision, Même si on trouve des démonstrations d’analyse d’image sur ESP32, la puissance est assez limitée mais ce qui manque cruellement, ce sont les librairies logicielles.

Sur les distributions Linux Raspbian ou Armbian

Trois cartes sortent du lot et totalisent le plus de téléchargement d’Armbian. L’Orange Pi Zero, l’Asus Tinkerboard / S et le Nanopc T4 de Friendly ARM. Pour en savoir plus sur Armbian, vous pouvez poursuivre en lisant cet article.

asus TinkerBoard friendly arm nanopc t4 Raspberry Pi 3 Model B+ 2018
Désignation Orange Pi Zero Asus Tinkerboard / S Nanopc T4 de Friendly ARM Raspberry Pi 3 modèle B+
Budget < 15€ ~120€ ~120€ < 40€
SoC Allwinner H2+

Rockchip Quad-Core RK3288

Rockchip RK3399 BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz
GPU Mali400MP2 GPU @600MHz

Quad-Core Mali GPU 4K@30hz H.264/H.265

Mali-T864
Sortie audio via carte d’extension

RTL ALC4040 CODEC

Jack 3,5mm

Jack 3,5mm Jack 3,5mm
Microphone via carte d’extension

via prise jack

x1
mémoire flash eMMC 16 GB 16 GB
RAM 256/512MB

2GB DDR3

4GB LPDDR3-1866 1GB LPDDR2 SDRAM
GPIO 1 x 23-pin 1 x 40-pin 1 x 40-pin 1 x 40-pin
Debug UART Oui Oui Oui Oui
CSI (connecteur caméra) x1 x1 13MPix/s max. x1
DSI (connecteur écran tactile) x1 x1
HDMI x1 x1 x1
USB 2.0 x1 x4 x2 x4
USB 3.0 x1
PCIe x1
SATA x1
Slot microSD x1 x1 x1 x1
WiFi 802.11 b/g/n 802.11 b/g/n 802.11a/b/g/n/ac 802.11 b/g/n
Connecteur IPEX Oui Oui
Bluetooth 4.0 4.1 4.2
Ethernet 10/100 10/100/1000 10/100/1000 10/100/1000
POE x1 Via carte d’extension
Dimensions 93 x 64 x 20 mm 100 mm x 64 mm
Alimentation micro USB 5V ou POE micro USB OTG 5V – 2.5A DC 12V/2A micro USB OTG 5V – 2.5A
Page produit Lire Lire Lire Lire

POUR:
  • Faible encombrement (dépend de la carte)
  • Faible consommation
  • Fonctionnement sur batterie possible)
  • Connecteurs (GPIO, caméra, batterie, SATA…)

CONTRE:
  • Prix de certains modèles
  • Puissance limitée
  • Librairies pas toujours disponibles ou au niveau de Raspbian

Mini-PC à base de processeur x86

Le prix des ordinateurs carte à processeur ARM peut vite grimper au dessus de 100€… un prix comparable à un Mini-PC à base de processeur Intel. Si projet n’utilise pas le connecteur d’E/S (GPIO) ou que vous pouvez utiliser des caméras industrielles via le port USB (à la place des caméras CSI), c’est une solution à envisager également.

Gros avantage, on reste sur un PC Intel 64-bits parfaitement standard sur lequel il sera très facile d’installer une distribution Linux. Windows 10 pourra également convenir…mais c’est plus un problème idéologique que technique !

Comptez environ

Dernière mise à jour des prix le 9 mai 2019 3 h 02 min

Voir plus d’offres

POUR:
  • Prix
  • Puissance
  • Environnement standard (Windows 10 ou Linux)
  • Stockage

CONTRE:
  • Pas adapté aux applications mobiles (consommation, pas de connecteur pour batterie)
  • Avant tout conçu pour un usage bureautique
  • Limité à l’USB

Quel MCU, Mini-PC choisir en fonction de l’application

La plupart des librairies sont maintenant compatibles avec les MCU Atmel et ESP8266. Si ce n’est pas le cas, vous trouverez un équivalent. En général, c’est un clone (un fork) de la librairie originale qui a ensuite été adapté pour fonctionner sur les modules ESP8266.

Pour les modules ESP32, c’est un peu plus compliqué. Même s’il n’y a pas de différences significatives dans la manière de programmer les ESP32, nous sommes encore dans une phase de transition. Il reste encore beaucoup de librairies à adapter à l’ESP32. Il est préférable de vérifier la disponibilité des librairies que vous souhaitez utiliser. C’est pour cela que les notes sont plus basses pour les modules ESP32. Rien à voir avec la qualité et les performances des cartes de développement.

Atmel AVR

(Arduino et compatibles)

ATTiny ESP8266 ESP32 ARM* Mini-PC x86**
Initiation à la programmation ***** **** ***** *** ***** *****
Initiation à la mesure avec des capteurs ***** ** ***** **** **** ****
Initiation au pilotage d’actionneur : moteur, servo-moteur, LED, pompe… ***** ** ***** **** **** ***
Communiquer avec un serveur domotique en WiFi ** * ***** **** ***** *****
Publier des mesures sur un serveur distant ** * ***** **** ***** *****
Projets électronique vestimentaire (cosplay, wearable…) ** ***** *** ***
Projets
RC, drone *** * **** ***** *** *
Robotique **** * ***** ***** ***** *****
Environnemental **** ** ***** ***** ***** *****
CNC, impression 3D ***** * ** **** ***** *****
Accessoires domotiques *** * ***** ***** ** *
Mobile, embarqué ***** **
Vision * ***** ****
Traitement du signal ** * ** *** **** *****
IA, réseau de neuronnes **** *****

(*) Ordinateur carte à processeur ARM

(**) Mini-PC à architecture x86 Intel ou AMD

Vous êtes allergique au WiFi, pensez à l’Ethernet !

Le WiFi ne fait pas toujours l’unanimité. Même s’il s’est imposé comme la méthode principale de communication, des doutes subsistent sur ses effets sur la santé. C’est d’ailleurs le cas quelque soit la technologie radio employée. Dans ce cas, vous pouvez opter pour l’Ethernet.

Il existe des cartes d’extension pour tous les modèles d’Arduino

Dernière mise à jour des prix le 7 mai 2019 3 h 01 min

Fabriquer un objet connecté DIY, quel format de carte de développement choisir ?

Pour débuter

L’Arduino Uno est quasiment devenu un format de carte standard depuis sa création. Il existe des cartes d’extension (shield) pour quasiment tout faire. Piloter des servo-moteurs pour faire de la robotique, du déplacement d’axes (CNC, graveur laser…). L’Arduino Uno est équipé de connecteurs sur lequel on viendra directement brancher les capteurs ou les actionneurs. C’est un format idéal pour débuter.

Arduino Uno Rev.3 compatible

Fabriquer de petits objets connectés : sonde d’ambiance, pollution de l’air, détecteur d’ouverture

Vous maitrisez le code et vous voulez passer à un projet concret. Une station météo, une station de surveillance de la qualité de l’air, piloter l’ouverture et la fermeture à distance d’un portail… l’Arduino Uno est très encombrant. Vous pouvez passer

comparaison arduino nano wemos d1 mini lolin32 esp32 esp8266_bb

Pour la robotique, CNC, RC

Pour ce type de projet, vous aurez besoin d’utiliser une carte d’extension qui permet de piloter des moteurs et/ou de générer des signaux PWM (explications au prochain paragraphe). Dans ce cas, vous pouvez rester sur le format de l’Arduino Uno Rev.3. On trouve des cartes à base de MCU ATmega, ESP8266 (que l’on trouve aussi sous le nom d’ESPduino) et ESP32.

Vous pouvez par exemple lire cet article sur le déballage de la carte ESPduino équipée d’une carte d’extension PCA9685 qui permet de piloter jusqu’à 16 servos et 2 moteurs DC via le bus I2C.

doit.am geekcreit 16 channel servo motor i2c pca9685pw esp8266 espduino

ESPduino Wemos R2 équipée d’une carte d’extension PCA9685

Fabriquer un objet connecté DIY, les différents types d’entrées / sorties des micro-contrôleurs

Le μC est fait pour communiquer avec l’extérieur. Pour cela, il dispose d’un nombre plus ou moins important de broches de connexion appelées Entrées / Sorties (E/S ou I/O en anglais pour Input / Output).

Sur le Raspberry Pi ou les autres mini-PC, c’est exactement la même chose. Il s’appel le GPIO qui signifie General-purpose Input Output. C’est un connecteur de 26 ou 40 broches (le plus souvent) sur lequel on viendra brancher des capteurs ou des actionneurs.

Chaque broche peut avoir une ou plusieurs fonctions. Pour savoir ou brancher vos actionneurs ou capteurs vous devez récupérer le schéma de repérage de votre carte de développement. En anglais, le terme est pinout. Il suffit de faire une recherche d’image sur internet, par exemple arduino pinout, wemos d1 mini pinout, pour trouver très facilement la correspondance des broches.

Voici par exemple le repérage des broches de la carte Sparkfun ESP32 Thing.

esp32 thing sparkfun pinout

Comme vous pouvez le voir, une broche peut servir à plusieurs choses. Par exemple, la broche 25 pourra être utilisée comme :

  • Entrée analogique (ADC)
  • Sortie analogique (DAC)
  • Entrée ou sortie numérique

On devra indiquer à l’initialisation du programme, quel est le type de la broche. Par exemple avec du code Arduino :

  • la commande pinMode(25, INPUT) configure la broche 25 comme une entrée numérique.
  • pinMode(25, OUTPUT) configure la broche 25 comme une sortie numérique.
  • int signal = analogRead(25) permettra de lire le signal analogique numérisé par le convertisseur ADC disponible sur la broche 25

Les cartes de développement supportent donc une très grande variété de bus de données qui dépend de chaque MCU. Voici les principaux bus de données que vous allez rencontrer dans l’électronique grand public.

Bus de données, E/S Utilisation
ADC Entrée analogique (Analog to Digital Converter) qui permet de convertir un signal analogique en numérique. En fonction de la précision du convertisseur, le signal sera plus ou moins précis :
  • 8 bits : 256 niveaux (non recommandé)
  • 10 bits : 1024 niveaux (classique)
  • 12 bits : 4096 niveaux (parfait)
  • 14 bits : 16384 niveaux (devient difficile à traiter)
DAC Convertisseur numérique analogique (Digital to Analog Converter) qui permet de convertir un signal numérique en un signal analogique de 0 à 5V ou 0 à 3.3V en fonction de la carte. On pourra par exemple s’en servir pour générer un signal audio.
Entrée/sortie numérique (PWM) Renvoi l’état d’un capteur. Par exemple un interrupteur appuyé laisse passer le courant, l’état passe à 1 (5V ou 3.3V). Il passe à 0 (0V) lorsqu’on relâche le bouton.

Il est également possible de fabriquer un signal numérique en envoyant une succession de signaux électriques (0V / 5V), c’est ce qu’on appel le PWM (Wikipedia), Pulse With Modulation ou MLI en français (modulation de largeur d’impulsions). C’est par exemple ce qu’on utilise pour faire varier l’intensité lumineuse d’une LED.

Certains capteurs disposent également d’une sortie PWM pour envoyer les mesures. C’est par exemple le cas des capteurs de température et d’humidité DHT11 et DHT22. Voici un exemple de signal envoyé par le MHZ19 qui permet de mesurer la teneur en CO2 dans l’atmosphère

Le protocole 1-Wire (One Wire) utilisé par exemple sur les sondes de température DS18B20 (et similaires) utilise également ce principe pour fonctionner

Vérifiez les E/S qui supportent les signaux PWM sur votre carte Arduino.

UART UART, pour Universal Asynchronous Receiver Transmitter, est un émetteur-récepteur asynchrone universel. C’est ce qu’on appel le port série ! IL date de tout début de l’informatique. C’est ce qu’on utilise pour programmer le micro-contrôleur, récupérer les messages de debogage envoyé sur le moniteur série de l’IDE Arduino. Certains composants utilisent également le port série pour communiquer avec le MCU. Le MHZ19 par exemple dispose d’une sortie RX/TX. La vitesse de transmission s’exprime en baud (bit par seconde).

Chaque MCU dispose au moins d’un port UART. Dans ce cas on pourra le programmer puis récupérer les messages envoyés. Le port série n’est pas un bus de données. C’est à dire qu’il n’est possible de créer communication que entre deux appareils (et un seul logiciel) à la fois. Pour pouvoir mettre au point le programme depuis le moniteur série et utiliser un capteur série, il faudra disposer d’un second port UART. C’est le cas de l’Arduino Mega2560 et de l’ESP32 qui en possèdent quatre.

I2C Bus de données numériques (Inter-Integrated Circuit en anglais) qui permet de connecter jusqu’à 128 périphériques. Chaque périphérique dispose de sa propre adresse sur le bus. Ce bus ne nécessite que 2 lignes (2 broches) pour fonctionner :
  • SDA (Serial Data Line) : ligne de données bidirectionnelle,
  • SCL (Serial Clock Line) : ligne d’horloge de synchronisation bidirectionnelle.

Il est possible de communiquer plus facilement avec le MCU du capteur / actionneur. On pourra régler certains paramètres (sensibilité du capteur, demander une données particulière…). Tout est numérique. C’est le bus de données idéal pour développer des projets sans avoir à se soucier des conversions de tensions, d’interprétation des mesures. Il faut juste vérifier la disponibilité de la librairie du capteur / actionneur avant d’acheter votre composant.

I2S Inter-IC SoundIntegrated Interchip Sound, ou IIS, est un standard d’interface qui permet connecter des matériels audio numériques ensemble. Plus d’informations sur Wikipedia
SPI La liaison SPI (pour Serial Peripheral Interface) est un bus de données série synchrone full-duplex développé Motorola au milieu des années 1980. Plus d’information sur Wikipedia. Plus rapide que le bus I2C, il est souvent utilisé pour communiquer avec des écrans d’affichage car il permet d’obtenir un taux de rafraichissement correct. Par contre, il consomme plus 4 broches (au lieu de 2 pour l’I2C) ce qui peut être un point limitant pour certains projets :
  • SCLK – Serial Clock, Horloge (généré par le maître)
  • MOSI – Master Output, Slave Input (généré par le maître)
  • MISO – Master Input, Slave Output (généré par l’esclave)
  • SS – Slave Select, (généré par le maître)

Même inconvénient que l’UART, il n’est pas possible d’adresser les périphériques. Il faudra donc autant de sorties SPI que de périphérique ce qui est très consommateur en broches. Si vous avez le choix, optez pour le bus I2C.

CAN Le bus CAN (Controller Area Network) est un bus Série conçu pour réduire les câblages dans l’automobile ou l’aéronautique. Il n’est quasiment pas utilisé dans l’électronique grand publique. Schématiquement, les capteurs, calculateurs, actionneurs sont branchés sur un bus de données, un câble. Cela permet de réduire très fortement la quantité de câbles, la masse, le coût, simplifie le montage et les réparations.

Source : APRM https://www.apem.com/fr/content/45-pourquoi-integrer-un-systeme-bus-can-

Remarque. Certains périphériques disposent d’une double interface I2C et SPI. Libre à vous de choisir l’interface la mieux adaptée à votre projet et à la librairie disponible 

Capteurs, entrées analogiques ou numériques

Voici quelques exemples assez courants de capteurs et cartes d’extensions que vous pouvez utiliser pour concevoir vos objets connectés.

Exemple Entrée analogique Entrée numérique, 1-Wire ou PWM I2C SPI UART
tcr5000 Compteur de pulsation  
dallas-ds18b20 Température
  • Dallas DS18B20 : existe en version étanche de -55°C à +125°C
  • MLX90614 : mesure de température par infrarouge sans contact de -40 à +125°C
 

 

 

BMP180 Baromètre numérique
  • BMP085/BMP180  : pression atmosphérique de 300 à 1100hPa
  • BMP280 : température de -40 à + 85°C, pression atmosphérique de 300 à 1100 hPa
  • BME280 : température de -40 à + 85°C, humidité de 0 à 100%, pression atmosphérique de 300 à 1100 hPa
 

bh1750 Intensité luminueuse
  • BH1750 : de 0-65535 lux, convertisseur 16 bits.
  • TSL2561 : de 188 μLux jusqu’à 88000 lux
 

Broches DHT22 Température, humidité

 

 

 pn532 RFID  

 

 

hc-sr04 Distance / proximité
bouton-poussoir Micro-interrupteurs (push button)  
ads1115 Carte analogique externe

mcp23017 Entrées digitales supplémentaires  

ir keyes ky-022 Récepteur Infra rouge  
gp2y10 Poussières, particules
  • GP2Y10 : particules de taille supérieure à 0,8µm. 0.5V pour 0.1mg/m3
  • DMS501A, indice PM2.5. Tutoriel
 

 

 

Teneur en CO ou CO2  

 

 

 

 

ina219 Tension et Intensité du courant
  • INA219 : 0 à 26V, 3.2A max.
  • INA3221: permet de mesurer jusqu’à 3 courants de 0 à 26V
 

 MQ135 mq-135 Détecteur de polluants, capteur MQ135 et similaires. Attention, ces capteurs manquent de précision et nécessitent d’être alimentés en permanence pour pouvoir faire de mesures.

Actionneurs, écrans

Exemple Entrée analogique Entrée numérique, 1-Wire ou PWM I2C SPI UART
mcp23017 Sorties numériques supplémentaires

pca9685 Sorties PWM (LED essentiellement)  

oled ssd1306 ecran i2c Ecrans  

 

 

Pensez aux shields (carte d’extension sans soudure)

Il existe une carte d’extension pour presque toutes les applications. Si vous n’avez pas les compétences ou les outils nécessaires, c’est une excellente solution. Les shields sont aussi une excellente solution pour l’apprentissage et l’étude de faisabilité d’un projet.

Les shields au standard Wemos D1 mini sont les plus répandus.

Voir plus de shields

Le bus I2C, le bus à tout faire idéal pour les objets connectés ?

Il existe donc de nombreux moyens de communiquer avec les actionneurs et capteurs. La plupart ont été développés pour des applications industriels et sont aujourd’hui des standards. Les entrées / sorties analogiques ainsi que les entrées numériques peuvent être exploitées sans librairie additionnelle. Voici quelques exemples simples avec du code Arduino.

Lire un signal analogique

int signal = analogRead(A0);

Lire un signal numérique

La ligne pinMode permet d’indiquer au micro-contrôleur que la broche 2 est une entrée numérique

int pushButton = 2;

void setup() {
  // Initialise le port série - Init serial communication
  Serial.begin(9600);&nbsp;&nbsp;
  // La broche 2 est une entrée numérique - Pin 2 is a numerical input
  pinMode(pushButton, INPUT);
}

void loop() {
  // Lit l'état de l'entrée numérique - read the input pin:
  int buttonState = digitalRead(pushButton);
  // Renvoi sur le moniteur série l'état de l'entrée numérique - print out the state of the button:
  Serial.println(buttonState);
  delay(1); 
}

Pour utiliser les bus de données industriels, nous avons deux possibilités :

  • Développer votre propre code (driver), ce qui nécessite du temps, des compétences et de connaître les spécifications techniques de l’appareil et du protocole de communication employé.
  • Utiliser une librairie. Le plus souvent elle a été développée par le fabricant du matériel ou par des Makers qui travaillent dans l’électronique. C’est la solution à privilégier en priorité.

Avant d’acheter votre matériel, je vous conseille donc de passer un peu de temps sur le gestionnaire de librairies de l’IDE Arduino ou de faire une recherche sur internet pour vérifier qu’il existe une librairie.

Parmi toutes les solutions disponibles, c’est le bus I2C qui est le plus souple. Avec seulement 2 fils, vous pourrez utiliser plusieurs capteurs et actionneurs sans vous soucier du nombre de broches restant.

Nombre de broche nécessaire pour communiquer avec l’appareil* Librairie nécessaire
Signal analogique 1
Signal numérique, 1-Wire, PWM 1 Conseillé
Interface I2C 2 Conseillé
SPI, port série industriel rapide  3 ou 4 Conseillé
Port Série (UART) 2 Conseillé

(*) sans tenir compte de l’alimentation 5V ou 3.3V

Prêt à vous lancer, tous les tutoriels pour débuter

Prêt à vous lancer, voici d’autres tutoriels pour vous aider dans votre projet

Voir tous les autres articles

Pour aller plus loin

Pour aller encore plus loin, voici un tableau qui vous permet d’accéder rapidement aux articles et tutoriels. Les sujets déjà traité sur le blog sont indiqués par un fond verte.

—> Faites défiler le tableau vers la droite pour accéder à la suite

Acquisition

Asservissements

Traitement local

(Micro-contrôleur / ordinateur carte)

Communication

Traitement déporté

Capteurs

Actionneurs

Interfaces

MCU

Logiciel

NRJ

Protocoles

Couche matérielle

Développement Stockage IHM / Courbe Domotique
Bruits Ecrans ePaper 1-Wire Atmega Blockly Batterie HTTP(S) Bluetooth Johny-Five InfluxDB Grafana Domoticz
Caméra Ecrans OLED ADC ATTiny C++ Solaire MQTT GSM Node-RED MongoDB Node-RED Home Assistant
CO2 LED CAN ESP32 Lua Deep Sleep Radio sans licence LoRa Python, C++ MySQL Jeedom / NextDom
Courant Moteur DC DAC ESP8266 MicroPython Série Radio (MySensors) NodeJS SQLite OpenHAB
Distance Pas à pas I2C PIC Websockets USB OpenCV (vision)
Humidité Servo-moteur I2S SAMD21 Environnements dev. WiFi IA / Réseaux de neurones
Luminosité CNC PWM STM32 Atmel Studio
Particules (PM2.5) SPI IDE Arduino Domotique Plateformes
Polluants (CO2) UART ARM PlatformIO EnOcean Ordi carte ARM (Armbian)
Pression Atm. Raspberry Pi Eclipse Homebridge Docker
Pression mécanique Orange Pi MPLAB X RFLink Machine Virtuelle
RFID< STM32CubeIDE Zigbee NAS
Santé Mini-PC x86 Z-Wave+ Raspberry Pi
Température Firmwares dédiés IoT Mini PC Intel
Vent (vitesse, direction) Blynk
Cayenne
ESPEasy
Espurna
Homie (MQTT)
MySensors (radio)
Tasmota (MQTT)
Robotique
Johny Five

Signification des abréviations

ADC – Analog to Digital Converter
CAN – Controller Area Network, bus de données
CNC – Computer numerical control, machine à commande numérique
DAC – Digital to Analog Converter
E/S – Entrées / Sorties (I/O en anglais)
GPIO – General-purpose input/output
I/O – Input/Output
I2C – Inter-Integrated Circuit
I2S ou IIS – Inter-IC Sound, Integrated Interchip Sound
MCU – MicroController Unit
MISO – Master Input Slave Output
MOSI – Master Output Slave Input
OLED – Organic light-Emitting Diode
PWM – Pulse-width modulation
SCL – Serial Clock Line
SCLK – Serial Clock
SDA – Serial Data Line
SS – Slave Select
UART – Universal Asynchronous Receiver Transmitter

 

L’article Débuter avec les objets connectés DIY (1). Choix du micro-contrôleur, bus de données, format carte de développement, composants est apparu en premier sur Domotique et objets connectés à faire soi-même.

Nouveau module SONOFF RFR3 WiFi + 433MHz, firmware DIY disponible courant mai 2019

$
0
0
sonoff rfr3 may 2019

Le SONOFF RFR3 est le nouveau module domotique WiFi qui devrait succéder module Basic qui a fait le succès fabricant chinois Itead. Le Sonoff RFR3 est disponible dès maintenant sur la boutique officielle au prix de 4,20€ (hors frais de port). Le RFR3 peut aussi être livré depuis la France (actuellement en promo à 13,32€) en l’achetant sur AliExpress . A l’occasion du lancement du RFR3, Sonoff a annoncé la disponibilité courant mai 2019 d’un nouveau firmware intégrant un mode DIY.

 

Le mode DIY permettra de piloter les modules Sonoff compatibles (la liste n’est pas encore disponible) via une interface REST API depuis n’importe quel logiciel domotique (Domoticz, Jeedom, Home Assistant, OpenHAB…) ou un enceinte connectée depuis IFTTT par exemple.

Nouveau Sonoff RFR3 : WiFi + 433MHz

Par rapport au module domotique Basic, Sonoff a ajouté un récepteur radio fonctionnant à la fréquence de 433MHz. Aucune télécommande n’est livrée avec le module mais on peut s’en procurer pour moins de 3€.

Le boitier conserve la même forme que le modèle Basic original. On dispose toujours d’une seule sortie. Le RFR3 est (enfin) certifié CE / FCC. Le boitier intègre deux LED qui permettent de connaître l’état de la connexion au réseau WiFi ainsi que la réception de commandes radio.

Attention, l’image commerciale peut prêter à confusion, le module n’est pas équipé d’un microphone et ne dispose d’aucune capacité de reconnaissance vocale. Il peut tout simplement être piloté à la voix depuis une enceinte connectée, Siri ou une application Open Source locale (Jarvis)… comme n’importe quel module domotique d’ailleurs !

sonoff rfr3 may 2019

Sonoff a amélioré (ou choisi un module ESP8266EX plus récent) la réception WiFi d’après ce tableau comparatif publié dans les commentaires de la page produit.

comparaison performances sonoff basic r3 rfr3 2019

Spécifications techniques du SONOFF RFR3

Un nouveau firmware avec un mode DIY disponible courant mai 2019

A l’occasion de la sortie de son nouveau module domotique WiFi, Sonoff a annoncé l’arrivée prochaine d’un firmware Open Source qui permettra d’intégrer le module directement sur un serveur domotique sans passer par les serveur chinois de Sonoff.

Pour le moment on dispose de très peu d’informations techniques concernant le nouveau firmware de Sonoff qui permettra de passer le module en mode DIY.

sonoff RFR3_DIY Mode

Le nouveau firmware devrait donc fonctionner comme un serveur qui expose une interface au standard REST API. On devrait pouvoir piloter la sortie du module via une requête HTTP depuis n’importe quel logiciel ou box domotique. Il est probable qu’on devra envoyer les commandes à l’aide de requêtes HTTP. Vous pouvez lire ce tutoriel qui explique comment afficher un message sur un écran OLED directement depuis Domoticz et Jeedom.

On ne sait pas encore si on pourra sécuriser les échanges à l’aide d’un certificat SSL. Aucune information également sur la prise en charge du standard MQTT. Ce serait une très bonne nouvelle.

D’après la réponse de Jerry Shi à un utilisateur qui a demandé avec quels modules le firmware sera compatible, il semblerait qu’une broche supplémentaire soit nécessaire pour flasher le nouveau firmware. C’est un peu dommage de ne pas prévoir une mise à jour OTA (Over The Air) en WiFi, la plupart des modules Sonoff sont construits autour d’un ESP8266 (ou ESP8265).

C’est une très bonne nouvelle, l’intégration directe à Homy sera beaucoup plus facile !

 

Source : un grand merci à Marbaf pour l’info.

L’article Nouveau module SONOFF RFR3 WiFi + 433MHz, firmware DIY disponible courant mai 2019 est apparu en premier sur Domotique et objets connectés à faire soi-même.

Débuter avec les objets connectés DIY (2). Communiquer, programmer, stocker, visualiser, fabriquer des circuits

$
0
0
objets connectes iot diy arduino samd21 asp32 esp8266 raspberrypi

Dans la première partie de cet article, nous avons abordé le choix du micro-contrôleur, de la carte de développement (grand public), du bus de données et des composants disponibles pour réaliser des prototypes. Dans cet article, nous allons aborder les différents protocole de communication (HTTP, MQTT, série, LoRa, GSM, Websockets…) et l’environnement de développement.

 

Vous pourrez intégrer très facilement vos projets à un serveur domotique. Pour aller plus loin, lisez ce guide.

Sujets abordés dans la 2nd partie de l’article

Dans la première partie de cet article, nous avons abordé les points suivants :

  • Les différents micro-contrôleurs (bon marché) et facile à programmer
  • Quel micro-contrôleur choisir (MCU) en fonction de l’application
  • Quelle source d’alimentation choisir
  • Les protocoles pour communiquer avec des capteurs et des actionneurs

Dans cette seconde partie de l’article consacrée à la fabrication d’objets connectés, nous allons aborder les thèmes suivants

  • Quel environnement de développement choisir ? IDE Arduino, PlatformIO, Eclipse…
  • Quel protocole utiliser pour communiquer avec des objets connectés ? Bluetooth, HTTP, MQTT, port série, Websockets
  • Comment exploiter les données et piloter un objet connecté
    • Serveur domotique
    • Développer rapidement une interface et des règles de fonctionnement avec Node-RED
    • Stocker des données dans une base de données
    • Visualiser des données

developper objets connectes diy 2 ide serveur domotique

Quel environnement de développement choisir ?

Lorsqu’on débute, ce qui compte le plus, c’est probablement l’aide que l’on peut trouver. Un développement, c’est bien souvent une suite de problèmes techniques (logiciels, électronique, mécanique…) qu’il faut résoudre. Plus la communauté est importante, plus vous aurez la chance de trouver la réponse à votre question ou votre problème. Bien souvent, il suffit de copier-coller le message d’erreur dans un moteur de recherche pour trouver une solution.

IDE Arduino

C’est l’éditeur officiel de la fondation Arduino. Il est disponible sur tous les systèmes (Windows, macOS, Linux x86 et Linux ARM). Ce n’est pas l’éditeur de code le plus moderne mais il fait très bien son travail et surtout il permet simplifier pas mal de choses lorsqu’on débute :

  • Installation / gestion des librairies (sans avoir besoin de relancer l’éditeur)
  • Installer de nouvelles cartes
  • Moniteur série pour la mise au point des programmes
  • Traceur de courbe (écoute du port série)

Pour ceux qui ne maitrise pas (encore) l’anglais, l’IDE Arduino est disponible en français.

ide arduino ubuntu linux 32-bits lubuntu

IDE Arduino sur la distribution Linux Ubuntu (vieux PC recyclé).

Platform.io

PlatformIO est un écosystème complet pour développer des objets connectés qui peut remplacer l’IDE Arduino pour des projets profesionnels. PIO est basé sur l’éditeur Open Source Atom développé par GitHub. PlatformIO (PIO) est un environnement de développement professionnel complet qui propose de très nombreux outils :

  • Un compilateur multi-plateforme,
  • Un gestionnaire de librairie,
  • Un deboggeur,
  • Un système de test unitaire,
  • La mise à jour et le monitoring série à distance (PIO Remote),
  • Un support des éditeurs en ligne (Cloud9 par exemple)
  • PIO en chiffres
    • 31 plateformes (Atmel IMU, Atml AVT, Atml SAM, ESP32, ESP8266, STM32…)
    • 18 frameworks
    • Plus de 600 cartes de développement
    • Plus de 6300 librairies listées !

Les services sont proposés sous la forme d’un abonnement mensuel (à partir de 9,99$). Une version Community permet d’utiliser toutes les fonctions de l’éditeur et de réaliser jusqu’à 50 mises à jour à distance par mois.

sonoff s26 hack platformio tasmota wifi

Le fonctionnement est un peu différent de l’IDE Arduino. Il y a quelques différences dans la programmation, mais rien de bien compliqué.

PlatformIO a été adopté par la plupart de développeurs car il est beaucoup plus simple de compiler pour différentes plateforme en créant un simple fichier de configuration. La force de PlatformIO est qu’il est capable de télécharger et d’installer toutes les librairies nécessaires à partir du fichier de configuration.

Même si vous ne l’utilisez pas au quotidien, vous serez certainement obligé de l’installer. Voici quelques articles pour découvrir PlatformIO

Les autres environnements

Il existe beaucoup d’autres environnement de développement. La plupart d’entre eux sont destinés à des usages professionnels. En voici quelque uns, n’hésitez pas à utiliser les commentaires pour compléter cette liste :

Quel protocole utiliser pour communiquer avec des objets connectés

Un objet connecté et rarement totalement autonome. On voudra très certainement récupérer des données ou piloter des actionneurs à distance. Pour cela on va avoir besoin de mettre en place un moyen et un langage de communication.

Bluetooth

Le bluetooth permet une communication directe avec le micro-contrôleur. L’ESP32 dispose d’une connectivité bluetooth native. Pour les autres micro-contrôleurs (Atmega, ESP8266, STM32…), il est possible d’ajouter un module HC-05 ou HC-06.

Le module HC-06 ne peut fonctionner qu’en mode “esclave”, c’est à dire qu’il ne peut que recevoir que des demandes d’appairage. Le module HC-06 est très simple à câbler et suffira pour la plupart des projets.

Le module HC-05 qui est un module “maître”, c’est à dire qu’il peut demander à un autre élément Bluetooth de s’appairer avec lui. Il peut aussi fonctionner en mode esclave comme le HC-06.

Le bluetooth fonctionne comme un port série. La vitesse et le volume reste réduit mais c’est largement suffisant pour faire des relevés ou piloter un servo-moteur depuis un smartphone (faible temps de latence).

POUR:
  • Vitesse suffisante
  • Communication directe, aucune dépendance à une infrastructure
  • Intégré sur l’ESP32
  • Nombreuses appli mobile existent déjà (serial bluetooth)

CONTRE:
  • Communication locale (30 m maxi. environ)
  • Faible volume de données
  • Non sécurisé (pas vraiment utile toutefois)
  • Reconnexion nécessaire au redémarrage, lancement appli
  • Déconnexion intempestives

GSM / GPRS

Le réseaux Sigfox ou LoRa sont encore réservé à des usages professionnels. Il n’est pas aussi simple de s’abonner (pour le moment) au réseau Sigfox ou LoRa qu’à un opérateur téléphonique. Pour un projet très éloigné ou hors de porté d’une gateway LoRa privée (11km en champ libre et 2km en zone dense), une carte d’extension  GSM est une bonne solution.

Avec une connexion 3G ou 4G pour pourrez vus connecter à un broker MQTT (un exemple à lire). En mode dégradé, vous pourrez envoyer des données via des SMS.

HTTP (HTTPS)

Le protocole HTTP est le standard de communication utilisé pour accéder à n’importe site sur internet. Ce protocole dispose d’un jeu de méthodes qui permettent de facilement communiquer avec un serveur

GET C’est la méthode la plus courante pour demander une ressource à un serveur.

HEAD Cette méthode permet de passer au serveur des paramètres. Identifiant ou Token d’authentification, type de méthode, format des données que l’on souhaite recevoir…

POST Cette méthode est utilisée pour transmettre des données. Les données pourront être mise en forme directement dans l’URL, par exemple http://ip_du_serveur/api.html?param1=a&param2=b

D’autres méthodes plus spécifiques existent OPTIONS, CONNECT, TRACE, PUT, PATCH, DELETE.

Le protocole HTTP est une bonne solution pour stocker des données directement dans une base de données (MySQL, MariaDB ou InfluxDB par exemple).

Les plusieurs tutoriels pour aller plus loin

LoRaWan ou Sigfox

LoRaWan et Sigfox sont des technologies de transmissions de données qui utilisent certaines fréquences radio sans licence et sans restriction. Les cartes de développement sont encore assez couteuses pour le moment.

Sigfox est un opérateur présent dans plus de 60 pays. Sigfox utilise la bande 868Mhz en Europe et 902Mhz aux US. Le protocole Sigfox peut envoyer jusqu’à 140 messages à 300bits/s par jour et le payload (contenu utile) de chaque message ne peut pas dépasser 12 octets. Le protocole Sigfox est bidirectionnel mais un objet Sigfox ne pourra pas recevoir plus de 4 messages par jour à des instants prédéfinis.

LoRa est un protocole radio conçu par la société Semtech (ancienne société Cycleo rachetée en 2012). LoRa utilise la bande de fréquences  868Mhz. LoRaWAN peut être opéré par un opérateur TélécomBT, Orange…  ou être déployé sur un réseau privé. Le protocole LoRa est bidirectionnel (sous conditions).

Sigfox et Lora permettent la création d’objets connectés fonctionnant sur batterie pendant plusieurs années. La portée peut atteindre 12km en région peu dense et 2km en zone urbaine pour le réseau LoRa.

Source des infos : https://www.webdyn.com/articles-radio/comparaison-sigfox-lora-lte/

Port série

On aurait tendance à l’oublier, mais le port série ne sert pas qu’à la mise au point d’un programme. On peut très facilement récupérer les données via un script Python, un flow Node-RED, un projet Processing.

La vitesse et le volume de données est largement suffisamment dans la majorité des cas.

Voici deux tutoriels qui pourrait vous intéresser.

MQTT

MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie qui fonctionne sur le principe de souscription / publication qui a été développé à la base pour simplifier la communication entre les machines. Pour fonctionner il faut installer un serveur, qui est désigné par Broker. Vous pouvez installer votre propre Broker, ce que nous allons faire dans cet article. Vous pouvez l’installer sur quasiment toutes les plateformes dont les plus communes (Windows, Linux, Mac OS X….) mais aussi sur un Raspberry Pi (qui fonctionne sous Linux après tout).

Depuis novembre 2014, la version 3.1.1 de MQTT est devenue un standard international pour la communication entre machines (M2M) et les objets (IoT). Il est soutenu par la fondation OASIS qui regroupent de grands entreprises de l’industrie informatique et télécom (BlackBerry, Cisco, IBM, Kaazing, LogMeIn, M2Mi, MachineShop, PTC, Red Hat, Software AG, TIBCO…).

En plus de simplifier la communication, MQTT a été conçu pour économiser au maximum la batterie des appareils mobiles. MQTT consomme 11 fois moins d’énergie pour envoyer des messages et 170 fois moins pour en recevoir que le protocole HTTP. MQTT est également 93 fois plus rapide que le protocole HTTP.

Voici plusieurs tutoriels sur MQTT pour bien débuter ou aller plus loin.

Quel Broker MQTT Open Source choisir ?

Voici les principaux projets de brokers Open Source

  • ActiveMQ qui permet d’ajouter MQTT à un serveur Web Apache (Développé par la fondation Apache)
  • JoramMQ pour l’intégration de MQTT en Java
  • Mosquitto, le broker open-source le plus utilisé dans les projets DIY soutenu par la fondation eclipse.org
  • RabbitMQ, un projet open source disponible également avec un support commercial
  • EMQTT, un projet développé en Erlang/OTP est disponible sur Windows, macOS et Linux conçu pour recevoir de très nombreuses connexions (jusqu’à 1 million par serveur). Il est possible de créer un cluster (réseau de serveur) pour accroitre le nombres de connexions simultanées.

Mosquitto est un très bon choix. Il est disponible sur toutes les plateformes et s’installe en quelques minutes. Comme MQTT est un standard, quelque soit votre choix, vous pourrez communiquer avec vos objets de la même façon.

Bien débuter avec le Broker MQTT Mosquitto sur Raspberry Pi, Windows, macOS et Linux [Màj]

Radio sans licence. 315MHz, 433MHz, 868MHz, 2.4GHz

WiFi, Bluetooth, XBee, Zigbee, Z-Wave+ sont des technologies de transmission de données par onde radio propriétaires. Elles sont développées par un consortium d’entreprises. Il existe des modules radio génériques qui n’utilisent aucun protocole de communication propriétaire. Il y a deux solutions principales pour utiliser ces modules dans vos projets Arduino :

  • Gérer vous même la communication entre les 2 appareils. Dans ce cas, la bibliothèque VirtualWire (très bien expliquée en Français ici) est toute indiquée à cette usage. Bien-sûr il existe d’autres bibliothèques (Mirf, Radio…)
  • Utiliser la bibliothèque MySensors qui en plus de prendre en charge la transmission de données créé et gère un réseau d’objets connectés. Cette solution sera très bien adaptée pour développer ses propres capteurs ou actionneurs dans le cadre d’un projet domotique DIY.

Coté matériel, il y en a tellement qu’il est très difficile de tous les lister. Si vous souhaitez utiliser la librairie MySensors, le plus facile (et le moins cher) et d’opter pour un module à base de nRF24L01 de Nordic Semiconductor qui utilise la bande de fréquence 2,4GHz. Il est maintenant également supporté par la gateway RFLink.

Attention. Les fréquences radio sont soumises à une réglementation (différente dans chaque pays). Vérifiez que le module que vous désirez acheté est conforme à votre législation. Attention donc aux modules douteux, d’origine incertaine, sans spécifications techniques.

Voici quelques modules très courants que l’on trouve en direct de chine.

315mhz xd-fst  XD-RF-5V  : 315MHz

Ce sont les modules bas coût par excellence…mais attention aux performances (déconseillés pour fabriquer une gateway RFLink par exemple). Il existent dans plusieurs fréquences, 315 MHz (XD-FST) ou 433 MHz (XD-RF-5V). On peut espérer attendre 200m en champ libre et 20m en intérieur

apc220 APC220 : 433MHz

Module permettant de configurer la fréquence porteuse de 418 à 455MHz. Tension d’alimentation de 3.4V à 5.5V. Jusqu’à 1000m en champ libre. Environ 27€.

nrf24l01 nRF24L01+ : 2.4GHz

Ce sont des modules très classiques très bien gérés par les librairies (MySensors) et le projet Open Source RFLink. Ces modules fonctionnent à 2.4GHz (identique au WiFi). Il existe plusieurs versions :

Avec une antenne externe, on peut espérer atteindre 1100m en champ libre à très bas débit (à vérifier en conditions réelles).

Voici une série d’articles sur la librairie MySensors pour vous lancer si le sujet vous intéresse

    Websockets

    Le protocole HTTP n’est pas adapté aux applications qui nécessitent des réponses rapides ou interactives. En effet, à chaque fois que le client fait une requête au serveur, on doit ouvrir une connexion et attendre la réponse du serveur. La communication se fait essentiellement dans le sens client vers serveur.

    Le Websockets vise à résoudre ces problèmes. Le Websockets ouvre un tunnel de communication entre deux appareils. Ce tunnel reste ouvert jusqu’à ce que le client se déconnecte. Ce tunnel est bi-directionnel, c’est à dire qu’à n’importe quel moment le client peut envoyer des messages (JSON, binaire, texte…) et vis versa. Tout comme MQTT, le protocole Websocket est beaucoup plus rapide que HTTP comme le montre ce comparatif réalisé par Fatherjs. Si le sujet vous intéresse, vous pouvez lire l’étude compète ici.

    Voici quelques tutoriels pour aller plus loin.

    Communication WebSocket avec un ESP8266 ou Arduino en Python. Test avec la librairie ws4py sur Raspberry Pi

    Piloter un bras robotique en WiFi avec un Gamepad depuis un Raspberry Pi (code Python evdev + WebSocket)

    Synthèse, quel protocole choisir pour communiquer avec un objet connecté

    Pour vous aider à choisir le protocole le mieux adapté à vos besoins, voici un tableau de synthèse qui prend en compte plusieurs critères :

    • Vitesse de communication
    • Fiabilité de la communication
    • Portée
    • Sécurité. Certains protocoles supportent le transfert de données cryptées
    • Volume de données transmissible. Du simple message (une température) à une image
    Protocole Vitesse Portée Sécurité Fiabilité Volume de données
    Bluetooth *** ** * *** ***
    GSM/GPRS Dépend du réseau ***** Dépend du protocole **** ****
    HTTP *** NA * ***** *****
    HTTPS* *** NA ***** ***** *****
    LoRa / Sigfox **** **** ***** ***** *
    Port série **** Local * **** **
    MQTT ***** NA Si sécurisé ***** *****
    Radio sans licence ** *** * ** *
    Websockets ***** NA Si sécurisé ***** *****

    (*) Attention, vérifier que le micro-contrôleur supporte le protocole HTTPS.

    NA. Non Applicable. Dépend de la couverture du réseau WiFi.

    Une interface de contrôle accessible en WiFi (ou internet)

    Il est possible de développer une interface pour contrôler ou visualiser l’état des capteurs et des détecteurs. Voici un exemple réalisé avec Bootstrap et Google Charts

    esp8266 web server spiffs bootstrap dht22 bmp180 google charts

     

    Tous les tutoriels sur le sujet

    Exploiter vos objets connectés

    La plupart du temps, on voudra piloter ou récupérer les données d’un objet connecté à distance depuis un smartphone ou un ordinateur. Pour commencer, voici plusieurs exemples d’applications

    Serveur domotique

    Utiliser un serveur domotique pour récupérer les mesures et piloter les actionneurs (relais, LED, pompe, moteur…) et probablement la méthode la plus rapide et la plus facile. Pour bien débuter avec la domotique, je vous conseille de commencer par lire cet article.

    Débuter en domotique. Quel matériel, serveur, logiciel, protocole choisir ?

    Node-RED, développement rapide d’interface et de règles

    Node-RED (site officiel) est une boite à outil logicielle qui permet de quasiment tout faire. Node-RED est un projet Open Source supporté par IBM. Node-RED est devenu un projet incontournable. Node-RED fonctionne par un assemblage de blocs fonctionnels. Chaque bloc permet de réaliser un traitement, voici quelques exemples concrets :

    • Se connecter au port série d’un Arduino et lire les mesures d’un capteur
    • Extraire une mesure
    • Tracer une courbe sur une dashboard
    • Enregistrer la mesure dans une base de données locale (MySQL, MariaDB, InfluxDB, MongoDB…)
    • Envoyer une notification (email, pushbullet, tweet…) si un seuil est atteint

    Les données passent d’un bloc à l’autre (d’un traitement à l’autre). Node-RED a entièrement été développé en Javascript. Il est possible de coder en Javascript si aucun node de permet de réaliser le traitement souhaité. Tous les Nodes et des exemples de Flows sont répertoriés ici (déjà plus de 3200). Votre projet pourra être intégré à un projet Javascript “classique”.  Suivez ce tutoriel officiel (en anglais) qui explique comment faire.

    Voici un exemple de flow Node-RED qui permet de récupérer la mesure d’une sonde d’humidité et d’en tracer une courbe

    Débuter avec l’Arduino et Node-RED. Enregistrer et afficher des mesures en JSON depuis le port série

    Et la version en vidéo

    POUR:
    • Diversité des blocs
    • Connectivité : bases de données, serveurs distants
    • Très simple de créer une interface graphique (boutons, courbes, formulaires, afficheurs numériques…)

    CONTRE:
    • Difficile de se passer du code javascript dès que qu’on sort de ce qui est prévu dans le flow
    • Rendre un flow Node-RED autonome demande des compétences supplémentaires

    Deux tutoriels pour bien débuter avec Node-RED

    Installer Node-RED sur Windows, macOS, Linux, Raspberry Pi 3, Orange Pi...
    Node-RED peut être installé sur toutes les plateformes capables de faire fonctionner NodeJS
    Installer Node-RED sur Windows, macOS, Linux, Raspberry Pi 3, Orange Pi...
    Node-RED, le projet pour développer des objets connectés d'IBM par assemblage de blocs
    Bien débuter avec Node-Red. Installation et découverte sur Raspberry Pi 3
    Node-RED, le projet pour développer des objets connectés d'IBM par assemblage de blocs

    Tous les tutoriels pour aller plus loin avec Node-RED

    Stocker des données (sur un serveur distant)

    Le stockage de données permettra de tracer des courbes pour visualiser l’évolution d’un phénomène ou analyser des évolutions dans le temps. Par exemple suivre la courbe de teneur en CO2 ou les polluants dans une pièce.

    Base de données Open Source (MySQL, MariaDB, PostgreSQL, SQLLite…)

    Il existe de très nombreuses bases de données Open Source. Voici les bases de données Open Source les plus utilisées :

    MyQSL est la base de données Open Source la plus utilisée. Vous pouvez également utiliser MariaDB qui est le fork (clone) Open Source de MySQL qui a vu le jour suite au rachat de MySQL par Sun Microsystem en 2008.

    SQLite est une base de données relationnelle légère et puissante qui ne nécessite aucune installation. Toutes les données sont stockées dans un fichier auquel on accède via une librairie. SQLite est très utilisé pour le développement d’applications mobiles

    Pour les projets qui nécessitent un stock

    Stocker les données sur l’objet connecté : zone SPIFFS, EEPROM, carte microSD

    Il est possible de stoker des données ou des paramètres directement sur l’objet connecté. On pourra par exemple s’en servir comme une mémoire tampon et envoyer périodiquement les données sur un serveur afin d’économiser la batterie (la connectivité WiFi est consommatrice en énergie).

    Voici les différentes solutions à notre disposition :

    • L’EEPROM est une petite mémoire qui permet de stocker des réglages. En générale, tous les micro-contrôleurs disposent d’une EEPROM accessible au programme de l’utilisateur
    • La zone SPIFFS est une zone beaucoup plus importante. De quelques centaines de kilooctets à plusieurs méga (ESP8266 par exemple). Elle est gérée par un système de fichier. On pourra accéder aux fichiers comme sur une carte micro-SD. Pour en savoir plus, vous pouvez lire ce tutoriel. On pourra également enregistrer tous les fichiers d’une interface graphique (HTML + CSS).
    • Carte micro-SD. Pour quelques euros, vous pouvez ajouter un lecteur de carte micro-SD pour stocker des données.

    Sous quel formats stocker des données ?

    Aucune base de données n’est disponible. Un micro-contrôleur même moderne ne dispose pas d’assez de puissance.

    Vous pouvez structurer vos données de plusieurs façons :

    • Tableau de données en colonne ou à la ligne (fichier à plat). Utilisez un séparateur de données standard de façon à pouvoir exploiter facilement celles-ci sur un tableur. Utilisez de préférence  ; | ou ,. Oubliez la tabulation.
    • Au format JSON. La librairie ArduJSON permet d’organiser les données au format JSON. La librairie est capable d’exporter les données “à plat” pour les stocker temporairement dans un fichier (sur une carte micro-SD ou la zone SPIFFS). On pourra recharger les données à la mise sous tension par exemple (ou n’importe quand) pour retrouver le même état de fonctionnement

    Visualiser des données

    Il existe deux outils Open Source assez simple à mettre en oeuvre pour visualiser des données sous la forme de courbes.

    Le visualiseur de données de l’IE Arduino. C’est tout bête, mais il suffit d’envoyer les mesures sur le port série pour afficher une courbe du phénomène observé. On aurait tendance à l’oublier !

    Le plugin dashboard de Node-RED est super simple à déployer. Il suffit de brancher une source de données et la courbe s’affiche instantannément. Seul bémol, c’est une boite noire. Impossible de gérer le nombre de point affichés, recharger les points sur une période. C’est un affichage temps réel basique qui pourra être suffisant dans un grand nombre de cas.

    node-red mysensors dht22 dashboard

    Grafana, est un logiciel Open Source spécialisé dans le tracé de données temporelles initialement conçu pour l’affichage de métrics pour des serveurs. Grafana trouve un usage idéal pour afficher des données en provenance de sondes connectées. Attention, Grafana ne s’occupe que d’afficher sur une période de temps. Grafana supporte plusieurs sources de données. InfluxDB également pris en charge par un plugin Node-RED est une excellente solution.

    grafana dashboard esp8266 influxdb ina218 solar panel

    Vous n’y connaissez rien en programmation, essayez ESP Easy !

    Vous n’avez jamais programmé, ce n’est pas grave, ESP Easy est fait pour vous. ESP Easy est un firmware (micro-logiciel) que l’on installe sur un ESP8266 (et bientôt sur ESP32). Une fois installé et connecté au réseau WiFi local, on construit son projet en configurant les modules qui correspondent aux capteurs et actionneurs utilisés.

    Voici une série de tutoriels sur le firmware ESP Easy.

    Concevoir et (faire) fabriquer des circuits imprimés

    Les shields constituent une très bonne solution pour réaliser une maquette fonctionnelle très rapidement, mais l’encombrement est loin d’être optimal. Pour en savoir plus sur la conception et la réalisation de circuit imprimés, vous pouvez commencer par lire cet article.

    #Guide. Concevoir, fabriquer et assembler des circuits et PCB pour projets DIY à base d’ESP32 ou ESP8266

    Prêt à vous lancer

    Prêt à vous lancer ou aller encore plus loin, voici un tableau qui vous permet d’accéder rapidement aux articles et tutoriels. Les sujets déjà traité sur le blog sont indiqués par un fond verte.

    —> Faites défiler le tableau vers la droite pour accéder à la suite

    Acquisition

    Asservissements

    Traitement local

    (Micro-contrôleur / ordinateur carte)

    Communication

    Traitement déporté

    Capteurs

    Actionneurs

    Interfaces

    MCU

    Logiciel

    NRJ

    Protocoles

    Couche matérielle

    Développement Stockage IHM / Courbe Domotique
    Bruits Ecrans ePaper 1-Wire Atmega Blockly Batterie HTTP(S) Bluetooth Johny-Five InfluxDB Grafana Domoticz
    Caméra Ecrans OLED ADC ATTiny C++ Solaire MQTT GSM Node-RED MongoDB Node-RED Home Assistant
    CO2 LED CAN ESP32 Lua Deep Sleep Radio sans licence LoRa Python, C++ MySQL Jeedom / NextDom
    Courant Moteur DC DAC ESP8266 MicroPython Série Radio (MySensors) NodeJS SQLite OpenHAB
    Distance Pas à pas I2C PIC Websockets USB OpenCV (vision)
    Humidité Servo-moteur I2S SAMD21 Environnements dev. WiFi IA / Réseaux de neurones
    Luminosité CNC PWM STM32 Atmel Studio
    Particules (PM2.5) SPI IDE Arduino Domotique Plateformes
    Polluants (CO2) UART ARM PlatformIO EnOcean Ordi carte ARM (Armbian)
    Pression Atm. Raspberry Pi Eclipse Homebridge Docker
    Pression mécanique Orange Pi MPLAB X RFLink Machine Virtuelle
    RFID< STM32CubeIDE Zigbee NAS
    Santé Mini-PC x86 Z-Wave+ Raspberry Pi
    Température Firmwares dédiés IoT Mini PC Intel
    Vent (vitesse, direction) Blynk
    Cayenne
    ESPEasy
    Espurna
    Homie (MQTT)
    MySensors (radio)
    Tasmota (MQTT)
    Robotique
    Johny Five

    L’article Débuter avec les objets connectés DIY (2). Communiquer, programmer, stocker, visualiser, fabriquer des circuits est apparu en premier sur Domotique et objets connectés à faire soi-même.


    Nouveautés M5Stack ESP32 2019. Core, modules, Units, packs débutant robotique FLIR

    $
    0
    0
    m5stickc_m5stack esp32 pico

    De nouveaux modules N5Stack et 3 projets pour débuter viennent compléter une liste déjà très longue. Pour ceux qui ne connaissent pas encore, N5Stack est une plateforme de développement modulaire basée sur le SoC ESP32 d’Espressif. Les modules (capteur, actionneur, module de communication) viennent s’empiler sur le Core que l’on peut programmer en MicroPython, en C++ depuis l’IDE Arduino ou avec une version dédiée de blockly (application UIFlow).

     

    La plateforme M5Stack est très originale. Les boitiers et les nombreux modules disponibles permettront aussi bien de développer rapidement des petits outils professionnels que d’aider les étudiants à apprendre les concepts de programmations utilisés dans l’internet des objets à moindre coût. La plupart des modules ainsi que le Core sont livrés avec un adaptateur pour Lego. Le système M5Stack pourra très facilement remplacer le module de commande Lego Mindstorm. Le nouveau module LEGO+ permet de piloter jusqu’à 4 moteurs Lego Mindstorm.

    Nouveau Core M5StickC ESP32-Pico

    esp32-pico-d

    Le nouveau Core M5StickC est construit autour du nouveau ESP32 Pico d’Espressif (voir la nouvelle gamme de SoC ESP32).

    Le M5StickC est un Core miniature adapté à l’électronique vestimentaire. Le M5StickC qui ne mesure que 48 x 24 x 14mm embarque un nombre impressionnant de fonctions. Emetteur IR. Connectivité WiF et Bluetooth. Gyroscope 6 axes qui pourra par exemple être utilisé pour un projet de pilotage de bras ou de main robotique. Un écran LCD 0.96” couleur offrant une résolution de 80 x 160 pixels. 1 micro, 2 boutons, 1 connecteur Grove (bus I2C ou 1-Wire) et un connecteur d’extension au pas standard de 2.54mm, 1 interrupteur On/Off. Enfin le M5StickC est alimenté par une batterie LiPo d’une capacité de 80mAh que l’on pourra recharger à l’aide d’un câble USB-C.

    New Arrival ! 2019 M5StickC ESP32 PICO Mini IoT Development Board Finger Computer with Color LCD

    8,99  en stock
    Voir l'offre
    Aliexpress.com
    Relevé le 18 mai 2019 10 h 29 min

    Le M5Stick-C est disponible dès maintenant sur la boutique officielle au prix de 10,81€ (+ frais de port) avec tous les accessoires. C’est un cadeau génial pour initier un enfant aux objets connectés ou à la robotique !

    m5stickc_m5stack esp32 pico

    Spécifications techniques du M5StickC

    • m5stickc_ pinoutESP32-Pico (WiFi + Bluetooth)
    • 4 MByte Mémoire Flash
    • Gyroscope 6 Axes IMU SH200Q
    • 1x LED (rouge)
    • 1x transmetteur IR
    • 1x Microphone (AXP192)
    • 2x Boutons
    • 1x Ecran LCD couleur 0.96” (80 x 160 pixels) ST7735S
    • 1x Batterie LiPo 80 mAh
    • Connecteurs d’extension
      • 1x Port Grove
      • 1x connecteur au pas 2.54mm qui expose les broches GND, Sortie 5V, G26, G36, G0, BAT, 3V3, alimentation 5V
    • Montage : à fixer, à porter au bras à l’aide d’un bracelet (inclus dans le kit d’accessoires)
    • Alimentation : 5VDC via port USB-C

    3 nouveaux kits projet : FLIR, LIDAR, balancing robot

    3 nouveaux kits projet sont maintenant disponibles :

    • Le projet FLIR est un projet d’imagerie thermique basé sur le nouveau capteur Lepton 3.0 du fabricant FLIR. Attention, ce n’est pas un simple gadget, c’est un vrai imageur thermique industriel offrant une résolution de 160×120 pixels. La résolution des pixels est de 12µm. Deux modes sont disponibles. Low Gain Mode pour une plage allant de -10 à 400°C. High Gain pour une plage de mesure allant de -10 à 140°C.
    • Le projet LIDAR est un projet de robotique mobile qui embarque un système LIDAR permettant de scanner l’environnement proche à 360°. Le Lidar permet de scanner à une fréquence de 6Hz jusqu’à 8m de distance. Le kit est livré avec un véhicule équipé de 4 roues, une télécommande, un chargeur, 2 batteries LiPo (1300mAh @ 11.1V), un cable USB-C.
    • Le projet BALA est un robot balancier (balancing robot) qui embarque un Core M5Stack Fire (rouge), deux blocs moteur roue équipé de deux encodeurs N20, un module Motor Driver
    Dernière mise à jour des prix le 18 mai 2019 10 h 29 min

    3 nouvelles bases

    3 nouvelles bases sont proposées :

    • La base PLC est destinée aux applications industrielles des modules M5Stack. La base qui pourra être installée sur un rail DIN (adaptateur livré) est équipée d’un connecteur d’alimentation DC 9-24V, d’un convertisseur TTL-RS485, d’un circuit de mesure de courant (ACS712TELC-05B).
    • La base BTC est un support incliné pouvant accueillir un Core. La base est équipé d’un connecteur USB-C pour l’alimentation du Core ainsi que d’un DHT12 permettant de relever la température et l’humidité dans la pièce. Attention au conflit si vous utilisez l’Unit ENV.
    • La base LAN permet d’ajouter une connectivité Ethernet au Core M5 si aucune couverture WiFi n’est disponible. La base LAN pourra être fixée sur un RAIL DIN pour des applications industrielles. Le base dispose également dun connecteur au standard HT3.96 (6 pôles). La connectivité Ethernet est gérée par un circuit W5500 très courant dans les applications Arduino.

    Dernière mise à jour des prix le 18 mai 2019 10 h 29 min

    Nouveau Faces kit

    Le Face kit est constitué des éléments suivants

    • 1x Controlleur M5Stack (M5Core) gris
    • 1x FACES Charger, chargeur
    • 1x Contrôleur pour modules FACES
    • 1x batterie LiPo
    • 1x Dragone
    • 1x autocollant
    • 3x claviers (GameBoy, clavier QWERTY, clavier numérique )
    • 10x jumper dupont mâle-femelle
    • 6x vis M3x10
    • 1x clé hexagonale

    La base communique avec le clavier via le bus I2C. Un connecteur de type POGO (contacteur 4 pôles à ressort) permet d’interchanger les claviers.

    faces_kit m5 stack 2019

    Voici deux exemples de réalisations

    m5stack gameboy esp32 emulator m5stack face keyboard
    Emulateur Gamebay

    Téléchargez le projet ici

    Terminal de saisie

     

    M5Stack NEW Offer! ESP32 Open Source Faces Pocket Computer with Keyboard/Gameboy/Calculator for Micropython Arduino

    50,39  en stock
    Voir l'offre
    Aliexpress.com
    Relevé le 18 mai 2019 10 h 29 min

    2 nouvelles Caméras M5Camera ESP32-CAM

    M5Stack nous propose 2 nouveaux boitiers pour l’ESP32-CAM :

    • M5 Camera F avec optique FishEye
    • M5 Camera avec adaptateur Lego

    Pour mémoire, le module ESP32-CAM est équipé d’un capteur OV2640. L’OV260 est un capteur CCD 2MP  vieux comme le monde. Il était déjà utilisé par Orange Pi pour son module caméra CSI (incompatible avec le connecteur du Raspberry Pi 3!). Le module fonctionne comme une caméra de surveillance IP. Un serveur stream un flux vidéo qu’il suffira de récupérer sur un serveur domotique.

    Dernière mise à jour des prix le 18 mai 2019 10 h 29 min

    Nouvelles Units (afficheurs, capteurs)

    3 nouveaux modules viennent compéter la liste :

    • Le Neo Flash Unit est un panneau d’affichage constitué de 192 LED. Un détecteur de mouvement PIR permettra de mettre en veille le panneau et de lancer l’affichage uniquement lorsqu’on passe à proximité. Le NeoFlash Unit doit être connecté sur le port Grove B. Le détecteur IR est accessible sur le GPIO36, le panneau de LED sur le GPIO26
    • HEX Unit est un afficheur hexagonal équipé de 37 LED pilotées par un contrôleur WS6812. Le HEX peut être installé sur n’importe quel connecteur Grove.
    • Trace Unit est un module suiveur de ligne pour l’initiation à la robotique
    Dernière mise à jour des prix le 18 mai 2019 10 h 29 min

    11 nouveaux modules

    11 nouveaux modules viennent enrichir la liste

    • Le module LEGO+ permet de piloter jusqu’à 4 moteurs Lego Mindstorm. La carte embarque un ATMega328P et un contrôleur L293DD (4 moteurs PUSH-PULL). On accède aux commandes de la carte via un bus I2C sur le port Grove A. Le module est livré avec 4 câbles compatibles avec les moteurs Lego de 10cm et un adaptateur d’alimentation externe 6-12V au standard XT60 (femelle)
    • Le module STEPMOTOR permettra de piloter jusqu’à 3 moteurs pas à pas via 3 modules DRV8825. Le firmware GBRL est pré-installé sur l’Arduino ATMega328P qui équipe la carte. Un connecteur au standard XT30 permet d’alimenter la carte en 9-24V. Un module ventilateur peut être acheté séparément. Le module STEPMOTOR pourra être utilisé pour des projets de CNC 3 axes, graveur Laser…
    • Le module BUS est un boitier qui contient une plaque à trou (200 trous au pas de 2.54 mm) pour la mise au point de circuits personnalisés. Le boitier que l’on peut ouvrir sur le coté permet d’exposer un connecteur au pas de 2.54mm qui permettra d’utiliser un breadboard complémentaire. Le module PROTO est constitué uniquement d’un plaque à trou (260).
    • Le module USB intègre un circuit MAX3421E qui permet d’accéder à des périphériques USB. On pourra par lire et écrire sur une clé USB par exemple pour une application d’acquisition de données.
    • Le module BATTERY permet d’alimenter votre pile à l’aide d’une batterie LiPo d’une capacité de 700mAh. La batterie est connectée sur le pole VBAT de la pile. Aucune indication s’il est possible de recharge la batterie à l’aide du Core M5.
    • Le module COMMU permet de communiquer via plusieurs interfaces :  I2C, 1x TTL, 1x CAN (contrôleur MCP2515-1/SO), 1x RS485 (contrôleur SP3485EN-L/TR).
    • Le module SIM800L permet d’ajouter une connectivité cellulaire GSM/GPRS (uniquement compatible avec la 2G) à vos projets ESP32.
    •  Le module LoRaWAN embarque un est construit autour du circuit RHF76-052 de Ai-Thinker qui embarque un MCU STM32L052C8T6 et un modem LoRa Semtech SX1276 fonctionnant dans la bande de fréquence 868/915 MHz. La puissance d’emission est de 20dbm. Une antenne externe peut être connectée pour augmenter la portée. Le module LoRaWAN fonctionne comme un modem UART.
    • Le module LoRa intègre le circuit Ra-02 de Ai-Thinker permettant fonctionnant à 433MHz. Le module est équipé d’une antenne interne mais il est possible de remplacer l’antenne livrée par une antenne plus puissance (6dBi par exemple) via le connecteur IPEX du Ra-02.
    • Le module GPS est équipé du récepteur NEO-M8N de u-blox. Il prend en charge les systèmes Beidou, Galileo, GLONASS, GPS / QZSS et peut suivre simultanément 3 satellites. La position GPS peut être récupérée sur le bus UART2 (GPIO16, GPIO17). Attention si vous utilisez la mémoire PSRAM dans vos programmes, il faudra déplacer le bus UART sur d’autres broches pour éviter les conflits.
    • Le module SERVO est équipé d’un MCU ATMega328P qui permet de piloter jusqu’à 12 servo-moteurs. Le module SEVO soit être alimenté entre 6 et 12V à l’aide du connecteur au standard XT60. Le câblage des servo-moteurs se fera à l’aide de jumpers.
    Dernière mise à jour des prix le 18 mai 2019 10 h 29 min

    Adaptateur DC 5.5X2.5mm vers XT30 ou XT60

    Plusieurs modules nécessitent une alimentation externe (). Voici plusieurs adaptateurs permettant d’utiliser un bloc d’alimentation standard avec un connecteur DC 5.5X2.5mm. Aucun besoin de couper le fil d’alimentation.

    Dernière mise à jour des prix le 18 mai 2019 10 h 29 min

    Nouveau adaptateur Grove-T

    Le nouveau adaptateur Grove-T permet de connecter des modules I2C disposant d’un connecteur au standard JST PH2.0mm 4 poles. Pour le moment aucun module équipé du port T-Header n’est encore commercialisé.

    M5Stack New Grove-T Connector 5pcs a Pack PH2.0 4Pin T Type Grove Header Connector with 3 Ports compatible with Grove Demoboard

    4,54  en stock
    Voir l'offre
    Aliexpress.com
    Relevé le 18 mai 2019 10 h 29 min

    UIFlow, l’environnement de développement Blockly / MicroPython de M5Stack

    Il est possible de développer avec du code C++ à l’aide de  l’IDE Arduino de façon classique (la librairie M5Stack est disponible ici) mais la force de M5Stack est de proposer une version adapté du projet Open Source Blocky soutenu par Google.

    L’application nommée UIFlow est accessible depuis internet directement à cette adresse. Aucun compte utilisateur n’est nécessaire. Il suffit de saisir la clé API généré automatiquement au premier démarrage du Core pour pouvoir accéder. Il existe également une version à installer compatible Windows, macOS ou Linux. Rendez-vous ici pour télécharger l’application UIFlow. UIFlow n’est pas disponible en Français pour le moment mais rien d’insurmontable, la plupart des commandes étant symbolisées par des icônes.

    16 exemples sont disponibles.

    mstack uiflow applicatio macos windows linux

    L’article Nouveautés M5Stack ESP32 2019. Core, modules, Units, packs débutant robotique FLIR est apparu en premier sur Domotique et objets connectés à faire soi-même.

    Espressif annonce le lancement du nouveau ESP32-S2. 43 E/S, interface caméra, écran LCD, sécurité renforcée

    $
    0
    0
    espressif ESP32-S2 2019

    Dans le communiqué de presse du 15 mai 2019, Espressif a annoncé le lancement d’un nouveau MCU ESP32 basé sur le processeur Xtensa mono-cœur 32 bits LX7 qui peut être cadencé jusqu’à 240 MHz. Les premiers échantillons de test seront disponibles en juin. Le nouveau ESP32 dispose maintenant de 43 E/S (au lieu de 34 pour les MCU actuels), une interface pour caméra au standard DVP 8 ou 16 bits et une interface pour écran LCD. 

     

    Cette nouvelle version renforce également la sécurité en intégrant plusieurs technologies de chiffrement supplémentaires. RSA-3072, AES256-XTS, mémoire eFUSE de 4096 bits. La connectivité Wi-Fi 802.11 b/g/n supporte maintenant la norme HT40 ce qui permettra d’atteindre un débit théorique de 150 Mbps.

    Spécifications du nouveau ESP32-S2

    Les principales nouveautés de l’ESP32-S2 sont repérées en gras. L’ESP32-S2 sera disponible dans un boitier QFN 7×7 mm.

    CPU et mémoire

    • Micro-contrôleur développé sur le Core Xtensa LX7 32 bits (pipeline en 7 étapes), mono-coeur
    • Fréquence d’horloge jusqu’à 240 MHz
    • Co-processeur ultra basse consommation
    • 320 Ko de SRAM, 128 Ko de ROM, 16 Ko de mémoire RTC
    • Prise en charge externe de SPIRAM (128 Mo au total)
    • Supporte jusqu’à 1 Go mémoire flash externe
    bloc diagram xtensia lx7 esp32-S2

    Bloc diagramme du microprocesseur Xtensa LX7

    Connectivité

    • Wi-Fi 802.11 b/g/n avec support de la norme HT40 offrant un débit théorique maximal jusqu’à 150 Mbps
    • Prise en charge de la mise en réseau TCP/IP,  ESP-MESH, TLS 1.0, 1.1 et 1.2 
    • Prise en charge des mesures de temps de vol (TOF) avec les paquets Wi-Fi normaux

    Entrées/Sorties (IO)

    • 43 GPIO programmables (34 actuellement)
    • 14 entrées/sorties tactiles capacitives (10 pour la génération précédente)
    • SPI, I2C, I2S, UART, ADC/DAC et PWM
    • Interface LCD (8 bits parallèle RGB / 8080/6800) et prise en charge de 16/24 bits en parallèle
    • Interface pour caméra prenant en charge un capteur d’image DVP 8 ou 16 bits, avec une fréquence d’horloge allant jusqu’à 40 MHz
    • USB OTG pleine vitesse

    Sécurité

    • Démarrage de l’application approuvée basée sur RSA-3072
    • Chiffrement Flash basé sur AES256-XTS
    • Mémoire eFUSE de 4096 bits avec 2048 bits disponibles pour l’application.  La génération précédente était équipée de 1 Kbit (256 bits pour le système et  768 bits pour l’utilisateur)
    • Périphérique de signature numérique pour le stockage sécurisé de clés privées et la génération de signatures RSA

    Consommation optimisée

    • L’ESP32-S2 régule la fréquence d’horloge, le rapport cyclique, le mode de fonctionnement du Wi-Fi et la puissance individuel de ses composants internes afin de réduire la consommation énergétique.
    • Le co-processeur ULP consomme moins de 5 µA en veille et 24 µA en fonctionnement standard.

     

    En plus du marché des objets connectés, Espressif vise maintenant d’autres marchés. L’industrie tout d’abord avec des applications telles que l’éclairage connecté, la climatisation, la robotique. Espressif souhaiterait également que des terminaux de paiement s’intéressent à son nouveau ESP32 qui dispose maintenant d’une interface pour écran LCD, caméra et un nombre supérieur d’entrées tactiles. Chose étrange, le bulletin ne fait pas mention de la connectivité Bluetooth.

     

    Plus d’informations sur l’annonce officielle.

    L’article Espressif annonce le lancement du nouveau ESP32-S2. 43 E/S, interface caméra, écran LCD, sécurité renforcée est apparu en premier sur Domotique et objets connectés à faire soi-même.

    4 nouvelles cartes de développement Arduino Nano ATMega4809, WiFi compatible IoT Cloud, BLE, crypographie

    $
    0
    0
    new arduino nano 2019 development board

    A l’occasion de la Maker Faire 2019 qui s’est déroulée à San Mateo en Californie (États-Unis), la société Arduino a annoncé quatre nouvelles cartes de développement au format compact dans la famille Nano. Les quatre nouvelles cartes sont en pré-commande sur la boutique officielle. Les expéditions débuteront en juin prochain (fin juillet pour le Nano BLE Sens). Chaque carte peut être achetée avec les broches soudées ou non (2€ moins chère environ).

     

    Arduino Nano Every construite autour d’un micro-contrôleur AVR Microchip ATMega4809
    Arduino Nano 33 IoT avec connectivité Internet sécurisée grâce à un module WiFi U-blox (ESP32) et à la puce de cryptage ATECC608A HW
    Arduino Nano 33 BLE avec connectivité Bluetooth 5.0 LE via le module U-blox NINA B306
    Arduino Nano BLE Sens  est similaire au Nano 33 BLE mais avec plusieurs capteurs embarqués supplémentaires.

    Arduino Nano Every

    L’Arduino Nano Every est basé sur un processeur ATMega4809 AVR. C’est la nouvelle génération de carte de développement compacte qui devrait remplacer le bon vieux Arduino Nano V3 utilisé dans de nombreux projets de CNC, graveurs laser et quelques kits d’imprimantes 3D. Il embarque un processeur SAMD11 (ARM Cortex M0+) qui est utilisé comme convertisseur USB / Série mais qui pourra être utilisé pour d’autres usages.

    arduino nano every 2019

    Arduino Nano Every 2019

    Spécifications techniques

    • MCU* :  micro-contrôleur  AVR Microchip ATMega4809@20 MHz équipé de 48KB de mémoire flash, 6KB de SRAM et EEPROM 256 Bytes
    • Convertisseur USB vers Série pris en charge par le Microchip Atmel SAMD11D14A (Arm Cortex-M0+)
    • Connecteur 2×15 broches : SPI, I2C, USART, PWM, ADC, DAC, reset, +5V, +3.3V, GND, Vin, AREF…
    • Compatible avec les supports pour l’Arduino Nano d’ancienne génération

    L’Arduino Nano Every est facturé 10€ avec le connecteur soudé et 8€ avec le connecteur à souder

    Arduino Nano 33 IoT

    L’Arduino Nano 33 IoT est construit autour d’un micro-contrôleur SAMD21G18A. La connectivité Wi-Fi et Bluetooth est prise en charge par un chip  NINA W102 U-Blox construit sur la base d’un ESP32 du fabricant chinois Espressif. Le module Wi-Fi est connecté au SAMD21 via le bus SPI et le port série dont voici le repérage des broches (documentation officielle). Les échanges de données avec Arduino Nano 33 IoT pourront être sécurisés à l’aide d’un circuit de cryptage ATECC608A. Le Nano 33 IoT embarque enfin un IMU* (accéléromètre + gyroscope) LSM6DSL accessible via le bus I2C idéal pour débuter avec des applications robotique.

    SAMD21 Pin SAMD21 Acronym NINA Pin NINA Acronym Description
    13 PA8 19 RESET_N Reset
    39 PA27 27 GPIO0 Attention Request
    41 PA28 7 GPIO33 Acknowledge
    23 PA14 28 / 21 GPIO5 / GPIO19 SPI CS / UART RTS
    24 PA15 29 / 20 GPIO18 / GPIO22 SPI CLK / UART CTS
    22 PA13 1 GPIO21 SPI MISO
    21 PA12 36 GPIO12 SPI MOSI
    31 PA22 23 GPIO3 Processor TX -> Nina RX
    32 PA23 22 GPIO1 NINA TX -> Processor RX

    Attention, toutes les entrées/sorties fonctionnent avec une tension maximale de 5V (non tolérante à 5V).

    Arduino Nano 33 IoT Wifi + Bluetooth

    Arduino Nano 33 IoT Wifi + Bluetooth

    L’Arduino Nano 33 IoT est facturé 18€ avec le connecteur soudé et 16€ avec le connecteur à souder. Il est compatible avec la solution Arduino IoT Cloud.

    Spécifications techniques

    • MCU : Microchip SAMD21G18A Arm Cortex-M0+ jusqu’à 48MHz avec 256 KB de mémoire Flash et 32KB de SRAM
    • Connectivité : module NINA W102 ESP32 Wi-Fi + Bluetooth accessible via le bus SPI ou le port série
    • Capteur  : accéléromètres + gyroscope 6 axes LSM6DSL
    • Cryptage : Microchip ATECC608A crypto-chip
    • Debug :  via port micro-USB ou connecteur 6 broches (SWD)
    • Connecteur GPIO 2×15 broches : SPI, I2C, USART, PWM, ADC, DAC, reset, +5V, +3.3V, GND, Vin, AREF…
    • Compatible avec les supports pour l’Arduino Nano d’ancienne génération

    Arduino Nano 33 BLE

    L’Arduino Nano 33 BLE est dédié aux applications nécessitant une connectivité Bluetooth 5.0 de dernière génération. Equipé d’un IMU 9 axes LSM9DS1 (accessible en I2C), l’Arduino Nano 33 BLE pourra être utilisé pour des applications de robotique, RC, pilotage de drones. La carte est construite autour d’un MCU nRF 52840@64MHz équipé de 1MB de mémoire flash et 256KB de RAM.

    arduino nano 33 ble 2019

    Arduino Nano 33 BLE (Bluetooth 5.0)

    L’Arduino Nano 33 BLE est facturé 19,50€ avec le connecteur soudé et 17,50€ avec le connecteur à souder.

    Spécifications techniques

    • Module sans fil : NINA B306 U-blox basé sur  un Cortex-M4F @64MHz et le circuit Bluetooth Nordic Semi nRF52480
    • Connectivité Bluetooth 5.0 LE
    • Capteur  : accéléromètres + gyroscope 9 axes LSM9DS1
    • Debug :  via port micro-USB ou connecteur 6 broches (SWD)
    • Connecteur GPIO 2×15 broches : SPI, I2C, USART, PWM, ADC, DAC, reset, +5V, +3.3V, GND, Vin, AREF…
    • Compatible avec les supports pour l’Arduino Nano d’ancienne génération

    Arduino Nano BLE Sens

    L’Arduino Nano BLE Sens est une version améliorée du Nano 33 BLE qui intègre plusieurs capteurs :

    • LSM9DS1, accéléromètre 9 axes
    • LPS22HB, baromètre numérique et température
    • HTS221, humidité relative
    • ADPS-9960, détecteur optique permettant de réaliser des mesures de proximité, mesurer le niveau de lumière ambiante, détecter la couleur (RBG), réaliser des commandes gestuelles.
    • MP34DT05, microphone digital

    L’Arduino Nano BLE Sens est par ailleurs équipé d’un crypto-puce ATECC608A qui permettra de sécuriser les communications et les données stockées.

    arduino nano ble sense 2019

    Arduino Nano BLE Sens

    L’Arduino Nano 33 BLE est facturé 29€ avec le connecteur soudé et 27€ avec le connecteur à souder.

    Spécifications techniques

    • Module sans fil : NINA B306 U-blox basé sur  un Cortex-M4F @64MHz et le circuit Bluetooth Nordic Semi nRF52480
    • Connectivité Bluetooth 5.0 LE
    • Capteur  : accéléromètres + gyroscope 9 axes LSM9DS1
    • Debug :  via port micro-USB ou connecteur 6 broches (SWD)
    • Connecteur GPIO 2×15 broches : SPI, I2C, USART, PWM, ADC, DAC, reset, +5V, +3.3V, GND, Vin, AREF…
    • Compatible avec les supports pour l’Arduino Nano d’ancienne génération

    Source : communiqué de presse de la société Arduino du 17 mai 2019

    IMU – Inertial Measurement Unit

    MCU – Micro Controller Unit

    L’article 4 nouvelles cartes de développement Arduino Nano ATMega4809, WiFi compatible IoT Cloud, BLE, crypographie est apparu en premier sur Domotique et objets connectés à faire soi-même.

    Débuter avec l’Arduino et Node-RED. Enregistrer et afficher des mesures en JSON depuis le port série

    $
    0
    0

    L’Arduino est très pratique pour récupérer des mesures depuis divers capteurs (présence de polluants, température, humidité, luminosité, indice UV, taux de CO ou de CO2…). Dans ce tutoriel, nous allons apprendre comment créer très rapidement un petit système d’enregistrement de données à l’aide de Node-RED. On pourra très simplement visualiser les mesures sous la forme d’un graphique ou les exporter dans un fichier CSV (fichier texte avec un point-virgule comme séparateur de données) pour faire des calculs statistiques à l’aide d’un tableur (LibreOffice, Excel, Number…).

     

    C’est un tutoriel adapté pour débuter avec du code Arduino

    Matériel nécessaire

    Pour ce projet, vous aurez besoin :

    • D’un Arduino Uno ou d’un clone (n’importe quel modèle conviendra). Vous pouvez également utiliser un ESP8266 mais celui-ci ne dispose que d’une entrée analogique. Vous pouvez également utiliser un ESP32
    • D’un ordinateur sur lequel est installé Node-RED et l’IDE Arduino.
      • Vous pouvez utiliser un PW Windows, un Mac ou un Raspberry Pi. Suivez ce tutoriel pour installer Node-RED sur votre ordinateur
      • Lisez celui-ci pour installer l’IDE Arduino sur Raspbian si vous voulez utiliser un Raspberry Pi .
    • Une (ou plusieurs capteurs). Ici, j’ai utilisé deux sondes pour mesurer l’humidité du sol. Une sonde classique YL-69 et une sonde de mesure de conductivité (marquée v1.2) revêtue d’une peinture de protection anti-corrosion.

    Ce que vous allez apprendre dans ce tutoriel Arduino

    Dans ce tutoriel, vous allez apprendre

    • Comment récupérer (acquérir) les données d’un capteur analogique avec du code Arduino (C++)
    • Comment envoyer les mesures sur le port série
    • Comment mettre en forme des mesures au format JSON pour les exploiter facilement depuis Node-RED
    • Découvrir Node-RED
    • Vous connecter sur le port série d’un Arduino Uno (fonctionne également avec un ESP8266 ou un ESP32)
    • Apprendre les notions de base de programmation javascript sous Node-RED

    Vous pouvez également lire cet article précédent.

    Le tutoriel est également disponible en vidéo sur Youtube

     

    C’est quoi Node-RED ?

    Node-RED est un environnement de développement polyvalent par assemblage de bloc fonctions développé par IBM. C’est un projet plus évolué que Scratch 2. Node-RED est aujourd’hui utilisé pour développer des applications professionnelles. Il permet de faire du prototypage d’application très rapidement (à condition d’avoir un peu l’habitude, sinon c’est plus long…). C’est également un excellent outil d’apprentissage intermédiaire entre Scratch et du code traditionnel. Il est possible de coder en Javascript avec le Node function (fonction).

    Vous pouvez commencer par lire ces tutoriels si vous débutez ou ne connaissez pas encore Node-RED

    Installer le Node Dashboard pour Node-RED

    Il est très facile de créer un graphique (chart en anglais) pour visualiser les mesures en provenance de l’Arduino. Ouvrez le menu de Node-RED (icône dans le coin supérieur droit) pour accéder au gestionnaire de Palette

    nodered menu manage palette

    Dans le champ de recherche, saisissez le mot clé dashboard.

    nodered install dashboard plugin

    Installez le plugin node-red-dashboard (page GitHub). Il en existe plusieurs autres. C’est l’un des premiers, il est très complet et très facile à utiliser (aucune notion de programmation nécessaire). Pour découvrir toutes les fonctionnalités du plugin dashboard, lisez ce premier tutoriel (bouton, liste, interrupteur, slider, formulaire de saisie) et le second (jauge, graphiques, notifications, template HTML).

    Installer le Node Serial

    Depuis la version 0.20, il est nécessaire d’installer le node Serial qui permet de communiquer via le port série. Comme précédemment, faites une recherche sur le mot clé Serial et installez le package officiel node-red-node-serialport.

    node-red serial node package arduino

    Circuit Arduino

    Rien de bien compliqué pour le circuit, il suffit d’alimenter le capteur et de récupérer le signal sur la broche analogique de l’Arduino. Ici, le YL-69 (ou FC-28) est connecté sur la broche A4. Le second capteur sur la broche A5.

    yl-69 fc-28 humidite sol arduino node-red_bb

    Code Arduino

    On va simplement lire à intervalle régulier (ici toutes les 5s, 5000ms), la valeur du signal analogique (de 0 à 1023) pour chaque sonde d’humidité du sol. Ensuite on envoi la sortie sur le moniteur série de l’IDE Arduino.

    #define wait 5000
    
    void setup(){
      // Init serial port (115200 bauds)  
      Serial.begin(115200);
    }
    
    void loop() {
     // put your main code here, to run repeatedly:
     int a4 = analogRead(A4);  //v1.2
     int a5 = analogRead(A5);  //YL-69
     
     Serial.print("v1.2: ");
     Serial.print(a5);
     Serial.print(" YL-69: ");
     Serial.println(a4);
     delay(wait);
    }

    Formater les données en JSON

    On pourrait envoyer directement les mesures sur le port série de l’Arduino avec un séparateur, par exemple un caractère spécial (|, -,  #…) mais cette stratégie implique que l’on sache précisément la position de chaque données. Aucun problème avec une ou deux données, ça devient plus compliqué lorsqu’il y en à une dizaine. Autre problème, la conversion de chaine de caractères qui est un éternel problème en informatique.

    Pour éviter tous ce problème, nous allons mettre en forme les données et indiquer à chaque fois à quoi elle correspond. Pour cela, nous allons utilise le format JSON. l’avantage, c’est qu’il est supporté par tous les langages modernes. C’est même la structure de données par défaut du javascript, langage sur lequel repose Node-RED.

    Le JSON est une mise en forme structurée des données de type clé = valeur. Chaque ligne de données est séparée par une virgule (sans la dernière ligne). Une valeur peut être une chaine de caractères (une image sera une chaine), un nombre (entier ou décimal), un tableau (chaine, nombre), une structure (qui contiendra elle même des données sous la forme clé = valeur). Voici un exemple. Tout d’abord en ligne, c’est ce que le code Arduino va généré

    {"sonde1":22.1,"sonde2":64.1,"unites":{"sonde1":"°C","sonde2":"%"}}

    On peut déplier la structure pour la rendre plus lisible (et trouver une erreur)

    {
      "sonde1":22.1,
      "sonde2":64.1,
      "unites": {
       "sonde1": "°C",
       "sonde2": "%"
      }
    }

    Pour vérifier votre code, je vous conseille d’utiliser le site jsonlint.com qui est gratuit.

    jsonlint json arduino serial port publish

    Jsonlint indique la ligne (et la cause d’une erreur mais ce n’est pas très explicite). Ici il faut mettre une virgule à la place du point virgule

    jsonlint check error arduino sensor serial port

    Pour de gros projet, comme par exemple cette station météo avec interface WEB, je vous conseille d’utiliser la librairie ArduinoJSON. Elle permet de stocker les données au format JSON dans la mémoire de l’Arduino. C’est très pratique pour extraire des données, des réglages, enregistrer un historique dans la mémoire SPIFFS ou une carte SD.

    Ici, on va faire plus simple et directement construire une chaine de caractères et l’envoyer sur le port série ce qui donne le code suivant

     

    #define wait 5000
    
    void setup(){
      // Init serial port (115200 bauds)  
      Serial.begin(115200);
    }
    
    void loop() {
     // put your main code here, to run repeatedly:
     int a4 = analogRead(A4);  //v1.2
     int a5 = analogRead(A5);  //YL-69
    
     Serial.print("{\"v1_2_raw\":");
     Serial.print(a5);
     Serial.print(",\"YL69_raw\":");
     Serial.print(a4);
     Serial.println("}");
     delay(wait);
    }

    Ce qui donne maintenant sur le moniteur série

    {"v1_2_raw":250,"YL69_raw":301}

    Vérifions avec Jsonlint si tout est correct

     jsonlint json arduino serial port value correct

    Parfait, on peut continuer sur Node-RED maintenant.

    Connexion au port série de l’Arduino avec Node-RED

    Connectez-vous à Node-RED depuis un navigateur internet à l’adresse localhost:1880 ou depuis un autre ordinateur (IP:1880)

    Le code Node RED est appelé Flow. On va commencer par se connecter à l’Arduino à l’aide du Node (la brique de programmation) Serial (dans la palette Input, puisqu’on veut lire les mesures). Glissez-déposer le node sur la page blanche et faites un double clic sur le Node Serial pour ouvrir le panneau de configuration.

    nodered serial input node

     

    Cliquez sur le crayon pour ajouter une nouvelle connexion. Utilisez la loupe pour lister les ports COM. Ici l’Arduino est connecté sur un Raspberry Pi 3, donc le chemin vers l’Arduino est au format Linux. Sur Windows, ce sera un port COMx.

     nodered serial port arduino

    Dans le code Arduino, la ligne de code Serial.begin(115200) permet d’initialiser la vitesse à 115200 bauds, indiquez la vitesse sous Baud Rate. Enregistrez, c’est tout ce qu’il y à faire

     

    nodered arduino serial connexion configuration

    Cherchez le Node Debug

    node-red debug node

    Reliez le Node Serial au Node debug. Pour cela, placez la souris sur le carré qui symbolise la sortie de Node Serial, un fil orange apparaît. Allez l’accrocher à l’entrée du node debug. Vous venez de créer votre premier flow.

    nodered arduino serial debug

    Déployez le flow et cliquant sur Deploy et ouvrez l’onglet debug pour visualiser les données qui arrivent de l’Arduino. Attendez quelques secondes en fonction de la temporisation programmée dans le code Arduino.

    Extraire les données du JSON venant de l’Arduino

    Pour le moment, on récupère une chaine de caractère sur le port série de l’Arduino, on va la convertir en un objet JSON exploitable par Node-RED à l’aide du node JSON. Placez le sur le flow et reliez-le au port série.

     json node nodered

    On va maintenant extraire chaque mesure avec un peu de code javascript. Placez un node Function et reliez le à la sortie de node JSON

    nodered node function extract json data from arduino

    Ouvrez la fonction et collez ce code javascript.

    msg.payload = msg.payload.YL69_raw;
    return msg;

    Node-RED transfert des messages (msg) au format JSON entre chaque Node (noeud du programme). Les données se trouvent dans la clé payload. La première ligne extrait la mesure du capteur YL-69 (ou FC-28) et écrase le payload actuel.

    msg.payload = msg.payload.YL69_raw;

    La fonction retourne le message (msg)actualisé. Il ne renvoi plus que la mesure du premier capteur

    Faites la même chose pour le second capteur en ajoutant un second flow

    Visualiser les mesures sur un graphique

    Cherchez le node chart et placer le sur le flow

    Reliez les des fonctions au node chart. Ouvrez le panneau de configuration du graphique. Cliquez d’abord sur le crayon pour créer un groupe. Pour en savoir plus sur l’organisation des groupe, lisez cet article.

    node red soil moisture sensor node-red chart settings

    Ensuite vous pouvez modifier certains paramètres :

    • Group : sélectionnez le groupe que vous venez de créer
    • Size : taille
    • Label : libellé
    • X-axis : nombre de points ou période de temps
    • Name : le nom qui apparait sur le flow

    node red soil moisture sensor node-red chart settings

    Enregistrez, déployez et allez l’adresse localhost:1880/ui (ou IP:1880/ui) pour visualiser les mesures de vos capteurs connectés à l’Arduino

    node red soil moisture sensor node-red chart

     

    Enregistrer les mesures dans un fichier csv

    Maintenant, si vous voulez exploiter vos données sur un tableur Excel ou LibreOffice, vous pouvez les enregistrer au format csv (fichier texte dont le séparateur de données est un point-virgule). Pour cela, on va ajouter une nouvelle fonction qui va simplement renvoyer un ligne dont chaque données est séparée par un point virgule. Voici l’ordre des colonnes

    • date au format année/mois/jour (supporté par tous les tableurs)
    • heure au format hh:mm:ss
    • valeur de la sonde v1.2
    • valeur de la sonde YL-69 ou FC-28
    var date = new Date().toLocaleDateString();
    var time = new Date().toLocaleTimeString();
    
    var output = date + ";" + time  + ";" + msg.payload.v1_2_raw + ";" + msg.payload.YL69_raw;
    msg.payload = output;
    return msg;

    Cherchez le node file et placez un node input sur le flow

    nodered file csv

    Sur le panneau de configuration, indiquez le chemin de destination. Par défaut le fichier est enregistré dans le répertoire de Node-RED. Cochez Add newline to each payload pour ajouter une nouvelle ligne au fichier à chaque nouvel enregistrement

    nodered file csv

    Déployez, après quelques minutes, voici à quoi va ressembler le fichier CSV

    2018-5-21;10:04:22;250;302
    2018-5-21;10:04:26;251;302
    2018-5-21;10:04:30;251;302
    2018-5-21;10:04:34;250;302
    2018-5-21;10:04:38;251;302
    2018-5-21;10:04:42;250;303
    2018-5-21;10:04:46;250;302
    2018-5-21;10:04:50;250;302
    2018-5-21;10:04:54;250;303
    2018-5-21;10:04:58;250;303
    2018-5-21;10:05:02;250;302
    2018-5-21;10:05:06;253;308
    2018-5-21;10:05:10;252;305
    2018-5-21;10:05:14;250;302
    2018-5-21;10:05:19;251;303
    2018-5-21;10:05:23;251;302
    2018-5-21;10:05:27;250;302
    2018-5-21;10:05:31;250;302
    2018-5-21;10:05:35;250;302
    2018-5-21;10:05:39;250;302
    2018-5-21;10:05:43;250;302

    Flow complet du projet

    Voici le flow complet du projet

     

    et le code correspondant.

    [{"id":"9435a9fc.ab96d8","type":"serial in","z":"3639e7d1.f1c3e8","name":"Arduino Uno","serial":"c237b06b.eb7ca","x":130,"y":360,"wires":[["4c310d82.46f3d4","1f6f19ed.d8ead6"]]},{"id":"1f6f19ed.d8ead6","type":"json","z":"3639e7d1.f1c3e8","name":"","property":"payload","action":"","pretty":false,"x":330,"y":480,"wires":[["2499ca17.61eff6","df59b710.dc7648","6ee454f.ffd6bac","b292e47a.faf158"]]},{"id":"2499ca17.61eff6","type":"function","z":"3639e7d1.f1c3e8","name":"Format Arduino sensors Data","func":"var date = new Date().toLocaleDateString();\nvar time = new Date().toLocaleTimeString();\n\nvar output = date + \";\" + time  + \";\" + msg.payload.v1_2_raw + \";\" + msg.payload.YL69_raw;\nmsg.payload = output;\nreturn msg;","outputs":1,"noerr":0,"x":560,"y":480,"wires":[["62e4634a.85417c"]]},{"id":"62e4634a.85417c","type":"file","z":"3639e7d1.f1c3e8","name":"","filename":"/home/pi/moisture_sensors.csv","appendNewline":true,"createDir":false,"overwriteFile":"false","x":830,"y":480,"wires":[]},{"id":"df59b710.dc7648","type":"function","z":"3639e7d1.f1c3e8","name":"Extract v1.2 data","func":"msg.topic = \"v1.2\";\nmsg.payload = msg.payload.v1_2_raw;\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":540,"wires":[["c4ed7b7f.b766a8"]]},{"id":"6ee454f.ffd6bac","type":"function","z":"3639e7d1.f1c3e8","name":"Extract YL-69 data","func":"msg.topic = \"YL-69\";\nmsg.payload = msg.payload.YL69_raw;\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":600,"wires":[["c4ed7b7f.b766a8"]]},{"id":"c4ed7b7f.b766a8","type":"ui_chart","z":"3639e7d1.f1c3e8","name":"","group":"bb260e6b.77d62","order":0,"width":"9","height":"10","label":"Arduino YL-69 + v1.2 data","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"bezier","nodata":"","dot":false,"ymin":"0","ymax":"1023","removeOlder":"60","removeOlderPoints":"","removeOlderUnit":"60","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":780,"y":560,"wires":[[],[]]},{"id":"b292e47a.faf158","type":"debug","z":"3639e7d1.f1c3e8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":530,"y":420,"wires":[]},{"id":"4c310d82.46f3d4","type":"debug","z":"3639e7d1.f1c3e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":310,"y":360,"wires":[]},{"id":"c237b06b.eb7ca","type":"serial-port","z":"","serialport":"/dev/ttyUSB1","serialbaud":"115200","databits":"8","parity":"none","stopbits":"1","newline":"\\n","bin":"false","out":"char","addchar":false},{"id":"bb260e6b.77d62","type":"ui_group","z":"3639e7d1.f1c3e8","name":"Capteurs d'humidité - Moisture sensors","tab":"fe82c1e5.b7118","disp":true,"width":"9","collapse":false},{"id":"fe82c1e5.b7118","type":"ui_tab","z":"3639e7d1.f1c3e8","name":"Home","icon":"dashboard"}]

    Copiez le code précédent. Ouvrez le menu de NodeRED puis Import -> Clipboard

    nodered import flow clipboard

    Collez le code et choisissez ou vous voulez le coller puis Import

     

    nodered import clipboard

     

    Voilà, si vous avez aimé NodeRED et que vous voulez allez encore plus loin, voici d’autres articles sur le sujet

     

    Mises à jour

    [30/05/2019] Installation du Node Serial officiel

    L’article Débuter avec l’Arduino et Node-RED. Enregistrer et afficher des mesures en JSON depuis le port série est apparu en premier sur Domotique et objets connectés à faire soi-même.

    Nouvelle carte de développement SeeedStudio Sipeed Maixduino format Arduino+ESP32 avec unité traitement AI vision+audio

    $
    0
    0
    Maixduino seeedstudio maix ai arduino uno esp32

    La nouvelle carte de développement Sipeed Maixduino du fabricant chinois SeeedStudio vient compléter la nouvelle gamme MAIX AI permettant de réaliser des traitements à base d’intelligence artificielle directement au niveau de l’objet connecté sans avoir recours à des ressources déportés tel qu’un cloud. La Sipeeed Maixduino est une carte de développement au format Arduino Uno ce qui permettra de concevoir des applications utilisant des cartes d’extension existantes. Pour l’apprentissage et le prototypage, SeeedStudio a développé plus de 280 modules Groove équipés d’un connecteur 4 pôles standard. 

    Maixduino seeedstudio maix ai arduino uno esp32

    Spécifications techniques de la Sipeed Maixduino

    La Sipeed Maixduino est une carte de test et de développement rapide d’applications IoT intégrant une accélération matérielle locale pour des traitements par intelligence artificielle. Le processeur MAIX offre des capacités de traitement d’image (reconnaissance faciale par exemple) et audio (reconnaissance vocale par exemple).

    Les autres cartes de développement MAIX. Toutes les cartes de développement MAIX sont listées ici.

    SeeedStudio ayant adopté le format Arduino Uno, on pourra utiliser le shield Grove v2 pour utiliser les modules utilisant le bus I2C (ou analogique) pour communiquer avec le MCU.

    seeedstudio shield grove v2 i2c analog

    Le développement des application pourra se faire directement en C++ depuis l’IDE Arduino ou PlatformIO. SeeedStudio propose également son propre éditeur de code MaixPy qui permet le développement d’applications en micropython. L’éditeur MaixPy et le code source sont disponibles sur GitHub sur cette page. Une documentation est disponible (en anglais) ici.

    Voici un exemple de code publié sur le dépôt Github qui permet de prendre un cliché depuis la caméra OV2640 et l’afficher celui-ci sur l’écran LCD

    import sensor
    import image
    import lcd
    
    lcd.init()
    sensor.reset()
    sensor.set_pixformat(sensor.RGB565)
    sensor.set_framesize(sensor.QVGA)
    sensor.run(1)
    while True:
        img=sensor.snapshot()
        lcd.display(img)

    Spécifications techniques

    • CPU: Module Sipeed M1
      • MAIX-IA IoT construit autour d’un processeur Kendryte KPU K210. Processeur RISC-V Dual Core 64 bits gravé à 28nm avec FPU@400 MHz (Processeur de réseau neuronal)
      • Accélération matérielle de reconnaissance d’image
      • 8MB de RAM
      • 16MB de mémoire flash interne
      • Support jusqu’à 8 microphones
      • Cryptographie AES SHA256
      • E/S  I2C, SPI, I2S, WDT, TIMER, RTC, UART, GPIO
    • Connectivité
      • Module ESP32 (ESP-WROOM-32) intégré
      • WiFi 2.4G 802.11. b/g/n
      • Bluetooth 4.2
    • Interfaces
      • Connecteur GPIO femelle au pas de 2.54mm compatible avec les cartes d’extension Arduino Uno
      • Connecteur 24 broches pour caméra DVP QVGA@60FPS et VGA@30FPS
      • Connecteur 24 broches pour écran LCD 8-bits
    • Audio
      • Microphone MEMS omnidirectionnel MSM261S4030H0 avec sortie I2S
      • Circuit audio DAC+PA
        • TM8211 16-bit
        • NS4150, jusqu’à 3W de puissance en sortie. Jusqu’à 90% de rendement
      • Connecteur pour haut parleur audio au pas de
    • Stockage
      • Lecteur de carte microSD
    • Accessoires
      • Connecteur USB Type C pour alimentation, téléversement et debug
      • Convertisseur USB série CH552 offrant 2 canaux USB-TTL (2 ports série physiques)
      • Boutons RESET et BOOT
    • Alimentation
      • Via connecteur USB-C
      • Via connecteur DC. 6 à 12V. Permet également d’alimenter des accessoires (servomoteurs, moteurs DC) 5V jusqu’à 1.2 A

     

    Le processeur MAIX est également compatible avec l’IDE OpenMV dédié aux caméras OpenMV Cam. L’IDE OpenMV permet le développement de petites applications de vision industrielle en micropython.

    La carte Sipeed Maixduino est disponible sous la forme d’un starter kit composé d’une carte de développement MAIX au format Arduino Uno, un module caméra OV2640 et un écran LDC TFT 2.4 pouces. Le kit de développement est disponible en pré-commande au prix de 23,90$ (hors frais de port). Les premières livraisons débuterons le 17 juin 2019.

     

    L’article Nouvelle carte de développement SeeedStudio Sipeed Maixduino format Arduino+ESP32 avec unité traitement AI vision+audio est apparu en premier sur Domotique et objets connectés à faire soi-même.

    Viewing all 610 articles
    Browse latest View live