NSLU2 et lampe

Lors de ma par­tic­i­pa­tion à Euro­bot 2007, j’avais expéri­menté l’utilisation d’un NSLU2 pour le robot. L’ordinateur embar­qué à base de processeur ARM per­met beau­coup mal­gré ça taille et son prix plutôt abor­d­able (quelques 50$ sur Ebay). Cette année-là, j’avais util­isé Open­Em­bed­ded et OpenSlug comme dis­tro sur le bid­ule (“slug” pour les intimes). Une mod­i­fi­ca­tion élec­tron­iques avait aussi été faite pour passer de 133 Mhz à 233 Mhz (de-underclock) ainsi que l’ajout d’un adap­teur série-usb pour l’accès facile par un ter­mi­nal série en cas de débuggage.

Ces derniers mois,  avec l’université, le temps me manque pour bidouiller davan­tages des pro­jets de robo­t­ique avec le slug et par­ti­c­ulière­ment avec Open Embed­ded (qui est plutôt dur à dompter). J’ai donc décidé d’installer Unslung, une dis­tro bea­coup plus docile, moins «puis­sante» du coup, mais qui m’a per­mis de réaliser plusieurs pro­jets en quelques heures.

Voici la con­fig­u­ra­tion matériel (périphériques et cie):

  • unsling” sur clé usb 4Go (en rabais à 4$ chez future shop)
  • disque dur externe max­tor 320 Go (mise en veille automatique)
  • carte de son usb SoundBlaster
  • appareil photo numérique Pow­er­Shot A520 de Canon
  • con­cen­tra­teur usb générique 4 ports
  • imp­ri­mante Brother HL-2040

et celle logicielle:

  • Unslung 6.10 beta
  • openssh & drop­bear (openssh plante aléa­toire­ment pour une rai­son ou une autre)
  • gphoto2
  • cups
  • mt-daapd
  • svn
  • mpd
  • ssh-agent

L’installation de mon imp­ri­mante avec CUPS s’est déroulée sans trop de prob­lèmes en suiv­ant presque à la let­tre les instruc­tions sur le wiki. Pour l’instant, l’imprimante ne sert qu’à moi, mais c’est intéres­sant d’avoir une con­fig­u­ra­tion fonc­tion­nelle “au cas où” d’autres per­son­nes sur le réseau auraient à l’utiliser. Aussi, ça per­met d’avoir un port usb de moins à brancher/débrancher sur mon portable… En début de semaine, j’ai aussi expéri­menté gphoto2 pour la prise de photo automa­tique avec un appareil photo numérique. Tout a fonc­tionné avec le pack­age ipkg orig­i­nal. J’aimerais bien pou­voir m’en servir comme web­cam, mais je vais devoir ren­dre l’appareil à ma mère ;) .Finale­ment, le port 22 n’étant pas acces­si­ble du monde extérieur avec ma con­nec­tion inter­net, j’ai mis en place un tun­nel ssh inverse vers un serveur ssh de l’école. Je compte faire pareil vers un serveur chez ma mère d’où je pour­rais directe­ment attribuer un port et une adresse sans avoir à se con­necter au préal­able sur le serveur ssh entre les deux. Le prob­lème pour l’instant est que le tun­nel n’est pas per­sis­tant. Je dois sou­vent redé­mar­rer le slug par exem­ple et dois à chaque fois rétablir le tun­nel manuelle­ment. Une solu­tion basée sur Cron ne me plaît pas par­ti­c­ulière­ment pour l’instant.

J’ai testé l’utilisation de la carte de son externe avec suc­cès et un prochain pro­jet serait de faire un script qui per­me­t­trait de me lire les fils rss ou me rap­peler des devoirs à remet­tre, le matin après m’avoir réveillé. Égale­ment, je voudrait utiliser un lampe à led que j’ai con­cue comme indi­ca­teur lorsqu’un nou­veau mes­sage est arrivé dans ma boîte de cour­riel. Pour y arriver, j’ai une carte arduino que j’ai com­mencée à pro­gram­mer en avr-libc pour appren­dre les inter­rup­tions, timers et pwm. L’idée serait de com­mu­ni­quer l’information sur le port série et de con­trôler une sor­tie du micro­con­trôlleur en pwm pour faire faire l’intensité des leds par le biais d’un tran­si­tor 2N2222 + BD135 et pos­si­ble­ment un optocoupleur…

J’apprécie pas mal le fait d’avoir enfin un serveur qui fait tout ce que j’ai besoin, sans pro­duire de bruit, dégager une quan­tité énorme de chaleur ou con­som­mer de l’électricité comme un voisin à Noël !