30-04-2015 | | By Simon Duggleby
There is no doubt that the Internet of Things (IoT) has become a major disruptive force within the electronics industry. The impact of the IoT can be seen in virtually every market sector spanning B2C to B2B. While the availability of sports performance wearable fitness bands and other IoT connected devices have become hugely popular for tech-savvy consumers, the adoption of IoT for industrial applications is equally as impressive and promises many commercial benefits. Organisations are keen to streamline and squeeze every possible cent of profit from traditional business operations, and the IoT can help make that possible. Capturing large volumes of operational data, so-called “Big Data”, enabled by the IoT, is also opening up new business service provision models that were previously impossible.
It is not only the diversity of different IoT applications that is notable but also the speed with which they are coming to market. Whether for B2C or B2B developments, the potential for introducing new business models, establishing new partnerships, reaping first-mover advantage and forging widely adopted ecosystems relies heavily on getting your hardware designs into the market. Embedded developers face many engineering challenges in getting energy-efficient, high functionality, and wireless connected designs to market in a fraction of the time previously seen as realistic. It is no surprise that engineers are looking to radically change how they approach any IoT-based development.
Most IoT applications feature similar components: multiple edge nodes IoT design(sensor devices), a gateway (to facilitate short to longer-range communication), and a cloud-based service or analytics application. Adherence to open systems standards has become synonymous with any IoT design to ensure cross-platform compatibility and broad market adoption of edge node sensors to suit a variety of applications.
No matter the type of application, edge nodes also tend to have the same basic elements. These include being able to connect to a variety of one or more sensors, an embedded processing capability, wireless connectivity, the ability to support “lightweight” IoT protocols such as MQTT and, finally, device and communications security. The physical size of the device is also another factor. Each one of these elements, of course, has its own set of considerations and challenges. For example, many IoT devices are battery-powered, which requires processing and wireless parts to exhibit a frugal energy consumption profile. In the quest to find a rapidly different approach to architecting an IoT design, many embedded developers have turned to the increasing number of highly featured single board computers (SBC) to fast-track their IoT design. While there may be many potential SBC candidates, developers need to carefully analyse the technical requirements of their design needs and evaluate these against the standard features of the available SBCs.
Figure 1. Intel’s Edison module.
An example of a recently launched SBC is the Intel Edison module, as shown in Figure 1. A mind-bogglingly comprehensive set of features is packed into a highly compact module measuring just 35.5 x 25.0 x 3.9 mm. This postage-stamp-sized module features an Intel SoC device comprising both an Intel Atom dual-core, dual-threaded CPU running at 500 MHz and a 32-bit Intel Quark microcontroller running at 100 MHz. With 1 GB of RAM, 4 GB of Flash, and 40 configurable GPIO pins, the SoC satisfies most IoT designs’ processing attributes. The GPIO can be configured as up to 20 digital input/output PWM, up to 6 analogue input, UART, SPI and USB interfaces. Running at 1.8 VDC, the Edison module is well-positioned for use in battery-powered wearable designs. However, Edison has a lot more on offer and easily meets or exceeds the core system processing and connectivity elements required of an IoT design. Both 802.11 a/b/g/n Wi-Fi connectivity and Bluetooth 4.0 is provided as standard. Bluetooth Low Energy (BLE) profile support will shortly be available. Figure 2 shows a basic block diagram of the Intel Edison module. The SoC runs a pre-installed embedded Yocto compliant Linux distribution that includes Python, Node.js and a comprehensive software stack.
Figure 2. Intel Edison block diagram.
However, the availability of such a complete module is just one aspect that any professional embedded developer needs to consider. Being able to prototype a design requires a hardware platform such as an evaluation kit or reference design that allows interfacing sensors and any other hardware. Software support is another crucial consideration for an IDE to support the embedded development process, bringing a whole range of tools such as RTOS and any associated board support packages.
Intel has clearly given a lot of thought to meeting these criteria. Intel has designed two motherboards that an Edison module fits into to support the initial design prototype. The first, and the simplest, is the Intel Edison Breakout board. Providing a way of breaking out Edison’s 70 pin connector, the board has USB OTG and USB micro type AB connectors. Through a 0.1-inch grid array header of through-hole, solder points deliver the complete 40 GPIO channels comprising PWM, I2C, UART, SPI and the rest of the available GPIO. Power input to the module is also provisioned through this board.
Suitable for prototyping a broad range of IoT applications and appealing to engineers familiar with the Arduino shield approach is the Intel Edison board for Arduino. This larger, more functional board provides all the GPIO breakout pins of the Breakout board but in an expansion layout that is pin-compatible with an Arduino Uno R3 shield.
Figure 3. Intel Edison board for Arduino block diagram.
Making it extremely straightforward to access GPIO and accommodate the plethora of commercially available Arduino shields, this board is an ideal companion for your first development with Edison. Since Edison runs at 1.8 VDC, there are several level shifters to accommodate both 3.3 and 5 VDC shields, this being user-selectable. Further enhancing the Arduino compatibility is the availability of an Intel EdisonArduino IDE. Downloadable from Intel’s Maker Site, the familiar IDE provides a quick and easy way to start prototyping your IoT design using an Arduino Sketch. Also available from this site is easy and straightforward getting started instructions and links to other tutorials.
"Intel’s Edison board provides an easy way for designers to get IoT applications to market in the shortest possible time." Simon Duggleby, Marketing Manager – Semiconductors, RS Components.
Figure 4. Edison developer – software platform options.
Aimed more at the professional developer is Intel’s XDK IoT edition IDE. This cross-platform toolchain supports Node.js, which is ideal for use in IoT applications; other development tool options are available, as shown in Figure 4.
Edison’s pre-installed software stack includes all the necessary OS loader, Linux BSP and a trusted boot ROM loader, and more IoT specific middleware such as an MQTT protocol stack, the zero-configuration multicast mDNS service and a Connman command-line network management daemon.
Intel has developed the Intel IoT Development communications connectivity kit to further simplify the prototyping process. This set of code examples and libraries, available in either Node.js or C/C++, provide a number of simple IoT application examples such as a heating control thermostat, library reference and short tutorials. Complementing this library and completing Intel Edison’s edge node to cloud capability is access to Intel’s IoT Analytics website. This straightforward cloud analytics service allows registration of individual Edison-based devices and, by using the code examples, a repository for data generated from your IoT application. Service features include data analysis, chart displays, rule-based alerts and device (IoT node) management.
With its extremely small form factor package, the Intel Edison is an ideal compute and connectivity module on which to base your next IoT design. The core hardware platform is perfectly complemented with a host of software tools, connectivity libraries and examples to make sure your design gets to market in the shortest possible time.