Tag Archives: RaspBerry

Sauvegarder votre raspberry avec rpi-clone

J’en profite pour faire un rapide retour sur rpi-clone que je vous présentais il y a quelques semaines de cela.

rpi-clone c’est ce script shell qui sauvegarde/clone le système de fichiers d’un Raspberry Pi à chaud sur une autre carte micro-SD connectée sur un port USB du Raspberry Pi.
Particularité du script : il peut faire des sauvegardes de cartes SD ou micro-SD sur des cartes de taille différente (inférieure ou supérieure) à la carte sur laquelle le Raspberry Pi a démarré.

Bill WILSON a mis à jour son dépôt GitHub et a ajouté un petit lien vers mon script. Donc grande satisfaction personnelle pour un script que j’ai repris et que j’utilise depuis un bon moment.

For a French translation of rpi-clone by Mehdi HAMIDA, go to: https://github.com/idem2lyon/rpi-clone

Merci Bill !!!

Sauvegarder votre Raspberry

Cloner la carte SD ou micro-SD du Raspberry Pi, c’est très pratique d’autant plus lorsqu’on a déjà fait la malheureuse expérience des cartes bons marchés qui plantent, ou des alimentations sous dimensionnées pour votre utilisation. Je vous propose une solution efficace pour sauvegarder votre Raspberry.

Un contexte particulier

On commence un nouveau projet, on se lance sans trop réfléchir, avec une carte micro SD de 4 GB (4 Giga Octets) et au bout de quelques jours on se dit qu’une carte de 16 GB aurait été un choix plus judicieux. Pire encore, vous aviez prévu une carte micro-SD de 64 GB bon marché, et vous préférerez avec un peu de recul utiliser une carte de meilleure qualité.
Vous n’avez que des 8 ou 16 GB, ce qui va bien parce que finalement, 8 GB c’est largement suffisant.
Mais voilà, entre temps, vous avez pas mal avancé sur ce projet, passer des nuits complètes à configurer aux petits oignons votre installation et vous ne voulez pas perdre tout ce travail. Comment faire?

Présentation de rpi-clone

Je voulais donc sauvegarder ma carte micro-SD de façon efficace, et surtout, que cette sauvegarde soit fonctionnelle (ce qui n’est pas toujours le cas avec certaines solution). Au bureau, on appelle cela un PRA, un plan de reprise de l’activité !!!
Donc en cherchant un peu, je suis tombé il y a plusieurs mois sur le dépôt GitHub de Bill WILSON qui possède un merveilleux outil, un script bash qui a pensé a tout, enfin, Bill, pas le script.

Objectif de rpi-clone

rpi-clone est un script shell qui va sauvegarder (en fait, il fera un clone en utilisant dd et rsync) le système de fichiers d’un Raspberry Pi à chaud (c’est-à-dire en fonctionnement) sur une autre carte micro-SD connectée sur un port USB du Raspberry Pi.
Particularité du script : il peut faire des sauvegardes de cartes SD ou micro-SD sur des cartes de taille différente (inférieure ou supérieure) à la carte sur laquelle le Raspberry Pi a démarré.

Attention, rpi-clone doit être exécuté en tant que root sur un système où  le programme rsync a été installé (sudo apt-get install rsync).

Tout est prévu dans ce script, même le petit message de confirmation à la fin pour démonter la carte sur laquelle le clone a été réalisé, et surtout, la possibilité d’utiliser cette carte pour d’autre Raspberry Pi.
Je m’explique… il suffira de monter la seconde partition de votre sauvegarde, d’éditer les fichiers de configuration, et vous avez une clone pour une nouvelle Raspberry Pi :

Vous l’aurez compris, il ne s’agit pas de faire une image, mais bien de faire un clone utilisable.

Installer rpi-clone

Vous trouverez rpi-clone sur le ​​github de Bill. Vous avez 2 solutions : soit vous optez pour le téléchargement manuel (celle que je vous propose), soit vous utilisez le programme git.

 Si vous êtes allergique à l’anglais, je vous propose une petite version que j’ai francisée avec l’accord de Bill.

Utilisation de rpi-clone

Lancez rpi-clone en tant que root.

>>> ATTENTION : toutes les données de votre carte seront écrasées !!! <<<

Retour d’expérience

Voici donc un script à garder précieusement dans votre boite à outils, voire même à automatiser toutes les nuits. Ce qui est mon cas!! Tous les soirs, une sauvegarde de ma Jeedom est effectuée, au cas où une coupure de courant, ou une mise à jour casseraient ma configuration… .

Installer JEEDOM sur Raspberry Pi

Alors voilà, vous avez maintenant une Raspberry toute prête, qui fonctionne, avec une version de Raspbian à jour. Nous allons maintenant installer JEEDOM sur Raspberry Pi.

Installation de Jeedom

Il faut tout d’abord télécharger le script d’installation disponible sur un dépôt GitHub  :

On exécute ensuite ce script :

Très simple, n’est ce pas… Il reste juste à répondre à quelques petites questions.
Le script d’installation demande tout d’abord une confirmation de l’installation (on est bien d’accord qu’on installe JEEDOM?).
JEEDOM fonctionnant avec une base MySQL, une étape vous demandera ainsi de saisir un mot de passe pour  d’administration du serveur. Celui-ci sera re-demandé pour créer l’utilisateur de JEEDOM et sa base associée.
Vous ne devriez rencontrer aucun problème particulier… si vous avez bien suivi mes pré-requis!!!

Première connexion à JEEDOM

A la fin de l’installation, le script affichera l’URL de connexion à votre interface JEEDOM.

 Le login et mot de passe par défaut sont admin .

Logon - Installer JEEDOM sur Raspberry PiBravo, vous arrivez maintenant sur le dashboard (Tableau de bord). Vous pouvez faire un tour sur le site de JEEDOM et vous régaler avec la documentation qui est (et c’est assez rare pour le préciser) plutôt de bonne qualité.

Prochainement, la découverte des protocoles RFXCOM et Z-Wave grace à notre partenaire Domadoo.

Tutoriel : Installer Raspbian et Kodi sur Raspberry Pi (Raspbian)

Ma princesse commence à être grande, et elle peut avoir son propre écran dans sa chambre. Je récupère donc un vieil écran de PC, une Raspberry Pi, et j’installe Kodi. Et oui, quoi de plus simple, pratique et efficace que d’installer Raspbian et Kodi sur Raspberry ?
En effet, la suite logicielle de lecture de contenus multimédia XBMC a été rebaptisée Kodi et ses développeurs continuent à faire évoluer l’ensemble pour nous fournir un outil merveilleux.

Astuce alimentation

Il faut savoir que la plupart des écran possède un transformateur, et délivre le plus souvent du 5V. Cela tombe bien, c’est exactement ce dont à besoin notre Raspberry!!!
Il faudra (pour les courageux) déshabiller votre écran, et souder sur les connecteurs 5v (rouge) et GND (noir) un câble femelle USB. Si vous avez besoin d’aide, n’hésitez pas, je vous guiderais.
Au final, vous aurez un connecteur USB directement sur votre écran, donc plus besoin de transformateur, ni de câble en plus à faire passer 🙂

Astuce clavier

J’ai pour ma part fait l’acquisition d’un clavier vraiment génial, le Rii RT-MWK0 iclever, mais je pense aussi prendre le Rii Mini i13 ou le Rii Mini i25. Ces sont des claviers sans fil (j’ai choisi la version 2,4GHz et non BT) disposant d’un clavier AZERTY simple (67 touches) relativement ergonomique. Le iclever a un touchPad (agrémenté d’un pavé directionnel et de 2 touches « clic droit »/ »clic gauche ») et d’un pointeur laser. Le Rii i13 quant à lui dispose d’une souris gyroscopique, d’une télécommande universelle IR, et d’un haut-parleur et microphone pour Skype!

Installation Rapsbian (depuis Windows)

Si ce n’est pas déjà fait, il faudra téléchargez et décompresser la dernière version de Raspbian par ici. Ensuite, vous pouvez utiliser Win32DiskManager ou  Linux Live USB Creator (Lili pour les intimes). Sélectionner votre image préalablement décompresser, le lecteur SD, et lancer l’écriture. Voila, votre carte SD est prête et vous pouvez l’insérer dans votre Raspberry.
Vous allez pouvoir allumer votre Raspberry Pi pour la première fois, et installer Raspbian… enfin, pas vraiment besoin de l’installer car le fichier utilisé est une image toute prête. Vous devriez vous retrouver devant une interface vous permettant de faire des choix de configuration. Cette interface se présente sous la forme d’un menu navigable au clavier.

Parle moi français

Dans un premier temps, nous allons modifier ce que l’on nomme les locales.
Pour cela, il faudra naviguer dans Internationalisation Options, et appuyer sur Entrée. Vous arrivez sur un second menu et il vous faudra choisir Change Locale. Vous allez descendre jusqu’à la ligne en_GB.UTF-8 UTF-8, et la de-sélectionner en appuyant sur la touche Espace. L’astérisque devrait alors disparaître. Continuer de descendre, mais cette fois jusqu’à la ligne fr_FR.UTF-8 UTF-8, et répéter la même opération que précédemment pour cette fois obtenir l’astérisque. Valider par le OK (appuyez sur la touche tabulation pour vous déplacer entre les zone). Puis validez.
Une nouvelle fenêtre va apparaître vous demandant de choisir les locales par défaut. Déplacez-vous sur fr_FR.UTF-8, puis utilisez de nouveau la touche tabulation pour aller sur OK, et validez. Le système va modifier les locales (pas inquiétudes, cela prend un peu de temps). Une fois terminé, vous serez de nouveau devant le menu de configuration basique.

L’heure française

Pour avoir la bonne heure système, il faut définir le Timezone.
Pour cela, retourner dans le menu Internationalisation options et choisir l’option Change Timezone, puis le continent Europe, et la ville Paris.

Passer le clavier en AZERTY

Voilà, tout le système est maintenant entièrement français sauf notre clavier qui devrait toujours être configuré en QWERTY. Pour le passer en AZERTY, retourner dans le menu Internationalisation options. Choisissez cette fois Change Keyboard Layout puis le type de clavier que vous possédez. Pour ma part, je choisi PC générique 105 touches (intl), puis Français, Disposition par défaut pour le clavier, Pas de touche Compose, et à la question Utilser Control+Alt+Ret.Arr. pour arrêter le serveur X j’ai répondu Oui.
Voilà, votre Rapsberry Pi est configurée simplement. Je referais un article plus à jour en ce qui concerne la configuration avancée et le ménage 🙂

Installer KODI

On va faire le plus simple, et surtout, le plus propre possible. J’ai volontairement pas choisi OpenElec, ni Xbian, ni RaspBMC! Je voulais un système complet, non limité ou bridé, avec lequel je pourrai continuer de travailler sur d’autres projets en parallèle. La façon le plus simple de faire est d’installer les packages mis à disposition de Michael Gorven.
Pour cela, on crée le fichier /etc/apt/sources.list.d/kodi.list :

On importe ensuite la clé utilisée pour signer l’archive :

Mettre à jour la liste des packages :

Nous pouvons maintenant installer Kodi avec la commande apt-get ou aptitude :

Par défaut, l’utilsateur qui executera Kodi sera…kodi. Mais si vous voulez changer cela, il faudra que votre utilisateur soit dans les groupes suivant :
audio video input dialout plugdev tty
Ajouter le user kodi au group input :

On configure encore les droits des tty au groupe existant (sinon votre clavier ne focntionnera pas sous Kodi) en ajoutant la ligne /etc/udev/rules.d/99-input.rules:

Il ne reste plus qu’à verifier la mémoire GPU dans le fichier /boot/config.txt:

Pour activer le démarrage automatique de Kodi, il faut modifier le fichier /etc/default/kodi :

 Raspbian et Kodi sur Raspberry

Et voilà, votre Raspberry est prêtre, vous pouvez la rebooter et configurer votre Kodi, ce mediacenter libre et gratuit.
Adieu XBMC, qui a tiré un trait sur son héritable lié à la Xbox, car XBMC c’était l’acronyme de Xbox Media Center. Maintenant, vous avec une framboise multimédia que vous pourrez transporter où bon vous semblera. Amusez-vous bien.

Ma framboise en digital

Nos framboises ne disposant pas d’entrées digitales, le seul moyen de faire des lectures analogiques est d’utiliser un ADC (ADC signifie « Analog to Digital Converter » autrement dit « Convertisseur Analogique vers Digital »).
Petit defaut du Raspberry, il est purement digital a contrario des Arduino, AVR ou microcontroleur qui eux disposent souvent d’au moins  6 entrées analogiques.

Les entrées analogiques sont pratiques parce que beaucoup de sondes utilisent des sorties analogiques (photorésistance, des senseurs de forces, des potentiomètres ou des résistances sensibles à la chaleur, etc…), il est donc important de faire en sorte que le Raspberry soit aussi capable de faire des lectures analogiques, même si celles-ci sont assez souvent moins précises.

Cela est donc possible en connectant une puce MCP3008 sur notre framboise comme je l’ai fait avec la sonde température LM35.
Le MCP3008 agit donc comme un « pont » entre le monde digital et analogique. Il dispose de 8 entrées analogiques que notre Raspberry peut « lire » en utilisant seulement 4 pins digitales.

 

mcp3008mcp3008-tech

Pour pouvoir lire des données analogiques nous devons utiliser les broches suivantes pour alimenter la puce MCP3008:

  • VDD (alimentation),
  • DGND (digital ground, masse digitale).

Nous avons aussi besoin de 4 broches/pins pour les données ‘SPI’:

  • DOUT: broche « Data Out », sortie de donnée de la puce MCP3008,
  • CLK : broche « Clock » pour le signal d’horloge,
  • DIN : broche « Data In », entrée des données dans la puce MCP3008, données provenant du Raspberry Pi,
  • /CS : broche « Chip Select », qui permet d’activer la puce.

Les sources de donnée analogiques sont quant à elles reliées au pin CHx.

Le MCP3008 a quelques broches complémentaires qui doivent aussi être connectées:

  • AGND: (analog ground, masse analogique), broche quelque-fois utilisées dans les montages de précision.
  • VREF: tension de référence. Utilisée pour changer l’échelle de mesure de la tension.
    Comme nous désirons une mesure sur l’échelle complète, nous raccordons VREF à 3.3V

Un thermomètre pour ma framboise

Encore un autre morceau de PYTHON pour ne pas le perdre.
Cette fois ci, il s’agit d’une sonde température LM35.
En terme de sonde température, nous avons le choix entre de l’analogique (le cas du LM36, LM36…) et du digital (DS18B20, DS1621…).
Or, notre framboise ne fait que du digital… Pour exploiter l’analogique, il faut un MCP3008 qui permet d’ajouter 8 sondes analogiques en utilisant que 4 pin GPIO.

A terme, je conseille d’opter pour le digital, plus précis et plus simple, mais en attendant, rien ne nous empêche de faire mumuse, et surtout de se faire la main sur le MCP3008… Coté câblage, nous avons donc ceci :

babyroom_lm35

Coté code, c’est la dessous :

bla

Ma framboise surveille la porte

Mon second code en PYTHON. Il s’agit de la mise en place d’un détecteur d’ouverture de porte.

Le montage est encore plus simple que celui du détecteur de mouvements :

babyroom_intrusion