IoT markets are demanding a spectrum of processing power. Businesses see the need to have computation done at the edge as well as analytics in the cloud.
Intel offers a range of hardware options for IoT deployments. Computing power progresses in order from the Intel Atom® processor1,to the Intel® Core™ processor2 and finally to the Intel® Xeon® processor3. As IoT demand drives increases in data volume, a more powerful processor is required, as well as additional storage.
Devices that provide edge analytics and/or real-time responsiveness are utilizing more powerful processors at the edge. Due to this growing demand, edge devices are being deployed into new situations where:
- Low-latency situations where real-time actions and processing are required
- High bandwidth data is too expensive or takes too long to send to the cloud
- Intermittent or no network connections require edge processing
- Privacy requirements prevent sending sensitive information over a network
- Processing data at the edge while only transmitting minimal required information to the cloud
- Examples include MRI machines, autonomous driving, and video processing
Scaling in IoT
The concept of ‘scaling’ a system or solution is going from less computational needs to more in a progressive fashion. Sometimes it is within the same device, like a car or a security camera, but it can also be applied to system-wide changes, like a smart city.
In an IoT deployment, scaling generally occurs in three areas: sensors, network, and cloud.
- Sensors collect data on the environment. While you may think of temperature, water flow, or humidity readings when you think of sensors, they also include video, audio, and other high-bandwidth medium (like LIDAR, RADAR, etc).
- As sensor data increases in complexity, communicating the necessary sensor data with a robustnetwork stack in a secure manner becomes more critical.
- Data sent to the cloud is analyzed, routed, and stored. The cloud can also act as a message system of sorts, triggering events for other systems.
To put this in perspective, imagine a retail setting where multiple computing needs require progressively more processing power.
A basic point of sale (POS) system, which can be comprised of a retail register and barcode scanner, will require basic processing power that can be met through the Intel® Atom® product family. In the same setting you could have an interactive retail kiosk, where customers can interact with clothing selections, send images, and search inventory. This type of system would require an Intel® Core™ processor for audience analytics, voice recognition, remote management, and driving high-resolution displays. The retail owner will want to understand data and consumer interaction with all the technology at the retail site. In order to do this amount of data processing for trends, inventory controls, security, and operational analysis, a Intel® Xeon® processor based in a data center is best suited.
Scaling IoT Applications
Intel offers many hardware and software solutions that can advance your IoT capabilities. This can include the use of sensors, gateways, cloud services, computer vision, deep learning, and others. Below is a sampling to understand the relationship the tools and libraries have as you scale your IoT deployment.
The Intel sensor library includes more than 300 industrial and maker validated sensor modules designed to work with the integrated development environment (IDE) and OS of your choice for near-real-time performance. Intel ecosystem partners such as Honeywell and the wider IoT community are continually adding to the library of available “works out-of-the-box” sensor drivers. Intel tests and validates the integrated hardware and software, including the sensor drivers, Intel boards, data sheets, and protocols, saving extensive time and costs for solution developers. Existing drivers from the UPM Library are easy to customize, modify, and build upon. With a few lines of code from the Intel sensor library, data can be pulled from edge devices and sensors and pushed to the cloud.
- List of industrial sensors: https://software.intel.com/en-us/industrial-sensors-with-upm-support
- Full sensor list: https://software.intel.com/en-us/iot/hardware/sensors
- Sensor library on GitHub*: https://github.com/intel-iot-devkit/upm
OpenCV (https://opencv.org/) is a BSD-licensed library for computer vision applications. It is cross-platform and there are vast amounts of tutorials available on the web. When a system has OpenCL (https://www.khronos.org/opencl/) installed, OpenCV can utilize resources across the CPU and GPU.
- To get started with OpenCV see https://docs.opencv.org/3.2.0/d9/df8/tutorial_root.html
- To install the Intel SDK for OpenCL Applications see: https://software.intel.com/en-us/articles/getting-started-with-opencl-code-builder
- Intel is working on an SDK to enhance computer vision applications. You can sign-up here: https://software.intel.com/en-us/computer-vision-sdk
As processing power progresses from the edge to the cloud, the need for consistency across development tools is critical for developers. Intel provides developers working with an Intel Atom® processor, Intel® Core™ processor, or Intel® Xeon® processor, a consistent tool experience. These tools include the following IDEs:
- Intel® XDK — Create web interfaces, add sensors to your project, and work with the cloud. This developer kit includes companion templates to get your project up and running quickly.
- Intel® System Studio — Advanced debug, trace, and analysis features help you develop your IoT solutions or embedded applications. This suite is ideal for high-demand processing including image, machine learning, storage, communications, and transportation usages.
- Intel® System Studio IoT Edition — This Eclipse* based IDE comes with the built-in capability to easily integrate sensors via UPM and MRAA libraries, which you can develop in C/C++ or Java*.
Intel® Parallel Studio and Intel® VTune™ Amplifier
Intel® Parallel Studio is a software development suite that helps boost application performance on Intel® Xeon® processors. It includes the Intel® VTune™ Amplifier, a performance profiler which provides analysis so you can better tune your code. Some of the main features of Intel VTune Amplifier are that it works with OpenCL applications, allows profiling across CPU, GPU, FPU, threading, and memory, and provides a usage breakdown on a line-by-line basis
- Intro video to Intel Parallel Studio: https://software.intel.com/en-us/videos/parallel-programming-made-simple-intel-parallel-studio-xe
- Intel® VTune™ Amplifier: https://software.intel.com/en-us/intel-vtune-amplifier-xe
- Intel® VTune™ Tutorials: https://software.intel.com/en-us/articles/intel-vtune-amplifier-tutorials
Intel® Deep Learning SDK
The Intel® Deep Learning SDK lets you visually set up, tune, and run deep learning algorithms. It also simplifies the installation of popular deep learning frameworks, optimized for Intel platforms.
- Visit the deep learning area on the Intel® Developer Zone: https://software.intel.com/en-us/ai/deep-learning
- To Download the Intel® Deep Learning SDK: https://software.intel.com/en-us/deep-learning-sdk
The needs of computing at the edge are rapidly changing, and the ability to quickly scale hardware solutions is more important than ever. Intel® provides an easy processor roadmap for giving you the power needed, when you need it. To supplement the easy hardware path, Intel® provides other edge computing tools, such as sensors, and computer vision. This ecosystem gives you the ability to tie all of your edge computing needs together into a single, elegant solution.
For more such intel IoT resources and tools from Intel, please visit the Intel® Developer Zone