Edison Introductory Hack Day

I have been interested in Intel Edison since hearing of it a year ago.  The integration of Linux and Arduino is something we’ve done before but this approach to packaging is intriguing.

I’m not sure about the market for this product – only time will tell – but I can see that it trumps the Pi as an educational tool in that it provides both environments in a convenient package.  Buffered I/O will make for fewer mishaps when hooking up sensors etc. The dual environment will also be helpful in prototyping.

My particular interest was how the two environments would cooperate in a system solution.  I was not disappointed.  More on that below.

The event itself was very well organised and all kit needed for the demos was provided (this is rare and even the power cabling was adequate).  A github repo contained the necessary instructions and software.  As a result, I got the sense that everyone got through most of the exercises and could go off piste in the afternoon session.

I should admit to not having read the instructions for applying patches carefully enough. Doing this in the github distro would be useful next time.  It should also be mentioned that the demo board should be powered by a separate supply or, failing that, via both usb ports.

The exercise material provided, being Arduino-flavoured, did not cover my desired explorations of how the two environments would work together but there were folks on hand who knew what to do.  I decided to write an app in node.js on the Linux side, have it use the Bluetooth LE port and do some I/O on the Arduino side.

To do this we needed to install a bunch of stuff to enable the bluetooth port and noble.js to make this accessible by my node app.  A library called mraa was also needed to allow the node program to do Arduino-style I/O.  Once this was done it was quick to adapt the demo for a TI sensorTag and make it read from bluetooth and write to the provided LCD on the Arduino side.

Developing on the linux side with the standard command line environment is much easier for the likes of me. That said, I had to remember the necessary command [screen /dev/cu.usbserial-xxxxxxx 115200 -L] and put up with some glitches.  Next time I’ll set up a direct connection via a terminal and use git to post source changes.

PS.  When I did this I found that journals had filled all the available space for installing stuff.  After cleaning that up I installed git, providing a good way to develop from machines on the same network.  Going forward I can also use a tunnel to access the device remotely. Note to self: shift /var/log to another storage device.

All in all a satisfying day.  Many thanks the organising team, especially the triple-A – Alex, Ana and Adrian 😉 and the folks from Intel.  Oh, and thanks for the kit :-)

Further thoughts on Edison and alternatives to follow.

Meanwhile some niggles [add links when I get answers]:

  • We need a good solution to above journal problem – maybe a micro usb for /var/log?
  • We need to know how to use the host USB with nodes.  Install says libusb missing

 

Airsome with added BLE

A year after we showed a hack version of Airsome at OTA2013 we have still not got serious funding to make a product of this.  A number of other takes on the idea of mobile AQ monitoring have hit the streets but, so far, they don’t float our boat.

We have an ongoing conversation with others interested in the project, amongst whom is the maker of some sensors with respectable accuracy.  This was worth waiting for as the cheap sensors are inadequate for most serious purposes. We just got a sample of one of these sensors and integrated it using BLE.

In this blog I’m going to cover the next steps involved in rebuilding the app to connect to sensors via Bluetooth LE, a.k. Bluetooth Smart.  I won’t go into BLE here as there are numerous posts out there.  However, amongst its many great features it promises to become a universal peripheral interface – sort of a wireless USB.

2014-11-18 15.20.44The above is the “Blend Micro” from Red bear Labs. This is a combination of a Atmel processor and a Nordic Semi BLE chip.  It can be programmed with various IDEs, including the standard Arduino one.

2014-11-22 16.59.29

Firing up the app again, with help from Cordova and the BluetoothLE plugin from @randdusing we see the familiar heat map from the original demo.  I don’t think we’re converting the data correctly but you can nevertheless see effect of speed (slow is red).  Next step is to calibrate the sensors properly and produce something a little more meaningful.

To be continued …