mardi 26 novembre 2013

Sauver les messages video skype sous mac os

Il arrive que l'on veuille sauver un message video sur skype.
Cette fonctionalite n'est pas disponible encore par defaut.

En faisant une petite recherche google, il est possible de trouver diverses methodes, qui requierent cependant quelques manipulations.

Voici un "one liner" permettant d'automatiser la procedure:


let x=0;for db in Library/Application\ Support/Skype/*/main.db;do sqlite3 "$db" 'select vod_path from VideoMessages;'|while read url;do curl -# "$url" > video$x.mov;let x=x+1;done;done


jeudi 5 septembre 2013

interface OBD II sous ubuntu

Récemment, j'ai eu quelques problèmes avec la Scenic 2 familiale.
Bon, récemment, mais aussi moins récemment.
Comme les voitures sont aujourd'hui remplies d’électronique, il faut pouvoir s’équiper pour diagnostiquer. En effet, les messages affiches au tableau de bord donne un type de problème, mais pas le problème précis.

J'ai donc acquis une interface OBD II (On Board Diagnostic 2), avec interface USB, cela pour moins de 10euros, port compris, chez eBay, made in china bien évidemment, mais envoyé du royaume uni, ce qui évite les problèmes de TVA.

J'utilise Ubuntu (13.04), et l'outil scantool fait partie des dépôts standard, super !

Bon, un petit test "a la main" pour voir si cela fonctionne...
Branchement du port USB.
> dmesg
[683242.796058] usb 2-5: new full-speed USB device number 8 using ohci_hcd
[683243.011695] usb 2-5: New USB device found, idVendor=10c4, idProduct=ea60
[683243.011703] usb 2-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[683243.011708] usb 2-5: Product: CP2102 USB to UART Bridge Controller
[683243.011713] usb 2-5: Manufacturer: Silicon Labs
[683243.011717] usb 2-5: SerialNumber: 0001
[683243.763122] usbcore: registered new interface driver usbserial
[683243.763444] usbcore: registered new interface driver usbserial_generic
[683243.763745] usbserial: USB Serial support registered for generic
[683243.775514] usbcore: registered new interface driver cp210x
[683243.777062] usbserial: USB Serial support registered for cp210x
[683243.777144] cp210x 2-5:1.0: cp210x converter detected
[683243.952059] usb 2-5: reset full-speed USB device number 8 using ohci_hcd
[683244.158926] usb 2-5: cp210x converter now attached to ttyUSB0
Bon, très bien.

Lors de l'achat, il etait ecrit: version 1.5.
Les datasheets des ELM327 peuvent être trouvées ici:
http://www.elmelectronics.com/dsheets.html
Une liste courte des commandes AT est ici:
http://elmelectronics.com/ELM327/AT_Commands.pdf
Suivons la procédure décrite ici pour déterminer la version:
$ screen /dev/ttyUSB0 38400
> AT L1                       -> aller a la ligne
OK
> AT I                        -> information
ELM327 v1.5
>ATKW0                        -> test pour v1.2
OK
>ATS0                         -> test pour 1.3
OK
>ATFE                         -> test pour 1.3a
OK
>ATSS                         -> test pour 1.4
OK
>ATCSM1                       -> test pour 1.4b
?
>ATAMT 40                     -> test pour 2.0
?
Malgré l'affichage de 1.5, cela correspondrait à une 1.4 .



References:
http://www.outilsobdfacile.fr/interface-diagnostic-elm-327.php#tips
http://codeseekah.com/2012/02/22/elm327-to-rs232-in-linux/

vendredi 23 août 2013

commander des volets roulants bubendorf moteur MG avec knx

Lorsque j'ai commandé les volets roulants pour la maison, le projet knx n'était pas très avancé.
J'avais le choix entre des moteurs Somfy "traditionnels", c'est à dire à 3 fils, ou bien des moteurs bubendorf à 4 fils.
Sans entrer dans les détails techniques, les principales différences qui m'étaient présentées étaient:
- Bubendorf: garantie 7 ans, possibilite de centralisation
- Somfy: traditionnel

Je sentais bien qu'une intelligence trop grande des moteurs pourraient être néfaste à la deporter dans la domotique, mais bon, la garantie 7 ans m'a convaincue.

Avec le recul, je ne suis pas sur ni d'avoir fait un bon ou un mauvais choix, je suis mitigé.

J'ai choisi le système Hager: mon tableau comporte 80% de Hager, car j'ai eu un bon prix sur un lot du bon coin.
Pour KNX j'etais parti sur des systemes knx un peu moins chers mais qui fonctionnent bien, des equipements eibmarkt, weinzierl.
Il existe des actionneurs knx pour volets roulants (TXA223, TXA224), cependant ces systèmes ne contrôlent que des VR a contact permanent.

C'est la que les details techniques interviennent.
Le moteur traditionnel est a 3 fils: un neutre et deux phases (montee , descente), a contact permanent (sur une des phases).
Le moteur MG est a 4 fils: un neutre, une phase permanente, deux commandes a contact furtif pour la montee et la descente.
Le moteur est donc alimente en permanence, et la consommation n'est pas negligeable, ce qui n'est pas le cas pour du traditionnel.
Ceci s'explique par le fait que la centralisation des moteurs MG se fait par une commande par courant porteur propriétaire bubendorf. C'est bien pour une installation traditionnelle (non domotique), cela est trop complexe à mon goût pour une installation knx (trop de systèmes différents à intégrer).

Physiquement, on installera des boutons types "va et viens" pour le traditionnel, et des boutons type "poussoir" pour le bubendorf.

Il existe un systeme Hager pour commander les MG, mais c'est un peu tiré par les cheveux, car cela passe par une commande radio, il me faudrait donc faire fil-radio-fil et passer par le CPL...

Donc pour l'instant, j'ai fait une installation simple: boutons poussoirs pour commander les VR qui actionnent des actionneurs KNX simple, type "bouton" (1.001).
Cela ne me permet pas d'avoir toutes les fonctionalites d'un actionneur de type TXA223, mais cela me permet de commander les volets simplement.
J'utilise un actionneur eibmarkt 12.16 pour commander 6 VR, et un TXA208Ca2 pour commander les 4 restants, il faut bien sur 2 boutons pour un VR.

Pour ce qui est de l'interface knxweb2: le widget "bouton" n’était pas adapté à ce type de commande, puisqu’il n'envoie un ordre que sur le "click", mais il me faut un contact furtif, avec un "on" sur l’appui, et un off sur le lâcher du bouton de la souris. j'ai donc développé un widget adéquat avec l'aide de Anthony Penhard.

Je peux donc dorénavant commander les VR moteur MG avec knxweb2...

Demarrage automatique de linknx et eibd sur ubuntu 13.04

L'installation KNX est maintenant avancée, et le prototype du départ sert pour la maison.

Il s'agit donc que les demons demarrent seuls lors d'un reboot de la machine, en attendant l'installation sur un raspberry pi.

J'ai choisi upstart, qui est le systeme standard d'ubuntu maintenant.

Il suffit de créer deux fichiers de demarrage:

pour linknx: linknx.conf
# linknx upstart script
# this script will start/stop linknx
description "start and stop linknx"
version "1.0"
author "Laurent Martin"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
respawn limit 10 5
console log
setuid <knxuser>
setgid <knxuser>
exec LD_LIBRARY_PATH=<knxpath>/local/lib <knxpath>/local/bin/linknx --config=<knxpath>/linknx.xml --write

pour eibd: eibd.conf
# eibd upstart script
# this script will start/stop eibd
description "start and stop eibd"
version "1.0"
author "Laurent Martin"

start on started linknx
stop on stopping linknx

respawn
respawn limit 10 5

console log

setuid
<knxuser>
setgid <knxuser>

exec
<knxpath>/local/bin/eibd --Discovery --Tunnelling --Routing --Server --listen-tcp --listen-local --trace=256 ipt:<ipgw>:3671

remplacer ces valeurs par les votres:
<knxuser> l'utilisateur qui exécute les demons, il est preferable que ce ne soit pas root
<knxpath> le repertoire contenant les softs knx
<ipgw> l'adresse IP de la passerelle KNX/IP, dans mon cas: 192.168.0.111

il suffit alors de copier ces fichiers dans /etc/init:
sudo cp linknx.conf eibd.conf /etc/init
et de demarrer:
sudo initctl start linknx
ceci va démarrer les 2 car il y a une dépendance de linknx sur eibd

au prochain reboot les 2 démons démarrent automatiquement.