You are currently viewing Automatisation 2.0 d’un portail (DIY)

Automatisation 2.0 d’un portail (DIY)

Le but de ce système est l’ouverture et la fermeture Ă  distance d’un portail Ă©lectrique depuis :
– un smartphone grâce Ă  un serveur web
– une tĂ©lĂ©commande radio
– un bouton poussoir extĂ©rieur ou intĂ©rieur

En complĂ©ment, on gère la sonnette qui diffuse un message sur les enceintes Google et une ou plusieurs CamĂ©ras IP pour surveiller l’ouverture. De mĂŞme, un mail est adressĂ© Ă  des personnes dĂ©signĂ© avec les photos prisent par les camĂ©ras.

Architecture

Le système par sa structure modulaire permet de moderniser un portail existant en conservant les moteurs ou vĂ©rins, ou de concevoir l’ensemble.

Par expĂ©rience, depuis de nombreuses annĂ©es, il faut un système très robuste aux pannes, aux coupures de courant afin de garantir le service pendant des mois et ne pas tomber sur le système Ă  l’arrĂŞt en rentrant chez soi. Pour cela, on dĂ©compose l’ensemble en 2:
– un microcontrĂ´leur Arduino, en charge des fonctions essentiels, dĂ©clenchement sur poussoir ou radio, contrĂ´le des moteurs, surveillance de la sonnette. La simplicitĂ© du montage et du logiciel offre la robustesse exigĂ©e,
– un « Single Board Computer » ou micro-ordinateur qui se connecte au web, permet l’ouverture Ă  distance par smartphone, prend des photos Ă  l’aide de camĂ©ras IP, informe par mail, enregistre les allĂ©es et venues. La complexitĂ© des logiciels, les coupures d’internet, les micro-coupures Ă©lectriques font que la qualitĂ© de service sur des mois n’est pas celle d’un simple Arduino.

Vidéo de présentation

Arduino Nano

La carte Arduino Nano est basĂ©e sur un ATMega328 cadencĂ© Ă  16 MHz. Elle dispose d’une mĂ©moire de 32 kB et d’un grand nombre d’E/S:
– 14 broches d’E/S dont 6 PWM
– 8 entrĂ©es analogiques 10 bits
– bus sĂ©rie

Les entées analogiques seront utilisées pour surveiller les courants qui alimentent les moteurs afin de les arrêter en fin de course ou si blocage.

La carte est disponible pour quelques € en Chine (Aliexpress), une dizaine d’€ en France (provenance de Chine), 30 € sur le magasin officiel…

Orange Pi Zero

Orange Pi Zero

Pratiquement, vu la pĂ©nurie de Raspberry , on se tourne vers des Orange Pi qui rĂ©pondent Ă©galement au besoin. Cela change de fruit et fonctionne toujours bien. L’Orange Pi Zero est l’entrĂ©e de gamme, mais est suffisant pour notre application. Il faut l’acheter en Chine en passant par Aliexpress en choisissant la version 512M de RAM et non 256M. L’Operating System que j’utilise dessus est Armbian. Pour l’installer, voir l’article https://f1atb.fr/mise-en-route-orange-pi-zero/
Créer un utilisateur Portail par exemple, cela crée un dossier /home/Portail dans lequel on implante les sources.

Ne pas installer Samba ou les drivers Audio.

On se connecte Ă  l’Orange Pi par un cable ethernet ou le wifi.

Si vous disposez d’un autre « Single Board Computer », Raspberry Pi, Orange Pi xxx… tournant sous une variante Debian, cela est adaptable facilement.

Schéma électrique

Toute l’Ă©lectronique s’articule principalement autour de l’Arduino. Ce dernier est liĂ© Ă  l’Orange Pi par le cable USB qui lui permet l’Ă©change de donnĂ©es et fourni l’alimentation 5V.

L’Orange pi zero a une LED branchĂ©e sur la pin 26 avec une rĂ©sistance en sĂ©rie entre 300 et 1000 ohm. Elle clignote par logiciel pour afficher le bon fonctionnement. L’Orange pi est alimentĂ©e par un chargeur 5V/2A, il alimente via l’USB l’Arduino.

Logiciels

Pour piloter Ă  distance via le web, on utilise Apache comme serveur. Son installation est aisĂ©e : https://f1atb.fr/apache-sur-orange-pi-zero/
Comme l’installation de notre appli se trouve dans un dossier dĂ©diĂ©, il faut configurer Apache dans le fichier 000-default.conf du dossier « /etc/apache2/sites-available/ Â». Puis redĂ©marrer Apache.

Installez, VNC sur l’Orange Pi si vous souhaitez y accĂ©der Ă  distance depuis un PC et Ă©crire / modifier le programme sur l’Arduino. Restez sous l’utilisateur « root » c’est plus simple.

Installez de mĂŞme VNC-Viewer sur votre PC et connectez-vous Ă  l’adresse IP de votre Orange ou Raspberry. Pour les Orange Pi, prĂ©ciser le port 5901.

Après avoir installé le bureau et VNC, un petit « apt-get update » peut-être utile.

Installez les librairies python permettant de faire des « pings Â» pour tester la liaison internet et pour les liaisons sĂ©rie.

pip install ping3
pip install pyserial

Installez la librairie pour envoyer un message audio sur une Google Home.

pip install PyChromecast

L’orange pi zero ayant peu de mĂ©moire, il est bon de lui allouer un fichier de swap de 1 Go. Suivez la procĂ©dure ici : https://linuxize.com/post/how-to-add-swap-space-on-debian-9/

Installer l’IDE Arduino

L’environnement Arduino est disponible dans les dĂ©pĂ´ts:
apt-get install arduino -y

Branchez la carte Arduino Nano sur le port USB de l’Orange Pi Zero et dans Tools, sĂ©lectionnez la carte, le type de processeur si besoin et le port /dev/ttyUSB0. Si vous utilisez d’autres cartes ou port sĂ©rie, adaptez en consĂ©quence.

Attention, si vous avez un Arduino Nano avec l’ancien Bootloader, il faut programmer le nouveau Bootloader afin de pouvoir utiliser le watchdog. Il y a une bonne explication ici: https://www.youtube.com/watch?v=VewaVZ4H5Cw

TĂ©lĂ©chargez le programme le plus simple pour tester l’ensemble « Blink ». Le clignotement d’une Led sur la carte. Lancez la compilation et le tĂ©lĂ©chargement sur l’Arduino. Ă€ prĂ©sent, la Led doit clignoter.

Code Source

Le code source pour l’Arduino et l’Orange Pi Zero est disponible ici sous forme de fichier zip :

Lancement du logiciel

On emploie les tâches cron sous root. Tapez ‘crontab -e’ dans un terminal et remplissez en bas de page:

1 1 * * * python3 /home/portail/cron_clean.py
*/5 * * * * python3 /home/portail/cron_temp_cpu.py
@reboot python3 /home/portail/portail.py

cron_clean.py efface toutes les nuits les journaux d’Ă©vènements vieux de plus d’un mois.
cron_temp_cpu.py envoi la température du CPU à ma domotique (optionnel)
portail.py programme principal de gestion du portail

Achats

Pour l’Orange Pi Zero allez par exemple ici et choisissez la version 512Mb de mĂ©moire. Si vous ne le trouvez pas, vous pouvez prendre un Orange Pi Zero 2 plus rĂ©cent.

Pour l’Arduino Nano, de nombreux vendeurs le proposent sur Aliexpress. Prenez la version avec le câble USB.

Pour la Radio, on trouve le module tout monté avec 2 canaux (2 relais, un pour ouvrir et un pour fermer) avec plusieurs radios pour moins de 20€.

La mesure de courant par effet Hall (ACS712) est disponible ici. La version 20A devrait correspondre Ă  la plupart des moteurs.

Les 2 relais pour alimenter le transformateur de puissance des moteurs et la lampe de sécurité sont des modèles classiques pour Arduino.

Les relais qui pilotent les moteurs sont un point dĂ©licat. Les relais classiques bleus Ă  brancher sur des Arduinos sont limitĂ©s Ă  10A. Ils grillent avec le temps. J’ai trouvĂ© des modèles plus costauds de 16A max qui nĂ©cessitent des transistors pour les piloter, car ils consomment trop de courant en 5V.

Sécurité

En travaillant sur ce projet en 230V, vous acceptez d’assumer la responsabilitĂ© de votre propre sĂ©curitĂ© et de prendre toutes les prĂ©cautions nĂ©cessaires pour Ă©viter les accidents Ă©lectriques.

F1ATB André

Ham Radio - Home automation - Photovoltaic

Cet article a 20 commentaires

  1. bruno

    Il faut l’acheter en Chine en passant par Aliexpress en choisissant la version 512k de RAM et non 256k,
    Ce n’est qu’un dĂ©tail mais il s’agit de MĂ©gas pas de Kilos 🙂

    1. F1ATB André

      Merci. J’ai corrigĂ©.
      Cdlt

  2. hippolyte georges marie BAILLIF

    Bonsoir,
    Félicitation pour votre travail et de le partager.
    Concernant l’alimentation des moteurs, est-ce que c’est possible de passer en 24 volts ?
    Cordialement

    1. F1ATB André

      Oui pas de souci. On peut mettre du 24V, c’est uniquement pour les moteurs. L’Ă©lectronique a son alimentation 5V sĂ©parĂ©e.
      Cdlt

  3. Stef

    Bonjour,
    Merci pour le partage de vos projets et de vos connaissances. J’ai quelques questions : Avez vous Ă©prouvĂ© cet automatisation de portail et dans l’affirmative quel en est le bilan ? Quels sont les moteurs utilisĂ©s dans votre configuration ? Quel est le modèle de transformateur utilisĂ© ?
    Par avance, je vous remercie pour le temps consacrĂ© Ă  votre retour d’information.

    1. F1ATB André

      Je suis très content,car il ne bug jamais. L’arduino en charge des fonctions essentielles est super fiable. Depuis 1an, jamais d’arrĂŞt.
      Pour le transfo, c’est un modèle torique qui allait avec mes moteurs sur le système d’origine.

  4. Emile

    bravo pour votre rĂ©alisation… quant Ă  moi ancien technicien de 68 ans mais bricoleur averti avec quelques bases bien lointaines en Ă©lectronique, je suis juste capable de reproduire « bĂŞtement » ce que vous avez fait; alors une question « idiote peut ĂŞtre » :
    Mon but serait de rĂ©aliser des systèmes d’ouverture de volets battants ( 8 fenĂŞtres et porte fenĂŞtre ) alors est -il possible de supprimer l’orange pi pour ne garder que le bouton de commande voire la tĂ©lĂ©commande.
    vous en remerciant

    1. F1ATB André

      On peut garder que l’Arduino Nano pour mettre en place une commande des ouvertures de volets.Mais il faudra reprendre le code. Vous n’avez pas 2 moteurs etc…
      Cdlt

      1. Emole

        ce sont des volets 2 battants et je prévois un moteur par battant. En fait comme un portail miniature.

        1. F1ATB André

          OK dans ce cas, prenez simplement l’Arduino Nano et sont logiciel.
          Vous n’aurez que la possibilitĂ© d’actionner avec un bouton ou une radio.

          Cdlt

  5. Emile

    emile et non pas emole (faute de frappe) Je prévois aussi une alimentation par batterie solaire.

  6. Marco

    Bonsoir , tout d’ abord très bon travail .
    Ne faudrait- il pas rajouter des diodes de roue libre sur les bobines des relais ?

    1. F1ATB André

      Ce sont des petits relais. Le 2n2222 tient le coup.
      Cdlt

      1. Marco

        Merci du retour rapide .Bonne continuations à vos futurs projets très instructifs.

  7. Hippo

    Bonjour,
    Les commandes installations ne fonctionnent pas
    Avez-vous une idée
    pip install ping3
    pip install pyserial
    pip install PyChromecast

    Merci de votre retour
    cordialement

    1. F1ATB André

      Installez pip

  8. Baillif

    bonsoir
    André
    j’ai suivi le tuto Ă  la lettre
    je suis bloquĂ© sur l’installation de ping3
    Pip déjà intégré version 23.0.1
    Le serveur apache fonctionne j’arrive Ă  afficher la la page Web.
    Le point bloquage ? la led raccordée sur la pin 26
    ne clignote pas.

    la version Python 3.11.2
    Apache 2.4.57

    que pensez-vous du problème et dans quelle piste je dois investiguer.
    merci d’avance.

    1. F1ATB André

      pip install ping3, pourquoi cela ne fonctionne pas. S’il vous dit dĂ©jĂ  installĂ©, c’est bon.

      Essayez d’Ă©crire un petit ptrogramme de test pour la pin26 et comprendre ce qui ne va pas.

      Cdlt

  9. tazhf45

    Bonsoir André,
    Je viens de lire votre tuto et je vous remercie pour ce partage d’info.
    Je pense que je vais me servir de votre montage pour remplacer la commande de mon portail ( Extel Hello V ) qui me fait tourner en bourrique depuis plusieurs jours, car j’ai le premier vantail qui s’ouvre de façon alĂ©atoire….. J’ai dĂ©connectĂ© le module de rĂ©ception 433mHZ pensant Ă  des interfĂ©rences, mais mĂŞme en direct avec juste un bouton poussoir qui valide que l’ouverture des deux vantaux j’ai encore eu le phĂ©nomène. Un truc Ă  devenir fou ….
    Par contre, j’ai quasi 80m entre ma maison et mon portail, et je pense mettre un switch dans le boitier pour y rajouter Ă©galement la camĂ©ra.
    Pour la commande par bouton, le buzzer et la sonnette , pensez vous que le système pourra fonctionner tel quel ?
    Sinon avez vous des liens ( type Aliexpress ) pour les caméras dont on peut réellement récupérer le flux sans passer par des clouds chinois ?
    Merci d’avance

    1. F1ATB André

      Pour les caméras, prenez des modèles au standard Onvif. Vous sortirez des images jpg ou des flux video RSTP à retravailler pour diffuser sur une page web.

      Cdlt

Les commentaires sont fermés.