Make Any Sensor a Smart Sensor with PICMG IoT.1, Part 2: What is a Data Model and How Does it Apply to PICMG IoT.1?

By Brandon Lewis


Embedded Computing Design

By David Sandy

Technical Writing Consultant


February 02, 2022


Make Any Sensor a Smart Sensor with PICMG IoT.1, Part 2: What is a Data Model and How Does it Apply to PICMG IoT.1?

(Editor's Note: For a specific part of the series, click below:

Part 1: What Makes a Sensor Smart?

Part 2: What is a Data Model and How Does it Apply to PICMG IoT.1?

Part 3: How Do I Create Smart Sensor Firmware?

Part 4: What is A Builder, and How Do I Get Started?)

In Part 2, we explore what a data model is, how it works, and the ways the PICMG IoT.1 data model enables smart sensors.

A data model, for the uninitiated, is a structured way of organizing data that contains specific rules or instructions for how that data is packaged. In situations where you are dealing with vast quantities of data, data models help keep data accessible and easily managed.

Think about it as a database record consisting of multiple predefined fields.  The data model for a car, for instance, might contain information about the make, model, color, trim style, total miles driven, and so forth.  Having a common database representation (data model) that can be used for all cars makes operating on a vast database of car data simple since all the records contain the same fields.  

Similarly, a smart sensor data model might configure the unique model number, minimum and maximum values, readout types, and linearization of a smart sensor in preparation for transport to a system. In settings where there may be hundreds or thousands of sensors capturing data, like in a smart factory, there could be dozens of different types of data. 

In these cases, data models are critical to keeping track of all that information. After all, data is only useful if it’s usable and it’s only usable if you know what and where it is.

How PICMG IoT.1 Makes Data Usable

Users can specify the unique characteristics of their sensor in the  IoT.1 data model. From there, the IoT.1 data model organizes the data into predetermined fields based on the type of data it is, since every sensor has different fields that dictate the sensor raw input, minimum and maximum values, and how the system is to interpret and send commands for that data. 

Then the data is ready for transport.

When PICMG developed the IoT.1 data model, they selected two industry-standard communications protocols for data transport: PLDM and MCTP. Each of these protocols operates at different layers in the bi-directional transfer of data. 

The Data Management Task Force’s (DMTF’s) PLDM protocol allows operation and interaction with the device’s data model through pre-determined commands. MCTP takes the PLDM requests and provides reliable transport across the system hardware interfaces.  

One of the most useful aspects of this communications stack is the ability of the smart sensor to notify the system when it has been plugged in. Upon receiving a discovery request from the sensor, the system can query the device, receive its data model, and integrate it into the system as necessary. 

Plug-and-play device discovery would be impossible without the data model

In the next section we will learn how to configure the sensor’s firmware  by specifying the data model so that the smart sensor can later be discovered by the system.

Click here for Part 3: How Do I Create Smart Sensor Firmware?

Brandon is responsible for guiding content strategy, editorial direction, and community engagement across the Embedded Computing Design ecosystem. A 10-year veteran of the electronics media industry, he enjoys covering topics ranging from development kits to cybersecurity and tech business models. Brandon received a BA in English Literature from Arizona State University, where he graduated cum laude. He can be reached at [email protected].

More from Brandon

David has been instrumental in developing the open source Configurator as part of the PICMG IoT effort. He has been involved with PICMG since 2020 as both an intern and a technical writer. David is currently pursuing his Bachelor’s of Science in Software Engineering at Arizona State University.

More from David

Open Source