editor's blog
Subscribe Now

IPSO Alliance Provides IoT Objects

Some time back we took a look at Internet-of-Things (IoT) communications in an attempt to digest some of the vague marketing messages from various companies participating in that business. I identified three layers: formal protocols overlaid by abstract messaging overlaid by business objects.

The “formal protocols” layer is typically referred to generically as the “transport” (even though it may or may not contain formal OSI transport-layer functionality). When IoT comms folks talk about being standards-based, this is typically where most of the standards lie, whether it’s TCP/IP or Zigbee or whatever.

Above that is the generic messaging layer, and it’s simply a way to encode information for shipment elsewhere. There are no semantics, and the receiving entity needs to understand how the message was built in order to unpack it properly. The contents themselves aren’t standardized. We identified Xively as an example of this, but there are other standards working here as well; MQTT would be an example. DDS is another one. Note that, at this level, there may be some level of prescribed format, but there are no prescribed semantics for specific types of endpoints.

Such semantics belong in the layer above, where we find business objects. Just to clarify the difference here, let’s take 3 examples:

–          In one case, a generic message protocol might be leveraged to carry, say, instructions to a thermostat. Let’s say there are a couple header bytes and then a message field. The designer could use the first byte of the message field to identify that this is going to a thermostat and the second byte could identify which thermostat, and then the following bytes would carry the instruction and any data (for instance, “set temperature to 72”). This structure has been defined for this system only, and both ends of the system need to know what the various bytes signify in order to communicate.

–          In another case, more like DDS, there may already be a provision for generic “topics.” So, in this case, the designer could encode instructions just like above, but rather than having to build in a field for “thermostats,” he or she could simply use a thermostat topic to which interested subscribers could subscribe. The specific thermostat instructions would still be custom, but some of the infrastructure for getting the messages to interested parties is built into the protocol.

–          Those prior two fall short of containing business object semantics because the thermostat-specific instructions are custom. The third example would, by contrast, include a thermostat object, and that object would have a pre-defined API. You wouldn’t “invent” codes for “set temp,” “turn on,” “turn off,” etc.; they would be part of the protocol. The benefit here is that any system talking to a thermostat from any vendor supporting the protocol would work. There’s no vendor lock-in (which may not be viewed as a benefit by some vendors).

The IPSO Alliance has put together a “starter pack” of IoT objects. They’ve done so given that their main objective, proliferation of IP, can be extended to include constrained-resource Things via IPv6 and 6LoWPAN. The reference implementation leverages the Lightweight M2M protocol, designed for device management and services, which is itself based on the new CoAP protocol, which provides messaging for low-bandwidth, low-power devices with constrained resources.

That said, the objects can be implemented over other protocols as well. There’s nothing about them that constrains them to IP-based transport.

IPSO_Object_Drawing.png

 

They’ve created 18 different objects. Some of them are rather generic:

  • Digital input
  • Digital output
  • Analog input
  • Analog output
  • Generic sensor
  • Power measurement
  • Actuation
  • Set point
  • Load control

So, for instance, while there’s not a specific thermostat object, the “actuation” object allows for turn on/off, and the “set point” object allows for setting a value, like the temperature.

Then there are some specific objects:

  • Illuminance sensor
  • Presence sensor
  • Temperature sensor
  • Humidity sensor
  • Light control
  • Power control
  • Accelerometer
  • Magnetometer
  • Barometer

Each object has defined “resources.” For example, the Illuminance sensor object has the following resources:

  • Sensor value
  • Units
  • Min measured value (since last reset)
  • Max measured value (since last reset)
  • Min range value
  • Max range value
  • Reset min/max measured values

Each resource has its own ID. Names and IDs are registered through the Open Mobile Alliance (the group that defined LWM2M) Name Authority.

You can read more about the announcement here, and the “starter pack” guidelines are available here.

Leave a Reply

featured blogs
Nov 22, 2024
We're providing every session and keynote from Works With 2024 on-demand. It's the only place wireless IoT developers can access hands-on training for free....
Nov 22, 2024
I just saw a video on YouTube'Ā”it's a few very funny minutes from a show by an engineer who transitioned into being a comedian...

featured video

Introducing FPGAi ā€“ Innovations Unlocked by AI-enabled FPGAs

Sponsored by Intel

Altera Innovators Day presentation by Ilya Ganusov showing the advantages of FPGAs for implementing AI-based Systems. See additional videos on AI and other Altera Innovators Day in Alteraā€™s YouTube channel playlists.

Learn more about FPGAs for Artificial Intelligence here

featured paper

Quantized Neural Networks for FPGA Inference

Sponsored by Intel

Implementing a low precision network in FPGA hardware for efficient inferencing provides numerous advantages when it comes to meeting demanding specifications. The increased flexibility allows optimization of throughput, overall power consumption, resource usage, device size, TOPs/watt, and deterministic latency. These are important benefits where scaling and efficiency are inherent requirements of the application.

Click to read more

featured chalk talk

Reliability: Basics & Grades
Reliability is cornerstone to all electronic designs today, but how reliability is implemented and determined can vary widely by different market segments. In this episode of Chalk Talk, Amelia Dalton and Sam Accardo from the YAGEO Group explore the definition of reliability for electronic components, investigate the different grades of reliability offered by the YAGEO Group and the various steps that the YAGEO Group is taking to ensure the greatest reliability of their components.
Aug 15, 2024
53,468 views