PROJET AUTOBLOG


Idleman

source: Idleman

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Le bilan de 2012

jeudi 27 décembre 2012 à 20:43

 Hey !! Voila le petit article inutile et auto-satisfaisant de la fin de l’année !! :D

En effet le blog étant parfois visités par quelques pèlerins en déroute je me sent dans l’obligation de rédiger ce petit billet afin de

vous remercier tous pour votre fidélité d’une part, mais aussi de regarder dans le rétro (c’est généralement le moment ou on se prend le platane qui était devant) de définir la headline, ce qu’elle fut et ce qu’elle est amenée à devenir afin de conserver la synergie du blog (ça y est je maitrise le pipotron, je vais me lancer dans la politique…).

 

Tout d’abord un peu de chiffre

pour me la péter  hé hé hé ! (pas de cachotterie entre nous, un bloggeur humble, ça n’existe pas)  :D

Le blog à débuté en Mai 2011 sans trop de conviction, avec ses 62 visiteurs mensuels et ses deux articles qui se battaient en duels, depuis, le chiffre n’a cessé de grimper, avec l’aide constante du grand SebSauvage, et de nombreux autres bloggeurs talentueux, et surtout de par les nombreux idlenautes, restés fidèles au poste, essayant les tempêtes de billets ennuyeux lorsqu’ils survenaient : je parle bien entendu de vous mes ptit cœurs (*kitten mode off*), bref on en est a 12 663 visiteurs unique le mois dernier, 59 594 dans l’année 2012 (sans compter ce mois de décembre) et une croissance constante bien que commençant à plafonner :p

 

image

Vous l’aurez constaté, mon logiciel de stats Piwik a beau être fantastique, il n’est pas très doué pour traiter les mois en cours (cf décembre)

 

Bref, belle croissance, je n’en espérait pas tant, merci encore de me suivre, c’est vraiment très agréable de se savoir lu, et d’autant plus agréable de recevoir vos commentaires, souvent plus consistants que les articles en eux même :)

 

Qu’avons nous vu cette année, que verrons nous demain?

Et bien, beaucoup plus de tuto, des articles plus long (mois qui m’était juré de rester succinct) et un élargissement du thème informatique avec l’arrivée de notions d’électronique, notamment avec les tutos sur le raspberry PI et les moyens de faire de la domotique à bas prix et sans trop de connaissance.

Je ne vous le cache pas, l’électronique, à mon petit niveau, me plait de plus en plus et je pense en parler d’avantage encore dans l’année à venir, j’aimerais beaucoup lancer des tutos sur les autres types de cartes/composants utiles pour les n00b de l’électronique comme moi, notamment de l’arduino, des attiny, et autres trucs funky du genre.

Et pourquoi pas un petit projet/tuto sur la création d’une imprimante 3d pour les internautes à la fois pauvre et fainéant?

Le but étant d’une part de m’adonner a une passion longtemps refoulée (par manque de connaissance surtout) et d’autre part de faire communiquer d’avantage le monde virtuel (développement) et physique (électronique/électrique (et pourquoi pas un peu de chimie qui fait boum) ), l’informatique de gestion bête et méchante m’abrutissant de jours en jours (Ma boulot est un CRUD sans fin avec quelques surprises d’un langage ou d’une entreprise à l’autre, mais rien de palpitant).

J’irais également me promener du côté plus virtuel des nouveaux serveurs(http/sgbd ou autres) en vogue, j’entends par la nodejs, lighthttpd, nginx, mongodb etc…

Comme beaucoup, j’ai beaucoup de réticence a quitter apache2 après ces longues années de collaboration avec le mammouth du web, mais je dois me rendre à l’évidence que ce serveur est aujourd’hui quasiment obsolète, qu’il s’agisse de performances, de configuration, d’adaptabilité ou de polyvalence, sa légendaire stabilité restant encore son majeur atout comparés aux petits jeunots un peu frêles.

 

Et sinon quoi de neuf ?

Une question ouverte

Harcelé par une petite femme vénale, et un peu portée (il faut le reconnaitre) sur la bière (God Bless America ! Elle ne lit pas le blog ), j’avais pensé à rentabiliser quelque peu le blog cette année, au moins pour me lui payer une binouze (et pourquoi pas l’hébergement ovh du blog) de temps en temps.

Je me refuse à placer le moindre pixel immonde et gluant de pub sur le blog (c’est que ça a tendance à se reproduire vite ces saloperies, ya qu’a voir le blog de Korben (Rest In Peace)) et puis je pense que mon trafique me rapporterais 15 centimes par ans, mais soyez sûr que je n’hésiterais pas à vous vendre du rêve pour élargir votre pénis ou perdre du poids avec la recette magique surtaxée de Mme michou tout en finançant une dictature de l’est si l’occasion se présentait nierk nierk nierk *rire quasi maléfique mais pas trop*

Je pensais donc plutôt a un ptit bouton discret “Faire un don” bien que n’étant pas sûr de la façon dont je dois m’y prendre et n’étant pas dupe non plus quant au fait qu’il prendra certainement la poussière, mais au moins j’aurais donné la possibilité de le faire :)

Qu’en pensez vous?

Un rappel un peu honteux

Je vous avais promis une nouvelle charte pour la fin de l’année, il semblerait que je doivent repousser ça plutôt à … Avril, en effet mes études inintéressantes risquent de m’avaler les trois prochains mois (sans forcément être payantes d’ailleurs, belle arnaque cette 5em année)

Mais après PR-OM-IS elle sort !! :D

Une invitation

Je tiens à signaler que je cherche toujours des co-rédacteurs pour le blog, bon ou mauvais en informatique, assidus ou pas tant qu’ils sont passionnés parce que qu’ils font et qu’il souhaitent réellement le partager (ce second point est important) contactez moi si vous êtes intéressés.

 

N’hésitez pas également à m’envoyer les sujets qu’il vous plairait que nous traitions ensembles, ou pourquoi pas même des articles complet (publiés sous votre nom avec un backlink vers votre blog évidemment :) ) je ne suis pas contre du travail tout fait :D

joyeuses pochtronade, je vous dis au 3 Janvier (parce que le 02, j’ai prévu de vomir le 01)

Bien à vous,

Idle

 

Raspberry PI ~ 12 : Allumer des prises à distance

lundi 24 décembre 2012 à 15:12

 Ce post est le douzième d’une liste de tutoriels sur le raspberry PI dont voici le sommaire :

  1. Raspberry PI  ~ 01 : Présentation
  2. Raspberry PI  ~ 02 : Exploration technique
  3. Raspberry PI  ~ 03 : Brancher et installer le Raspberry PI
  4. Raspberry PI  ~ 04 : Configurer en serveur
  5. Raspberry PI ~ 05 : Protéger notre précieux
  6. Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde réel
  7. Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe OU comment faire de la domotique low cost.
  8. Raspberry PI ~ 08 : Jouer avec les ondes radio
  9. Raspberry PI ~ 09 : Créer une interface vocale
  10. Raspberry PI ~ 10 : Commander le raspberry Pi par radio
  11. Raspberry PI ~ 11 : Relier à un écran et afficher du texte
  12. Raspberry PI ~ 12 : Allumer des prises à distance
  13. Raspberry PI ~ 13 : Détecter l’ouverture des portes et fenêtres

 

Avant que la fin du monde (un peu tardive), ou une trop grosse cuite du nouvel an ne nous sépare, je tenais à vous offrir ce petit tuto sur le « télécommandage » (ça se dit ça?) de prises électriques depuis le raspberry PI.

Nous allons donc reproduire notre tuto  7 « éteindre/allumer une lampe avec le raspberry PI » mais cette fois ci, sans utiliser de fils.

Démonstration

Voila la traditionnelle petite vidéo de démonstration de ce que nous allons faire :

(Un grand merci à Maxime Raynal (dont on peux reconnaître le petit accent chantant dans la vidéo pour son fabuleux montage Rire, ça change de mes précédentes vidéos filmées à la Blairwitch)

Quelques screenshots de l’application web évoquée dans la vidéo :

Accueil des périphériques, par pièces

image

Espace de configuration sans utilisation de base de données

image

Interface adaptables tablettes/smartphone

image

 

Points forts / Points faibles

(de l’utilisation des ondes radio)

Ce montage est similaire au montage filaire que nous avons déjà vu, mais il a pour différences les points suivants.

FORCES :

FAIBLESSES :

Le matériel requis

Si vous avez suivis le précédent tuto sur la radio, vous devriez déjà tout avoir :

Ce qui nous fait un coût domotique entre 30€ et 65€ par la, en fonction du nombre de machines que vous voulez commander et des prix que vous trouvez sur le net.

Notez que par la suite si vous souhaitez équiper d’autres pièces vous n’aurez pas à racheter de Raspberry PI ni d’émetteur (à moins d’habiter un palace auquel cas le prix ne vous posera pas problème) du coup vous paierez entre 15€ et 30€ pour équiper une pièce supplémentaire (en fonction du nombre de prises, des réductions, des frais de ports etc…).

Le montage

Le montage rpi + émetteur 433 mhz a déjà été expliqué dans notre premier tuto sur RPI+radio, mais comme je suis un chic type et que j’adore faire des gribouillis, je répète le schéma ici :

image

nb : Une antenne de 17.3 cm serait la taille optimale (merci à Ju pour la précision)

Le code

Le code de l’interface web+programme C qui émet les signaux radio est téléchargeable ici :

http://projet.idleman.fr/domopi/data/hcc/hcc.zip

  1. Dé-zippez le code dans un répertoire var/www/hcc
  2. Faites un chmod 777 -R sur tous le dossier hcc (important sinon rien ne fonctionnera)
  3. Faites un chmod 7777 sur l’exécutable nommé radioEmission (important sinon l’interface web ne fonctionnera pas)
  4. Le script est installé !!

L’utilisation

Vous pouvez envoyer un signal de deux façon différentes :

En ligne de commande linux :

./var/www/hcc/radioEmission 0 12325261 1 on

0 = le numéro WiringPi du PIN du Raspberry relié a la carte émetteur 433mhz (ici zéro, qui correspond au pin physique 11 du rpi)
12325261 = Un code de télécommande que nous attribuons arbitrairement au raspberry PI, ca permet aux prises de n’obeir qu’a ce code et donc qu’a votre raspberry.

1 = code du recepteur (choisis arbitrairement, c’est ce qui permettra au recepteur de savoir si c’ets a lui qu’on donne l’ordre ou a un autre)

on = état de la prise souhaité on ou off

nb : Le ./ est obligatoire devant quand vous executez le programme depuis le repertoire courant, si vous ne le faite pas vous fisquez de tomber sur un « commande not found »

Depuis l’interface web :
 
qui en réalité se contente d’exécuter la commande précédente (pourquoi faire compliqué) lorsque vous cliquez sur un item.

Pour vous connecter, les logins et mot de passe par défaut sont :

login  : admin
mdp : admin

Ces identifiants peuvent être changé en éditant le fichier constant.php situé dans le répertoire hcc

Notez bien que vous ne pourrez rien piloter tant que les prises n’auront pas fait l’apprentissage du signal que vous envoyez (expliqué un peu plus ci dessous).

La liaison émetteur/récepteur

Les prises électriques Chacon ont un module d’apprentissage de signaux intégré, ce qui veux dire que lorsque vous les brancherez, elles « écouteront » pendant 5 secondes les signaux envoyés et reconnaîtrons ces signaux pas la suite.

Il vous faut donc pour chaque prise, la brancher et émettre le signal avec le Raspberry PI (via l’interface web disponible sur http://wotre.raspberry.pi/hcc ou par ligne de commande) avant 5 secondes pour qu’elle soit par la suite liée au signal.

Vous reconnaîtrez des clic clac successifs vous avertissant que la télécommande a bien reçu votre signal et l’a mémorisé.

En résumé

Il y a donc trois façons de piloter l’installation :

pilotage classique : je passe par les interrupteurs Chacon (télécommande ou télécommande sous forme d’interrupteur) pour allumer/éteindre mes lampes

pilotage par interface web : j’allume/éteint mes lampes via une interface web sur navigateur internet de tablettes/pc/smartphone

pilotage par reconnaissance vocale :Lorsque je prononce une phrase définie, mon pc envoie directement une requête au Raspberry PI qui allume ou éteint les lampes

Pour ce dernier, je me suis contenté de mélanger mon tuto sur la reconnaissance vocale (raspberry pi 09). Je vous invite à faire la même chose, le résultat est plutôt propre.

Pour configurer yuri selon votre interface : 

  1. Créez vos périphériques sur l’interface
  2. Allez dans configuration, puis onglet divers
  3. Cliquez sur télécharger le xml
  4. Le XML est à placer dans le repertoire \macros\ de votre YURI

 le mot clé de reconnaissance vocale, sera le nom que vous avez donné au périphérique

Raspberry PI ~ 11 : Relier à un écran et afficher du texte

samedi 15 décembre 2012 à 12:14

 Ce post est le onzième d’une liste de tutoriels sur le raspberry PI dont voici le sommaire :

  1. Raspberry PI  ~ 01 : Présentation
  2. Raspberry PI  ~ 02 : Exploration technique
  3. Raspberry PI  ~ 03 : Brancher et installer le Raspberry PI
  4. Raspberry PI  ~ 04 : Configurer en serveur
  5. Raspberry PI ~ 05 : Protéger notre précieux
  6. Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde réel
  7. Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe OU comment faire de la domotique low cost.
  8. Raspberry PI ~ 08 : Jouer avec les ondes radio
  9. Raspberry PI ~ 09 : Créer une interface vocale
  10. Raspberry PI ~ 10 : Commander le raspberry Pi par radio
  11. Raspberry PI ~ 11 : Relier à un écran et afficher du texte
  12. Raspberry PI ~ 12 : Allumer des prises à distance
  13. Raspberry PI ~ 13 : Détecter l’ouverture des portes et fenêtres

Aujourd’hui nous allons apprendre à faire ça :

2012-12-10 18.10.05

Mais non pas la boite bande de péquenauds incultes (wink wink nudge nudge), mais ce magnifique écran LCD, à l’origine utilisé sur les vieux téléphones nokia (ben oui on est pas des nouilles molles).

Le but de ce tuto sera donc de brancher un petit écran LCD rétro éclairé (a 4,89€ sur ebay cela dit) et d’y afficher un texte choisis.

Je suis partis du principe que je voulais, lorsque je branche mon raspberry au labo ou autre part, récupérer l’adresse ip qui lui est automatiquement attribué par le réseau sur lequel je me connecte, et l’afficher sur l’écran afin que je puisse me connecter au rpi en ssh sans avoir a demander a l’admin du réseau cette fameuse ip.

image

(oui je sais la ça n’est pas une IP réseau mais j’ai perdu l’autre photo alors on vas s’en contenter Tire la langue)

Ce sera donc notre fil rouge Sourire, je vous rassure tout de suite, l’intro est longue, mais le tuto lui est très court, je m’en voudrait de vous tuer une seconde fois après le tuto sur la réception radio Rire.

Le matériel

  1. Un raspberry Pi (holala quelle surprise ! Rire)
  2. Un écran LCD nokia 5110 à 10€ sur sparkfun, 4,89 € sur ebay, voir même 4€50 sur elecfreak et peut être moins cher ailleurs
  3. Quelques fils qui trainent, un peu d’étain, et un fer à souder Sourire

Les branchements

Notez que l’écran possède deux rangée de 8 Trous à l’opposée l’une de l’autre, vous pouvez utiliser l’une ou l’autre des rangées ça ne fais aucune différence, nous utiliserons celle avec les inscriptions de chaque pin afin d’être sûr de ne pas faire d’erreurs.

003

Les 4 trous sur les coins sont uniquement la a titre de fixation, ils ne sont reliés à rien

Voila le branchement en image, fiez vous aux couleurs pour le fils qui sont un peu cachés :

RaspiModelB

Le programme

Pour installer le programme , ouvrez la console SSH de votre rpi, et tapez les commandes suivantes :

Téléchargement du programme

nb: la source est dans le zip pour ceux qui voudraient comprendre plus en détail le fonctionnement du script :) .

sudo wget http://projet.idleman.fr/domopi/data/piScreen/lcd.zip

Décompression

sudo unzip lcd.zip

Déplacement

sudo mv lcd /etc/lcd

Le programme est installé

 

Utilisation

En ligne de commande

/etc/lcd/screen -p "Hello world"

Options

Obtenir son IP sur l’écran lorsqu’on se connecte a un réseau

Comme vous avez u le voir dans les options, la commande

/etc/lcd/screen -i

Il nous suffit donc de lancer un CRON (une tâche planifiée) qui vas lancer cette commande toutes les x minutes (moi j’ai mis toutes les 1 minutes, mais bon c’est mieux d’augmenter un peu histoire de ne pas flooder non plus).

Ouvrez votre crontab

crontab -e

Ajoutez la ligne

* * * * * /etc/lcd/screen -i

Enregistrez, fermez et hop ! Tuto terminé Sourire

A voir aussi
La même chose, avec un écran couleur et tactile de 36€ pour ceux qui ont les moyens Sourire

Encore la même chose, avec un écran moins cher (mais du coup de moindre capacité) a base de librairie python, très bien expliqué par notre amis Zem

 

Raspberry PI ~ 10 : Commander le raspberry Pi par radio

samedi 8 décembre 2012 à 16:34

 

Ce post est le dixième d’une liste de tutoriels sur le raspberry PI dont voici le sommaire :

  1. Raspberry PI  ~ 01 : Présentation
  2. Raspberry PI  ~ 02 : Exploration technique
  3. Raspberry PI  ~ 03 : Brancher et installer le Raspberry PI
  4. Raspberry PI  ~ 04 : Configurer en serveur
  5. Raspberry PI ~ 05 : Protéger notre précieux
  6. Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde réel
  7. Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe OU comment faire de la domotique low cost.
  8. Raspberry PI ~ 08 : Jouer avec les ondes radio
  9. Raspberry PI ~ 09 : Créer une interface vocale
  10. Raspberry PI ~ 10 : Commander le raspberry Pi par radio
  11. Raspberry PI ~ 11 : Relier à un écran et afficher du texte
  12. Raspberry PI ~ 12 : Allumer des prises à distance
  13. Raspberry PI ~ 13 : Détecter l’ouverture des portes et fenêtres

 

Nous avions brièvement abordé l’émission/transmission radio via le raspberry pi lors de notre tutoriel n°8.

Je vous avais promis une application concrète et plus poussée, nous allons donc aujourd’hui donner des ordres au raspberry PI via une télécommande radio achetée dans le commerce.

Voici la petite vidéo traditionnelle avec l’objectif final à atteindre et la démonstration du processus Sourire

Commander le raspberry Pi par radio from idleman on Vimeo.

 

Je sais, la vidéo est encore à l’envers, j’arrive pas à m’y faire… à ce propos je cherche un bénévole un peu calé en vidéo montage pour améliorer la qualité de ces dernières, si une bonne âme se sent de remanier les vidéos qu’il me contacte Sourire.

Tenté par l’idée de reproduire ça chez vous ? Bien ! Mettons nous au travail !! Rire

<!> NB : Vous devez avoir suivis les tutoriaux 04, 06,07 et 08 minimum avant d’aller plus loin.

Le Matériel :

Si vous avez bien suivi le tuto 8, la pluparts de ces éléments sont déjà en votre possession :)

  1. Un raspberry PI en état de marche Sourire
  2. un kit émetteur/récepteur 433,92 Mhz pour la modique somme de 15,95€ (au moment ou j’écris ce tuto), j’ai acheté le mien ici : http://www.conrad.fr/ce/fr/product/130428/?insert=62&insertNoDeeplink&productname=Ensemble-metteurrcepteur-radio-433-MHz-AM
    NB :Vous pouvez n’acheter que le récepteur pour ce tuto, mais nous auront besoin de l’émetteur dans le tutos suivant donc autant grouper.
  3. Un kit télécommande + 3 prises D – IO by chacon modèle 54795 vendu 29,95€, encore une fois, nous n’utiliseront dans le tuto que la télécommande, mais dans le prochaine nous nous occuperons des prises donc autant grouper.

<!> Prenez bien le même modèle que moi, car il semblerais que le protocole radio varie légèrement d’un modèle a un autre

  1. Vous voila équipé bande de veinards !!

Installation :

Branchez le récepteur au raspberry PI en suivant les instructions du tuto N°8, ceci permettra au raspberry de capter les ondes radios sur la fréquence 433 mhz

Si vous avez suivis le tuto N°7, vous pouvez également brancher votre carte relais sur l’une des bornes du raspberry PI afin d’allumer/éteindre une lampe/un réveil comme dans la vidéo, sinon, vous vous contenterez de la partie envois de mail et affichage des codes de la télécommande.

C’est tout pour les branchements Sourire, maintenant voyons le code !

Assurez vous que la librairie wiringPi (qui permet de gérer facilement l’état 0 ou 1 des ports GPIO du raspberry PI) est bien installé sur votre raspberry PI.

Téléchargez mon petit programme de réception en C + PHP nommé originalement radioReception ici.

Décompressez le tout dans le répertoire /var/www de votre raspberry PI

image

 

Utilisation :

positionnez vous dans le répertoire du programme,

cd /var/www/radioReception

définissez que le programme peut être exécuté avec un chmod (je sais, on peux faire moins permissif)

sudo chmod 777 radioReception

puis lancez le programme C avec la commande suivante :

image

./radioReception /var/www/radioReception/radioReception.php  7

/var/www/radioReception/radioReception.php : Chemin vers le fichier PHP qui traitera les informations reçues (identifiant de la télécommande, numéro du bouton, état on/off etc..) 

7 : Numéro WiringPi du PIN Gpio auquel est branché le récepteur 433 mhz

Vous pouvez maintenant appuyer sur les boutons de la télécommandes et constater les actions effectuées par le PHP.

image

chaque action exécute le fichier PHP initialement entré en paramètre et lui fournis les informations suivantes :

A vous de modifier le PHP et de développer les actions qui vous semblent intéressantes, je n’ai laissé que l’exemple d’ouverture/fermeture du port gpio 3 (15 em port physique) dans les sources.

C’est tout pour ce tuto !! Si vous ne voulez pas comprendre ce que vous faites, vous pouvez vous arrêter ici ^^, sinon je vous invite a entrer avec moi dans les subtilités du protocole radio utilisé en lisant les paragraphes ci dessous.

Dans le prochain tuto nous tenterons le processus inverse, à savoir émettre avec le raspberry PI pour allumer/éteindre les prises chacon (et on pourra jeter cette vilaine télécommande XD)

Comprendre plus en profondeur :

C’est une chose d’appliquer bêtement un tuto, c’en est une autre de comprendre entièrement ses tenants et ses aboutissants, pour les curieux qui voudraient comprendre plus en détail comment nous récupérons et nous traitons le signal radio, voila quelques explications…

Zallez voir, c’est pas ultra compliqué quand on a toutes les infos bout à bout (ce que j’ai passé 2 mois a réunir) mais il faut s’accrocher un minimum Sourire

Concrètement qu’envoie la télécommande chacon ?

Cette télécommande envoie un signal radio sur la fréquence 433.92 mhz, ce signal respecte (plus ou moins) le protocole radio domotique home easy (très mal documenté au passage).

Le protocole home easy transmet les informations sous la forme d’un signal de 32 bits, un bit étant un 1 ou un 0 (ça tombe bien, les ports GPIO peuvent lire les 1 et le 0 Rire)

il y a donc un signal de 32 : 0 ou 1 par exemple : 00011000101001010010100100010110

Vous noterez l’utilisation de zoulies ptites couleurs Sourire, ce n’est pas pour rien :

Les 26 premiers bits (en bleu) correspondent à l’identifiant de la télécommande
Le 27em bit (en violet) correspond au numéro de groupe (information que nous n’utiliseront pas)
Le 28em bit (en rouge), correspond à l’état (ON ou OFF) envoyé, 0=off, 1=on
Les bits 29 à 32 (en vert) correspondent au numéro du bouton de la télécommande appuyé

La télécommande vas donc envoyer le signal en fonction du bouton appuyé, de la télécommande et de l’état ON ou OFF de ce bouton.

  1. Okay mais on a un seul pin branché au récepteur non ? comment on vas capter tout ces 0 et ces 1 d’un coup ?

C’est une bonne question !! :D En fait toutes les infos vont être envoyé par le récepteur sur le même pin (dans notre exemple, le pin 7) mais avec des délais entre chaque 0 ou 1 afin de bien les distinguer les uns des autres !

Mais alors le signal vas être long à capter non ?

Pas du tout ! En effet les délais dont je vous parlais sont de l’ordre de la micro seconde ! Donc un signal dans son intégralité a peu de chance de dépasser la milli-seconde ce qui est totalement ridicule pour la perception humaine :) .

Bon, et t’as mis 2 mois pour comprendre ça ?

En réalité, nous ne sommes pas au bout de nos peines, c’est un peu plus compliqué que ca Sourire, admettons que la télécommande nous envoie le code :

00011000101001010010100100010110

Nous recevrions en réalité quelque chose comme ça :

01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101

que nous traduirions en ça :

0101011010010101100110010110011001011001100101100101011001101001

et enfin en ça :

00011000101001010010100100010110

(on fait moins le malin la pas vrai ? Tire la langue)

Hum, j’y comprends plus rien la… tu nous a bien enflé avec ton histoire de 32 bits !

C’est juste Sourire, mais il fallait simplifier pour ne pas vous perdre dès le début ^^, en réalité le signal est bien de 32 bits, mais il est “traduit” deux fois avant émission et réception pour les raisons que nous allons voir ci dessous.

La première traduction, est liée a ce qu’on appelle le “codage de manchester” derrière ce nom étrange se cache un principe tout simple : on vas convertir les 0 en 01 et les 1 en 10.

Donc le code de la télécommande

00011000101001010010100100010110

vas se transformer (avant d’être émis) en ce signal de 64 (car 32*2) bits :

0101011010010101100110010110011001011001100101100101011001101001

Mais pourquoi se compliquent t’ils la vie avec leurs codage de machin chose?

Dans notre contexte, le code de manchester est utilisé pour diverses raisons mais essentiellement pour éviter les parasites, et croyez moi, des parasite radio, nous en sommes blindés ! Rire Bref je ne vais pas m’étaler sur le principe, les infos sont sur wikipedia mais en gros si une paire de bit est égale a 11 ou 00 le programme comprendras qu’il s’agit d’un parasite (car en prenant les bits par paire depuis el début du signal, on ne peux avoir que des 10 ou des 01 si le signal n’est pas un parasite).

Ok donc on à juste une petite conversion à faire, c’est pas méchant, mais c’est quoi la deuxième traduction alors ?

Et bien la seconde traduction, c’est tout simplement la transformation en “onde”, c’est ce dont nous parlions tout à l’heure avec les délais, par exemple pour que la télécommande émette “1” il lui faut envoyer une impulsion (impulsion qui n’est autre qu’un passage de 0 à 1 ) avec un certain délais entre le 0 et le 1 (pour signifie qu’on envoie un 1 et pas un zero.

Donc envoyer un 1 reviendrais a envoyer ce genre de signal :

image

C’est le délais en micro seconde ou le signal est bas qui définit si un 1 ou un 0 a été envoyé.

Attention nous disons ici qu’un 1 a été envoyé, mais comme nous respectons le codage de Manchester nous devons envoyer “10” :

image

Comme vous pouvez le voir sur le schéma pas du tout précis, le premier “front bas” (qui représente le 1) est plus court que le second (qui représente le 0), leurs somme fait “10” qui, en codage Manchester signifie “1”

Je suppose que vous êtes sur les rotules, mais soyez fiers de vous, il n’y a plus rien à comprendre par la suite (vous pouvez imaginer maintenant pourquoi j’ai mis un peu de temps à décrypter le protocole de cette fichue télécommande sans la moindre doc et sans connaitre les lois de la radio transmission).

Voila un petit graphique pour résumer le chemin d’un signal :

HomeEasyProtocol

Et voila un petit script tout droit sortis de mes petites papattes pour vous aider a visualiser un signal : http://domotique.idleman.fr/radiograph.htm

Notez une dernière chose importante !

Le protocol home easy, contient encore une petite subtilité : les verrous.

Les verrous sont des bits émis par la télécommande avant et après le signal afin d’annoncer au récepteur que le signal commence et se termine (ce qui permet également de distinguer un signal d’un parasite).

Ces verrous sont au nombre de 3 : deux avant le signal, un a la fin. Les pulsations de ces verrous sont très long (pour les distinguer des pulsations de bits d’informations) de l’ordre d’une centaine de micro secondes.

Bon, j’ai bien tout compris, mais tu as oublié de nous donner quelque chose d’important : les délais de chaque pulsation (0, 1 et verrous) !!?

C’est bien !! Vous suivez !! Rire Et vous avez raison je ne vous les ai pas donnés pour la raison suivante : je ne les connais pas ! Ha ha ha ha !!

En fait c’est la que le manque de doc se fait ressentir sur le protocole home easy :

  1. Aucune doc n’est complète
  2. Les docs se contredisent entre elles pour les délais
  3. La marque Dio by chacon semble altérer légèrement les délais d’un modèle à un autre (pour brouiller les pistes?)

Bref on ne peux qu’estimer les valeurs de chaque délais, c’est la raison pour laquelle vous noterez que mon programme ne capte pas à tout les coups, les délais étant encore mal calibrés, libre a vous de tester les délais et de me faire vos retours si vous parvenez a être plus précis, voila mes délais actuels :

Verrou 1 : Entre 2700 et 2800 micro secondes
Verrou 2 : ?
0 : Entre 180 et 420 micro secondes
1 : Entre 1280 et 1480 micro secondes
Verrou 3 : ?

Vous noterez aussi que dans mon code, je n’ai pas tenu compte des verrous 2 et 3, qui ne sont pas indispensables dans ce cas précis (même si ce serait mieux de les demander), en revanche quand nous émettrons depuis le raspberry PI, il nous faudra être plus rigoureux.

Je suis a disposition pour d’éventuelles questions et incompréhensions du processus Sourire

 

 

Le bordel de l’info #23

dimanche 2 décembre 2012 à 19:19

Salut bande de trépanés des burettes, vous en avez d’la chance !! A l’heure où le pong en bois mono dimension fait fureur, a l’heure ou votre pommeau de douche tente de vous voler la vedette en plein pendant votre magnifique interprétation du célèbre “i will survive”, à l’heure ou Bilbo le Hobbit à déjà buté 27 animaux  (et pourtant c’est tellement beau un animaux), bref, à l’heure où les fillettes de 9 ans criminelles affluent, vous êtes en sureté dans votre coffre fort vide, serrant votre tux en peluche, à l’abris de ces psychopathes, en train de savourer l’exquis parfum salé de ce 23em bordel de l’info (oui je deviens lyrique avec le temps).

 

 

 

Allé pour finir en douceur et aborder la semaine avec le sourire, plein de petites bestioles à croquer (via seb) la loutre réstant quand même ma favorite.