12h amb Arduino

En un calaix tenia guardat un Arduino Duemilenove i una colla de sensors, finalment aquest passat dissabte no vaig poder evitar-ho i vaig haver-m’hi de posar. La temptació va ser massa forta. Així doncs, en aquest post el que vull és explicar-vos com he passat les meves primeres 12h sobre aquesta plataforma d’Open Hardware. Tan de temps treballant amb el concepte Open Source i per primera vegada començo a parlar d’Open Hardware això és una sensació que no té preu.

Arduino Duemilanove

Bé doncs, primer de tot comentar que el llenguatge de programació és molt simple. Tan és així que vaig invertir unes 2h en revisar tots els llibres que tinc d’Arduino en busca de més funcions o usos del mateix que compliquessin una mica la cosa pensant que no podia ser tot tan senzill. Diria que he passat massa temps amb llenguatges d’alt nivell i al tornar al món proper al hardware tot canvia tant que no me’n sabia fer el càrrec. Així doncs, amb ben poques hores ús asseguro que tindreu per la mà totes o quasi totes les instruccions del llenguatge. El que podria semblar més difíci, tot i que sota el meu punt de vista crec que no ho és gens, és fer-se a la idea de que després d’iniciar el sistema tota la lògica estarà tancada en un bucle infinit que esta esperant que els sensors captin algún tipus d’entrada per disparar la lògica. Potser el més interessant és el fet de poder introduir el concepte d’interrupcions per hardware que et permeten secuestrar el fil d’execució en qualsevol moment del codi per llençar una rutina.

Després de fer les típiques proves amb LEDs i pulsadors, vaig posar-me a investigar les entrades i sortides analògiques amb sensors de temperatura, humitat, proximitat, lluminositat i d’altres similars. Coneixer i dominar tot això és qüestió de ben poca estona però crec que val la pena passar-hi per sentir-se còmode amb les eines de programació i el propi hardware. Us recomano intentar retenir tots els pins que té la placa alhora d’entendre el codi és molt més senzill.

arduino

Arribats a aquest punt vaig descobrir que usar la consola serie per mostrar-hi informació de depuració és una de les formes més senzilles de controlar si els programes estan fent el que ens interessa. Així doncs, en aquest punt usava el port serie per volcar-hi tot tipus de comentaris explicatius per tal de seguir el fil del codi a mode de consola de treball. Per tant, us recomano tenir a mà un ‘minicom’ obert constanment per pode recol·lectar tot el feedbak que ens interessi.

On la cosa em va enganxar de veritat és quan vaig començar a posar-me amb els temes d’infra-rojos; concretament a l’hora de decodificar trames enviades per comandaments a distància i d’altres artilugis similars. És realment interessant fer implementacions manuals d’aquest tema usant els rellotges interns que té el dispositiu. T’ajuda a entendre al 100% com funcionen les codificacions dels comandaments a distància per infra-rojos. Després descobreixes que la cosa es pot simplificar moltíssim usant llibreries que t’ho gestionen tot i que t’ofereixen una serie d’interficies de més alt nivell que permeten desenvolupar aplicacions molt senzilles sense haver de preocupar-se dels detalls de les internalitats que comentava abans. Llavors és quan realment pots arribar a fer coses interessants tan a l’hora de rebre com d’enviar informació per infra-rojos.

El pas obvi que venia després d’això era començar a jugar amb protocols de comunicacinos inal·lambrics que per algo tinc vocació telemàtica, no? la veritat és que gràcies a una llibreria d’alt nivell anomenada ‘VirtualWire‘ que parla sobre com usar transmisors i receptors de 433MHz modulats amb ASK per enviar i rebre trames a través de l’aire vaig entendre al 100% com funcionava el sistema de control remot de persianes i calefacció que tinc a casa. De fet, em vaig quedar amb les ganes de seguir jugant amb aquest tema per manca de components electrònics que no tenia a mà. Seguint amb aquesta línia tot i que no vaig fer-ne proves vaig estar veient que és força simple treballar amb busos de dades SPI i I2C. Cosa que obre un món de possibilitats a l’hora de fer interconnexions amb certs aparells.

He de dir que si sou persones que us costa entendre l’electrònica analògica, com a mi, no ús heu de preocupar es poden fer miracles amb Arduino sense tenir ni idea de perquè s’acostuma a posar una resistència davant d’un LED. Això si, arriba un moment que la pròpia motivació per tot el que estas fent et porta a rellegir-te ni que sigui en diagonal els capítols dedicats a l’electrònica que tenen molts dels llibres d’Arduino. Almenys en el meu cas amb uns 30-40min en vaig tenir prou per tornar-me a posar al cap tots els conceptes que havia estudiat en el seu dia i poder seguir endevant amb els meus experiemnts amb més coneixement de causa.

Tot i que pel que vaig fer a continuació no era necessari haver fet el repàs sobre electrònica no vaig poder evitar consultar com es feia per treballar amb els mòduls Ethernet, ZigBee i Wifi que té Arduino. Com que no tenia tot aquest hardware aquesta part només la vaig fer a nivell teòric però la veritat és que ja em va ser molt útil. Em va permetre entendre com es podia treballar amb tot plegat. Això si, ara el ‘gusanillo’ el tinc en la tecnologia ZigBee (IEEE 802.15.4) que mai he tocat de primera mà, així doncs, potser per reis em regalo algún mòdul d’aquesta tecnologia per trastejar-hi una mica, a veure què tal és tot això del ‘mesh-networking’ amb aquest protocol que tants adeptes ha guanyat en el món de l’embedded.

He de dir que de les 12h prop de 4h les vaig passar fullejant i llegint amb deteniment llibres i més llibres que tinc del tema, això em va servir per veure diferents formes de fer les coses i l’abast dels projectes que fa la gent amb l’Arduino cosa que és realment interessant per familiaritzar-se amb la tecnologia. Potser vaig repassar prop de 50 projectes amb aquestes hores i me’n vaig mirar amb lupa uns 10 cosa que em va anar molt bé per coneixer a fons molts temes que per manca de hardware i components electrònics no podia reproduir a casa.

Per cert, si algú s’esperava que aquest article fos un manual de com iniciar-se amb Arduino em sap molt greu però diria que fer això no té cap sentit ja que per internet n’hi ha moltíssims de manuals que expliquen com fer-s’ho per començar. A més, també hi ha moltíssims llibres disponibles a les llibreries i biblioteques a partir dels quals podeu tenir tutorials més que bons i detallats de com començar amb aquest tema. Així doncs, m’ha semblat que era més útil explicar-vos l’experiència de les meves primeres 12h amb aquesta tecnologia.

Curs de GTD

El passat cap de setmana es van celebrar les primeres jornades de GTD a Barcelona. Lamentablement no hi vaig poder assistir, tot i que m’hauria encantat. Volia aprofitar per recordar-vos que el Dani Aguayo un ex-company de la carrera i propietari de una dels blogs de GTD més famoses del país DuTudú va ser-hi present. Per si ús ho vareu perdre o voleu ampliar coneixement sobre el tema en Dani donarà un curs de GTD a Mens Venilia.

Adjunto el ‘flyer’ del curs per si a algú li pot interessar, per la meva part ús el recomano:

GTD flyer

Per cert, si algú encara no sap què és GTD (Getting Things Done), recomanar-vos aquesta metodologia de gestió de tasques escencialment orientada a ús personal. Em permeto dir que GTD és una metdologia de gestió dels objectius de la teva vida. Si voleu una definició més formal ús recomano passar per la Wikipedia (english, castellà). Per altre banda, al meu blog fa molt temps que parlo de GTD, si voleu fer una revisió del que he comentat sobre el tema podeu punxar aquí.

CTO vs CIO

CIO

  • integrar: objetivos negocio, tecnología y tratamiento de datos
  • alinear objetivos del negocio con la TIC
  • soporte tecnológico a las estrategias y actividades involucradas que buscan alcanzar la visión
  • clientes internos y procesos internos
  • conocimientos de negocio y tecnología
  • no es lider de ingeniería y/o programación
  • ejecutivo de negocio responsable de alinear las políticas y directivas de negocio a la tecnología
  • función en una palabra: estratégia

CTO

  • clientes externos e ingresos
  • tecnología necesaria para dar soporte a procesos externos, los que importan al cliente
  • colaborador del CIO
  • responsable de diseñar y recomendar las soluciones de tecnologías apropiadas para dar soporte a las políticas y directivas evaluadas por el CIO
  • más énfasis en el soporte de tecnología y no en Gestión de Negocio
  • función en una palabra: tecnología

Común

  • tener criterio sobre la tecnología que soporta las necesidades del negocio
  • deben ser pensadores estratégicos
  • capacidad de liderazgo

 

Compra fallida del Samsung Serie9

A principis d’estiu vaig vendre el Dell XPS m1330 que tan bon resultat m’ha donat, això si, oblidant l’ensurt de la targeta gràfica. Aquest no és el meu equip principal de treball, per aquest finalitat uso un Dell XPS Studio 13 amb dos Core 2 Duo a 2.6GHz, 8GB de RAM i 500GB d’HD a 7k2 rpm.

Doncs bé la meva idea era substituir-lo per un Samsung Serie9, en escència un ordinador ultraportable amb un processador i5 i un disc SSD que apuntava molt bones maneres i a més les crítiques el deixaven molt bé. La principal funció per aquest ordinador era de ser la meva agenda i sistema de comunicacions amb els meus equips. Gràcies a l’autonomia i la seva lleugeresa era ideal per treballar en ruta, la seva potència a més el feien perfecte per usar en un dels 4 monitors de treball que uso, igual que feia amb el m1330. No cal oblidar que com a peculiaritat en la meva xarxa aquest és el Windows.

Finalment doncs, els senyors de Techdata i més concretament els de Samsung han aconseguit que després de més de 3 mesos d’espera hagi desistit d’esperar més. Així doncs he comprat un MacBook Air que finalment ha estat d’11” encomptes de les 13″ que tenia el Samsung Serie9 que volia. Només rebre el MacBook vaig configurar-li el BootCamp perquè arrenqués un Windows 7 i així l’estic usant des de llavors. Malgrat el Mac OS X pinta molt bé hi ha una serie d’eines de productivitat que no són compatibles amb Mac OS X i que no puc deixar d’usar i permetrem canviar-les sense invertir un temps que ara no vull dedicar a això.

Apple MacBook Air 11"

Així doncs, encara que sembli extrany vaig amb un Mac sota el braç amb el Windows instal·lat, això no hi ha qui ho entengui, eh?! com jo sempre dic, per tal de qualificar l’adversari primer l’has de coneixer a fons i ara el que toca és comprovar si els productes estan tan ben acabats com diuen. De moment no en tinc cap queixa més aviat al contrari. A nivell de hardware el equip té un acabat impecable el rendiment és excel·lent i tot funciona com un rellotge suïs. Si hagués de queixar-me d’algo ho faria de la bateria que pel meu gust hauria de durar més.

Com a referència la configuració del MacBook Air que he escollit és aquesta:

MacBook Air Specs

Mesos de silenci i meditació

Mai havia abandonat tan el blog com ha passat aquests darrers mesos, ni tan sols li he dedicat un minut per fer notar que ha complert 11 anys. Així doncs, els temes que no podien deixar d’apareixer al blog s’han acumulat i la cosa es fa cada cop més greu.

Per tal de posar solució a aquesta situació agafo el compromís de publicar els següents articles que tinc al tinter:

Sobre els temes tècnics com sempre em passa el retard ja és tan gran que és intractable, així doncs, si voleu saber quines són les tecnologies que més m’atrauen ara mateix no deixeu de donar un cop d’ull a RabbitMQ, BOS (Bonita Open Solutions) i Erlang. Com ja he dit, hi ha mil temes més amb els que estic embolicat: CMMI, ITIL, Magento i un llarguíssim etc.

De vacances pel Canadà

Amb molt poc temps per recuperar-me del viatge de feina a Mèxic aquest estiu l’Estefania i jo ens hem escapat una setmaneta a Canadà un viatge curt però molt intens. Em estat en 5 hotels diferents i hem fet uns 3.500km. Si voleu donar un cop d’ull a les fotos com sempre són a l’album de fotos, el password me’l podeu demanar o si em coneixeu bé el podeu intuí. Sense ànims d’aburrir us faig un petit resum visual de la ruta que hem fet.

Dia 1: Tornoto, CN Tower, visita a la ciutat i la Universitat:


Dia 2: Niagara:



Dia 3: Mil Islas y Ottawa



Dia 4: Mont Tremblant, passeig en hidroavió i Quebec



Dia 5: Taudossac, balenes i catarata Montmorency



Dia 6: Quebec, reserva dels indis i Montreal



Scroll to Top