Get Latest CSE Projects in your Email

AgPi: Agents on Raspberry Pi


The Raspberry Pi and its variants have brought with them an aura of change in the world of embedded systems. With their impressive computation and communication capabilities and low footprint, these devices have thrown open the possibility of realizing a network of things in a very cost-effective manner. While such networks offer good solutions to prominent issues, they are indeed a long way from being smart or intelligent.

Most of the currently available implementations of such a network of devices involve a centralized cloud-based server that contributes to making the necessary intelligent decisions, leaving these devices fairly underutilized. Though this paradigm provides for an easy and rapid solution, they have limited scalability, are less robust and at times prove to be expensive.

In this paper, we introduce the concept of Agents on Raspberry Pi (AgPi) as a cyber solution to enhance the smartness and flexibility of such embedded networks of physical devices in a decentralized manner. The use of a Multi-Agent System (MAS) running on Raspberry Pis aids agents, both static and mobile, to govern the various activities within the network. Agents can act autonomously or on behalf of a human user and can collaborate, learn, adapt and act, thus contributing to embedded intelligence.

This paper describes how Tartarus, a multi-agent platform, embedded on Raspberry Pis that constitute a network, can bring the best out of the system. To reveal the versatility of the concept of AgPi, an application for a Location-Aware and Tracking Service (LATS) is presented. The results obtained from a comparison of data transfer cost between the conventional cloud-based approach with AgPi have also been included.


Agents are software entities that are capable of performing task(s) on behalf of a user. They are autonomous and possess the ability to make their own decisions and drive themselves towards a goal. Maes et al refer to agents as computational systems that can sense and act autonomously in an environment in order to realize a set of goals.


Since the work described herein uses LATS as an agent-based application embedded on Pi, a brief survey on the same is presented below. Location-dependent services are part of a dynamic model where either the object or the observer or both can be mobile with respect to their geo-location. Some of the classical approaches for tracking of a moving object include the use of GPS, RFID, camera, etc. The most popular method of positioning is by using a GPS on board a mobile phone.


Figure 2. Top level architecture of AgPi (Agents on Pi)

Figure 2. Top level architecture of AgPi (Agents on Pi)

Figure 2 shows how several Pi s, each running Tartarus, are connected to form a network. It also depicts static agents residing at some nodes and migrating mobile agents. It may be noted that these mobile agents can move over to any node, sense the data within (as also actuate a motor for instance, if required), take a decision and then move on in the network.


Figure 3. AgPi based LATS (Location-Aware and Tracking Services) application

Figure 3. AgPi based LATS (Location-Aware and Tracking Services) application

The functioning of the WAU, CCU (Bluetooth Low Energy) and UIU shown in the upper portion of the Figure 3 has been detailed in the subsequent subsections. As can be seen in the lower portion of the figure, the corridor is divided into virtual zones (indicated by different colours) whose areas are preset based on the RSS (Received Signal Strength) values from the BLE tag received by the associated Pi-node.

Figure 4. (a) a BLE (Bluetooth Low Energy) tag; (b) A Pi-node

Figure 4. (a) a BLE (Bluetooth Low Energy) tag; (b) A Pi-node

This unit includes a wearable Bluetooth Low Energy (BLE) device (HM-10) that emits data packets in the form of beacons at preset intervals. These packets are received by a BLE receiver interfaced to a Pi via its on-board UART module. Figure 4a,b show a BLE tag (comprising a BLE device and a battery) as a wearable unit (configured as a beacon transmitter) and a Pi-node comprising a Pi interfaced to a BLE receiver as the acquisition unit.


Figure 7. BLE raw and filtered data

Figure 7. BLE raw and filtered data

Figure 7 shows the biased raw and filtered BLE data taken over a certain number of sample points. As expected, a trend similar to a sinusoidal wave can be observed in the figure thereby validating the performance of the BLE. The RSS received from a BLE device is subject to noise due to various reasons such as multi-path propagation, signal absorption, signal interference, etc. Based on the analysis by Faragher et al, different filters may be applied to the raw BLE data.

Figure 10. Traffic flow for centralized cloud-based and AgPi systems

Figure 10. Traffic flow for centralized cloud-based and AgPi systems

Experiments were performed where queries were fired by the user in both the centralized cloud-based and AgPi scenarios. Data transfer cost in terms of the number of times the Pi-nodes connect to the cloud was logged in both these cases. Figure 10 shows the cumulative number of connections made between the Pi-nodes and the cloud server for a set of Trace (X) queries, where X is the person being tracked.


The paper introduces the concept of Agents on Pi (AgPi) and describes how it can be realized by using Tartarus, a multi-agent platform running on a Raspberry Pi. The platform supports both static and mobile agents and also allows them to access and control the various ports and peripheral devices on the Pi through a dedicated plugin. This allows for the creation of a CPS that has both the hardware and software constituents.

An agent-based Location-Aware and Tracking Service (LATS) application has also been described to bring out the versatility of using agents on a Pi. The system can track people wearing a BLE device indoors with fair reliability and accuracy and also provide answers to a range of queries as regards the person being tracked. Experimental results reveal that the AgPi approach seems to perform better than the conventional cloud-based method.

In addition, the use of mobile agents allows multiple queries to be fired using multiple agents concurrently. Queries need not be pre-programmed or preset. Since mobile agents can be released even during run time, these queries can be fired on-the-fly. The use of agents on Pi can thus make a network of things smarter and flexible unlike those that do not use agents. Since agents in Tartarus can be created and released even during run-time, the AgPi based system can be scaled, upgraded and programmed to be adaptable.

Authors: Tushar Semwal | Shivashankar Bhaskaran Nair

Download Project

For Free CSE Project Downloads:
Enter your email address:
( Its Free 100% )

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>