Archives par étiquette : pi

Amazon Dash-buttons : un script multi-boutons

Vous avez déjà pensé à détourner un bouton Dash fourni par Amazon ? En promo actuellement à moins de 2 €, il ne faut pas se priver, surtout pas.

Une fois le bouton reçu, rendez-vous sur https://github.com/hortinstein/node-dash-button pour découvrir comment le préparer, comment installer les différents modules de détection sur un Raspberry Pi par exemple.

Ceci fait, voici un exemple de script js permettant de lancer un script bash en fonction du bouton pressé :

var shell = require('shelljs');
var dash_button = require('node-dash-button');
var dash = dash_button(["50:f5:da:a4:c4:80","18:74:2e:b5:c7:80","fc:65:de:4f:50:80"], null, null, 'all'); //address from step above
dash.on("detected", function (dash_id){

// allumage salon
    if (dash_id === "50:f5:da:a4:c4:80"){
        shell.exec('sh /home/pi/salon_on.sh &');

// extinction generale
    } else if (dash_id === "18:74:2e:b5:c7:80"){
        shell.exec('/usr/bin/python /home/pi/remote.py alloff 0 &');

// allumage cuisine
    } else if (dash_id === "fc:65:de:4f:50:80"){
        shell.exec('/usr/bin/python /home/pi/remote.py ledcuisine 1 &');
}
});

Ici, selon le bouton nous allons venir allumer une lampe dans le salon avec le script salon_on.sh ou commander un autre script pour une extinction générale, voir juste allumer la cuisine. Bien entendu, vous adapterez en fonction de vos scripts, de vos besoins.

Antenne ADS-B maison ou pro ? comparons…

Suite des amusements avec la réception ADS-B et notre p’tit Raspberry Pi, avec ce matin l’essai d’une antenne professionnelle, achetée pour environ 65 € et mon antenne maison réalisée pour une vingtaine d’Euros à tout casser.

Je vous laisse découvrir la couverture des deux antennes :

adbs maison

Antenne « maison »

adbs-pro

Antenne du commerce

Et là, un certain sentiment de fierté m’envahit : mon antenne « maison » a été réalisée en quelques minutes, avec du coaxial de récupération qui trainait au garage depuis des années, et elle fonctionne tout aussi bien que la version commerciale ! YES ! 😉

Pour finir, je vous invite à lire le billet de François MOCQ qui détaille parfaitement l’ADS-B sur Framboise 314 (un site à ne pas oublier si vous aimez le Raspberry, entre nous soit dit) et reprend une partie des essais réalisés sur Blogwifi.fr.

Raspberry : réception 433 MHz en tâche de fond avec 433Utils

Problématique du jour : comment utiliser le petit module de réception 433 MHz sur le Raspberry Pi, sans être pour autant coincé sur la seule réception ?

raspberry433

En bas à droite, récepteur 433 MHz

Je m’explique : ce petit récepteur est installé avec les outils 433Utils (procédure d’installation sur ce billet). Pour recevoir un code 433 MHz, la solution de base était de le récupérer via une simple commande :

sudo ./RFSniffer

chaque code reçu était alors affiché à l’écran du terminal, une méthode totalement inexploitable pour venir détecter le code, le comparer à une liste, et lancer des actions appropriées. Par exemple, je reçois le code 12345, je détecte qu’il s’agit de mon alarme incendie, je peux donc envoyer un email d’alerte. Avec le RFSniffer actuel, c’est impossible !

Nous allons donc légèrement modifier ce RFSniffer pour qu’il vienne enregistrer le code reçu dans un bête fichier .txt :

sudo su
nano ./RFSniffer.cpp

et modifions la partie qui se trouve sous } else:

//
// Sauvegarde du code recu dans /home/pi/recu.txt
//
          FILE *f = fopen(« /home/pi/recu.txt », « w »);
fprintf(f, « %i », value );
//
// Supprimez ou commentez la ligne ci dessous pour n avoir aucun affichage
//
//          printf(« recu %i/n », value );
          fclose(f);

Lançons maintenant RFSniffer en tâche de fond :

./RFSniffer &

Il fonctionnera en permanence, et désormais tout code reçu se trouvera dans /home/pi/recu.txt, à vous alors de venir le récupérer. Si vous souhaitez interrompre RFSniffer, pensez à noter le nombre indiqué lors de son lancement en tâche de fond :

root@raspberrypi:~/433Utils/RPi_utils# ./RFSniffer &
[2] 2578
root@raspberrypi:~/433Utils/RPi_utils#

2578 ici, nous allons donc supprimer la tâche avec :

kill 2578

Si vous avez zappé ce nombre, exécutez la commande :

ps

et observez le résultat :

root@raspberrypi:~/433Utils/RPi_utils# ps
PID TTY          TIME CMD
2120 pts/0    00:00:00 sudo
2121 pts/0    00:00:00 su
2122 pts/0    00:00:01 bash
2578 pts/0    00:00:02 RFSniffer
2581 pts/0    00:00:00 ps
root@raspberrypi:~/433Utils/RPi_utils#

On identifie le processus RFSniffer, et son numéro de tâche : 2578 ! Simple non ? 🙂

CONCLUSION :

Il ne vous reste désormais plus qu’à écrire un script avec une boucle lisant /home/pi/recu.txt et exécutant certaines commandes selon le code reçu, et à lancer RFSniffer au démarrage de la Framboise bien entendu.

Au boulot 🙂