Posts Tagged ‘Plug Computers’
I am going to provide more details on the project that I have in of the earlier posts. The objective of the project is to build a network interface between an iOS application & a device running OSGi (it could be any device running OSGi since that lends to portability but I am going to start with a Plug Computer). And using that network interface/protocol the IOS/iPad application would function as a “Remote Manager” to the Plug Computer. Obviously all code on the Plug that interacts with the iOS/iPad app would be developed in OSGi/JVM.
I had started doing some preliminary design work and thinking through in late January, and to prepare spent last two weeks of December (2011) getting my coding skills comfortable with both Java & iOS/Objective-C. The approach was to build the project incrementally, baby steps at a time. The key was to define the network protocol/interface between the iOS App & Plug. The interface by itself was very simple but I had to decide what it would do and more importantly in the first iteration what it won’t do.
Here is a simple diagram illustrating the protocol/interface, and I had decided to use a Sockets Interface between the iOS and Plug. The Plug and the iPad are both on the same network/subnet.
Using sockets was my first decision – in my next iteration I would move to a REST API between the two. I can comfortably say 3 months into it that the design & implementation is flexible enough where my “network interface” code on both sides is separate from the actual command processing. The next couple of decisions were also what not to take on in the first round of implementation – no TLS/SSL sockets and no authentication. I would take that on once I have the entire interface working. In addition there is no authentication or provisioning for the iPad/iOS app – that is – I have not built in any authorization check before the iOS/iPad app would be allowed to access the OSGi information on the Plug computers.
Here is a short-list of sites that would be useful if you are developing for Plug Computers:
1. The Master Marvell Site: http://plugcomputer.org/
The site is sponsored and supported by Marvell who created the category of Plug Computing. Using this site you can find almost all the information you need on Plug Computers – the software, the hardware and the tools.
2. Useful site within the master site above is the Plug Wiki: http://plugcomputer.org/plugwiki/index.php?title=Main_Page
3. A very good tool for flashing or burning Bootloaders & OS Images on the Plug is the ESIA Tool which can be found here: http://sourceforge.net/projects/esia/. This tool can be used from Linux and Windows.
4. You can participate & search the Forums hosted by the PlugComptuer.org site: http://plugcomputer.org/plugforum/index.php?action=forum
5. Another site that has information on Plugs: http://computingplugs.com/index.php/Main_Page
6. Big fans and open source developers of Plug Computers are Mike Staszel and Ian Botley – they run what is known as PlugApps (used to be OpenPogo). They have a version of Linux with many thousands of packages for developing apps on the Plug very easy!
Happy Plug Computing!
Marvell Technology introduced a new category of computing at the beginning of 2009 called Plug Computing – computers that plug directly into electrical sockets. The strategy behind Marvell’s effort was to create a community around Plug Computers and to a larger degree they have been pretty successful.
Take a look at the number of partners and community development sites have come up in the last 12 months at the community site here and notable among these are the Pogoplug by Cloud Engines and an open source community being built by a student – Mike Staszel at Openpogo. Major tech bloggers such as Om Malik have nothing but praise for the simplicity and ease of Pogoplug.
The Plugs are using high-performance processors – they run the Marvell Sheeva ARM-core powered processor with very high integration, low-power consumption at 1.2GHz.
The initiative is innovative in its packaging of a computing platform – in the form of a “plug” – and while there may be many processors in the market that could fit in the same form factor (as of a Plug) – the Sheeva from Marvell is a very good combination of features and functions in the given small form factor.
The packaging innovation is being taken a step further – establishing a community led development strategy for the Plug Computers. Earlier this year I attempted to start hacking on ARM-core based systems by getting the TI Beagleboard which I wrote about here – but I found the entire process complicated and after getting the board never did anything with it. On the other hand getting started with the SheevaPlug was so much simpler (except the ordering process)….
Marvell, of course, hopes that this community driven development model on its processor will lead to an “iPhone SDK” style model and promoting richer software for the Plugs and hence in turn selling more processors.
Marvell is on the right track – the CES in Las Vegas in January should show a glimpse of what is in store for Plug Computing.