As an engineer in ARM's Applied Engineering Team, my job is to create proof-of-concepts with the latest ARM-based technologies. This sounds like an incredibly fun remit - and it is! - the biggest challenge choosing which ARM technology to focus on. It was thus fairly exciting to flip this on its head as we were designing Sensors to Servers, and to actually strive to show the breadth of ARM technologies involved in an Internet of Things (IoT) system.
IoT refers to the connection of all kinds of objects, big and small, static or mobile, to the Internet and all the services available there. If you've been in the industry for some time, you'll recognise this as an evolution of embedded and distributed M2M systems that has be building over the course of many years. Ease of development is one theme we explored quite thoroughly in building this demonstration, and the changes here made the biggest impression on me personally relative to when I got my start in building not dissimilar systems almost two decades ago.
The Sensors to Servers demo is an end-to-end demonstration touching several of the ARM technologies driving IoT. This includes ARM Cortex processors on the embedded sensor or device side with the Cortex-M processor family, but also in the data centre with one of the first commercial ARMv8-A 64-bit Cortex-A server-specific System on a Chip (SoC), and in the client devices we used to present and interact with our model IoT environment. On the software side, the ARM mbed IoT Device Platform gave us the core functionality for standards based communication in our system, so that we could focus our development effort on the device and application functionality.
This blog is the first in a series on the Sensors to Servers demonstration. This first episode will present the basic topology of the demonstration and discuss the connectivity standards used.
The demonstration is a network of connected sensors, reporting to an ARM powered server. The server then presents this sensor data as a series of rich web page visualisations which can be viewed on your ARM powered mobile, tablet, Smart TV, or any gadget with a good web browser. You might recognise this as a Sensor Network - which is exactly what it is, only with an engaging visual front end for the purpose of attracting attention at trade shows, as opposed to a practical application such as closed loop climatic control, or interactive media control. We deployed this system to instrument our booths at several industry trade shows, including the Consumer Electronics Show (CES), Embedded World (EW) and Mobile World Congress (MWC).
For connectivity in our trade show booth environment, we elected to use a mixture of wireless and wired communications. For wireless, we selected a 2.4Ghz 802.15.4 6LoWPAN solution that had been used in previous ARM mbed demonstrations. We also planned to have about half of our sensors connected via wired Ethernet. This gave us a mixed topography demonstrating some of the breadth of mbed connectivity support.
Along with the main sensor nodes, on some occasions we also integrated an additional sensor which used ARM’s new Cordio Radio IP for Bluetooth communications. These were bridged into the rest of the system via an Android Smartphone, analogous to how a real world wearable sensor might be integrated to such an environment.
The physical medium is only one part of the communications story. As mentioned before, to implement the crucial link between the sensors and the server, we leveraged the ARM mbed IoT platform. Utilising the existing mbed 2.0 environment, with some of the additional capabilities that will be baked into mbed OS (arriving very soon now), we were able to rapidly establish connectivity between our sensors and an instance of the mbed Device Server running on the server. This allowed us to focus on the development of our sensor capabilities on the embedded side, and on the collation and presentation of the data on the server side.
That concludes this first instalment of the Sensors to Servers blog. Next time we’ll talk more about the sensors we developed for the demonstration. Thanks for reading!
I've wanted for a while to make a S2S with a lot of temperature sensors.
My plan was to make a small "Web-server" on each device; only responding to a HTTP GET command and returning a simple status (which could be included by a server-side-include; eg. a .shtml or .ssi file)
The temperature sensors would then be placed above the ceiling.
The goal is to find out where my house is poorly insulated; eg. where the heat gets out.
Since the house is 20m x 10m, there's quite a lot of space to cover, when it comes to sensors; that means I'd most likely have multiple sensors connected to a single microcontroller.
The entire thing would be connected to solar panels, in order to be environment friendly.
The S2S demo above is a good appetizer; after watching it, one wants to get started with S2S, because every job is split into its own small easy module!
I look forward to the next part!