Topic
All data exchanged between the physical object and its digital twin is stored as topics. A topic has a name, such as room.temperature
, and a value. The concept of topics can be found in other systems such as MQTT or Apache Kafka.
The key is the name of the topic and the value can be a text, a number, a photo, document or 3D model. By defining a set of key value combinations, or topics, users can describe all properties of an asset or process. Since there is no fixed format, or database schema, users can add additional topics for the same object as required without any system changes or database changes. The value for each topic can be manually entered by a user or can be automatically updated via IoT sensors. The combination of manual and automatic data collection provides an up to date and complete digital representation of the asset life cycle. It also provides a data repository for analysis and troubleshooting.
Key | Value | Source |
---|---|---|
Voltage | 230 | IoT sensor |
Power | 1000 | IoT sensor |
Supplier | WaterHead Solutions | User input |
Photo | ![]() | User upload |
Chart | User upload |
Keys
Topics can have subtopics separated by a .
. For example, you can use a main topic 'car' to indicate the category of object and the subtopic 'v40' to refer to a specific car. Then you can define subtopics to store the brand, registation number and purchase date.
car.v40.brand = Volvo
car.v40.type = XC40
car.v40.registration = 123456-abcde
car.v40.purchasedate = 2022-01-05
Subtopics can be defined at any level, for example, to store specific details about the engine you can define the following topics:
car.v40.engine.type = electric
car.v40.engine.range = 356
car.v40.engine.transmission = dual
Some values are static and do not change during the life cycle of the object. Other variables, such as the last maintenance date may change many times during the life cycle. Some data such as speed or odometer change dynamically. All changes to the value of the topics are stored, including when and where the value was changed.
car.v40.maintenancedate = 2023-01-06
car.v40.speed = 102
car.v40.odometer = 23451
Documents
Values are not limited to text, numbers or dates, but can also link to documents such as photos or manuals. Any type of document can be uploaded or imported. A document is identied by a unique file name and extension. When a document with the same name is uploaded multiple times, a new version of the document is created. Older versions can be viewed or deleted if necessary. There are built-in viewer for various document types such as JPG, PNG, PDF and GLTF.
car.v40.photo = volvo.png
car.v40.manual = xc40_user_manual.png
JSON
Each topic is stored as a key-value combination in the database. It is possible to retrieve all subtopics as a single JSON object. For example, the following object is returned when requesting the JSON description for the topic car.v40
:
{
brand: "Volvo",
registration: "123456-abcde",
purchasedate: "2022-01-05"
engine : {
type: "electric",
range: 356
transmission: "dual"
}
speed: 102,
odometer: 23451,
photo: "volvo.png",
manual: "xc_40_manual.png"
}