Voici une mise à jour du tuto initial, le projet electricowl ayant sortit un pilote pour le owl, il est maintenant plus facile d’installer les pilotes.
1ère PARTIE Préparation du RaspBerry
Matériel :
- 1 Raspberry PI avec 4 Go pour la SD minimum
- 1 Owl USB CM160
- 1 Lecteur de Carte SD
Logiciels :
Télécharger l’image Raspbian « Wheezy », maintenant préparons le Raspberry à l’aide d’un lecteur de carte SD et d’une carte SD (désolé déformation professionnelle, c’est pour éviter la question je fais quoi avec le lecteur ?)
Lancez le logiciel Win32diskimager, cliquez sur l’icone du dossier, sélectionnez votre image raspbian (ici 2013-07-26-wheezy-raspbian.img), choisissez la lettre du lecteur de la carte SD (ATTENTION !) dans la liste déroulante Device, puis cliquez enfin sur le bouton Write et patientez, voila il ne reste plus qu’a mettre la SD dans ….. le RaspBerry bien sur.
Branchez au choix :
- un clavier et une souris plus un écran (optionnel le réseau)
- ou simplement branchez le câble réseau
Connectez vous au raspberry :
Par défaut l’utilisateur : pi & le pass : raspberry
1 – Configurez le Raspberry :
sudo raspi−config
J’ai juste utilisé les deux options suivantes :
- expand_rootfs
- configure_keyboard
Pour l’option expand_rootfs, j’ai redémarré immédiatement après, le raspberry pi mettra un petit moment avant d’être accessible, il faudra patienter ! 🙂
2 – Installation du driver cm210x (electricowl)
ces commandes se feront à partir de l’utilisateur pi !
cd /home/pi
wget http://sourceforge.net/projects/electricowl/files/v2.3/linux_cm160_driver_v0.1.tgz
tar zxvf linux_cm160_driver_v0.1.tgz
cd /linux_cm160_driver/raspberrypi_cp210x_driver/2013−02−09−wheezy−raspbian/
./build.sh
Un petit redémarrage
sudo reboot
Ensuite nous vérifions que le pilote est bien activé :
lsmod | grep cp210x
qui me donne comme résultat :
cp210x 11244 1
usbserial 34545 3 cp210x
Si ce n’est pas le cas, pour l’ajouter au démarrage :
sudo bash
pico /etc/modules
ajoutez cp210x à la fin. (ctrl + x, puis o pour oui et touche entrée bande de naab !)
sudo reboot
Maintenant nous allons installer l’essentiel pour le cm160server, à savoir python et java :
sudo apt-get install python-serial
sudo apt-get install openjdk-7-jdk
Nous passons maintenant au serveur cm160server :
cd /home/pi
wget http://sourceforge.net/projects/electricowl/files/v2.3/electricowl_2.3.tgz
tar zxvf electricowl_2.3.tgz
cd /electricowl_2.3.tgz
sudo ./install.sh
5 Fonctionnement du cm160server :
En fonction de l’utilisateur qui a lancé l’application (ici pi), cm160server créer une base de données sqlite par défaut dans /home/pi/ ayant pour nom cm160_data.db
INFO: −f : Followed by the sqlite DB file to log sensor
INFO: data (default=/home/pi/cm160_data.db).
INFO: −p : Followed by the server port (default=12745).
INFO: −s : Followed by the serial port to check for the
INFO: OWL+USB (CM160) device.
INFO: If not supplied then a search for a connected
INFO: OWL+USB (CM160) device is performed.
INFO: −r: Read data from the database and display on stdout. If −i/−l
INFO: arguments are not supplied then the entire database is displayed.
INFO: −i: Followed by the inital date/time. Only used if the −r argument
INFO: is provided.
INFO: Format of date time may be
INFO: dd/mm/yyyy or
INFO: hh:mi:dd/mm/yyyy
INFO: −l: Followed by the last date/time. Only used if the −r argument
INFO: is provided (same format as used for the −i argument).
INFO: −t: Forward the data from the sqlite database to a text file
INFO: named as per the sqlite DB, but with .txt extension
INFO: added. This is provided to allow user scripts to parse the
INFO: text file.
INFO: −o: Display data (when −r or −t arguments are used) in old compatible
INFO: mode format. This was the original output format for CM160
INFO: data and is retained only because some users have developed
INFO: scripts that parse data in this format.
INFO: −q : Quiet mode. No text is sent to stdout in this mode.
INFO: −d: Debug on. Send extra debug text to stdout if not in quiet mode.
INFO: −h : Display this help text.
Cependant il reste encore un problème, il faut lancer cm160server à partir de l’utilisateur dès le démarrage du système avec l’option -t, allons régler ce problème :
6 – Démarrer cm160server à chaque redémarrage avec l’utilisateur pi :
Il faut tout d’abord créer un fichier sh dans le home de pi :
cd /home/pi/
> cm160server_script.sh
pico cm160server_script.sh
Nous insérons dans le fichier cm160server_script.sh la ligne suivante :
cm160server -t
Nous refermons le fichier (Ctrl + x, tapez o, puis touche entrée), maintenant il faut rendre exécutable ce fichier :
sudo chmod +x /home/pi/cm160server_script.sh
Il faut ajouter ajouter ce fichier au démarrage :
sudo pico /etc/rc.local
Ajoutez la ligne suivante avant le exit 0
sudo -u pi /home/pi/cm160server_script.sh
Nous refermons le fichier (Ctrl + x, tapez o, puis touche entrée), puis nous lançons un reboot :
sudo reboot
On vérifie si le cm160server est bien lancé (perso je n’ai plus cm160server d’affiché mais le fichier data cm160_data.db.txt & cm160_data.db s’incrémentent sans soucis) :
top | grep pi
Voila nous avons notre raspberry py qui récupère les data automatiquement à chaque reboot, c’est pas émouvant !
Pour la partie 2 de ce tuto, nous récupérerons les données du fichier cm160_data.db.txt à partir d’un fichier php en cron pour injecter la dernière mesure de l’OWL sur emoncms, ce qui doit nous donner ceci :
Je rajouterai que si l’option « lsmod | grep cp210x » ne renvoi rien, on doit pouvoir charger le module manuellement avec la commande « modprobe cp210x », et eventuellement le décharger avec la commande « modprobe -r cp210x »..
where is the TUTO Partie 2 ?
it´s online ?