i.MX515 Project
Intelligent Networking of/using Embedded Systems (INES)

in category Applications & Software
proposed by PurpleAlien on 1st February 2009 (accepted on 1st June 2009)
Project Summary
It's been over three years since project #338 for the Efika was proposed: #338

The market, and user habits, have evolved since then:

  • Flash based storage has become ubiquitous and cheaper
  • Performance/Watt of the embedded chips have improved while prices have come down
  • Being energy consumption aware has become mainstream
  • Cheap, yet powerful Netbooks are everywhere, especially in the low end consumer market
  • Web based applications are popping up like mushrooms
  • Seemingly, the primary function of a mobile phone is no longer making phone calls...


Other things have remained the same though:

  • Security is often still an afterthought
  • Users still want better, faster and cheaper - while lasting longer on a battery charge


Three years since #338, it is time to revise the concept, however the primary focus remains the same:

"To provide a mobile laboratory for students to support a wide range of courses such as Parallel and Distributed Computing Systems, Operating Systems, Telecommunications Architectures and Software, High Level Hardware Design Automation, Embedded (Networking) Systems, Intelligent Computing Systems and Robotics."


However, as we've seen with #338, it won't stay in the lab...
We present "Intelligent Networking of/using Embedded Systems", better known as INES (c).

INES has two components:

  • Devices intelligently networking together, minimally intruding into the lives of the user
  • People networking with other people, using these intelligent devices

Quoting Mark Weiser, who articulated the idea of ubiquitous computing as invisible computation:

"Ubiquitous computing names the third wave in
computing, just now beginning. First were mainframes,
each shared by lots of people. Now we are in the
personal computing era, person and machine staring
uneasily at each other across the desktop. Next comes
ubiquitous computing, or the age of calm technology,
when technology recedes into the background of our
lives."


To achieve this, we take the lessons learned in the past with #338 and take forward. Practically this means:

Get rid of the central server. This is possible because of, among others, the ubiquity of flash memory.
No need to serve an image to several students when each student can have an SD card with the OS image on it.
The devices should be able to connect to whatever media storage, network, or other device to present services
to its users, in other words provide seamless integration into existing infrastructure.

Provide a rich set of applications and possibilities. Give users the choice to customize the device to their
liking. Want to run just Google Apps - no problem. Want an office suite on the device itself? Sure!

Using the i.MX515, we can bridge the gap between high powered laptops which last 3 hours per battery charge and are clumsy and heavy,
and underpowered Netbooks which provide too little power and still don't last as long as they should per charge.

Project Blog Entries

  Biskra
posted by PurpleAlien on 28th December 2009


As I am writing this, we (Maria and I) are on the train from Helsinki to Vaasa. It's Monday morning, around 10:30.

For the past three days we've been traveling home after a 7 day trip to Algeria. We'll be glad to be home after this exhausting journey, but at the same time we wish we were back over there as the weather was so much better (+22 over there compared to -15 here with lots of snow) and we miss the people already.



The purpose of the trip was work related, with a day or so scheduled for relaxing and sightseeing. Algeria is a beautiful country which has so many
places to visit and such diverse nature that one should spend a lot more time there to really discover the place. Something we will definitely do next time we're there.





The work we did was mostly network related at the Mohamed Khider University in Biskra http://www.univ-biskra.dz/, some 500km south of the capital Algiers. We installed servers during a previous visit, and this time we did a check-up while also installing a Network Management and Monitoring system based on Nagios and OpenNMS and also Moodle for e-learning and course management besides others.

As you are probably reading this on the PowerDeveloper blog, you might wonder what this all has to do with the Efika MX. We installed,
what we believe to be, the fist Efika MX on the African continent at the University. The Efika MX has been configured with Xubuntu, Ubuntu and Fluxbox to evaluate as a stand-alone system.



It also serves as a NoMachine NX client to connect to the NX Application Server, turning the Efika MX into a thin client.



While we did not have time to try the latest kernel on the spot, the system performed nicely. Future updates will enable hardware acceleration and native TFT display resolutions which should make the experience even better.





After the tests, the system was installed in the office of the rector as a demonstration for visitors there.





With the University work done, we visited several offices and plants of the ETUHP Menani company http://www.etuhpmenani.com/, a large enterprise active in utilities (oil an gas), civil engineering and road construction among others. We would not be able to do the work we do without their support, facilities and knowledge, for which we want to express our sincere gratitude.




More later....
Johan.
  NX client for Efika MX
posted by PurpleAlien on 13th December 2009


The NoMachine NX http://www.nomachine.com/ protocol and applications are perhaps less known than VNC, RDP or even Citrix, but they perform similar functions: run applications from a remote server as if they were local applications (or the entire desktop).

Thin Clients have used this type of technology for ages, but NX makes it especially easy to get it up and running. It is also very fast compared to other solutions. NoMachine provides a mixed bag of open source and closed source applications - but there are free alternatives to the closed source ones.

On the server side, there is FreeNX http://freenx.berlios.de/ which provides a fully open sourced server, which is available as a package for multiple Linux distributions.

On the client side however, there are free clients available from NoMachine, but not directly for the ARM processor (there are some embedded clients, but these are not generic). Luckily there are a few Open Source clients available.

One of the clients available, even as a package in the Ubuntu repository for ARM, is QtNX. QtNX is promising, but still lacks some features. None the less, it provides some of the needed libraries for the next client - OpenNX.

OpenNX http://sourceforge.net/projects/opennx/ is a drop in replacement for the NoMachine NX client. It behaves and looks in a similar way which is why it was chosen for our customers who are already familiar with the NX Client on other platforms. The compilation of the client goes smoothly after installing the needed development packages and some others (libcups2-dev, libopensc-dev, libwxgtk2.8-dev, libsmbclient-dev, libx11-dev, libxmu-dev, libxcomp-dev, libpng-dev, libjpeg-dev, build-essential, zip, xorg, xinit).
A make install will install the client as opennx under /usr/local/bin, to which you should also create a simlink to called nxclient.

FreeNX however also need nxssh (which is available from the NoMachine website http://www.nomachine.com/sources.php. To compile this package, just run ./configure and make a little change to the generated Makefile to remove the -L../nxcomp/ part.
Make sure to install also the development packages for libpng and libjpeg.

The rest of the libraries come from the ones provided by QtNX, and therefor we don't have to compile them ourselves at this stage.

Copy the generated nxssh executable to /usr/local/bin and you're done - have fun!

In combination with aewm http://www.red-bean.com/decklin/aewm/ you can make a pretty nice login screen to your NX server - more later.

Update - screenshots:

Starting window:


Logging in:


Logged in with remote desktop:



Johan.
  Intelligent Networking of/using Embedded Systems (INES)
posted by PurpleAlien on 5th February 2009


The project is not yet accepted, but here is the first blog anyway :-)

Some time after the proposal was submitted, VMware released the VMware View Open Client under LGPL.
The official press release can be found here: Press release.

VMware View Open Client lets you connect from a Linux desktop to remote Windows desktops managed by VMware View (formerly known as VMware VDI).

The code can be found here: VMware View Open Client.

Naturally, this can provide extra functionality to the INES project, and will be integrated into the system.


Johan.
Genesi Network: Genesi - Main Site Power2People PowerDeveloper