As some of you that follows me on Twitter may already know, I was at MakerFaireRome a few weeks back, and I couldn’t resist to buy the new Intel Edison board, the follow-up of Intel Galileo. Now, the board promises to be a lot of fun: it has a dual core Atom CPU (!), plus an Intel Quark microcontroller, 1 GB of RAM, 4 GB of disk, WiFi and Bluetooth: basically, everything in a really small form factor. There are some interesting things that I would really like to try, for example SparkFun sells a LiPo battery, and I am really curious how long it could last while powering up all the good stuff that I cited above, but that’s not the main topic for this post.
Edison and a couple of sensors and actuators
I have to admit that I put together a very simple experiment very quickly, so nothing fancy here: I dug up a proto shield for Arduino that I prepared some time ago, with just a couple of LEDs and a couple of buttons, and I put them together on the Intel Edison and Arduino breakout board, which is basically a board that exposes some USB ports, a slot for the Edison itself, and a set of headers to connect Arduino shields.
The thing that took more time was updating the Edison firmware: it is as simple as download the files from the Intel Website and put them in a partition that appears when you connect the board to a computer, except for the fact that noone tells you that the partition should be formatted in FAT32 before doing that (by default it is FAT): if you don’t, when you connect to the board through the serial port and execute the update, Linux is not able to read the files and fails (by the way, they use Yocto, of course!).
XDK, IoT Edition
The standalone part of the application was working (I did not make a video: it is too stupid as code to be worth it :) ): it was time to find out how the smartphone counterpart works.
XDK, the smartphone counterpart
I started another existing template for smartphones, that was designed as a counterpart for another IoT template: basically, it shows a big grey circle and a text field, and it connects to the server that you specify on bootup, listening to the Websocket and updating the circle color and the text field whenever an update message arrives. The code is quite simple, and I made almost no modifications to the template: I maintained the same graphical layout and simply changed the message content that it receives from the Websocket (according to what I developed previously for the IoT app).
Bootup in the emulator
The IDE allows you to upload the app to the cloud and test it somehow: this is something I have to tried yet, so I cannot tell you much about it. If you don’t what to follow that route, you can simply test it on your devices: you need to install an Intel companion app that handles the communication with the XDK, and after that you can launch the execution on the device.
The app waiting for something to happen…
… something happened!
These are two screenshots that I took on my Nexus 5: the messages assume that someone is “knocking” by pressing the buttons on the shield connected to the Edison board. So it works! :)
Get the apk
Finally, you can build the APK: the XDK produces an ARM and an Intel version of the app, and you can download them and install them wherever you please, or put the in the various online markets. Of course, you can get the equivalents for iOS and Windows Phone (I have not tried, since I have no devices to try them).