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

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.
Cet article a 18 commentaires
Les commentaires sont fermés.
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 đ
Merci. J’ai corrigĂ©.
Cdlt
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
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
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.
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.
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
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
ce sont des volets 2 battants et je prévois un moteur par battant. En fait comme un portail miniature.
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
emile et non pas emole (faute de frappe) Je prévois aussi une alimentation par batterie solaire.
Bonsoir , tout d’ abord trĂšs bon travail .
Ne faudrait- il pas rajouter des diodes de roue libre sur les bobines des relais ?
Ce sont des petits relais. Le 2n2222 tient le coup.
Cdlt
Merci du retour rapide .Bonne continuations Ă vos futurs projets trĂšs instructifs.
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
Installez pip
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.
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