IIoT edge development - Prototyping devices
When choosing hardware, one has to take into consideration its intended purpose, its size, the connectivity options, the architecture, and whether it can work with analog and digital sensors, as well as software requirements.
For prototyping, the best choice is Arduino or Raspberry Pi. However, for industrial IoT tasks, it would be better to use (mini) Field Agents by GE or Siemens solution.
In our case, we chose Raspberry Pi because it is an open source solution featuring versatile usage options. With support from a huge community, users get access to a wide variety of compatible extensions and software solutions that can help to speed up the development process.
Strong communities have been formed around the most popular boards. They offer a range of software with drivers for the most widely used sensors. There are also some hardware initiatives that sell extensions for boards, enabling one to easily scale a device. Some of the major communities include the following:
Following the links, you can find a lot of examples for different experience levels.
You can try to reproduce an existing project, following the provided detailed instructions. Another option is to create something unique. If all you have is an idea and you do not know how to implement it, consider discussing it at a specialized forum.
Choosing a data exchange protocol
You need to choose a proper data exchange protocol to establish efficient communication between the prototype components. The choice is largely dependent on the communication function for which you intend to use the protocol. The functions are described by the Open Systems Interconnection (OSI) model. Note that some protocols can cover multiple functions.
The OSI model divides a communication system into a number of abstraction layers (originally seven, as shown in the following table). Each layer is responsible for its specific jobs (functions), servicing the instances from an above layer and requesting services from an underlying one.
The following table shows seven layers of the OSI model:
|Layer||Protocol data unit||Function|
|1. Physical||Bit||Transmitting and receiving of raw bit streams through a physical medium|
|2. Data link||Frame||Dependable transmission of data frames bounded by two nodes connected by a physical layer|
|3. Network||Packet||Configuring and managing a multi-node network, involving addressing, routing, and traffic control|
|4. Transport||Segment (TCP)/Datagram
|Dependable transmission of data segments bounded by points on a network, inclusive of parting,
acknowledgement, and multiplexing
|5. Session||Data||Governing communication period, that is, consecutive change of data in the form of multiple back-and-
forth conveyance between two nodes
|6. Presentation||Data||Transcription of data among a networking benefit and an exercise, including character encoding, data
confining, and encryption/decryption
|7. Application||Data||High-level APIs, together with resource sharing, remote file access|
Unlike web applications, IoT devices send really small amounts of data, but frequently. This means that transfer of IoT data can be optimized on the application (P2P, AMQP), transport (Modbus, OPC UA), network (Zigbee), or even physical (NB-IoT) layers (see the preceding table).
Devices may be connected directly to a cloud, through a hub, or in a mesh network where they can communicate with each other.
The subsequent chapters cover the following four protocols in more detail—HTTP, WebSocket, Modbus, and OPC UA.
Reprinted with permission from Packt Publishing. Copyright © 2018 Packt Publishing
About the authors
Alena Traukina is IoT practice Lead at Altoros. She has over 12 years of experience in delivery and support of business-critical software applications and is one of the first GE's Predix Influencers.
Jayant Thomas (JT) is the director of software engineering for the IoT apps for GE Digital. He is responsible for building IoT SaaS applications using the Predix platform, and specializes in building microservices-based architecture, reactive, event-driven systems.
Prashant Tyagi is responsible for enabling the big data strategy at GE Digital for the Industrial Internet that leverages IT and Operational data for predictive analytics. He works with all the P&L verticals (such as oil and gas, power generation, aviation, healthcare, and so on) to enable their IoT use cases on the data and analytics platform.
Kishore Reddipalli is a software technical director and expert in building IIoT big data and cloud computing platform and products at ultra scale. He is passionate in building software for analytics and machine learning to make it simplified for authoring the algorithms from inception to production at scale.