Today’s development kits provide complete development environments in addition to hardware. The latest trend is toward versions that simplify building applications that also fit into the Internet of Things (IoT). IoT development now targets just about everything that could include a micro, such as wearable technology like smartwatches that can track location and heart rate. Tools, then, must be more sophisticated because they need to address the hardware in the box and the Internet outside the box.
- Who’s Doing What In IoT And M2M?
- Interview: Dave Friedman Talks About How IoT Cloud Platforms Help to Accelerate Connected Product Delivery
- IoT Technologies Prepare To Tackle Global Problems
- Understanding How IoT Systems Scale And Evolve
- Understanding Wireless Routing For IoT Networks
Shedding Light On IoT
Lighting is a natural application for connectivity and the IoT. The Z-Wave Alliance and ZigBee Alliance both have standards that address wireless communication for home and business environment control including lighting control. Companies that support these standards, then, also provide development kits that make the creation of products using these standards easier. They can also help developers support the interoperability aspects of these standards.
Download this article in .PDF format
This file type includes high resolution graphics and schematics when applicable.
The Texas Instruments (TI) TI Z-Stack Lighting Kit is based on TI’s CC2530 ZigBee system-on-chip (SoC) microcontroller (Fig. 1). It provides ZigBee Light Link (ZLL) support. The kit includes a pair of ZigBee Z-Light2 reference boards in addition to a ZLL Remote Control (Fig. 2). The components come pre-programmed with a Z-Stack Lighting application that uses the Z-Stack Lighting installer and TI’s ZigBee-compliant protocol stack, Z-Stack.
The kit is designed to show developers how to take advantage of the ZigBee Light Link Public Profile. The modules have LEDs that can be controlled remotely, but the same approach can be used for a wide range of lighting technologies. The remote control can adjust color, intensity, and saturation in addition to turning the LEDs on and off.
Multiprotocol Industrial Kits
Echelon’s FT 6000 EVK targets industrial IoT devices using Echelon’s multiprotocol IzoT platform (Fig. 3). The kit consists of an Ethernet-based IzoT router that supports the pair of evaluation boards that are connected via a free topology (FT) wiring system. It also includes five FT 6050 chips that can be used to build custom modules that can be connected to the router. The modules provide a way to get up and running quickly while the chips can be used to build prototypes.
The modules can be used to control a range of devices including lighting. In fact, Echelon’s technology is employed in applications like smart street lighting and smart building control. They have debugging hooks that allow developers to experiment with the system but have fine diagnostic control.
The router supports Echelon’s IzoT Server stack, which bridges between the FT and Ethernet network. The kit includes IzoT NodeBuilder software for creating, debugging, and testing applications for IzoT-compatible devices. Developers can use the graphical IzoT Commissioning Tool to create, manage, and maintain devices and networks. The tool is based on Microsoft Visio.
The environment is designed to link to the IzoT Network Services Servers, which run on Microsoft Windows. It supports IzoT networks as well as OpenLNS and LNS. It can handle different networks including IzoT, LONWORKS, and IP-852.
There are a number of companies that deliver support similar to Echelon, providing Web-based support, modules, and even chips. For example, Digi International’s iDigi IoT framework targets machine-to-machine (M2M) applications like Echelon (see “The Embedded Cloud Floats Everywhere” at electronicdesign.com).
IoT Motor Control
Texas Instruments took a collaborative approach with its $19.99 TIVA C Series Connected LaunchPad. The LaunchPad board and software starts out with the conventional development kit tool chain that includes the Code Composer Studio (CCS) IDE V.5. An additional USB-based microcontroller provides debugging support.
The board has a 120-MHz TIVA C Series TM4C1294NCPDTI microcontroller based on an ARM Cortex-M4F (Fig. 4). The built-in Ethernet support provides a mechanism for turning the system into an IoT device, but the board also has a pair of BoosterPack header sets. They are on both sides of the board so a system could employ up to four BoosterPack modules. The modules also can be stacked.
BoosterPacks are available for a wide variety of peripherals and displays. Some of these peripherals’ modules include sensors, while others provide wireless support like the SimpleLink CC2541 and SimpleLink CC3000 BoosterPacks, which provide Wi-Fi support. The wireless support offers another avenue for IoT communication.
The board has the usual plethora of peripheral ports including I2C, UARTs, SPI, USB, and even a pair of CAN ports. There is a pair of 12-bit analog-to-digital converters (ADCs) with a 2-Msample/s sample rate plus three analog comparators. For motor control, there is an advanced motion control pulse-width modulation (PWM) subsystem plus a pair of quadrature encoder interfaces.
This LaunchPad can be used as a conventional development platform, but TI went a step further by partnering with Exosite, a cloud-based services company. Exosite already provides cloud-based platforms and portals for remote monitoring of devices.
The LaunchPad comes with an application installed that works with Exosite’s services out of the box. A developer can set up a management interface on Exosite’s Web site to work with LaunchPad for free. It can track the board’s operation once it is connected to the Internet via the Ethernet port. The Web-based server can check the board’s sensors and control its LEDs. This is designed to show how easy it is to link to and utilize the service.
The development tools to recreate and extend the sample application are provided as well. Features and additional items can be monitored. Of course, Exosite will be glad to help provide additional services and support for more devices for a fee. This is likely to cost less than rolling your own Web framework, but TI’s development platform will easily accommodate other Web-based service vendors as well as custom connections.
Modularizing Wireless IoT
Sierra Wireless’ Legato is not a kit per se but rather the entire development environment and IoT support framework that targets Sierra Wireless wireless modules (Fig. 5). Like the TI LaunchPad, developers can take the wireless modules and incorporate them into their application to provide basic wireless connectivity. They can also be linked to Sierra Wireless’ AirVantage M2M Cloud, which includes the AirVantage Enterprise Platform and the AirVantage Management Service.
Legato obviously targets Sierra Wireless’ services, but tuning the infrastructure to match a different IoT service platform is simpler because Legato is built on an open-source platform. The modules run Linux that was co-developed with Wind River. The system supports an application sandbox that is designed to isolate applications without the overhead of using hardware virtualization and a dedicated operating system for those applications. It uses Linux cgroup support to limit resources, memory, and execution time in addition to providing file access restrictions.
The Eclipse-based tools also incorporate the Yocto tool set (see “Interview: Mike Woster Discusses The Yocto Project” at electronicdesign.com). Yocto provides a standard way to build a Linux deployment for embedded applications. The platforms also support C and C++ in addition to a wide range of other programming languages such as Python. And, Legato includes middleware components that can be reused in addition to the usual runtime libraries and board support packages (BSPs) for Sierra Wireless’ hardware.
Virtualizing Industrial IoT
Typically when people talk about the IoT, they discuss devices, gateways, and Web-based servers, encompassing a wide range of implementations. But sometimes, those Web-based services may be hosted locally. Maybe a customer has particular security or control requirements, or an IoT solutions vendor then could provide all the hardware and software for an application. To do this more easily, provide a virtual platform solution that targets a standard hardware platform.
Intel’s Industrial Solutions System Consolidation Series is a pre-integrated, pre-validated solution for virtualizing and consolidating embedded industrial systems (Fig. 6). It is designed to provide a virtual machine hosting environment in a rugged industrial package. It can be used for a variety of purposes such as application or device consolidation. One of these applications can be an IoT host service.
The first version is based on Adlink’s Matrix MXE-5301 fanless embedded computer, which runs an Intel Core i7 processor. It has optional, internal wireless support including Wi-Fi, cellular, and GPS interfaces.
Intel’s software stack is built on a Wind River Hypervisor that is preconfigured to support three partitions running two instances of Wind River VxWorks for real-time applications and one instance of Wind River Linux 5.0 for non-real-time applications. The system can support additional partitions and operating systems.
The Industrial Solutions System Consolidation Series includes a software tool suite called the Intel System Studio that provides build support as well as analysis and tuning tools. Intel System Studio is also part of the Intel Developer Program for Internet of Things.
Furthermore, Intel is looking to deliver the software on a flash drive like a typical Linux distribution so it can be installed on similar, standardized platforms. Intel wants its hardware partners to be able to provide platforms that can run the framework out of the box that can in turn run the developer’s virtual machines.
IoT is more than a buzzword these days, although it means different things to different people (see “The Internet Of Thingamajigs” at electronicdesign.com). Not all chip, module, or board vendors are targeting IoT specifically, but more are. It has long been impractical for developers to build every part of their application, so instead they turn to operating systems and middleware to provide a base to build the application-specific code.
IoT is one more part, though it spans multiple systems and features like remote updates, security, and management that are requirements in the IoT space. Developers need to provide these parts, but they will not want to build them from scratch.