Recently, I've met so many people asking about the difference between the Internet of Things and distributed embedded systems that I've approached our new CTO and asked him to explain it. Here's what he replied:
"IoT is primarily a marketing, not an engineering term. When we refer to it in the engineering terms, we normally mean an embedded microprocessor controlled system connected directly or indirectly to the web (e.g., web cameras, smart thermostats, health monitors, etc.).
On the contrary, a typical distributed embedded system such as a commercial building's lighting or heating system or an enterprise control system is never on the public Internet for obvious IT security reasons. As such, IoT refers to a highly secure and well protected embedded system that's fully controlled by microprocessors. That's one of the notions.
Further, IoT is a conceptual framework or an architecture that considers how components (e.g. devices) will communicate with each other (enabling semantic interoperability), i.e. very similar to REST. As such, it's wrong to call IoT a technology.
So, if your nuclear power plant or a defense system is a closed network that operates in an isolated environment, it's a distributed embedded system. If it's open and scalable, homogeneous, reconfigurable, self-configurable and is taking advantage of machine learning, AI and data analytics (sensor based), it is IoT indeed!"