Wednesday, March 30, 2016

Develop with NodeJS for Intel Edison - 3: An annoying problem

Yes, it happens.

When I was a full time developer, sometime I spent a lot of time analyzing problems.
Sometimes, those were bugs.

In architecture, the things are different. You don't see small problems. You can have big problems, but it is different.

These days I spend some part of my time studying NodeJS and Intel Edison.

Yesterday, I came around a strange thing: some of my sensors seemed not no work. Broken?
Ok, I decided to analyze in more depth the issue. I discovered that using NodeJS UPM library these sensors were working only if attached to pin A0.
An hardware problem?

Then, I have thought to what I have done in the recent past:
1. I have two Edison board. Both started with the firmware obtained by the Intel official flashing procedure.
2. I took board 2 and I decided to upgrade Node from 0.10 to 0.12. I had to upgrade MRAA, UPM, XDK Agent...

Board 2 showed this strange behaviour.

Yesterday evening I decided to try these sensors with board one, still with Node 0.10 and UPM and MRAA old libraries.

All analogic pins (A0 to A3) from Grove shield were OK.

So, it was the software.

Buggy software can seem faulty HW.

Why I decided to upgrade Node in board2? Because long running programs shoved strange errors both with MRAA and MQTT libraries.

So, for now if I want to test UPM I have only one choice: revert back to board 1, with old Node version.

Node is a wonderful platform, but you can hit this kind of problems.

Oh, Why Intel doesn't provide a simple upgrade path to newer Node version?
I'll have to ask.

Tuesday, March 29, 2016

Develop with NodeJS for Intel Edison - 2

 

Some pictures.

Just to make more cool the blog, I have taken some snapshots of my Edison Board.
I have mounted the Seed Studio Grove Shield and, for now, only one sensor: The Air Quality Sensor.