After trying Resin.io briefly with a SomaFM Streaming Application, I was eager to experiment more with their cloud deployment platform. Maybe some new hardware, maybe some more complex project… In the end, it became a little bit of both: here’s MrEdison, and portable IRC chat display based on Intel Edison.
The idea came from the fact that we have an IRC channel for the Taipei Hackerspace, #taipeihack on Freenode, just it is not very well (or rather: at all) frequented by people. I wanted to break that channel out of the computer, and put a physical window to it in the ‘space, so people can see what’s going on, and hopefully want to get on too!
I have my fair share of playing with embedded Linux and Internet of Things projects these days, but the real treat is finding projects occasionally that just blow me away. Through some Hacker News comments I ended up checking out Resin.io, a tool that brings cloud deployment and management to embedded applications. That might simple (boring?), but here’s the workflow in a nutshell:
Start a new application and download an image file for your chosen single board computer (1 of 5 choices at the moment: Raspberry Pi 1 & 2, Parallella, Intel Edison, and BeagleBone Black)
Flash the image onto an SD card, connect the board to the network, and boot it up
The board shows up in the cloud management console, and you get a git repo address
Make an application (Docker, Node.js, etc.), do a git push: voila, your board’s running your app
Flash a few more SD cards, connect the devices to the network, all of them will run your application
Modify the app behaviour through environment variables, either all of them at once, or customize each
Check status, logs, updates, online, and enjoy that things just work!
I cannot emphasise enough how good any service feels that 1) runs by git pushing code, and 2) just works.
SomaStream
To try it all out, I’ve put together a very simple application: SomaStream – the SomaFM internet radio streaming app.
Grabbed my RaspberryPi that didn’t do much lately, plugged an earphone in it, and started to look for some examples in the docs how to make it play some streaming music.