To improve the overall impact of the Internet of Things (IoT), intelligent capabilities must be developed at the edge of the IoT ‘Cloud.' ‘Smart' IoT objects must not only communicate with their environment, but also use embedded knowledge to interpret signals, and by making inferences augment their knowledge of their own state and that of their environment. Thus, intelligent IoT objects must improve their capabilities to make autonomous decisions without reliance to external computing infrastructure. In this chapter, we illustrate the concept of smart autonomous logistic objects with a proof of concept prototype built using an embedded version of the Prolog language, running on a Raspberry Pi credit-card-sized single-board computer to which an RFID reader is attached. The intelligent object is combining the RFID readings from its environment with embedded knowledge to infer new knowledge about its status. We test the system performance in a simulated environment consisting of logistics objects.
TopIntroduction
The importance of the Internet of Thing (IoT) concept has risen dramatically in recent years. This was in part fuelled by improvements in communications and identification technologies, as constructing the IoT requires amongst others. automatic identification technology, RFID, near field communications (NFC), WiFi, ZiGbee, Bluetooth, and so on. However, as the numbers of IoT objects were projected to rise to over 25 billion by 2015 (Evans, 2011), the management of all the data generated by such large numbers of objects will become a challenge. It is doubtful whether even with large scale data processing technologies such as cloud computing can cope with the magnitude of IoT generated data. Data processing needs therefore to move to the edges of the IoT network, i.e., to the actual objects that comprise it. Objects in IoT environments therefore need to exhibit more autonomous intelligent behaviour by processing locally generated data and making autonomous decisions.
In the field of logistics, most of the IoT data processing is currently carried out in the back-office systems, to which IoT data (such as data from sensors such as RFID, attached to physical logistics objects) is transmitted, cross referenced and processed. In many situations, however, the IoT object is better placed to process data locally, and make decisions autonomously, rather than being passively configured by remote systems.
The true benefit of IoT will be experienced when intelligence becomes located both at the server end as well as at devices. Machine learning coupled with AI can be used in order for the IoT object to learn from the data to decipher trends and predict future events in advance.
The concept of IoT object autonomy is fairly recent in the literature. In (Liu & Zhou, 2012) for example, it is proposed to automate many of the IoT object tasks, and to allow objects to make judgments based on their reasoning ability. In their approach, objects can negotiate, understand and adapt their environment, and learn from other objects. In the context of logistics, research projects such as iCargo (Hofman et al, 2016) propose that objects acquire intelligence through cooperative behaviour. One of the most important pieces of such information is their location. The reason for this is that the majority of the objects will be mobile so that the objects themselves need to know about it (e.g., if the logistical object has reached its destination). Aside from the absolute position, the relative position might also be of interest (Uckelmann-et al, 2011). For example, an intelligent parcel object can infer its current position from its relationship with a truck that carries it, assuming that the truck object has location sensors and can transmit location information to other cooperating objects.
Therefore, instead of simply collecting data to send to back-office applications, or to carry out simple calculations such as threshold checks, intelligent IoT objects need to self-monitor their state in the environment. However, the potential and limits of such localised intelligent behaviour is an open research issue. The chapter therefore aims to explore such limits, by proposing an architecture for a ‘smart object’, prototyping it and testing its behaviour in a simulated logistics context.
This chapter is structured as follows. It surveys IoT enabling technologies such as communication protocols for IoT such as CoAP and object identification technologies of RFID and EPCIS. It next discusses current approaches to intelligent IoT objects. Then, it describes an architecture for a smart object designed around a single board computer with a connected RFID reader and presents the software architecture of the smart object’s software that is developed in embedded Prolog. Through examples taken from a logistics scenario, it shows how such an object can exhibit some types of autonomic behaviour by inferring new facts about its environment using combined existing stored facts and received RFID readings, and by applying backward and forward reasoning rules. The software performance of the prototype is tested in a simulated logistics IoT environment to assess the feasibility of the smart object concept in real life environments. Finally, a summary of the findings and proposals for further research are discussed.