" /> Mon para-monde
Flux RSS

jeudi 17 avril 2014

Pourquoi on ne peut pas transcoder vers une Freebox

Les serveurs multimédias domestiques évoluent de jour en jour. Il n'y a pas si longtemps, on se baladait avec des disques durs portables puis des clés USB, des SDCards pour aller de l'ordi à la platine de salon. Désormais toutes les boxes font plus ou moins serveur et lecteur de flux réseau. C'est le cas aussi pour certaines consoles de jeux (hackées ou non).

Pour ma part, j'ai une PS3 et une Freebox HD (V5, pas la dernière), elles font toutes deux - mal chacune dans leur genre - lecteur DLNA.

Au fil du temps, j'ai d'abord utilisé un petit serveur DLNA qui se trouvait sur mon premier NAS, autant dire qu'il n'était pas top, ne supportait rien et le processeur n'avait de toute façon pas le oumpff pour faire autre chose que streamer en direct les contenus (c'était un TeraStationII de Buffalo).

Depuis j'ai monté mon "petit" NAS perso sur un HP MicroServer avec FreeNAS comme OS/Distrib. Sur FreeNAS,l'une des alternatives "au déballage" est l'installation de Plex. Ce serveur multimédia a de nombreuses fonctions (comme le streaming à distance par exemple, le partage via internet, etc.) et en local dispose d'un module serveur DLNA (=UPnP) qui gère le transcodage.

Le transcodage consiste pour le serveur à recalculer les flux vidéo et audio à la volée lorsque le lecteur ne supporte pas le format original du fichier. La puissance du processeur du MicroServer est suffisante pour la plupart de mes besoins.

L'avantage du transcodage, c'est qu'on a plus à se poser la question du format, on streame un fichier vers la PS3, les tablettes/téléphones Android ou de la pomme de façon totalement transparente même si comme c'est le cas pour les différents iTrucs, il n'y a pas beaucoup de format supporté à la base...

Or comme un oeil sagace peu s'en rendre compte, je n'ai pas cité ci-dessus la Freebox... En effet, celle-ci, bien qu'elle supporte pas mal de codecs tant video qu'audio ou des contenants multimédias pas les plus courants (le Matroska par exemple, excellent container mais peu diffusé face à l'AVI,le MPEG-TS ou au MP4) marche encore plus mal que la PS3 qui avant le transcodage était TRES tatillonne...

Pour résumer : La Freebox ne supporte pas l'un des principaux containers actuel à savoir le MP4, ainsi tout fichier s'annoncant comme "*.mp4" ou avec un type MIME "video/mp4" sera tout simplement ignoré dans la liste des fichiers disponibles (alors que le serveur les envoie bien dans la liste), par ailleurs, pour une raison à l'origine inconnue, il n'était pas possible de transcoder, la freebox n'arrivant pas à récupérer le flux (qui fonctionnait en faisant mimer la freebox par XBMC ou VLC). La freebox a d'autres limitations mais je les laisse de côté car rien en théorie que le transcodage ne pourrait résoudre !

Je me suis donc mis en tête de faire fonctionner ce %#~$£^#"& de transcodage... Si la PS3 le fait il n'y avait pas de raison que la freebox (supportant plus de codec) ne le fasse pas ! Après quelques jours à triturer les profils, a lire des lignes et des lignes de logs de Plex. Il faut se rendre à l'évidence. Il n'y a rien à faire du côté serveur ! Le problème est exclusivement du côté client. J'ai donc ouvert un ticket sur le bugtracker de la Freebox HD mais sans grand espoir quand on voit le nombre de tickets ouverts en attente depuis des années !

Pour la petite histoire, Plex se base sur les champs d'entête et en particulier sur le champ HTTP "User-Agent" pour identifier le matériel qui lui parle. Or la freebox envoie bien une telle ligne lorsqu'elle parcours l'arborescence par l'énumérateur UPnP, mais une fois la ressource multimédia trouvée, elle va la chercher via une requête HTTP ne contenant pas ce fameux "User-Agent"... Résultat, Plex perd la notion du type de matériel qui lui parle et considère parler à un matériel "Generic", c'est à dire qui sait tout lire sans transcodage. N'ayant plus notion de destination de transcodage, l'accès aux ressources énumérées à l'étape précédent échoue lui aussi.

La solution propre est que la Freebox envoie toujours son User-Agent... et il n'y a hélas pas de solution sale car Plex ne fait pas de discrimination par adresse IP par exemple (normal, ca n'a pas de sens dans un réseau universal**Plug'nPlay** ou les IP peuvent varier sans prévenir à l'occasion d'un renouvellement de bail DHCP par exemple...).

Donc toi qui bosse chez Free au développement de la Freebox et qui passe par hasard ici, s'il te plait pourrais-tu rajouter une ligne dans "fbxupnpav" pour que le User-Agent soit envoyé lors de la demande d'un objet pour le streaming. Je t'assure, il y en a pour une ligne du genre

httpResponse.header("User-Agent","Linux/2.6 UPnP/1.0 fbxupnpav/1.0");

en fonction de ton langage de prédilection...

Note, si le source de fbxupnpav avait été libre, je l'aurais fait moi-même et je t'aurais même économisé ça...

Allez soit cool, vieux ! ;)

samedi 25 janvier 2014

Je craque ou pas ?

Ubuntu en 3200x1800 et bien plus joli et pratique que win8.1 . Certes faut de bon yeux sur un 13" mais c'est tout à fait utilisable...

Donc je sens que ça va imminer... Pour l'instant le seul hic c'est que j'aime bien travailler sur un HD neuf et garder celui d'origine dans un coin et là... ben ces mSATA de 512go, j'en trouve pas...

dimanche 25 août 2013

Un monnayeur en carton pour la borne en carton

Juste un petit post pour montrer le prototype du monnayeur de la borne d'arcade en carton.

Il est réalisé à partir d'un petit colis reçu d'amazon, de chutes de carton simple cannelure et de papier standard (60g)

Le papier est bien pour tester mais il s’abîme au passage des pièces, je le remplacerai probablement par du plastique (du genre feuille pour rétroprojecteur ou un autre qui traînerait quelque part dans un tiroir)

mercredi 7 août 2013

Le plus gros de la borne d'arcade est fini

Depuis la précédente note, la borne d'arcade en carton a bien avancé ; en fait, elle est fonctionnelle grâce à mon fidèle petit MSI U100 (et oui un Intel ATOM ça suffit même si le démarrage de MAMEUI est un "peu" lent).

Voici donc les étapes encore à réaliser :

  • Sécuriser la fixation de l'écran LCD (Toujours carton, les seules vis de toute la borne sont les 4 servant à fixer l'écran via son adaptateur VESA - en carton :) )
  • Fabriquer le monnayeur (avec le microswitch pas encore utilisé)
  • Fabriquer le marquee
  • Mettre du son externe
  • Peindre (par madame et junior qui se sont portés volontaires) mais il faudra redémonter une partie du panel avant...
  • Installer une système entièrement dédié à MAME sur un ordi (le U100 ou plutôt un autre se trouvant en réserve)

De ces dernières étapes, a priori seules la peinture et une plaque de plexi/lexan vont coûter quelques sous, j'ai quelque part un ampli 2.1 et ses enceintes.

On en est donc en compte à ce jour :

  • 62 euros de matériel spécifique (joystick x2, boutons x15, Controlleur USB, microswitch),
  • 3 tubes de colle (préférer de la bonne vieille glue qui pue, j'ai testé le pistolet à colle c'était décevant)
  • 4 vis
  • une 40aine d'euros de peinture, rouleaux, pinceaux.

Il faut encore acheter :

  • une plaque de plexi/lexan

Et dans les produits de récupération :

  • les cartons du KIVIK,
  • un petit carton Amazon (le plus petit qu'ils fassent) pour le futur monnayeur
  • une multiprise/rallonge avec bouton ON/OFF
  • un écran 15" LCD
  • un ordinateur (le U100 pour l'instant)
  • un système audio 2.1 d'ordi

Quelques réflexions sur la fabrication :

Le carton est beaucoup plus pénible à travailler que le bois

  • on ne peut pas envisager autre chose que des fixations à la colle (ou des fixations traversantes mais tout de suite ce n'est pas aussi joli), il faut donc prévoir sur la plupart des pièces des languettes périphériques et bien réfléchir à quoi coller où
  • il faut bien dimensionner les languettes à coller pour transmettre les charges, surtout lorsque les forces se font en cisaillement (un poids reporté sur un support collé à la verticale ou en suspension)
  • il faut maintenir les pièces en compression pendant le temps de séchage (là où avec le bois, un vissage suffit)
  • c'est plus léger (attention où on répartit les poids, l'écran qui est l'objet le plus lourd est situé assez haut donc la base n'est pas assez lestée et la borne, instable)
  • c'est moins rigide surtout dans le sens parallèle aux rainures d'ondulé, pour les supports de pièces lourdes ou pour assurer la rigidité il faut doubler voire tripler les épaisseurs en alternant le "fil" de l'ondulation
  • du carton trop manipulé peut s'écraser et perdre de sa rigidité (c'est le cas lorsqu'il y a des pliures)

Au final, je pense que de travailler avec du carton à doublé voire triplé le temps nécessaire à la construction (en comptant la phase préparatoire d'adaptation des plans)

Le panel

Pour le panel, j'ai choisi un 2 joueurs : 1 joystick et 6 boutons + 2 boutons P1/P2 et enfin 1 bouton qui actuellement sert de crédit mais à terme permettra de contrôler MAME.

La disposition n'est pas la même pour P1 et P2. J'ai repris des formats classiques japonais tels que dispo sur Slagcoin, le format Sega standard pour P1 est idéal, les boutons tombent pile sous les doigts. Pour P2 c'est une variation légèrement penchée afin que le joueur ne soit pas trop gêné par sa position excentrée.

Les joysticks sont des Zippy, des copies de Seimitsu. Je les trouve un peu mous, mais on fera avec. Ils sont livrés avec les restricteurs 2/4/8 je pense les laisser en 8 tout le temps pour le côté polyvalent. Je les ai montés par le dessus en traversant principalement car avec un manche si court il n'y avait pas assez de longueur pour traverser les 3/4 couches de carton nécessaires à la rigidité du panel.

lundi 29 juillet 2013

Projet d'été avec ma descendance

En cet été 2013, l'une des activités de vacances avec Lucas sera la réalisation d'une MAMECab mais avec une optique : le moins de dépenses possible.

Pour cela, elle sera réalisée au maximum avec du matériel de récup.

Les seuls produits neufs seront : les joysticks, les boutons, l'encodeur USB et un microswitch de monnayeur achetés une 50aine d'euros chez SmallCab (commande en attente de traitement pour l'instant...)

Pour la récup :

  • la première chose sera le carton du canapé acheté 1 mois plus tôt (un Kivik de chez le suédois jaune et bleu bien connu qui commence par IK et finit par EA.), il fait 200x80x40 ça devrait le faire même si il y avait eu des largeurs >60 ca aurait été mieux !
  • ensuite 1 ordinateur hors d'âge (pas encore choisi lequel, j'ai l'embarras du choix = 4)
  • et un écran LCD 15 pouces (j'ai eu le malheur de balancer il y a 1 an, un 15" et un 19" cathodiques, je m'en veux, je m'en veux ! :) )
  • Le panneau des contrôles sera soit en carton soit en contreplaqué, on verra en fonction de la rigidité

Le but est de faire une MAMECab pas trop encombrante, d'où l'utilisation des plans de LA MAMECab SLIM de référence : Project MAME : 1m60 de haut et 60cm de profondeur et largeur.

(photo non contractuelle, n'oublions pas que ça sera du carton de récup et non du MDF de 19mm et que pour l'instant, la déco n'est pas prévue)

Pour le monnayeur, pas question de dépenser trop de sous non plus, mais le fait d'insérer le crédit c'est sacré alors on va bidouiller un monnayeur à bille : on insère une bille et tac, un crédit (pas d'histoire d'argent entre nous). :) Coût d'ami : 1,40 et... du carton.

Première mission, la mesure et le découpage des flancs, armé d'un mètre, d'une règle, d'un crayon et d'un assortiment de cutters. 1 heure pour démonter le carton et découper 1 flanc, le 2ème devrait aller plus vite ça sera pour demain.

jeudi 8 novembre 2012

Pourquoi la France, c'est foutu...

Je ne suis pas économiste, loin de là mais simple consommateur lambda et ce qui suit n'est pas un cours d'économie mais juste une amère constatation.

Depuis quelques mois, lorsque j'achète des produits sur internet sur des sites avec "marketplace" voilà ce qu'on voit :

(tiré de la page marketplace pour HP 658553-421 ProLiant MicroServer Tour ultra micro N40L 1 processeur AMD Turion II Neo 1.5 Ghz Contrôleur SATA 150Watts)



EUR 207,63+ EUR 9,90 de frais de livraison

   Bora Computer
   Evaluation Vendeur :98% positif au cours des derniers 12 mois. (435 évaluations totales)
   En stock. Expédié depuis Allemagne.
   Tarifs d'expédition nationale et politique pour les retours.
   Nous vendons seulement des unités de saise et des logiciels qui sont conformes au marché allemand.

EUR 221,99+ EUR 0,00 de frais de livraison

   PreisCompany
   Evaluation Vendeur :98% positif au cours des derniers 12 mois. (2 116 évaluations totales)
   En stock. Le traitement des commandes par ce vendeur prend 2 à 3 jours supplémentaires. Expédié depuis Allemagne.
   Tarifs d'expédition internationale et nationale et politique pour les retours.
   A la comparaison notre description d'article: "HP ProLiant MicroServer Server Ultra-Micro-Tower"

EUR 200,36+ EUR 22,45de frais de livraison

   io-Computerdienst
   Evaluation Vendeur : Nouveau Vendeur (Profil du vendeur)
   En stock. Expédié depuis Allemagne.
   Tarifs d'expédition internationale et nationale et politique pour les retours.

EUR 225,60+ EUR 0,00de frais de livraison

   AVIDES
   Evaluation Vendeur :95% positif au cours des derniers 12 mois. (98 634 évaluations totales)
   En stock.
   Tarifs d'expédition internationale et nationale et politique pour les retours.
   neuf - emballage original.

Celui-ci ne l'a pas indiqué mais là aussi c'est Allemagne

EUR 247,00+ EUR 6,90de frais de livraison

   Telcam-Store
   Evaluation Vendeur :92% positif au cours des derniers 12 mois. (309 évaluations totales)
   En stock. Le traitement des commandes par ce vendeur prend 4 à 5 jours supplémentaires. Expédié depuis Allemagne.
   Tarifs d'expédition internationale et nationale et politique pour les retours.

EUR 258,99+ EUR 0,00de frais de livraison

   Fotemia
   Evaluation Vendeur :85% positif au cours des derniers 12 mois. (973 évaluations totales)
   En stock. Expédié depuis Allemagne.
   Tarifs d'expédition nationale et politique pour les retours.
   Fotemia vous offre ces stocks en directe. Nous vendons exclusivement des produits neufs dans l'emballage original. Tous nos s... » En lire plus

EUR 259,00+ EUR 0,00de frais de livraison

   RLO France
   Evaluation Vendeur :97% positif au cours des derniers 12 mois. (10 546 évaluations totales)
   En stock.
   Tarifs d'expédition internationale et nationale et politique pour les retours.
   Nos donnees d'article: Constructeur: Hewlett Packard, Ref: 658553-421, Nom modele: HP ProLiant MicroServer - Vendeur pro - pr... » En lire plus

Malgré son nom, c'est une boite Allemande

EUR 245,00+ EUR 20,00de frais de livraison

   Righi Elettronica S.a.s. di Mauro Righi & C.
   Evaluation Vendeur : Nouveau Vendeur (Profil du vendeur)
   En stock. Le traitement des commandes par ce vendeur prend 2 à 3 jours supplémentaires. Expédié depuis Italie. En savoir plus sur les durées de livraisons internationales.
   Tarifs d'expédition internationale et nationale et politique pour les retours.

Pas indiqué mais vient d'Italie

EUR 258,95+ EUR 42,17de frais de livraison

   nrsolutions
   Evaluation Vendeur :85% positif au cours des derniers 12 mois. (165 évaluations totales)
   En stock. Expédié depuis Espagne. En savoir plus sur les durées de livraisons internationales. Expédition express disponible.
   Tarifs d'expédition internationale et nationale et politique pour les retours.

EUR 334,04+ EUR 19,28de frais de livraison

   Techcart-Limited
   Evaluation Vendeur :79% positif au cours des derniers 12 mois. (100 évaluations totales)
   En stock. Expédié depuis Royaume-Uni. En savoir plus sur les durées de livraisons internationales.
   Tarifs d'expédition internationale et nationale et politique pour les retours.
   New

EUR 343,80+ EUR 9,63de frais de livraison

   LambdaTek Electronics
   Evaluation Vendeur :92% positif au cours des derniers 12 mois. (1 092 évaluations totales)
   En stock. Expédié depuis Royaume-Uni. En savoir plus sur les durées de livraisons internationales.
   Tarifs d'expédition internationale et nationale et politique pour les retours.

ET ENFIN LE PREMIER FRANCAIS :

EUR 357,74+ EUR 0,00de frais de livraison

   iziprice
   Evaluation Vendeur :98% positif au cours des derniers 12 mois. (2 541 évaluations totales)
   En stock. Expédié depuis France. Expédition express disponible.
   Tarifs d'expédition internationale et nationale et politique pour les retours.
   Nos produits sont neufs et emballés, et nos livraisons sont faites par transporteur express. Il est donc préf&e... » En lire plus

64% plus cher que le premier prix venant d'Allemagne (et encore, il y a 15 jours, on pouvait trouver un fournisseur espagnol qui le vendait à 180€ frais de port inclus !).

Autant dire qu'il n'y a AUCUN intérêt pour le consommateur final à acheter local, l'écart de prix ne se limite malheureusement pas à ce genre de produit HighTech, les croquettes pour chats, des vêtements, ou même des bonbons Haribo valent moins cher y compris en ajoutant les éventuels frais de port une fois importés d'Allemagne.

Et donc à mon petit niveau de consommateur lambda, j'ai l'impression qu'à chaque fois que j'achète quelque chose en France, je me fais avoir. Un peu comme si la France entière était devenue "l'arabe du coin" (manque de pot, le français étant quand même généralement un gros beauf prétentieux, il ressemble toujours au français de souche de la fausse pub Hassan Céhef de Les Nuls), ce magasin hors de prix où on ne va faire ses courses que parce qu'il a une disponibilité pour un produit dont on a pas le temps d'attendre la livraison.

J'entends déjà les réponses diverses que l'on va me faire :

Le patron d'entreprise : "Oui mais c'est à cause des coûts du travail/des impôts/des charges sociales/de ces salauds d'employés qui veulent être payés à rien foutre. Môi, je suis un investisseur, môi je suis l'alpha et l'omega de la croissance de ce pays"

Les employés: "Oui mais c'est le patron qui bouffe la marge et la sueur de nous autres employés opprimés avec ses voitures de sport"

Et L'Etat qui selon le sens du vent choisit de se rallier à l'un ou à l'autre

Toujours est-il qu'en d'autres temps "d’opulence relative" on aurait pu discuter mais vu la période économique tendue au niveau de ma bourse de consommateur lambda, mon choix est vite fait : Le moins cher et basta

Allez pour le fun, je vous remets "Hassan Céhéf, ouioui c'est possible"

lundi 2 juillet 2012

Aidez moi à trouver mon prochain portable !

En 2007 j'ai changé d'ordinateur portable. A l'époque j'avais pris un ASUS F3sv-ak143c.

Les points forts qui me l'avaient fait choisir étaient à l'époque :

  • Le processeur un Core2Duo T7500 à 2.2GHz permettant par exemple facilement de faire de la virtualisation
  • 2Go de mémoire
  • Une vraie carte vidéo (sans que ce soit un monstre de consommation) et pas une "intégrée" Intel.
  • Un écran de 15,4" avec une bonne résolution : 1680x1050
  • et un bon support de Linux saveur Ubuntu

Or voilà, je ne suis pas tendre avec mon matériel : la limite fatidique des 5 ans est en vue et comme tous ses prédécesseurs au même âge (Dell, Acer), l'ordinateur part en lambeau, le simple fait de le poser sur un table, je retrouve des vis en dessous, le mécanisme d'ouverture sur l'avant est bloqué.

Voici pour illustrer la charnière droite (faiblarde rendant l'écran mou comme du chewing-gum) et ses ses jolis fils apparents

et le trackpad qui tient encore grace à un recours fréquent à un appel divin

(notez la trace d'usure du clic-gauche :) )

Or donc, la recherche du successeur a débuté est je suis TRES ennuyé. La principale raison tient dans les caractéristiques que j'ai noté ci-dessus qui me semblaient juste bien depuis bien des années.

Mon critère principal était la résolution d'écran suivi du rapport puissance/poids.autonomie . J'AIME avoir des écrans avec plein de points (Mon Dell de 2000 était déjà un 15" rapport 4/3 de 1400x1050 (SXGA+), l'Acer avait exactement le même écran alors que les 16/10 étaient déjà légion mais avec des résolutions inférieures, c'est pour moi un strict minimum pour organiser correctement mon bureau). Or en cette année 2012, trouver un portable pas trop cher avec une résolution ayant au moins 1050 lignes devient une vraie course au trésor la norme semblant être devenue 1680x800 c'est à dire une régression de 20% par rapport à ce que j'ai actuellement et depuis 12 ans !

De son côté le "FullHD" (1920x1080) n'est disponible qu'exceptionnellement et sur des ordinateurs chers, le seul endroit où on le trouve à prix raisonnable c'est bizarrement sur des écrans 13,3" comme ceux des nouveaux Zenbook Prime d'ASUS.

Alors je me tourne vers la grande famille internetique et tweetisante pour avoir votre avis :

Quel ordinateur portable dois-je envisager pour remplacer mon F3Sv ?

Les critères étant :

  • résolution 1600x1050 MINIMUM
  • diagonale d'écran entre 13" et 15,4", pas plus.
  • autonomie 7h (selon la pub), >4h30 (en réel)
  • proc puissant avec virtualisation et économie d'énergie
  • 4Go (les 2Go devenaient poussifs sous la dernière Ubuntu)
  • Carte vidéo dédiée (pas obligatoirement le dernier modèle pour jouer à Crysis, au maximum je ferai du Portal2 via Wine :) )
  • Clavier rétro-éclairé (c'est un nouveau critère, bien pratique :) )
  • disque dur matériel ou SSD ou hybride "onsenfou" d'au moins 300Go (actuellement, il y a un 500Go dedans)
  • Le poids inférieur à 1,75kg, le moins lourd le mieux ;)
  • Lecteur de SD
  • Support de Linux (tout du moins capable de le faire tourner au début et que ce soit une machine pas trop obscure afin que le support s'améliore ensuite)

Les non critères :

  • présence d'une ouebcam
  • présence d'un lecteur/graveur DVD/BR

Les hors de question :

  • Non, je ne veux pas une tablette
  • Ni d'un machin Apple (pour plein de raisons)
  • plus petit que 13" ou plus grand que 15,6" (intraitable là dessus)
  • d'une résolution <1600 de large et <1050 de haut (idem)

Alors qui peut m'aider ?

samedi 23 juin 2012

Raspberry Pi + LEGO, redux

Bon,le premier boîtier en LEGO avait été commencé à l'arrache et cet après-midi avec Lucas, nous nous sommes attelés à une version plus "prés du corps".

Je n'ai pas pris de photo de making-of désolé, mais grosso-modo j'ai d'abord fait un gabarit avec des pièces disparates pour déterminer l'encombrement par niveau du R-Pi, trouvé une solution pour le fixer et le surélever un peu pour la dissipation thermique. Puis j'ai monté le boitier définitif en barres de 1 et enfin j'ai fait le toit et le socle.

Le format du R-Pi est assez compatible avec le format LEGO mais malgré tout il ne fait pas un nombre pair de plots LEGO, nécessitant en cela des compromis (par exemple le rebord de la base sur 2 des faces)*

Toujours est-il voici la version définitive du boîtier. Etant donné qu'il s'agit d'un projet Top Secret, il est gardé de prés par 2 cosmonautes LEGO !

Voici maintenant la face alimentation+SD Card :

La face portant la prise HDMI :

Le port RJ45 et les 2 USB :

Et la sortie audio et composite (plus la petite fenêtre pour voir les LEDs de statut) :

Et maintenant au boulot ! On remet le système dedans :

Et on allume :

vendredi 22 juin 2012

Premières taches d'administration après l'installation d'une image sur Raspberry Pi

Se logguer sur son R-Pi avec image Pisces

Pour se logguer, je rappelle qu'il faut utiliser le compte "raspbian" avec le mot de passe "raspbian".

L'image pisces a un serveur ssh fonctionnel dès le démarrage, c'est ce que j'utilise (mon R-Pi n'a ni clavier ni écran)

Si vous utilisez un clavier et un écran, attention par défaut il est en QWERTY. Perso, passant par SSH, mon clavier est correctement réglé mais il est visiblement conseillé de reconfigurer tout cela via

dpkg-reconfigure locales
dpkg-reconfigure keyboard-configuration

Le compte "raspbian" a le droit de sudoer pour "root" pour administrer la machine.

Changer les mots de passe par défaut

Brut d'installation, une image pisces possède 2 comptes avec mots de passe : root et raspbian Il convient de les modifier car ils sont communs à toutes les installations du système.

En tant que "raspbian" tapez :

passwd

et saisissez 2 fois de suite à l'aveugle votre nouveau mot de passe. vous venez de modifier le mot de passe de "raspbian"

Pour le compte root, il suffit de passer par sudo :

sudo passwd
(saisissez le mot de passe de "raspbian")

et idem, saisissez 2 fois le nouveau mot de passe de root.

Il est important de modifier ce mot de passe pour le connaître, en effet si lors du boot du R-Pi, il y a un problème il faudra saisir ce mot de passe pour pouvoir accéder au shell (par exemple pour réparer un crash disque).

Toutes les manips suivantes sont à faire en utilisateur root ou via sudo.

Modifier les clés du serveur SSH par défaut

Toutes les images pisces possèdent les mêmes clés SSH, il faut en générer d'autres pour augmenter la sécurité (sinon un autre système sur lequel elles seraient installées, quel qu'il soit, pourrait se faire passer entièrement pour votre R-Pi).

rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server

Faire la mise à jour du système et du firmware

en tant que root et en ayant une connexion internet valide

apt-get update ; apt-get upgrade

puis

rpi-update

... et patienter... puis rebooter via

reboot

Réglage du fuseau horaire

Le Raspberry n'ayant pas de RTC (d'horloge interne sauvegardée par pile) l'image pisces est équipée d'un serveur (et donc client) NTP déjà configuré par contre il faut régler le fuseau par défaut.

dpkg-reconfigure tzdata

Changer le nom du système

Par défaut, lorsqu'on part d'une image pisces, le système s'appelle... pisces, changeons cela :

echo littlebrick > /etc/hostname

Pour régler le FQDN si vous en avez un, éditez /etc/hosts et mettez le sur la ligne 127.0.1.1 sous la forme :

127.0.1.1     littlebrick.i.senis.org littlebrick

Dans les 2 cas, il faut bien sûr remplacer "littlebrick" et "littlebrick.i.senis.org" par le nom de votre système.

Une fois fait, soit il faudra attendre le redémarrage suivant, soit il faut lancer

hostname -b littlebrick

Ajouter un utilisateur

adduser nom_de_login

remplir les champs pertinents (perso, juste le "Full name") puis configurer le mot de passe

passwd nom_de_login

enfin, si nécessaire, ajouter l'utilisateur au groupe des "sudoers" si cet utilisateur peut administrer la machine (passer en "root").

adduser nom_de_login sudo

Compléter le système

ajouter "contrib non-free" dans /etc.apt/sources.list au bout des lignes :

deb http://archive.raspbian.org/raspbian/ wheezy main contrib non-free
deb-src http://archive.raspbian.org/raspbian/ wheezy main contrib non-free

Attention, ne pas décommenter les lignes concernant la distrib Debian de base, car même si la distrib Raspbian est basée sur Debian, les paramètres de compilation spécifiques retenus pour le Raspberry rendent les binaires incompatibles (en particulier la façon de gérer les "float" qui est "soft" sur Debian et "hard" sur Raspbian)

relancer

apt-get update

et exécuter

aptitude

pour installer les paquets supplémentaires désirés.

jeudi 21 juin 2012

Mise en place de la distrib pour le Raspberry Pi

Une fois le Raspberry Pi branché au sortir de sa boite vous êtes en présence d'une très jolie brique. Et oui sans un OS, le R-Pi ne peut strictement rien faire...

Dans mon cas, j'ai choisi d'y installer une Raspbian, distribution encore en Beta qui est une version optimisée pour le R-Pi de Debian.

Comme il n'existe pas de Raspbian officielle, il faut installer une version image "préparée" par un utilisateur. Dans mon cas, j'ai choisi une Pisces.

L'installation :

D'abord, il faut récupérer l'archive au format ZIP sur la page ci-dessus puis la décompacter. On obtient alors un fichier .img que nous allons écrire sur une carte SD de taille compatible. Ca tombe bien, j'ai acheté une SD de 4Go :). Prenez votre temps c'est un chouilla long (enfin rien de comparable à une recompilation de noyau :) )

Une fois l'image disponible, on insère la carte SD et il faut repérer son nom de device (son entrée sous /dev/ ). Dans mon cas, c'était /dev/mmcblk0 (si il y a des partitions, elles s'appellent mmcblk0p1 par exemple, ce ne sont pas elles qu'il faut utiliser). Si le système est réglé pour monter automatiquement les cartes insérées, il faut "l'éjecter" depuis le système tout en la laissant dans l'ordi pour qu'elle reste accessible à bas niveau exclusivement.

On écrit ensuite l'image sur la carte via le classique dd sous mon linux (pour les autres systèmes, à vous de voir... :) ).

dd bs=1M if=/chemin/vers/l/image.img of=/dev/mmcblk0

Bien entendu, il faut adapter les chemins de fichiers.

La procédure d'écriture est, elle-aussi, très longue ; il y a 4Go à transférer n'oubliez pas !

Une fois le dd terminé, un petit sync qui ne coûte rien pour être sûr qu'il n'y ait pas des octets qui se soient perdus en route et on peut éjecter la carte SD (il n'y a pas à la démonter, elle n'était pas montée je rappelle).

Le lancement du R-Pi

Maintenant que la carte est prête, on l'insère dans le R-Pi et on met le jus ! Le démarrage prend une 30aine de secondes.

Perso, je n'ai pas d'écran compatible (HDMI ou Composite) (et n'ai pas l'intention d'investir) donc après avoir sondé le réseau à la recherche de l'adresse IP de la boiboite, je lance plutôt un client SSH. L'utilisateur par défaut est raspbian avec comme mot de passe... raspbian.

Et c'est ainsi que littlebrick (le nom que je lui ai ensuite donné) est venu à la vie.

La prochaine fois, nous verrons les modifs à faire tout de suite à la première connexion.

mercredi 20 juin 2012

Raspberry Pi + LEGO = Amour :)

Pour un Raspberry, le boitier idéal ne peut être QUE en LEGO alors je commence à faire des tests avec les pièces que j'ai :

Avec les LED à l'air :

Avec l'arceau au dessus des USB et RJ45 :

Arrivée du Raspberry Pi

Et voilà, comme le temps file ! Ca fait bientôt 3 mois que je n'avais rien écrit ici bas.

Cependant aujourd'hui est un grand jour. J'ai reçu mon Raspberry Pi, le petit ordinateur pas cher pour bidouiller.

Alors certes pour l'instant je ne l'ai pas encore eu le temps de le brancher mais voici le premier contact en photos.

A titre d'information et pour illustrer le succès du Raspberry, il faut savoir que j'ai fait mon inscription sur le site de précommande de RS Components le 9 mars. J'ai eu accès au site de commande ferme le 22 mai, ai passé commande le lendemain pour une livraison annoncée sous 3 semaines. Au final je l'ai donc reçu aujourd'hui 20 juin.

Or donc ce matin vers 10 heures, la camionnette de DHL m'a amené le paquet signé du logo RS si typique

J'avais commandé le Raspberry Pi modèle B (le seul disponible et franchement, je ne sais pas si le modèle A a un quelconque avenir...) mais aussi une carte SD de 4Go et une alimentation micro-USB (les chats par ici ayant un appétit particulier pour les petits câbles de ce genre, il ne m'en reste pas beaucoup de fonctionnelles)

Le Raspberry arrive bien emballé dans un petit carton moussu, fermé par des autocollants de "sécurité". 2 feuilles de papier glacé accompagnent, n'en attendez pas grand chose, l'une est le certificat de conformité, l'autre de "démarrage rapide" (en gros, allez sur pour récupérer la distrib que vous voulez).

Une fois déballée, la carte en elle-même ressemble à ce à quoi je m'attendais. Ce qui marque surtout c'est la taille, elle n'est vraiment pas grosse...

Pour vous donner une bonne impression de celle-ci, j'y ai branché l'adaptateur secteur que j'ai acheté avec

puis je l'ai mise à côté de sa petite soeur (une carte Arduino Uno/Ethernet), de la carte SD et d'un breadboard.

Voilà pour la mise à nu, maintenant YAPUKA !

lundi 19 mars 2012

ELV Max! Il est temps de passer commande

Excusez la blague à 2 balles, il n'est bien sûr pas question d'acheter quelque chose mais de trouver les commandes que le cube peut recevoir et les réponses qu'il peut fournir.

On a déjà vu quelques commandes :

Le sniffing du réseau et le classique essai/erreur permettent d'en trouver quelques autres :

  • "m:" qui modifie les données de la M:aison
  • "z:" qui est envoyé avant un groupe de commandes
  • "n:" qui met le cube en mode apprentissage
  • "x:" annule une commande en cours de type "n:"
  • "d:" et "e:" qui décodent et encodent une chaine binaire (quel algorithme ? mystère)

Comme les lignes reçues, la macrosyntaxe est <lettre de commande>:<enchaînement de champs séparés par des virgules>.

Dans les champs, les données sont soit codées en hexadécimal ou en texte brut (p. exemple : "z:1e,G,02" ) soit encodées partiellement ou totalement en base64 (p. exemple : "s:AAAAiAAAAAPx4AAI=" )

Toutes les commandes que je trouverai seront rajoutées ici au fur et à mesure avec des liens vers chaque description.

dimanche 18 mars 2012

Quelques ordres S: (S12,S20,S21,S22,S23)

J'ai été très occupé ces derniers temps, pas eu trop le temps d'écrire les articles sur d'autres fonctions S:(end) de l'ELV Max!

En voici quelques unes :

ConfigValve (Commande 0x12)

00     00
01     Bitfield : 76543210
                       10 = broadcast (?)
02     12    COMMANDE
03     00
04     00
05     00
06     AABBCC Adresse d'émission
07     ..
08     ..
09     XX     RoomId
10     XX     Configuration du Boost (1)
11     XX     Configuration du cycle de détartrage (2)
12     XX     Position Max de la valve
13     XX     Position Min de la valve

(1) La configuration du Boost se fait sur un octet sous forme de 2 champs de bits :

  • 3 bits pour la durée du Boost en tranche de 5min
  • 5 bits pour l'ouverture de valve en tranche de 5%

(2) Le détartrage se règle lui aussi sur un champ de 8 bits :

  • 3bits pour le jour (0=Samedi, 1=Dimanche... 6=Vendredi)
  • 5bits pour l'heure de mise en route par tranche de 30 minutes

AddDirectLinkFromTo (0x20) et RemoveDirectLinkFromTo (0x21)

00     00
01     Bitfield : 76543210
                       10 = broadcast (?)
02     20/21    COMMANDE
03     00
04     00
05     00
06     AABBCC Adresse d'émission du périphérique référence
07     ..
08     ..
09     AABBCC Adresse d'émission du périphérique de pilotage
10     ..
11     ..
12     XX Type de périphérique

setGroupRFaddr (0x22) et removeGroupRFaddr (0x23)

00     00
01     Bitfield : 76543210
                       10 = broadcast (?)
02     22/23    COMMANDE
03     00
04     00
05     00
06     AABBCC Adresse d'émission du périphérique à ajouter ou retirer de la pièce
07     ..
08     ..
09     XX     RoomId

On a pas fini, il reste encore quelques commandes s:, en particulier le réglage des programmes journaliers (mode 0x10) et le changement de modes (mode 0x40) qui sont incontournables et un peu velus.

lundi 13 février 2012

ELV Max! commande "s:" syntaxe générale et commande de réglage des températures par défaut (0x11)

La commande "s:" sert à envoyer une commande (send en anglais quoi).

Le format général est s:<chaine en base64>

Pour illustrer voici la commande générée par la modification du décalage de température sur un thermostat dont l'adresse est 00fb6d.

s:AAARAAAAAPttACoiPQkJGAM=

Le décodage ramène une chaine binaire (ici en hexa) :

00 00 11 00 00 00 00 fb 6d 00 2a 22 3d 09 09 18 03
#0 #1 #2 #3 #4 #5 #6 #7 #8 #9 #A #B #C #D #E #F #10

Si on décortique, en premier lieu, on trouve tout de suite à partir de #6 une adresse de périphérique.

Une modification du même paramètre fait varier uniquement l'octet #E tandis que le changement d'autres paramètres de température font varier individuellement les autres octets de #A à #10.

Ces valeurs ne sont cependant pas encodées directement. Ainsi une température qui se règle par pas de 0,5° et encodée sous la forme T°x2 et le décalage de température qui peut aller de -3,5 à 3,5 est encodé par dT°x2+7 .

Au final voici le payload de la fonction 11(hex) :

00     00
01     Bitfield : 76543210
                       10 = broadcast (?)
02     11    COMMANDE (ici réglage des températures par défaut)
03     00
04     00
05     00
06     AABBCC Adresse d'émission
07     ..
08     ..
09     XX     RoomId
10     XX     Température de comfort
11     XX     Température éco
12     XX     Température max réglable sur la tête
13     XX     Température min réglable sur la tête
14     XX     Décalage de température
15     XX     Température lorsqu'une fenêtre est ouverte
16     XX     Durée de la consigne de fenêtre ouverte

Le retour de l'envoi d'une telle commande est une ligne "S:"

Celle-ci contient 3 champs séparés par des virgules :

1 : Ce chiffre semble augmenter de temps en temps
2 : Succés/Echec (0/1)
3 : Ce chiffre diminue au maximum de 1 à chaque commande passée, il peut aussi augmenter le maximum est 30(hex) soit 48(dec).

Je pense que les commandes sont envoyées aux têtes par bloc ou par cycles, le champ 1 identifie le bloc courant et le 3 le nombre d'emplacements libres dans ce bloc. C'est pour cela que le champ 3 ne diminue pas toujours ; des commandes sont envoyées en même temps que d'autres sont reçues.