Script Bash / Shell – Plugwise Sqlite

Un extrait de code contenant la sauvegarde de la consommation de mes différentes prises plugwise en base de données :


#!/bin/bash
var=$(python /home/python-plugwise/plugwise_util -d /dev/ttyUSB0 -m 000D6F0000729339 -p)
sqlite3 /home/SqliteDatabase/Plugwise/plug.db "insert into T_PLUG_CONSUMPTION (PLUG_NM_ID,PLUG_DT_CREATED,PLUG_FL_CONSUMPTION) values ('000D6F0000729339',DATETIME('NOW'),'$var$")

Il ne vous reste plus qu’a paramétrer votre rcon 😉

Publication d’une application android sur google play / google market

Quelques mots sur la publication d’une application android sur le market. Nous prendrons le cas d’une application réalisé en flex dans cet article !

1) Compiler votre APK, ensuite signer le !

Apache flex vous permettra d’effectuer ceci lors de l’exportation vers une version validée. Vous pourrez à ce moment créer votre propre certificat certifiant l’authentification de votre application sur le store.

Je vous invite à suivre ce très bon tuto sur le site d’adobe :
Signer votre application flex.

2) Une fois votre apk généré et avoir créer votre compte, envoyer votre fichier apk sur google play, 2 printscreen de votre application ainsi que votre png représentant la première page d’accueil seront nécessaires !

3) Valider votre envoi et ensuite Patienter !!!!!!!!!!!!!!!!!!!!

Publication lente android market :

La publication sur les serveurs de google peut prendre jusqu’à une heure ! Nous pourrons reprocher à google le manque de transparence sur le statut du déploiement de l’application …

N’oubliez pas si vous publiez votre application gratuitement, elle ne pourra en aucun cas devenir payante par la suite …

Plugwise debian – Linksys nslu2

Contrôler la consommation de vos appareils électriques sous linux !

Voici quelques lignes afin d’installer un module plugwise sous debian.

L’installation se fera sur un linksys nslu2. Afin d’installer linux debian sur votre nslu je vous redirige vers http://www.cyrius.com/debian/nslu2/.

Une fois votre système installé connectez-vous en ssh et tappez les lignes suivantes :

hg clone https://bitbucket.org/hadara/python-plugwise
cd python-plugwise
sudo python setup.py install

Les paquets nécessaires à l’installation sont :

apt-get install mercurial
apt-get install python-setuptools

Lorsque vous aurez installer l’ensemble des packets vous pouvez simplement vérifier la consommation d’un de vos appareils grâce à la commande :

python plugwise_util -d /dev/ttyUSB1 -m 000D6F00009966D5 -p

-d -> vérifier l’adresse de votre clé usb ( cat /dev/tty… )
-m -> adresse « mac » de votre prise

Il ne vous reste plus qu’a créer quelques lignes afin d’exécuter la tâche de manière régulière, pour ma part toutes les minutes, l’ensemble des données sont stockées dans une base de données sql, le tout bien accessible sur mon site.

Vos liens domotique sont les bienvenus !

Un super logiciel météo

Je vous présente un petit logiciel tournant sous linux vous permettant d’enregistrer la météo chez vous de tous les jours, au sein d’une base de données Sqlite.

Matériel nécessaire :

Une station météo oregon de préférence, c’est ce que vous trouverez le plus facilement ici en Belgique !

Une bonne dose de patience afin de l’installer correctement sous linux !

Vous obtiendrez si tout va bien ceci :

Tout ce petit monde peut tourner sans trop de soucis sur un petit boitier linksys ( un bon vieux NSLU2 fait parfaitement l’affaire ! ).

Toutes les données sont sauvegardées et visibles à souhait, jour par jour …

Un peu de debug javascript …

Un petit bout de code afin de changer facilement vos images lors d’un survol de la souris …

function changeImages() {
if (document.images && (preloadFlag == true)) {
for (var i=0; i

Un simple appel à la fonction en spécifiant les 2 paramètres ( id composant / images ).

NSLU2 -> OpentWRT Webcam WebAccess

Vous ne savez plus quoi faire de vos anciennes webcam USB ?

VOus pouvez facilement les transformer en caméras ip grâce au firmware DD-WRT groupé avec le logiciel MJPG_STREAMER.

Ce logiciel est compatible avec une large gamme de webcam à condition d’avoir le module pour votre noyau.

Voici une documentation complète sur le logiciel : Voir la doc

Afin de vous faciliter la vie je vous conseille ce firmware contenant déjà un openwrt avec le bon logiciel ! ( Attention il date un peu le mieux est de télécharger le dernier firmware sur le site de openwrt pour le nslu ! )

http://www.mediafire.com/?zgzvbjnwvmd

Sources : http://johnarthur.wordpress.com/2008/03/25/a-high-resolution-ip-webcam/

P.S :
– Vérifiez bien la présence de la ligne /dev/video0 ou /video1 avant de lancer la commande suivante ! Si votre webcam n’est pas enregistrée dans les /dev ça ne fonctionnera pas !

Commande pour exécuter le programme :

mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 960×720" -o "output_http.so -p 80 -w /webcam_www"

NSLU2 -> Redboot / Recovery From Bad Flash

Un petit tuto au cas ou vous auriez perdu l’accès à votre nlsu :

Lancé tout d’abords une console à l’aide de putty en mode telnet :

Adresse IP : 192.168.0.1 ( même si votre nslu possédait une autre IP, redboot utilisé celle-ci par défaut ).
PORT : 9000

Ensuite il suffit simplement de maintenir enfoncé le bouton reset à l’arrière de votre appareil, brancher le cordon d’alimentation et ensuite presser le bouton power.

Attendre quelques secondes et une ligne RedBOOT apparaitra !

De là il vous reste à spécifier le serveur TFTP ( http://tftpd32.jounin.net/ ) contenant l’image et envoyer le firmware vers celui-ci.

ip_address -h 192.168.0.99

et envoyer le firmware :
load -r -v -b 0x01000000 -h 192.168.0.99 NSLU2_V23R25.bin

Voila patienter quelques minutes, un bon restart et tout reviendra dans l’ordre !

C# Crypter / Décrypter une chaîne de caractères

Voici rapidement une petite fonction en c# afin de crypter et décrypter vos chaines de caractères :

public static string Encrypt(string original)
{

MD5CryptoServiceProvider hashMd5 = new MD5CryptoServiceProvider();
byte[] passwordHash = hashMd5.ComputeHash(
UnicodeEncoding.Unicode.GetBytes(password));

TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
des.Key = passwordHash;

des.Mode = CipherMode.ECB;

byte[] buffer = UnicodeEncoding.Unicode.GetBytes(original);

return UnicodeEncoding.Unicode.GetString(
des.CreateEncryptor().TransformFinalBlock(buffer, 0, buffer.Length));

}


public static String Decrypt(String StringToDecrypt){
String StringDecrypted = "";
MD5CryptoServiceProvider hashMd5 = new MD5CryptoServiceProvider();
byte[] passwordHash = hashMd5.ComputeHash(
UnicodeEncoding.Unicode.GetBytes(password));

TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
des.Key = passwordHash;
des.Mode = CipherMode.ECB;

byte[] buffer = UnicodeEncoding.Unicode.GetBytes(StringToDecrypt);
StringDecrypted = UnicodeEncoding.Unicode.GetString(
des.CreateDecryptor().TransformFinalBlock(buffer, 0, buffer.Length));

return StringDecrypted;

}

Ne pas oublier de spécifier la clé pour le cryptage 😉

Cette méthode n’est surement pas infaible mais permet de cacher des données facilement dans un fichier 🙂

Easy Vote – Php/Mysql

Voici un extrait de code en PHP réalisé lors de ma troisième année.

Création de sondage en ligne / Edition / Suppression.

Gestion des votes par Cookie ( Ecriture / Lecture ).

Le tout est connecté à une petite base de données en Mysql.

EasyShop -> Publication de mon Rapport de Fin d’études

Vous trouverez en annexe une version de mon travail final au format word.

Celle-ci reprend les différents éléments d’analyse qui m’ont mené à la réalisation du projet.