Comment changer la pile de la télécommande Nice Flor-S

En passant

Quand tu galères,
Quand tu lis pas les notices,
Tu regardes une vidéo bien pratique.

 

Synchroniser ses scripts avec bitbucket.

Salut lecteur de passage,

Aujourd’hui, j’ai placé mes scripts domoticz sur un serveur d’hébergement gratuit de code source. Je ne suis pas devenu un cador du développement qui souhaite monter une équipe autour de son projet, mais je voulais plutôt avoir un endroit où se synchronisent mes fichiers pour les modifier facilement.

J’ai opté pour la solution https://bitbucket.org/ qui propose un hébergement gratuit comprenant un nombre illimité de dépots privés avec 5 collaborateurs max si vous êtes plusieurs sur un projet.

Après la création du compte, il faut s’occuper des clés SSH pour le transfert entre la plateforme et le raspberry (dans mon cas). L’utilisation de SSH évite l’invite de mot de passe lorsque vous poussez du code vers Bitbucket. Je vous invite à lire le tuto sur leur site sur la création de la clé RSA.

Je reprends ici les éléments les plus importants à partir du chapitre n°3 de leur tuto.

Dans une console sur votre rapsberry, tapez : ssh-keygen

key

D’une fois que c’est fait, retourner sur votre compte bitbuket puis:

1- Cliquez sur votre avatar en haut à droite de la page.

2- Gérer le compte.

3- Clés SSH dans le menu de gauche

4- Ajouter une cléclé

Retour sur la console et taper la commande :

cat ~/.ssh/id_rsa.pub

Ceci va afficher votre clé qui vous allez copier / coller dans la fenêtrebit

Et hop, on valide avec Add Key

Ensuite, il faut créer son premier dépôt.

new_dep

Retour sur la console et dans mon cas, je voulais synchroniser tous mes répertoires situés dans /home/pi/domoticz/scripts. Le problème est lié au fait que certains ne peuvent pas être copiés (avec le compte pi) et pis de toute façon les autres je m’en balance. Alors il faut faire le tri et ne sélectionner que les répertoires qui vous intéressent.

liste

Pour mémoire, voici mes commandes :

git init

puis 

git config --global user.name "Prénom Nom"
git config --global user.email "monmail@free.fr" 
git add SUIVI DU NOM DU RÉPERTOIRE 1 A SYNCHO
git add SUIVI DU NOM DU RÉPERTOIRE 2 A SYNCHO
git add SUIVI DU NOM DU RÉPERTOIRE ETC A SYNCHO

git commit -m "Ajout des premiers répertoires"

git push -u origin master

Quelques secondes après, les répertoires et fichiers apparaissent sur le bitbucket.

scripts

Bonne semaine 🙂

 

 

Il est temps de mettre de l’ordre

Humeur du moment

Bonjour à tous,

Je me rends compte qu’avec le temps, ce cahier de brouillon est vraiment brouillon. Beaucoup d’exemples ont des pages qui n’aboutissent alors que le projet en lui même fonctionne bien. Mes premiers scripts tournent toujours mais mon projet est maintenant totalement orienté sur domoticz.

Là dessus, quelques liens défaillants rendent la lecture difficile. Il est temps de mettre de l’ordre là dedans. Malgré tout, je vois que pas mal de nouveaux utilisateurs viennent se perdre ici. 🙂

day+ de 60% de taux de rebond…. ah ahnewDonc, je vais mettre un coup de propre là dedans et dans quelques jours le cahier de brouillon sera plus lisible enfin j’espère .

Bon dimanche

Sauvegarde de sa carte SD vers freebox v6

Bonjour visiteur de passage, je sais je t’ai manqué…

Oui je sais je ne suis pas très assidu mais c’est pas grave…

Pour ceux qui utilisent un raspberry pi, vous savez à quel point les cycles d’écritures sur les carte SD peuvent finir par endommager définitivement, votre serveur domotique perso. Il existe un certain nombre d’articles sur le sujet qui vous démonte la possibilité de faire tourner votre système sur un disque externe tout en concevant une carte SD pour le boot. Mais si tout comme moi, vous n’en faites qu’a votre tête, une sauvegarde complète de votre carte SD n’est pas du luxe.

L’article d’aujourd’hui porte sur la sauvegarde complète de votre carte SD sur une freebox (V6) parce que je n’ai que ça sous la main et que ça marche bien avec l’envoi d’un sms avant et après la copie grâce au service d’envoi de sms de free mobile. Oui je sais si t’a free t’as tout compris).

Bref, allons à l’essentiel:

Les pré-requis:

– une freebox V6 mais avec un peu d’huile de coude le script doit pouvoir s’adapter.

– une installation (domoticz dans mon cas) sur laquelle vous avez passé beaucoup de temps et que la simple sauvegarde des répertoires ne permet pas une remise en service rapide.

– un abonnement free mobile permettant l’envoi de sms gratos sur votre portable préféré.

Fixons une fois pour toute un élément incontournable. La taille du disque de stockage de votre freebox doit être supérieure à la taille de votre carte SD même si le fichier issu de la copie sera compressé.

On commence:

On se connecte comme d’hab au raspberry pi. Puis rendez vous à l’endroit où vous stockez vos scripts. Mon coté psychorigide me fait ranger mes scripts par type (bash, python etc). Dans mon cas, les scripts shell se trouvent ici

/home/pi/domoticz/scripts/shell

J’ai également pour habitude de créer un fichier de configuration qui regroupe les identifiants et mots de passe. Ainsi, le jour où je change, je ne suis pas obligé de me repalucher tout le code.

nano include_passwd

Puis, on ajoute ses petites informations perso: On sauvegarde avec un CTRL x

user='IdentifiantFreeMobile' ; export user
pass='motDePasseFreeMobile' ; export pass

user_box='admin' ; export user_box
pass_box='MotDePasseFreeBox' ; export pass_box

Next Step:

Création du répertoire de montage

sudo mkdir /mnt/freebox

Bien entendu, si vous souhaitez mettre un autre nom, mettez ce qui vous chante mais vous devrez modifier le script qui suit.

Ensuite on tape la commande pour identifier le lecteur correspondant à la carte SD.

sudo fdisk -l

fdisk

On note très clairement le nom de la carte SD ‘mmcblk0’, notez ça quelque part ça va servir.

Dernière chose, la création de son répertoire de stockage sur sa freebox. On se connecte en tapant mafreebox.free.fr dans votre navigateur préféré puis sur Explorateur de fichier (accessible après authentification, le même password que vous avez tapé dans le fichier include_passwd).

Déroulez les emplacements et créer un répertoire Backup_img ou tout autre chose qui vous parle. N’oubliez pas de modifier cela dans le script image.sh décrit plus bas.

Allez zou, on met tout ça en boite dans le script suivant :

nano image.sh

#!/bin/sh
#############
#
# Script de sauvegarde de l'image complète du serveur Domoticz sur une Freebox V6
# Transmission d un SMS avant et après l'opération
#
# José - JANVIER 2015
#
#############

. ./home/pi/domoticz/scripts/shell/include_passwd # comprend les identifiants pour acceder à la freebox et transmission des SMS via FreeMobile

# Formatage de la date debut et de l'heure
DATE_DEBUT=`date +%d-%m-%Y`
H_DEPART=`date +%H:%M:%S`
DEBUT_EN_SEC=$(($(echo $H_DEPART | cut -d':' -f1)*3600+$(echo $H_DEPART | cut -d':' -f2)*60+$(echo $H_DEPART | cut -d':' -f3)))

# Transmission d'un premier sms
message=${DATE_DEBUT}' '$H_DEPART' Début de la sauvegarde image du serveur domoticz.'
curl -s -i -k "https://smsapi.free-mobile.fr/sendmsg?user=$user&pass=$pass&msg=$message"

# Montage de la Freebox
echo "Montage de la Freebox"
/sbin/mount.cifs //mafreebox.freebox.fr/Disque\ dur/ /mnt/freebox/ -o user=$user_box,pass=$pass_box

# Sauvegarde sur la Freebox
echo "Sauvegarde sur la Freebox"
dd if=/dev/mmcblk0 | gzip -9 > /mnt/freebox/Backup_img/srv-domoticz-${DATE_DEBUT}'-'$H_DEPART.img.gz

# Démontage de la Freebox
echo "Démontage de la Freebox"
/bin/umount /mnt/freebox

# Formatage de la date de fin et de l'heure
DATE_FIN=`date +%d-%m-%Y`
H_FIN=`date +%H:%M:%S`

# Découpe pour mise en seconde
FIN_EN_SEC=$(($(echo $H_FIN | cut -d':' -f1)*3600+$(echo $H_FIN | cut -d':' -f2)*60+$(echo $H_FIN | cut -d':' -f3)))

# Calcul de la durée d'execution
DUREE_EN_SEC=$(($FIN_EN_SEC-$DEBUT_EN_SEC))

# Remise en Heure - Minute - Seconde
DUREE_H=$(($DUREE_EN_SEC/3600))
DUREE_M=$((($DUREE_EN_SEC%3600)/60))
DUREE_S=$((($DUREE_EN_SEC%3600)%60))

# Transmission sms avec heure de fin et la durée
message=${DATE_FIN}' '$H_FIN' Fin de la sauvegarde image du serveur domoticz. Durée du traitement '$DUREE_H':'$DUREE_M':'$DUREE_S
curl -s -i -k "https://smsapi.free-mobile.fr/sendmsg?user=$user&pass=$pass&msg=$message"

Pour les adeptes du « copier coller, je lance le script tient c’est curieux ça marche pas » prenez un instant pour modifier les lignes suivantes:

Si vous avez changé le point de montage, changer son nom ici (extrait de la commande) :

/sbin/mount.cifs //mafreebox.freebox.fr/Disque\ dur/ /mnt/freebox/ .../...
ET LA
/bin/umount /mnt/freebox .../...

Pour adapter le nom de votre carte SD, modifier mmcblk0 en rouge par le nom de votre propre carte SD et Backup_img en bleu par le nom de votre répertoire de sauvegarde sur la freebox (extrait de la commande):

dd if=/dev/mmcblk0 | gzip -9 > /mnt/freebox/Backup_img/srv-domoticz .../...

[/pastacode]
Rendons maintenant ce script exploitable grâce à un chmod +x image.sh

Et tentons le premier lancement.

sudo ./image.sh

Là si tout se passe bien, vous devrier recevoir un sms indiquant le début de la sauvegarde et dans quelques temps un second sms indiquant la fin de la sauvegarde avec la durée totale du job. Dans mon cas, raspberry en RJ45 avec une carte SD de 8 Go, il faut compter 2h30 environ.

Petite astuce en cas de plantage, lancez votre script avec la commande suivante :

sudo sh +x image.sh

Vous verrez dans la console le déroulement du script avec entre autres le valeurs des variables…

Il ne reste plus qu’a gérer sa planification (crontab -e) en fonction de la place restante sur votre freebox et votre degré de paranoïa. Mais si vous êtes arrivé à ce stade de la lecture, je suis heureux de voir que je ne suis pas tout seul  🙂

Les sources :

http://blog.nicolargo.com/2013/04/raspberry-pi-faire-un-backup-de-sa-carte-sd.html

La bise