The “Internet of Things” (i.e. devices capable of connecting to the internet) is currently estimated to be as large as the internet of people. Over the next couple of years it has been estimated that this will increase to five times this size.
To address the growing need for connectivity Microsoft have enabled the .NET Micro framework to be run on very small devices. The concept behind this is to create a single programming model and tool chain that extends from very small devices significantly smaller than a phone and typically running 64Kb of code, then extending up through mobile phones, laptops, desktops, servers, the cloud, and internet pages.
The .NET Microframework proposes to potentially be able to link together the whole of this ecology of computing devices.
Several devices are capable of running the .NET Microframework include:
GHI embedded Fusion boards
Netduino (microcontroller scale based on the Arduino footprint)
The Gadgeteer was released at Maker Fair 2011 and is built on the .NET Microframework. It has been envisioned as a rapid prototyping environment. The concept behind it is to allow the creation of a physical tangible working device in a very small amount of time. In order to realize this it employs solderless connectivity and simplifies the connection of existing electronic components in the form of Modules that add functionality to designs. For example, letters marked on Modules containing components relate to letter marked on the board. This allows embedded and hand held devices to be iteratively designed, built and programmed, according to Microsoft in hours rather than days or weeks.
Building A Digital Camera
I ve been starting to use a GHI Electronics Gadgeteer kit in Space 2 of Culture Lab. It consists of a Fez Spider main board and modules which enable a specialised function e.g. one of the modules is an SD card. The idea for this is to produce object orientated electronic components that mirror the object orientated code that is used to program the board (C# via the .NET micro framework).
I used the kit to build a digital camera following this online tutorial:
Beyond The Tutorial
To progress beyond the tutorial I added the following code to make the led on the button module light up momentarily when the button is pressed to take the picture:
Delegate Method / Event Handler
The first part of the code added (in the first red box) declares a delegate method to handle an event (releasing the push button). The code that does this is described as an event handler.
When the push button is released the event handler is called and the led is turned off and on a certain number of times – this ensures that the led flash is visible and does not happen so quickly that the human eye cannot perceive it.
Develop a “derive” inspired recording device based on this tutorial but adding an intervalometer – this would record the derive as a time lapse that could be automatically uploaded online when an internet connection was available. A method of storage could be provided by the SD Card and ethernet or wifi modules would enable web connection. Other sensors could be added to this to create a data log overlaid onto the images.