Créer un UPS UPS (avec logiciel de gestion) pour Raspberry Pi

5 minutes de lecture
BUTS DE PROJET:
  • Faire un mini-système UPS pour le soutien énergétique automatique en cas de panne d'électricité pour Raspberry Pi
  • Niveau de difficulté: moyen / faible
  • coût: réduit (environ 20 €)
CONCEPTS FACE:
  • Connexions et configuration logicielle
COMPOSANTS LOGICIELS UTILISÉS:
DISPOSITIFS PHYSIQUES UTILISÉS:
GUIDE plus indiqué pour:

Tous les environnements

Notes et avertissement
  • qualsiasi modifica all'impianto elettrico dev'essere progettata ed effettuata da personale qualificato;
  • tout changement mis en œuvre dans proavant est un prola responsabilité personnelle, ainsi que propremier risque et danger (le contenu de la présente page est purement pédagogique);
  • tout changement mis en œuvre dans proavant un appareil, il annule la garantie, les approbations de qualité et les certifications.
Revisione projet: 1.0

Abstrait

Il Raspberry Pi c'est authentique joyau de la miniaturisation, mais il a une tendance désagréable à corrompre la carte SD hébergée, surtout si elle n’est pas de bonne qualité, en particulier en cas d'impropannes d'électricité visibles ou pannes d'électricité (panne d'électricité).

En domotique, il peut donc être utile que lehost rapprenvoyé de Raspberry Pi rester en dépit d'une panne d'électricité e provoir automatiquement, peut-être, à l'arrêt contrôlé pour éviter les dommages.

Ils existent sur le marché UPS ou UPS, utile pour maintenir la tension sur 220v pendant des heures, voire des jours, mais présente le défaut désagréable d’être cher, volumineux et de consommer de l’énergie. Utilisez un onduleur traditionnel pour supporter la tension d'entrée à un Raspberry Pi ce serait aussi comme tirer avec un canon à la mouche.

Une solution alternative, bien sûr, . Des piles simples sont disponibles sur le marché et sont souvent alimentées par la porte. micro USB (viens il Raspberry Pi) et en fournissant une tension de sortie via le port USB standard.

avec ce procasting nous verrons comment utiliser l'une de ces batteries spécialement conçues Raspberry Pi par UPS et comment, via un logiciel (si utilisé Raspbian en tant que système d'exploitation), détecter une panne de courant (black-out) e provoir si le frambois est arrêté avant que la batterie s'épuise.

Conditions préalables

Ce dont nous avons besoin, c'est seulement une batterie suffisamment puissant à la fois en termes de capacité de stockage et en termes de puissance délivrée. La capacité de stockage est mesurée en Ampère / heure, dans le cas de piles de ce type dans mAh, ou milliAmpere / heure. Pour se nourrir pendant environ 8 heures a Raspberry Pi 3 modèle B + une capacité d'accumulation de 3.000 mAh.

En ce qui concerne la fourniture, il est nécessaire que la batterie puisse fournir au moins une alimentation USB 2 ampères; Quant au port d’entrée de la batterie (charge), il doit être équipé d’un port Micro USB. Enfin, il faut un câble USB / Micro USB (homme / homme), habituellement fourni. On suppose évidemment que vous avez un Raspberry Pi qui est nourri à partir d'une alimentation micro USB.

La batterie prise par exemple pour le moment projet è cette, qui est équipé d’un tableau de commande servant non seulement de lien entre le Raspberry et la batterie, mais également d’un commutateur pour allumer / éteindre, de attaque pour une seconde, batterie possible.

Batterie pour Raspberry Pi - fiche de contrôle

Proaffaissement

Il procéder est très simple et intuitif. Après avoir éteint le Raspberry (via shutdown; ne débranchez jamais votre appareil), débranchez l’alimentation électrique du port Micro USB. et connectez-le à l'entrée de la batterie Micro USB; puis connectez le câble USB sur la batterie et l'autre extrémité, Micro USB, sur la framboise, au lieu de l’alimentation précédente.

Batterie pour Raspberry Pi - monté

En fait l'onduleur est pronto: quand la batterie chargera le flux de courant de l'alimentation à la batterie et de la batterie à la framboise sera continu, aussi et surtout en cas de panne de courant, comme les batteries ils fourniront une tension continue tant qu'ils auront la disponibilité de charge.

Mais si la panne de courant si protiré au-delà de la vie de la batterie?
Il Raspberry Pi cela se passerait exactement comme en l'absence d'UPS, donc brutalement; c'est là que le logiciel vient nous rencontrer uPSD (Démon d'alimentation sans coupure).

Intercepter la panne d'électricité

Si un système d'exploitation Raspbian est utilisé, il est possible d'intercepter la panne de courant (panne d'électricité) en évaluant l'état électrique du port ethernet Raspberry et l'utilisation combinée du démon upsd, qui appoint nous permet d’interpréter la chute électrique sur cette porte et, par conséquent, d’effectuer des actions qui, trivialement, éteignent - de manière contrôlée - l'unité.

Le seul pré-requis est d'avoir le Raspberry connecté avec un câble Ethernet à un commutateur, un routeur, un hub connecté, à son tour, au réseau d’alimentation.

Il est clair que, quand une panne de courant devrait se produire l'état électrique du port ethernet deviendrait "coupé"Par conséquent, le logiciel uPSD va l'interpréter comme "début de la session de batterie"E proil verra qu'il fait ce que nous lui avons commandé de faire, c'est-à-dire arrêter l'unité de manière contrôlée avant que la charge ne soit épuisée.

Nb Si des alternatives sont utilisées (par exemple, les distributions du système d’exploitation "fermées", telles que HASSIO ou autre) ceci proCedura ne sera pas réalisable. L’UPS sera utilisé de manière simple, c’est-à-dire qu’en cas de panne de courant, il continuera d’alimenter le Raspberry jusqu’à la fin de la charge, après quoi il s’éteindra. Les utilisateurs qui utilisent tels que HASSIO cependant, ils pourraient implémenter une automatisation qui, lorsque le port Ethernet est détecté, éteint le Raspberry Pi.
Raspberry UPS avec Power Bank
le schéma de connexion.

Satisfait le pré-requis, la procertificat d'installation du démon upsd (à exécuter pour finir) est la suivante:

wget http://raspi-ups.appspot.com/upsd/upsd_1.2-1.deb
sudo dpkg -i upsd_1.2-1.deb

Nb Finalement, vous voudrez peut-être le supprimer plus tard, la commande est simple:

sudo dpkg -r upsd

Le démon est conçu pour surveiller la disponibilité restante de la capacité de la batterie sur la base de l'absorption instantanée et moyenne de la framboise et, face à l'épuisement imminent du courant disponible, provoit l'arrêt contrôlé de l'unité. L’estimation est assez précise, cependant le seuil pour lequel la batterie est considérée comme déchargée (elle est donc exécutée). shutdown) est 30%.

Le fichier de configuration est situé à “/etc/upsd/upsd.conf"Et peut être modifié en utilisant la commande

sudo nano /etc/upsd/upsd.conf

Ce fichier est le fichier par défaut configuré comme suit:

# This is the configuration file for the upsd daemon program.
# Please see the upsd.conf(5) man page for further documentation.

# Enabled switch.
ENABLED = YES

# The network interface used to determine power outages.
INTERFACE = eth0

# The check interval for power outages, in milliseconds (ms).
CHECK_INTERVAL = 1000

# The update interval of the upsd.status file, in seconds (s).
UPDATE_INTERVAL = 10

# The amount of time the fully charged battery of the UPS can power the system, in seconds (s).
# BATTERY_RUN_TIME =

# The amount of time the empty battery of the UPS needs to become fully charged, in seconds (s).
# BATTERY_CHARGE_TIME =

# The charge level under which the battery will be considered empty, in percent (%).
# Set this to 0 to disable this feature.
BATTERY_LOW_LEVEL = 30

# The time limit after a loss of power at which the battery will be considered empty, in seconds (s).
# Set this to 0 to disable this feature.
BATTERY_LOW_TIME = 0

Les lignes dans audacieux sont ceux configurés par défaut. Comme on peut le voir dans les descriptions, le démon est largement configurable. Le manuel (que vous pouvez quand même téléchargez ici) est disponible pour consultation via la commande:

man upsd.conf

Pour afficher la fonction en temps réelnamedu démon, la commande est la suivante:

sudo tail -f /var/log/syslog | grep upsd 

Il suffira alors déconnecter le port ethernet - simuler une panne - et obtenir le terminal de connexion suivant:

Jul 5 18:24:38 raspberrypi upsd[24676]: There is a power outage right now.
Jul 5 18:24:38 raspberrypi upsd[24676]: The estimated current battery charge level is 100 %.
Jul 5 18:24:38 raspberrypi upsd[24676]: There are 02:48:00 hours remaining before the battery will be empty.
Jul 5 18:24:38 raspberrypi upsd[24676]: If the battery should actually run empty, appropiate action will be taken.

Reconnecter la porte - faisant ainsi croire au démon que le courant est de retour - vous obtiendrez le journal suivant:

Jul 5 18:24:44 raspberrypi upsd[24676]: The power outage is over now. It could be successfully bridged over by using the battery.
Jul 5 18:24:44 raspberrypi upsd[24676]: The outage lasted for 00:00:06 hours.
Jul 5 18:24:44 raspberrypi upsd[24676]: The estimated battery charge level decreased from 100 to 99 % during the outage.
Jul 5 18:24:44 raspberrypi upsd[24676]: The system could have run for 02:47:53 more hours before the battery would have been empty.

À partir de là, le démon surveillera les progrès du régime et, en cas de panne de courant, en atteignant (estimé) le seuil du 30% de batterie restante (ou une valeur différente, en changeant le réglage du champ "BATTERY_LOW_LEVEL"Dans le fichier de configuration) proverra le salut shutdown de l'unité framboise.

Alternative

Il y a d'autres possibilités pour la réalisation d'UPS pour Raspberry Pi, en plus de l'utilisation de piles, telles que des piles 12 volts ou des composants supplémentaires pour la Raspberry Pi lui-même. Nous vous conseillons de lire cette page pour plus d'informations.


Veuillez commenter ci-dessous