Archive for September 28th, 2007

M2M Technology Survey

Friday, September 28th, 2007

Llamawerx is involved with a cellular-based, mobile M2M asset-tracking application where we are responsible for the embedded software. While working on this, I became interested in the IT tools needed to create a functioning system and thought I would look into building a technology prototype.

30,000 Foot Requirements

  1. Monitor remote asset
  2. Collect position information
  3. Store the information
  4. Web-based presentation

System Architecture

The first order of business is to select an architecture and map the functions into it. For this example, consider a smart unit that collects data remotely, does some processing and transmits position and alert information to a server. The server collects the information, stores it in a database, performs further analysis and presents the information via the web-browser. The unit and the server communicate with GSM/GPRS.

Embedded Technology

The remote unit must collect positioning information from a GPS receiver, monitor input/output signals, perform analysis and communicate with the server over GPRS. To reduce costs, a Wavecom wireless processor handles the communications and processing needs. The major M2M module vendors – Wavecom, Telit, Siemens, Motorola and Enfora – offer programmable modules that are more than wireless modems. Developers program Wavecom’s OpenAT environment in the “C” language using an Eclipse IDE.

  1. Wavecom Wireless CPU
  2. OpenAT
  3. “C” programming language
  4. Eclipse IDE

Server Technology

The server collects information from the remote units, stores it, performs analysis and delivers it to a dashboard-like web browser application. We selected Ubuntu Linux, a robust and popular open-source operating system, as the foundation for the server software. The remote units deliver their data using GPRS and UDP, and a Python script collects the messages and stores them in a database. MySQL, another popular open-source tool, is the database server. For web access, Apache came with our Linux distribution so why change? PHP provides the server-side scripting.

  1. Ubuntu Linux
  2. MySQL
  3. Apache HTTP
  4. Python
  5. PHP

Web Technology

For display technology, we stuck with HTML technologies over Flash or Java. Ajax introduces what seems like millions of options for web developers to pursue. Based on their maturity, ease of use and experience we chose to use JavaScript libraries from Yahoo!, Google and Ben Nolan’s Behaviour which in turn depends on Prototype.

  1. HTML
  2. Cascading Style Sheets (CSS)
  3. JavaScript
  4. Yahoo! User Interface Library
  5. Behaviour – unobtrusive JavaScript behaviours
  6. Google Maps API

Technology Overload

So there you have it – a collection of tools and technologies useful for creating an end-to-end M2M application. There are four programming languages (“C”, Python, PHP and JavaScript) along with a lot of “glue” technology. Many developers specialize in one or two technologies; yet as this example shows there are many involved in a single system. I didn’t even discuss wireless protocols, AT command sets, networking technology, GPS or domain expertise.

Making it all Work

One approach brings multiple experts and project managers together to create the solution. Increased project management, complex architecture and difficulty managing trade-offs are common with this approach. In many cases experts can’t see the forest for the trees and are unwilling to make technology trade-offs for business value.

Another option emphasizes generalists familiar with most of the technology – maybe not a deep understanding, but a working knowledge. In many cases, a generalist approaches the problem with a more open mind and is willing to trade-off designs in order to achieve the business value.

At Llamawerx, we fall into the later camp. Yes, we are experts in some technologies like embedded software, OpenAT and relational databases, but our real strength is the ability to transform vague and conflicting information into working systems that solve real-world problems.

For more details on Llamawerx visit the technology and solutions on our website.