Mar 20

MIT IoT course: Roadmap to a Connected World

Reading time: 3 – 4 minutes

Some weeks ago I finished this course from MIT. My ideas was have an overview of the IoT market from an external point of view. In the end I’m a little bit disappointment because the course was more focused on talking about general ideas with a lot of references of internal projects about IoT on universities, mainly MIT as you can imagine. I don’t know how those it work in The States where the companies are by far bigger than in Europe, but in my humble experience it’s very difficult to approach to a company talking about experimental technologies, or whatever which is not properly supported by another company. This is the language of business that I experimented in my professional career.

A part from that I want to remark that technical contents are presented by very important people in different areas of technology. But when it was time to talk about technical details the things changed a lot depending on the teacher, some teachers where lost on completely usefulness details of a completely unknown technology and others don’t go deep enough on basic specs of basic technologies.

Sadly the block where I want to contrast my point of view with others, the Architecture, was focused on completely different approach that I expected. I didn’t find any reference from architecture reference models (ARMs) of the IoT platforms, for example. Minor references to important transport protocols like CoAP, or MQTT. Both of them important standards from IETF and OASIS/ISO, respectively.

Another disappointing part is the security chapter, most of the content is focused on securing hardware to the most deep and complex parts. And practically no information referring to Internet security, or data transportation. Nothing about certificates, blockchains, or whatever other solution to improve most of the security problems in real IoT today. May be hardware security is important for some companies but usually this is not the most concerning part from most of companies today.

Sorry but from my humble opinion, the course is not well-focused and if I have to be honest with you I felt sleepy more than once when I watched some videos. A part from that, the assessments at the end of chapters are a waste of time because they try to check if you followed the explanations with simple question that you can answer looking video transcriptions. Only forums and course mates are good points, but old fashion user interface of the learning platform don’t allow you to enjoy the conversation threads.

After more than 16 years writing blog entries in my site I’ve never did so bad review of anything but I have to be honest with my feelings with the course, and I want to call for apologies to all the people who spent a lot of energy preparing materials for the course.

Luckly the cost of the course is only $495, but nobody likes to spent that amount of money for not being satisfied. Before closing the post, just a link to the course: Internet of Things: Roadmap to a Connected World.

Mar 15

How to install Homie libraries on Arduino IDE

This entry is part 3 of 3 in the series esp8266

Reading time: < 1 minute The steps that explain how to install Homie libraries and its dependencies on the official documentation are a little bit tricky and some of you asked me about how I did it. So I decided to record a clip explaining the steps:

Please tell if it was useful for you, and thanks for your interest.

Local copy of the video:

Mar 01

Video of the conference about my Smart Home in the IT Arena (Lviv,UA)

This entry is part 2 of 2 in the series itarena17

Reading time: < 1 minute Finally I have the chance to share with you the video of the conference that I gave some months ago. Remember it was about my low cost home automation systems, may be the most interesting thing will be that most of the presentation is a real time demostration aobut how I create those systems.

If you want to take a look of the presentation slides:

I hope it was interesting, or useful for you.

Jan 14

Tancant el 2016

Reading time: 10 – 16 minutes

Comencem parlant de la família, la casa i el poble…

Aquest any hem donat la benvinguda al 2017 des de Cuba; així doncs, durant aquestes vacances nadalenques envoltades per celebracions familiars la meva interacció amb l’ordinador ha estat pràcticament nula i per si fos poc durant les vacances no vaig connectar a Internet ni amb el mòbil. Sembla impossible, oi? doncs es pot fer i a més es posa molt bé. La veritat és que el mes de desembre va arribar amb una agenda pleníssima plena de compromisos personals i professionals. Tot plegat es va convertir en una cursa que ha acabat amb la tornada a la feina el passat dilluns dia 9. Així doncs tot i que amb retard ara toca fer el tradicional, i tan útil, resum anual.

dav

Com no pot ser d’una altre manera aquest any ha vingut marcat per una notícia meravellosament inqualificalble. Ben a principi d’any, concretament el 17 de febrer el Roc va arribar a les nostres vides i com tothom diu, perquè és ben cert, ens va canviar la vida per sempre. Ja res tornarà a ser igual i totes les prioritats que t’havies marcat amb aquells valors que creies que tenies tan marcats canvien totalment. Potser no és algo que passi realment de cop, almenys jo he anat necessitant el meu temps per anar-me’n adonant i comprovant com això era així però no es pot negar que ara el centre de l’univers és el Roc. És curiós perquè quan més miro el Roc més recordo el Pol, no és algo que m’entristeixi però evidenment hem posa nostàlgic i el trobo a faltar. Per sort, una bona abraçada del Roc ajuda a agafar forces per mirar endavant.

Ara mateix el Roc és a piscina, va a la llar d’infants i ja s’enfila per tot arreu. Amb quasi 11 mesos té unes ganes d’explorar el món increïbles i amb un somriure als llavis que realment et fan tenir ganes de dir-li t’estimo i fer-li mil petons. Algunes de les meves sanes rutines les he hagut de canviar, per exemple, he deixat spinning i ho he canviat per Befit que en menys temps faig un treball més complert pel cos. Per sort continuo poden practicar el tennis i la piscina ha quedat aparcada després d’un inici molt prometedor. Pel que fa al meu tema físic aquest any m’han hagut d’infiltrar el colze i la munyeca del braç dret perquè no podia jugar a tennis del dolor que tenia. Cal dir que des de llavors estic súper bé.

befit

A casa hem continuat fent obres, enrajolant diverses parts del jardí i deixant-ho tot apunt per acabar la zona de la barbacoa. Pel que fa al poble estic veient moltíssimes transformacions i grandíssimes millores, potser la última ha estat el centre d’interpretació de l’aigua. Però activitats com engalanar els carrers per la festa major i moltíssimes cosetes més hem fan notar que Torrelavit es modernitza i s’obre a la gent de fora. Com que els temps actuals no només porten bones coses, durant la nit de Sant Joan i estant de vacances a Sardenya ens varen entrar a robar a casa. Així que durant aquest any també hem hagut d’instal·lar una alarma a casa; mai hagués imaginat que això caldria al meu poble. Un lloc on durant molts anys havia aparcat el cotxe davant la porta de casa i amb les claus posades.

Per cert, pels més geeks que llegiu aquesta entrada, l’alarma que m’he posat és una G90B comprada a Aliexpress. Això si, també he comprat unes quantes càmares de videovigilància noves i un grabador. Diria que al proper que se li acudeixi entrar a casa tindrà un bon reportatge a més d’una bona festa de llum i sorolls quan entri. El millor de tot és que he aconseguit connectar els sitemes que he comprat amb el nou sistema domòtic de la casa.

Una altre taca negativa de la modernització del poble és que s’han registrat tres incèndis ben aprop del nucli del poble. Té tota la pinta que van estar provocats, però això encara no s’ha pogut demostrar lamentablement. Tristament en el darrer dels casos les flames van arribar fins al jardí d’una de les cases del barri. Per sort, tot es va poder resoldre en una mala tarda de diumenge i el millor és que el paissatge no ha quedat gaire malmès. Gràcies bombers.

La feina

Pel que fa a aspectes professionals, la companyia que vaig co-fundar fa uns anys ja no es diu M2M Cloud Factory, ara som “Nexiona, IoT connectocrats“. Aprofitant el MWC’16 el recent estrenat departament de marketing va fer el llençament de la nova marca. Però no només hem estat al MWC; hem tingut presència en altres fires com el METIC, WPC de Microsoft a Toronto, però sobretot on ho hem donat tot ha estat al IoT SWC de Barcelona. Durant l’any hem presentat el nou MIIMETIQ LITE; el MIIMETIQ EDGE que va acompanyat d’un hardware de DELL i fins hi tot hem tret productes no-oficials però que s’han venut a clients interessants com el MIIMETIQ Agent. Però a vegades, hi ha petites coses que acompanyen als productes que et fan tanta o més il·lusió, per exemple, finalment el serveis en els que es basa el sistema ja corren en contenidors de Docker, també disposem d’una interfícia gràfica per gestionar les actualitzacions i llicències del producte, a més d’un mòdul per demanar assistència remota de forma automàtica.

miimetiq-edge-promo

Cal dir també que hi ha algún dels nostres clients que han tret solucions realment interessants basades en els nostres productes. Com a ara Vadecity, que ofereix un servei de lloguer de parking per bicicletes a Barcelona. Alguna altre solució pot ser també el sistema de control d’impresores de gran format de Ricoh; o el més que original sistema de vacunació per pollastres d’Hipra que hem montat conjutament amb IBM. Tot plegat amb tecnologia Nexiona. Però la gran notícia de l’any és l’entrada en l’accionariat de l’empresa per part de Tech Data, un dels proveedors d’informàtica més grans del món. Cal dir que és un èxit que realment fa molta il·lusió.

També he pogut dedicar una estona als meus projectes

El més conegut i de moment el més llarg és el blog, aquest any ja ha fet 16 anys des de la primera entrada que hi vaig fer. Així que malgrat sempre arrossegues el sentiment de que voldries haver-hi compartit moltíssimes més coses cal estar content per haver continuat aquesta feina tenaç.

La infrastructura que tinc a casa i a Internet també ha canviat força, la cosa continua en plè procés de re-estructuració i els canvis es succeixen sense parar però algunes cosetes que puc rescatar podrien ser que he parat definitivament el servidor VMWare ESXi que tenia corrent sobre un HP Proliant ML100. Una de les migracions més difícils ha estat canviar el pfSense virtualitzat que hi tenia, el que he fet ha estat programar serveis equivalents dins del Mikrotik CloudSwitch que tinc. Creant-me fins a sis xarxes locals per separar el tràfic de diferents serveis que tinc a la xarxa local. Per exemple, tinc xarxes pels sistemes de seguretat; pels sitemes domòtics; per la veu sobre IP; pels serveis d’internet (DMZ) o per les persones. Fins hi tot m’he creat una xarxa on poso els equips en proves i que de moment no vull que afectin serveis en producció.

Referent als servidors dedicats que tenia a Internet, i que també eren màquines virtuals corrent en un gran servidor VMWare ESXi, els he migrat tots a VPS d’OVH amb l’objectiu de reduir radicalment els costos i baixar les necessitats de manteniment. Per tant ara amb dos servidors VPS i snapshots que faig periódicament m’asseguro que el pitjor que hem pot passar és haver de restaurar la màquina. També disposo d’un tercer servidor dedicat amb moltíssima més capacitat de disc per fer-hi còpies de seguretat.

Degut a tota aquesta migració durant l’any he publicat alguns articles que diria que cal resaltar:

Pel que fa a l’smart home (sistema domòtic) aquest any m’he centrat en refer el sistema de calefacció que tenia basat en Panstamp. El nou sistema usa ESP8266 a més d’estar montat fora de cada calefacció a diferència del vell, a més la lògica ara esta enmatzemada en el servidor i no en cada radiador; tota la programació de servidor va sobre NodeRED i per tant és molt senzill mantenir-la. Pel que fa a l’interficie d’usuari estic migrant d’OpenHAB a HomeAssistant, el nou sistema es basa en Python 3 i malgrat estar més verd m’hi trobo molt més còmode. Per desgràcia tot això no esta acabat i malgrat la inestimable ajuda del Dani i alguna altre persona el tema encara esta en fase alpha.

Algunes coses curioses, la primera que m’ha passat aquest any és que m’ha explotat la bateria del Macbook Air que ja tenia aparcat i que per cert tinc a la venta. Una altre és que en un viatge en avió vaig esquerdar la pantalla del portàtil Toshiba i hem va tocar canviar-la per una de nova.

Fins hi tot he donat alguna conferència

Aquest any la meva disponibilitat per assistir a events ha estat molt reduida, però encara he pogut donar tres conferències. Per ser més exactes, he participat en dues taules rodones sobre Industria 4.0; la primera al col·legi d’enginyers de Barcelona i l’altre durant el “Catalan Telecommunications day“. Però la que realment hem va fer més il·lusió sobretot perquè és el primer com que hem criden a parlar a un altre país és la que vaig donar a Lviv (Ucraïna) durant l’IT Arena. En aquesta ocasió vaig parlar sobre la meva “Smart Home” i a més vaig dedicar la major part de la xerrada a fer una demostració de com crear un automatísme per casa “low cost”.

IT Arena Oriol' speech

Aquest any també he pogut viatjar

Quan el Roc només tenia dos mesos vaig haver d’anar a Itàlia per temes de feina, així doncs, hem vaig emportar l’Estefania i el Roc i varem poder disfrutar de Cèrvia un petit poble de platja, a més de Bolònia i San Marino. Al cap de dos mesos aprofitant la baixa per maternitat de l’Estefania varem escapar-nos una setmaneta a Sardenya; aquest cop varem viatjar en vaixell, no en avió, les vacances varen estar molt xules tot i que va costar una mica manegar el Roc perquè li van sortir les seves primeres dues dents durant aquella setmana.

També hem fet algunes escapades durant els ponts de l’any a Viella, Puigcerdà i fins hi tot a Menorca on ens hi varem escapar amb el Xavi, la Sabina i les bessones per cel·lebrar el seu aniversari de casament. Però el viatge estrella de l’any ha estat l’escapada a Cuba. Des del 27 de desembre fins el 5 de gener varem poder gaudir de l’hospitalitat cubana. La Havana vieja ens va encantar i el resort turístic del Ocean Varadero “El Patriarca” ens va permetre descansar i disfrutar moltíssim no només del Roc, sinó també de la companyia dels cunyats.

Sense la família a part del viatge a Ucraïna per fer la conferència també he viatjat a Florida, més concretament a St. Petersburg i Clearwater; aprop de Tampa. Tot plegat arrant de la visita als HQ de Tech Data en motiu de la seva entrada a Nexiona. A més de visitar uns quants cops anglaterra per visitar alguns clients, per cert, després de molts anys vaig poder tornar a estar a Oxford realment una ciutat molt interessant.

dav

Oct 17

Using Homie for a temperature sensor

This entry is part 2 of 3 in the series esp8266

Reading time: 2 – 2 minutes

The second episode of ESP8266 programming series. In the next video I describe how to code a firmware for ESP8266 using Arduino IDE. The purpose of that firmware is create a temperature sensor and publish the reading in a MQTT broker.

Schema of the system:

temperature-sensor-schema

Pictures of the system, I used ESP12E Devkit and some cheap parts:

dav

mde

mde

References in Aliexpress where I bought the hardware:

thermistor psu

Firmware source code is publishied in my github account: temperature sensor source code for ESP8266.

Oct 10

Homie as a convention for MQTT based IoT solutions

This entry is part 1 of 3 in the series esp8266

Reading time: < 1 minute In this video I describe deeply a convention called "Homie“; thanks to that we have a set of rules and assumptions very useful when a firmware device is created and/or an IoT platform have to be configured to support those devices. I love that convention and I used it during my demonstration scenario in Lviv IT Arena.

After this video I’ll follow a series of some other videos, describing how to develop devices following Homie conventions.

Official documentation of the convention can be found in the Github Homie project.

Oct 04

Conference: Smart Home using low cost components at IT Arena, Lviv (UA)

This entry is part 1 of 2 in the series itarena17

Reading time: 2 – 2 minutes

Last weekend I talked on IT Arena event organized in Lviv (Ukraine) at Lviv Arena Stadium created for the Football Eurocup of 2012. It was a very good and well organized event, it was a privilege to participate. I gave a presentation about the automation’s that I created latest years at home thanks to the open software and open hardware. The second part of the presentation was a demonstration about how to set up some IoT devices created ad-hoc.

speech

If you want to review the slides, they are available at slideshare.

Conference was recorded but for a while I don’t have the video clip, if I can get access to the video I’ll upload it to youtube and referenced here. Anyway I created a photo album that you can review in LVIV trip pictures photo album.

IT Arena Oriol' speech

Finally I want to give thanks to Mykhaylo Kramarenko because thanks to his invitation I had that great opportunity. Thanks to Marta Maksym to take care of my trip and accommodation. Thanks to organizers for the 3G SIM card with data and free calls, next time a micro-SIM card will be perfect for my mobile phone XD and last but not least a lot of thanks to Denis Kolesnikov for his guided visit to the Lviv center, really nice place I’ll go back to visit it properly.

Jan 10

El meu 2015

Reading time: 8 – 12 minutes

Re-editant l’article que vaig escriure per tancar l’any passat aquest any també he volgut fer un resum del que ha donat de si el 2015. Per desgràcia els compromisos personals i familiars no m’han permès publicar-lo fins a principis del 2016, tot i que jo sóc dels que pensa que més val tard que mai. He tancat un nou any on he fet més coses de les que hem pensava i quan m’he posat a rellegir les meves notes diaries, setmanals, mensuals, semestrals i anuals he al·lucinat.

A nivell personal i familiar, de nou he tingut moltíssimes oportunitats pel creixement personal. Moltíssimes ocasions on m’he hagut de sobreposar per aixecar-me i tornar a creixer un cop rera d’un altre. La millor notícia de l’any és que estem esperant el Roc. El que ha de ser el germà del Pol i que ha de neixer durant el mes de Febrer. Aquesta boníssima notícia eclipsa qualsevol altre tema i ha fet de pal de paller al voltant del qual s’han desenvolupat moltíssimes decisions durant l’any.

L’any 2015 va començar amb una bona notícia el mes de febrer perquè tornavem a estar embarassats. Però a finals de març un avortament ens va fer tornar a canviar els plans i la il·lusió es va tornar a esvaïr. Per tal de trencar una mica amb aquest amarg event ens varem escapar durant una setmaneta cap a terres del sur. Varem visitar “Puerto Banús” (Marbella), Puerto de la Duquesa, Tarifa i Gibraltar. Després d’haver passat per la història del Pol això no era res, però de nou apel·lava a la nostre fortalesa emocional. En moments com aquest és quan hem sento infinitament orgullós d’estar amb una persona tan excepcional com l’Estefania. No només ens varem aixecar sinó que ara com ús dic estem apunt de donar la benvinguda al germanet del Pol, en Roc.

Per aquestes mateixes dates la meva avia de Sant Sadurní, la Carmeta, també ens va dir adéu. Era l’últim avi que hem quedava viu. Per desgràcia ja feia una colla de mesos que anava perdent la serenitat. Per si no fos poc la meva mare i el meu germà també durant els primers 5 mesos de l’any van haver de superar temes de salut rellevants. Per sort, en ambdós casos només van ser ensurts. Curiosament per aquestes dates és sempre quan es concentren esdeveniments emocionalment més importants per la família. Coincidint a més amb l’aniversari de la mort del meu pare, la història del Pol, els 12 anys del meu accident de cotxe, el tercer aniversari del nostre casament i la cel·lebració dels meus 38 anys.

També per aquestes dates varem fer una nova escapada amb els “cunyis” (Sarai i Àlex); aquest cop a la costa brava. Concretament a Calella de Palafrugell. Un d’aquests racons que per molts cops que visitis mai et canses de tornar a visitar. No ens oblidem tampoc la caminada que varem fer l’Estefania i jo per celebrar el seu aniversari, junt amb la romeria de Torrelavit, l’Anna i el Carles ens varem arribar fins a Montserrat a peu. Tot un desafiament per nosaltres.

Per desgràcia aquest any no he pogut disfrutar tan del tennis com és habitual en mi els últims anys. Una epicondilitis m’ha tingut uns quatre mesos patint sense poder disfrutar d’aquest esport que tan m’agrada. Per sort he pogut seguir amb l’spinning i també he començat a anar a la pisicina. A finals d’any degut a compromisos professionals i també els personals que ja coneixeu he hagut de deixar l’spinning aprofitant que ja podia tornar a jugar a tennis. Així doncs, s’ha acabat l’any amb alguns quilets extres que cauran ben aviat a la que reprengui la meva activitat esportiva i professional.

De nou hem continuat invertint en la casa, no tan fort com l’any passat perquè ens haviem de recuperar una miqueta però si que hem instal·lat un descalcificador a la casa, un grup d’osmosis a la cuina, hem fet una nova habitació a l’estudi, hem renovat l’WC del pis de d’alt, hem posat una nova pergola pel cotxe i nova teulada a la caseta de fusta del jardí. El millor de tot plegat és que personalment he participat força en l’execució d’aquestes d’algunes d’aquestes tasques.

Degut a l’embaraç del Roc aquest any les vacances han estat força diferents de l’habitual. Primer de tot varem fer una petita escapadeta a Puigcerdà durant un cap de setmana i després una setmaneta a Roses, bàsicament per descansar i disfrutar de la platja a més de poder estar junts com a parella. Ja que degut a la feina he passat un estiu força ocupat. Aprofitant les vacances a Roses també ens varem acostar fins a Empuria Brava per provar el Windoor que m’havia regalat l’Estefania per l’aniversari.

A nivell de creixement personal, aquest any hem tingut un creixement important a M2M Cloud Factory i ens hem començat a consolidar com a empresa, producte i amb grans i bons clients; tot això m’ha fet evolucionar moltíssim perquè l’excés de feina i l’altíssima demanda que ha tingut la feina sobre la meva energia ha estat esgotador. A més grans persones de l’empresa ens han deixat; com ara el Marc i el Pau i això encara ha augmentat més l’exigència. Però al final tot passa per algo i sempre hi ha lectures positives a tots els esdeveniments.

Tot i amb això he pogut incorporar tres noves formacions al meu currículum, un parell de cursos de comptabilitat. Un d’introducció i l’altre d’anàlisis de balanços. Però el que realment m’ha fet creixer personalment ha estat el de Management 3.0. Un curs increible, on no només se m’han obert les portes a una nova forma de fer les coses sinó també uns contactes boníssims i la possibilitat de col·laborar dins del meu departament amb un advisor excepcional, el Gabri.

Les meves rutines matutines, fent meditació a primera hora del matí; les preguntes per enfocar el dia i després fer-ne balanç i molts d’altres exercicis que heredo de la PNL, el mindfulness i d’altres disciplines m’han anat acompanyant durant tot l’any. Estic molt content del nivell de fidelitat que tinc amb totes aquestes pràctiques i sovint n’agraeixo els beneficis.

Gràcies a l’Horizon 2020 que varem guanyar l’any passat a M2MCF ens hem pogut centrar en crear un nou producte el MIIMETIQ LITE que veurà la llum ben aviat, a més d’haver creat una nova solució basada en les Smart Glasses. Mentre treiem noves versions del “framework”. Tot plegat ha tingut força repercusió a la prensa. Personalment hem van fer una entrevista al diari Ara referent a aquests temes: L’Internet de les coses: un futur a la punta dels dits.

Professionalment també he pogut tancar finalment el projecte Empowering. Més de dos anys de projecte al costat del Xavi i la gent del BEE group (CIMNE). Finalment el meu contracte va espirar el mes de setembre i vaig poder posar punt i final a aquest projecte de Big Data tan interessant i al que li desitjo el millor. A més com a consultor de l’empresa IUL, conjuntament amb l’Adrià com a part de l’equip de Nakima també hem pogut crear un parell de productes en un temps rècord i amb una orientació tecnològica molt ben enfocada cap al IoT.

Tot plegat m’ha permès tocar força tecnologies tot i que moltes d’elles ja les coneixia. Voldria destacar-ne algunes: OpenWRT, Raspbery PI, Rancher, Ambari, NodeJS, NodeRED, ESP8266, IrDA, RF, etc. Finalment també he aprofitat per canviar de portàtil i he jubilat el Mac Book Air que tenia. Tot i ser un i7 amb 4G de RAM i 256GB de SSD, el seu rendiment és ridicul al costat del Toshiba Portégé que amb el i7 de dos cossos, 16GB de RAM i 500GB d’SSD vola. Comentar que li vaig canviar el disc mSATA que portava de serie perquè no podia ser de més de 256GB. A més aquest nou portàtil té tots els ports que hem calen integrats, fins hi tot un mòdem 4G. Cosa que hem permet no haver d’anar pel món amb la maleta plena de cables.

Abans de tancar aquest resum anual afegir que aquest any he donat tres conferències. L’Àlex i la gent de la UPC van tornar a confiar amb mi perquè a inicis d’any fes de nou una conferència per la gent del FIB Alumni, aquest cop sobre la meva SmartHome. Arran d’aquesta conferència en Marc organitzador del IoT meetup de Barcelona em va demanar que la repetís en anglès per la gent del meetup. Finalment a la Garrotxa Camp també van voler que la tornés a fer.

També gràcies al Josep Maria la gent de l’Ara van voler fer-me una entrevista a tota pàgina que va sortir el dia de la diada. Sincerament hem va agradar força com van resumir la meva vida professional sense entrar en detalls. Obviament es van deixar mil coses però fer un article sobre la meva vida professional no és senzill i crec que ho van aconseguir prou bé. A més arran d’aquest article al butlletí de la gent gran de Torrelavit també hem van voler entrevistar, cosa que hem va fer molta il·lusió.

Un altre any plè de grans events, oportunitats i emocions profundes viscudes a flor de pell. Un any que varem acomiadar amb l’Àlex i Sarai (els “cunyis”) a Benifaió amb un sopar excel·lent i de forma relaxada. Abraçant aquest 2016 plè d’esperances, il·lusió i amb moltíssimes ganes de viure i estimar. Des del cor i els braços oberts de nou: GRÀCIES!!!

Dec 23

Raspberry PI and OpenWRT flash partition proposal and rescue boot support for embedded systems

Reading time: 4 – 7 minutes

Introduction

Main target of this post is describe how to organize flash partitions and how to modify default OpenWRT boot sequence to support a flexible and powerful rescue mode for Raspberry PI based projects. Just to clarify the explaination. When OpenWRT is build on a flash card for Raspberry, there are only two partitions.

The first one is vFat partition with kernel, firmware and other configuration files; the second one is a ext4 partition with root filesystem. Boot sequence loads the kernel and then mount root partition and run the init script. If ext4 filesystem is corrupted or could not be mounted boot sequence is stoped and there is no solution without extracting the flash card.

Features

In this blog entry I’m going to describe a partition table and boot sequence strategy to avoid this kind of problems. Of course, there are other solutions to get similar results but I think this one is simple and powerful at the same time.

Summarizing features of this solution:

  • reduce risk when using intensive writing app
  • reduce damage risk on flash memories
  • fail-safe mode pressing a button
  • support application upgrades using opkg packages
  • support operative system upgrades using opkg packages

This solution proposal assume:

  • wear leveling protection solved by flash card
  • button connected to GPIO pins

The idea

Raspberry PI requires a vfat partition as its first flash partition where there are several required files for booting process, this is a bootloader substitution. For example, in that partition there are files like: start*.elf and bootcode.bin which are the GPU firmware and bootloaders. Another key file is kernel.img; this is the kernel used for booting. Bootloader parameters for kernel booting are in a file called cmdline.txt and firmware parameters are set in config.txt.

At this point the most important think to take into account is kernel.img file and cmdline parameters. Because kernel is loaded and executed by default with cmdline parameters set. When kernel boot process finishes root filesystem and init process sequence will be figured out from cmdline parameters.

At this point take a look on proposed partition table could be useful: (spaces are just as a reference, use what you need)

p1 - vfat (~50MB)
p2 - ext4 - operative system base (read-only) (~150MB)
p3 - ext4 - operative system (read-write) (~250MB)
p4 - logical partition
  p4.1 - ext4 - your_application files (usually read-only)
  p4.2 - ext4 - your_application data (usually read-write)

Fail-safe boot process key is partition p2 where a minimal OpenWRT installation with a modified init sequence is found. Main idea here is detect if a GPIO shortcut is done, usually this is done just pressing a physical button and you can interact with the user emitting some beep, for example, you can tell the user when you are waiting for button press using a beep and then emit two beeps when button press is detected or nothing if no button is pressed in 3 seconds. Finally the idea is detect if you need a regular boot or a fail-safe boot.

My suggestion for minimal OpenWRT is a small footprint installation of OpenWRT without kernel modules, just the monolitic kernel loaded. Then reduce init sequence to the minimum and add fail-safe logic (GPIO button capture); if button is pressed stop boot sequence and give a shell to the user. Regular way will be invoke init file of the rootfs (p3 in the partition table).

I think the idea is simple and the complexity is reduced in two parts both of them are the init file. To be more precise the p2 partition table has its own init file and p3 the other one. p2 init file load the minimum hardware to control button and give rescue environment when it’s needed. And p3 init file mounts read-write partition and the regular filesystem with regular boot processes and all kind of stuff that you need.

Final notes

I know this is not a very practical post, but my intention is only share some ideas that I have in mind. I spend most of my time designing architectures and I think this is a very powerful architecture of a boot sequence for some professional projects based on Raspberry PI and OpenWRT.

The best way to do what I describe in this post is putting p2 in a initrd file which is referenced in kernel parameters. Because then all read-only system is a RAM partition and rootfs init file has the PID 1 dropping dual-init file complexity. But I decided to modify this part because in the past I had some problems creating initrd files specially when required space for that partition is bigger than RAM. Anyway it’s important to take in account that initrd files has the same purpose as the proposed p2 partition.

Useful links

Jul 13

Conferència Summer Camp Garrotxa 2015: SmartHome usant Arduino, Raspberry PI i més

Reading time: 1 – 2 minutes

Aquest cap de setmana vaig tornar a donar la meva conferència sobre “SmartHome” en aquesta ocasió vaig introduïr la novetat del sistema de feedback basat en “Tasker + Auto-notification”, a més de l’execusió de tasques basades en “crontab”. També he inclòs un petit avanç sobre el nou projecte en el que estic treballant per tal d’integrar les dades del descalcificador dins del OpenHAB usant una webcam i OpenCV per processar les imatges optingudes.

Agraïr al Xavi, Gerardo i la Laura per haver-me donat aquesta oportunitat. Tant el SCG15 com el SAX2015 són events molt familiars a més l’entorn és espectacular. Tot un descobriment del que malgrat tenir referències no havia pogut disfrutar en primera persona.

scg2015