1 Introduction

The method of communication through power line is called the power line communication (PLC) and is one of the communication modes for the information delivery. This technology transmits data through the power lines on which the information is stored taking the form of high frequency signal. The characteristic of the frequency signal is that the signals can be separated from the power line with exclusive power line modem and transmitted to the terminal devices [1, 2].

The power line mediums have been originally designed for power transmission rather than data transmissions and receptions such that their channel characteristics are not ideal for data communications—noises and serious signal attenuation are the major problems [1, 3, 4]. To improve the reliability of the PLC, one can start by considering the physical layers. For example, channel estimation and selection, filtering design, power distribution and so on [4, 5]. In these days, the PLC is being used for the configuration of Home-Networks or Smart Grid. The improvements in both the stability and the transmission speed—outcomes of recent digital power line communication method—it’s field of applications is growing [6, 7] and well-received.

Moreover, the PLC method has been studied widely in recent years for it is considered as a low-cost communication solution using power distribution network and suitable for the Smart Metering system. The instability in a noisy channel environment requires careful simulation and modeling for the PLC-based solution. Modeling of the PLC’s physical characteristics using different simulation tools has been studied in the past and it still continues to remain as a research subject.

As seen in Table 1, the PLC’s usage varies according to the speed, and as of January, 2015, the product lines that can pick up the speed up to 1 Gps have been released for the high-speed PLC [7]. Since there aren’t enough data for the Smart Metering base technology developed in this paper, we’ve made it possible to implement the technology with low or moderate speed PLC.

Table 1 PLC’s usage varies according to the speed

Both the intelligent agent system and the Smart phone application in this paper have been implemented with Java language, and the communication mechanism of the PLC and each type of protocol, with C and C++ languages.

2 Related research

2.1 Intelligent agent

Intelligent agent is a program that cyclically collects information or performs certain services without interventions by the user. Normally, such agent program uses the parameters provided by the user and collects information in the field where the user’s interest lies. Then, it supplies the information on a daily basis or given time. This agent is sometimes referred as a ‘robot’ or ‘bot’ for short [616].

Also, there are agents which are configured to personalize the user-information provided on the websites based on his/her registration information or application history. Another type of agent includes a function that informs when the site has been modified or if there are any new additional events while it monitors a certain site. As such, the analytical agents not only simply collect information but also assume the role of systemizing and interpreting them. The technology that retains the information using the agents is sometimes called a ‘push technology’ [1422].

The characteristics that most people point out are ‘autonomy’, ‘social ability’, ‘mobility’ and ‘intelligence’. Autonomy means an agent performing the operations with its own judgment without the user’s direct instructions or interventions. Social ability refers to an agent’s ability to attend the operations through cooperation with other agent(s), and the mobility, means its capability to shift to the other computer system and performing the tasks. Finally, the intelligence signifies the capabilities of judgment, leaning, inference, knowledge-accumulation, planning and performing. Besides, these basic characteristics, the other attributes presented as the ones that the agents should have are ‘reactivity’, ‘pro-activeness’, ‘veracity’ and ‘rationality’. In accordance with above characteristics and attributes, the agents are classified as ‘collaborative agent’, ‘mobile agent’, and an ‘interface’ or ‘intelligent’ agents, as well as ‘reactive software agent’, ‘hybrid agent’ and ‘heterogeneous agent’. Among them, the term ‘intelligent agents’ is used as a common term that refers to all agents. There are also ‘software agents’, ‘assistant agents’ and ‘softbots’. The intelligent agent that possesses an intelligent characteristic (i.e., non-ordinary agent) represents the agents who have more than one capability among learning, inferring or reasoning, and planning abilities. Thus, the intelligent agents can also be classified as ‘learning agent’, ‘reasoning agent’ and ‘planning agent’.

2.2 Knowledge query and manipulation language (KQML)

This is a communication language designed for the sharing of knowledge and information between diverse kinds of intelligent systems. It normally is a sort of message format used for the exchange of status information regarding query, declaration, trust, demand, acquisition, description and provision [2327]. At the same time KQML supports real-time knowledge sharing between the agents and used as a language for the application program that interacts with the intelligent systems.

Each particular knowledge is described using the knowledge interchange format (KIF) and a wide range of information can be accumulated. The layers in the KQML are: the communication layer that lists elements related to the communications such as sender, receiver, and their addresses; a message layer that defines the nature of the message; and the content layer where the actual message is included.

2.3 Advanced metering infrastructure (AMI)

AMI is a form that took the automatic meter reading (AMR), which is a uni-directional meter, one step forward and it refers to the infrastructure for the implementation of various optional or additional services through a bi-directional data communications between the power company and the consumers. It also is a means of information provision for mutual awareness between them [2327]. Various types of decentralized power supply systems and intelligent power distribution systems are included and it supports highly developed time-based tariff systems such as time-of-usage (ToU), critical peak pricing (CPP) and real-time pricing (RTP) and through AMI, it is possible induce users to participate in an active energy conservation program called the demand response (DR). Also, besides DR, since it enables basic data generation and provision of power usage through bi-directional communications between the meters and the power company, the provision of the infrastructure related to additional services such as load anticipation, load control and power quality monitoring is possible.

Smart Meters—this is a core device of AMI and assumes the functions of electronic power meter and communication network terminal. It enables monitoring of power usage status of home appliances through the short-distance wireless communication like Zigbee.

Backhaul—used for the remote communications and collects power usage information and send them to the management system through wireless communication networks such as PLC or GSM/GPRS.

In-home energy display (IHD)—this in-home display provides functions of monitoring household power consumption generated by the power equipments and controlling them including alarm function, thereby acting as a sort of hub for the implementation of smart-energy environment.

2.4 A trend on the Smart Grids

Figure 1 shows the trend on the Smart Grid system in Republic of Korea. In Republic of Korea, The government has announced “The Smart Grid Road Map” and plans to invest 2.75 billion won by 2030 hoping to vitalize the industry, starting with the development of a demonstrational complex in Jeju Island. The initial Smart Grid model aimed to advance the element technologies but recently, they seek to invigorate the Smart Grid system internationally by seeking out promising business models to develop the convergent systems. The purpose of such Smart Grid system is to first intellectualize the power grid and let the suppliers of electric power set the level of power supply and its rates and, on the part of consumers, to control their usage by grasping their electric rates and usage patterns through the smart meters and internet. The two typical methods utilized for these Smart Metering are the cable TV (CATV) network-based remote metering which has been made possible owing to its current tendency in which a variety of optional services are actively provided and the commercial wireless network-based metering.

Fig. 1
figure 1

A trend on the Smart Grids in the Republic of Korea

Figure 2 indicates present Smart Grid construction statuses in nations around the world. Although the technologies and markets for the Smart Grid are rapidly developing and forming with US as the center, the policies related to it assume different forms depending on each nation’s power infrastructure and industry structure. US, where there have been a power loss rate as high as 7 % and frequent blackout events, has already announced the vision ‘Smart Grid 2030’ in 2003 and is actively proceeding with the development of the Smart Grid-relate technologies and supportive policies by selecting five technical fields and establishing the Energy Independence and Security Act (EISA) in 2007. Meanwhile, different from US, EU nations are focusing on increasing the consumption rate for the new-renewable energies in accordance with their CO2 reduction policy influenced by the climate change. They aim to increase the rate from 12 % (as of 2010) to 20 % by 2020 and seek to build the Smart Grid strategically to integrate rapidly-increasing number of disparate renewable energies and to foster grid’s efficiency. Also, in order to solve the power availability imbalances between regions, China is pursuing the integrated form of strategy in which the extra-high voltage power grid will be set up as a backbone network and four large scale hydraulic, thermal, nuclear and renewable energy power stations are to be constructed on it to improve power transmission capability. Even though they’ve carried forward the Smart Grid constructions as part of their major national electrical power business in rather late year of 2010, it is expected that the demands for the products related to the high-voltage grids, smart meters, digital substations and distribution networks will be significantly increased, considering their market size and nation’s characteristics.

Fig. 2
figure 2

Statuses of Smart Grid constructions in various countries

2.5 Power line communication (PLC) module

To use a PLC module, a single data concentration unit (DCU) is composed by binding with MCU, which is to control the PLC module. This DCU plays the rolls of storing the amount of usage measured with the electronic ammeter and of delivering it to the main server periodically. Connected to the PLC module, the usage amount is recorded in the main server and output to the smart phones or external displays depending upon the needs of the user. The DCU composition is shown in Fig. 3.

Fig. 3
figure 3

DCU composition

RS-232 communication is carried out between the PLC module, MCU and main server. This is a serial type interface and commonly called as a serial port. For this, RS-232 communication must be established between MCU and main server. Our target system, Rasberry Pi and Odriod both support RS-232 communication so that we do not expect much trouble, and since Atmega and Arduino also have the pins for the RS-232 communication, they are considered to be adequate for the device-to-device communications [23].

3 AMI design using intelligent agents for the PLC network

Figure 4 is the UML of the Smart Metering Control System using intelligent agent proposed in this paper. Key Classes are as follows: CIAgent is the base class that defines the common programming interface and behaviors of all the agents in the framework, and further details are; CIAgentState object is crated and its 1st state is set to UNINITIATED; CIAgentTimer class implements the Runnable interface, which requires that it implements run() method and called by runnit Thread; CIAgentTimer provides two basic functions to our CIAgent; CIAgentEventListener interface extends the standard Java EventListener interface used by all java.awt components. This interface registers itself using the addCIAgentEventListener() method; CIAgentEventQueue calss implements a queue of CIAgentEvents. Its only data member is eventsQueue, a Vector instance; and ExampleThread class is used to update Android UI from threads.

Fig. 4
figure 4

UML of the Smart Metering Control System using intelligent agent 1

FacilitatorAgent uses a Singleton design patter, which ensures that only a single instance of FacilitatorAgent exists at a time. This feature prevents an imposter Facilitator from redirecting sales traffic to its own favorite agent and ensures that all Buyers and Sellers can find the marketplace.

BuySellMessage is basically a collection of data that corresponds to the major slots of a KQML message and BuyerAgent class contains the base functionality for all Buyers. SellerAgent class contains the base functionality for all Sellers. After the SellerAgent advertises its whereabouts to the Facilitator, it must wait for a prospective BuyerAgent to contact the Facilitator. When the Facilitator passes SellerAgent’s name to the BuyerAgents, the Buyer sends ’ask’ message to start the negotiation (Fig. 5).

Fig. 5
figure 5

UML of the Smart Metering Control System using intelligent agent 2

BetterBuyerAgent and BetterSellerAgent use hard-coded logic with a slightly more aggressive negotiation strategy and warrant further discussion. Both use BooleanRuleBase class that provides the rules for determining the prices and actions during the negotiations.

3.1 Power system control programs

In Fig. 6 is a functional diagram showing the functional relationships between respective Classes. Main functions are largely comprised of DeviceManager, WebpageManger, countingServer and LogManager.

Fig. 6
figure 6

Functional diagram

The DeviceManager communicates with each device’s controller through PLC and assumes the role of delivering the orders to respective devices by user’s request. Device represents each device carrying out the RS232 communications through PLC physically. Here, [(int)SenderDevice] [(int)ReceiverDevice] [(int)Unused] [(string) CommandLine] [EndOfCommand]-type protocol is used. MailBox is a central part of the DeviceManager to process commands and a sort of non-circular queue of which is to deliver the requirements from a user to each device in the form of Mails. The DeviceManager checks the MailBox, and if there are new any requests, delivers them to the relevant device(s), and stores the replies back to the MailBox (Fig. 7).

Fig. 7
figure 7

Functional diagram

In our proposed system, the DeviceManager gets the readings from the digital watthour meter and sends the power usage volume to the webpage. DeviceManager manages not only currently linked devices but also continuously added devices through PLC.

Fig. 8
figure 8

Device class and Uart class

Figure 8 shows that Device Class assumes the role of setting the port number for each connected device. And Uart Class is to control PLC operation and uses Shall function provided by Ubuntu 13.0.

Fig. 9
figure 9

Mail class and Mailbox class

Figure 9 shows that Mail Class sets the standard for the signal received from the Client through the socket which has been left open with Mail. And MailBox is a fundamental part in execution of command from DeviceManager and a sort of non-circular queue for delivering the incoming requests from the user to each device in the form of Mail. This checks MailBox and if there’s a new request, delivers it to the device and then stores the reply from the device in the MailBox again.

Fig. 10
figure 10

CountingServer

Figure 10 This Class is to communicate with EndUser directly through Ethernet using CounterServer. The main function is to check in-home headcount. For late additions of functions, [(int)SendUser], [(int)DeviceNumber] and [(string)CommandLine]-type protocols, have been developed so that individual request can be made to each device.

Fig. 11
figure 11

Webpagemanager and Logmanager

Figure 11 WebpageMmanager Class assumes the function of updating current power usage in order to check currently used usage through Apache on the web. And Logmanager Class assists the administrator to check the condition of the server by recording the information or the problems occurring on the server and generating the text-type log files.

Fig. 12
figure 12

Relationship diagram

Figure 12 is a relationship diagram of the power system control program which has been composed using Atmega128. SERIALNUM is the serial (unique) number of each device, and for the power controller, 2XXX series number is given and only one device can be connected. For general devices, 3XXX numbers will be assigned and number 1000 (fixed) is for the server. The Broadcasting number, which indicates all of the devices, is 1111 [1621].

3.2 User interface of AMI design and Test bed experiments using intelligent agent

Figure 13 shows User interface of Android-based applications. We explain four domains of the user interface of Android-based applications depending on their functions. Domain \(\textcircled {1}\) has the function of updating previously stored Mac address(s) by the user [23]. The function of Domain \(\textcircled {2}\) is to output and update the Mac address currently accessing. In Domain \(\textcircled {3}\), access to the server URL, which is to check power consumption, is made and one’s own power consumption information can be checked. Finally, Domain \(\textcircled {4}\)’s function is to output Mac address currently stored. Should the Mac address stored in Domain \(\textcircled {4}\) matches to the Mac address being accessed in Domain \(\textcircled {2}\), then it is determined that someone has entered the room. This is to eliminate the possibility of an error of determining that someone has entered the room when nearby residents access their Wi-Fi networks, despite of the fact that there’s no one resides there.

Fig. 13
figure 13

User interface of Android-based applications

Figure 14 is the User Interface of AMI design. This application consists of four main parts (i.e., Facilitator, Marketplace, BuyerAgent and SellerAgent). Area 1 is for the Log data of Facilitator and 2 is for the Log data of Marketplace, BuyerAgent and SellerAgent.

Fig. 14
figure 14

User interface of AMI design

3.3 Performance evaluation

We’ve tested the communication rates in two different environments; the first environment where many devices are being linked to the power line and power consumptions consistently changes, and the second, where devices are being linked like the first environment but the consumption rate is steady. For the respective environments, we’ve compared the conditions. That is, when the communication is carried out using PLC, when devices are linked directly with RS232, and when the intelligent agent is involved. As seen in Fig. 15, the PLC communication resulted in about 10 % failure even though there were no interferences and 20–35 % failure when interferences were present. Meanwhile, almost 0 % failure had resulted when direct linking method was used for both environments. Next, the green lines show the results when the Intelligent Agent has been applied and the communication failure rates in both environments are significantly lower than that of the PLC in average, showing the improvements.

Fig. 15
figure 15

Tests in the environments where there are no interferences (left pic.) and where interferences exist (right pic.)

The result analysis of above shows that the PLC method lacks reliability and it can be observed that the failure rate increases when there are more interferences. If the reliability level drops lower, more retransmission requests will be sent out so that the efficiency of entire system will be compromised. However, considering the nature of the PLC technology and the fact that it would be difficult to increase reception success rate unless the module is changed, the best possible simple form of communication is required. Additionally, a mechanism that processes re-requests and re-responds is necessary when the messages have not been delivered properly.

Therefore, for later use, the standardized protocol is essential for the effective PLC applications. We believe that using TCP/IP after establishing a PLC-applied Ethernet environment could be the best method when the generality and scalability are taken into account.

4 Comparison with other system

In this paper, both typical Korean remote meter reading methods, wired CATV network and wireless data network, have been compared. First, the merits of CATV network are that it enables massive data transmission possible and has an economic advantage as it utilizes existing facilities. Nevertheless, maintenance is problematic and there are concerns over the noise generations in the upstream bandwidth. Meanwhile, two companies including Airmedia Co., Ltd. have been chosen for the remote metering business utilizing wireless data (Jeju-do Smart grid Test Bed, Republic of Korea) [2830].

However, due to the higher costs of the wireless modems and limited application areas, many further studies must be carried out prior to the commercialization of this technology. Nevertheless, the PLC-utilized method should be recognized for it can deal with above described demerits. Economic advantage of being able to use already installed power lines at homes and to perform the Smart Metering without additional equipments at the same time are the considerable strengths. Also, the fact that this method can eliminate the possibility of noise generation in the upstream bandwidth (the disadvantage of CATV network), and that the regional limits in future service provision is relatively small could be considered as the positive discriminative factors when compared to the existing wired/wireless remote metering methods.

5 Conclusion

We expect that it will be possible to build optimized Smart Home system that controls power supplies of electronic equipments by checking the in-home headcount and minimizing inconvenient power management problems. This will be achieved by combining our system with user authentication system technology. Also, to monitor and control power usage externally, it’s possible to install power measurement modules to respective devices and communicate with the central system using the PLC method to maintain the optimal conditions. That is, by remotely linking to the central system, monitoring of the power usage status and adjustment of controllable devices can become practical. Once such system is implemented and utilized, power usage will be reasonable and also be able to cope with power system abnormalities by issuing warnings. Thus, the system can be used effectively for the energy conservation, remote metering and devices checking purposes, or for the event of fire. We expect that our system proposed in this paper will become a foundation technology for the Smart Grid.