Nous allons parler double alimentation ! Pourquoi ? Car ces petites bêtes sont si fiable que je les utilises pour des usages spécifiques au niveau professionnel comme par exemple des boucle de secours vidéo pour chaines TV, connexion à distance au port console de certains équipements spécifiques, communication par gpio avec d’autres équipements (par exemple une grille vidéo qui remonte une absence vidéo sur le gpio et le raspberry allume un gyrophare)… Et quand dans sa baie on a tous nos équipements qui sont double alimentés, le raspberry ne peut faire exception. Après quelques recherches sur le net, un collègue (Merci Gilles) me dégotte cette solution :
https://www.tindie.com/products/8086net/dual-supply-for-raspberry-pi/
Ce qui nous donne une fois monté : Cette carte dispose de diode à l’entrée de l’alimentation ce qui permet de protéger vos alimentation (Important car les raspberry eux ne sont pas protégés), de plus aucun port du GPIO n’est utilisé ! Il y a également une diode qui s’allume en présence de tension sur l’entrée :
Ici la diode à gauche est allumé car présence de tension en entrée.
Mais si vous connectez deux alimentations, sur quel alimentation le raspberry va s’alimenter ? Ce sera celle qui à la tension la plus élevée qui sera choisis comme alimentation principal, mais une fois que le raspberry va s’allumer, il va tirer du courant et donc la tension va surement chuter, à un instant t les deux tensions seront égales, alors la carte tirera sur les deux alimentations simultanément. Si l’une des deux alimentation se coupe, la tension va tomber en entrée, la seconde alimentation sera donc celle avec le plus fort voltage, elle sera donc la seule utilisé ! Simple et efficace ! La carte est donné pour 3 ampères mais recommandé de travailler sur 2 ce qui est amplement suffisant pour la plupart des usages. Maintenant coté intégration, vous pouvez oublier les boitiers officiels, je suis donc allé sur mon site de STL préféré et j’ai pris ce boitier comme modèle : https://www.thingiverse.com/thing:2875319
Voici ce que ça donne une fois modifié : Je ne suis pas très bon coté design mais ça a le mérite d’etre fonctionnel !
Vous pouvez récupérer les STL à imprimer sur Thingiverse :
Pour un besoin très particulier (donner l’heure à des dongles OTT dans un réseau multicast sans accès à un quelconque autre réseau), j’ai eut besoin d’un serveur NTP dans mon réseau interne.
Je me suis naturellement tourné vers un Raspberry, malheureusement j’avais un peu oublié le fait que le raspberry était dépourvu de hardware clock, mais pas de soucis, j’en avais un ou deux en rab pour mes projets Arduino.
J’avais donc en stock un DS3231 mais ce tuto est le meme pour le module DS1307 (suffit juste de changer le nom aux bons endroits).
Si vous voulez directement commander le meme, voici ou vous pourrez le trouver :
-Première étape, installation et paramétrage du module RTC.
La première étape consiste donc à connecter le module RTC à notre Raspberry grace aux GPIO.
Nous allons donc connecter GND et 5v pour l’alimentation du module et les pates SDA et SCL pour la communication i2c entre le RPI et le module RTC
Voici ce que donne le schémas de câblage à partir d’un Raspberry Rev 2 (Pour le plus vieux, les pins SDA et SCL diffèrent, reportez vous au schémas des pins GPIO de votre modèle de RPI pour être sur du câblage):
RPI Pin
RTC Pin
Pin 4 (5V)
VCC
Pin 6 (GND)
GND
Pin 3 (SDA)
SDA
Pin 5 (SCL)
SCL
Et voici le schémas des GPIO du Raspberry B :
Une fois le module correctement cablé, nous allons passer au paramétrage du système :
Dans Raspbian, l’i2c est désactivé par défaut, nous allons donc l’activer via un terminal :
sudo raspi-config
Via le menu qui s’affiche, sélectionnez Advanced Options puis I2C.
Choisissez Yes, votre interface i2c est maintenant activé.
Nous allons vérifier maintenant que l’ensemble communique bien, pour ce faire, il va falloir installer les packets suivants :
Grace à ces outils, nous allons lancer un scan i2c nous permettant de voir que notre module est bien reconnu :
sudo i2cdetect -y 1
Vous devriez voir ceci :
Si vous avez un vieux Raspberry, faites à la place :
sudo i2cdetect -y 0
Notre module RTC est bien présent à l’adresse 68.
Si cela ne fonctionne pas, vous pouvez essayer de charger les modules i2c-dev et i2c-bcm2708 à la main :
sudo modprobe i2c-dev
sudo modprobe i2c-bcm2708
Si cela fonctionne, vous pourrez alors ajouter ces modules dans /etc/modules en exécutant la commande suivante :
sudo nano /etc/modules
Et ajoutez à la fin du fichier les deux lignes suivantes :
i2c-dev
i2c-bcm2708
Au prochain redémarrage, les modules seront automatiquement chargés, et il ne sera pas nécessaire de faire un modprobe.
Nous avons maintenant une Horloge matériel correctement relié à notre Raspberry et bien reconnu.
Nous allons maintenant la déclarer à l’OS pour pouvoir ensuite l’utiliser :
echo ds3231 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device
Comme je l’ai précisé plus haut, si vous avez un module DS1307, vous devrez taper ds1307 à la place de ds3231.
Nous pouvons maintenant afficher l’heure enrengistré dans le module RTC :
sudo hwclock
Si c’est la première fois que vous utilisez le module, vous devriez avoir une date au 1er janvier 2000.
Nous allons maintenant définir la date et l’heure au module RTC :
-Définir la date et l’heure du système depuis internet et l’enregistrer dans le module RTC:
Paramétrons les bons fuseaux horaires de l’OS soit par le menu raspi-config soit par :
sudo dpkg-reconfigure tzdata
Choisissez bien le bon continent et la bonne zone.
Vous pouvez maintenant vérifier la date et l’heure du système en tapant dans un terminal :
date
Si vous etes à la bonne date/heure, nous allons maintenant l’écrire dans le module RTC :
sudo hwclock -w
-Définir la date et l’heure du système manuellement et l’enregistrer dans le module RTC:
Si votre Raspberry pi n’a pas accès à internet pour se synchroniser à une horloge précise, vous pouvez toujours utiliser la commande suivante pour définir une date arbitraire (ici le 24 Octobre 2016, à 16h15:00s) :
sudo date -s "Sep 24 2016 16:15:00"
Une fois l’horloge système réglé manuellement, nous allons l’écrire dans le module RTC (l’horloge matériel) :
sudo hwclock -w
-Configuration du système pour utiliser automatiquement le module RTC
Nous avons donc pu définir la date et l’heure de l’horloge matériel, voyons maintenant comment configurer le RPI pour qu’il utilise ce module à chaque démarrage:
Editez le fichier /etc/rc.local via la commande :
sudo nano /etc/rc.local
Et ajoutez les deux lignes suivantes avant la ligne exit 0 :
Nous pouvons maintenant désactiver le service fake-hwclock qui tente de reproduire le fonctionnement d’une horloge temps réel quand on en dispose pas:
sudo update-rc.d fake-hwclock disable
Nous pouvons également désactiver le service NTP qui n’es pas nécessaire :
sudo update-rc.d ntp disable
Si par la suite on souhaite synchroniser la date et l’heure du système avec celle de serveurs de temp, on pourra utiliser la commande suivante :
sudo ntpd -qg
Sans oublier d’écrire ensuite l’heure dans le module RTC :
sudo hwclock -w
Nous avons maintenant un Raspberry Pi avec une Horloge matériel, si la pile bouton que vous avez inséré dans votre module RTC fonctionne, vous pouvez débrancher et rebrancher votre Raspberry, meme sans connexion internet il devrait rester à l’heure !!
-Seconde étape, installation et paramétrage du serveur NTP.
Commençons par installer les paquets nécessaire :
sudo apt-get install ntp ntpdate
On édite ensuite le fichier /etc/ntp.conf:
sudo nano /etc/ntp.conf
Ajoutez au serveur NTP l’accès a l’horloge RTC:
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
Commentez la ligne :
restrict 127.0.0.1
Et ajoutez pour accepter toutes les requêtes NTP : (Si vous voulez vous limiter au réseau ex : 192.168.1.0/24 : restrict 192.168.1.0 mask 255.255.255.0)
restrict 0.0.0.0 mask 0.0.0.0
OPTIONNEL : Si vous voulez diffuser l’heure sur votre adresse réseau de broadcast :
Aujourd’hui je vais vous parler d’une problématique auquel j’ai été confronté il y a peu.
Pour l’un de mes side project dont une partie de l’infrastructure est basé sur des raspberry, j’ai dut trouver un moyen low cost pour sécuriser l’alimentation de mes Raspberry Pi ainsi que de leurs accessoires gourmand en énergie (Ecran LCD tactile hdmi/usb qui pompe pas loin de 1 ampère sur 5v – Cle USB 3G – Dongle Wifi ) Pour faire large j’ai compté 2A minimum d’alimentation.
J’ai commencé à regarder les projets comme PI UPS voir quelques montages sur le net mais rien ne m’a totalement emballé, soit par son prix final (ne pas oublier les frais de port) .
Puis par hazard je tombe sur une batterie externe destiné aux tablettes et autres smartphone sur Amazon .
L’intérêt principal de cet batterie externe comparé aux autres c’est qu’elle est une des rare à pouvoir se recharger en rechargeant simultanément.
Loin de moi faire de la publicité pour Amazon ou encore TeckNet la société qui vend cette batterie (surtout que je n’y gagne absolument rien) mais après des mois de « presque » recherche peu fructueuse (Il y a des solutions mais souvent un poil plus cher), je dois dire etre très satisfait de cette petite trouvaille.
D’autant plus que pour recharger cette batterie j’ai utilisé l’alimentation 5v 2A de mon Raspberry alors qu’au total mon raspberry consomme pratiquement 2A ce qui veut dire que le circuit de charge n’a pas trop de perte !
Etant donné que la batterie peut sortir plus de 3a, si vous voulez la recharger encore plus rapidement pour bénéficier de plus de puissance, je vous conseille d’acheter le chargeur TeckNet qui délivre 2,4a de charge (je n’ai pas trouvé au dessus donc vos montages ne peuvent excéder 2,4a voir moins)
Maintenant vous avez votre mini onduleur pour Raspberry Pi, Arduino ou tout autre montage demandant 5v 2a environ…
Des questions, d’autres produits à proposer ? N’hésitez pas !!