Creating A Bluetooth Enabled Meter Reader System Computer Science Essay

Published:

In the world we are living, there are a lot of meters to measure all sort of matters. One particular sector which uses a lot of meters is the utility sector, like gas, water or electricity companies. The reading process of meters for these companies is very important. As these utilities company need to bill their customers and they need to bill for the correct amount. That is why accurate reading of meter is very crucial.

There are many techniques that are used for meter reading, and one of them is using Bluetooth. Many devices like mobile phones and laptops are equipped with Bluetooth as it consumes relatively low amount of electricity.

There is a need to have a technique that read meters correctly and using the less amount of electricity possible. The billing process is a long and complicated one therefore; the project will be limited to only reading the value from the meter.

Aim and objectives

Lady using a tablet
Lady using a tablet

Professional

Essay Writers

Lady Using Tablet

Get your grade
or your money back

using our Essay Writing Service!

Essay Writing Service

The aim of this project is to have a system which read a value from a meter via Bluetooth and store that value in a database. The system should provide a mobile application that will be used to read meters. Only authorised person should be able to use the mobile application.

The meter reading value is not as important as the data stored in the database. Therefore the database should be protected against unauthorised access. A web based application will be used to manage data store in the database.

Scope of project

The project will consist of three main components; meter, mobile application, and the web application.

Meter; it will be accessed via Bluetooth and the meter reading value will be read.

Mobile application; this application will be used to read a value for the meter and send that value to a database where it will be store.

Web application; the application will be used to manage all data that are stored on the database.

Project plan

A good project planning is needed for the successful accomplishment of the project. A Gantt chart of the project is show below.

<Gantt Chart>

Background study

Background study

Literature review

In this chapter we will explore more about how meter reading is done, the different type of techniques that exist to read meters, and automatic meter reading; specially the use of Bluetooth technology for automatic meter reading. A world wide view will be explored before we look to the context of Mauritius.

Meters

A meter is a device that can detects and displays the exact quantity of an element, substance or any quantifiable matter, may it be electrons, water, gas, glucose and many others.

There are many uses of meters and in many different sectors of our world. For example, in health sector; meters are used to measure the level of glucose in the blood, to measure pulse rate, and many others. The utility sector, like gas, water or electricity companies, uses a very large numbers of meters. These companies have to monitor the usage of the resources used by their customers so that they can be charged for the amount they have used. There are also other meters like: gauss meters, geomagnetic meters, microwave meters, and many more.

As we have seen, there are many sectors in which meters are being used; we cannot focus our attention in all of them. So, we will concentrate our effort in the utility sector, more specifically the one for electricity companies. Why this choice? Because Energy sector is a driving force in our world and that many developments and advances are thanks to electricity. So from here on we will focus our attention on that specific domain.

Types of meters

There are many types of meters depending on the area of use. The main types of electric meters are:

Electromechanical Induction Meter (Standard Meter): It is a meter which counts the number of turns an aluminium disc does. The amount of electricity used is directly proportional to the number of revolutions of the aluminium disc. The electricity is measured in kilowatt-hours and the rate of charge remains constant all over the day. These types of meters are commonly used on single phase alternating current supply.

Lady using a tablet
Lady using a tablet

Comprehensive

Writing Services

Lady Using Tablet

Plagiarism-free
Always on Time

Marked to Standard

Order Now

Electronic Meters: These meters have an electronic display and make use of wireless technologies like Bluetooth, GSM and GPRS to transfer information about electrical consumption. They have inbuilt automatic sensors which helps to detect electrical energy theft or meter tampering.

Prepaid meters: are like the standard meters; the only difference is that, instead getting a bill at the end of the month, it is a pay as you use service. I.e. the consumer pays in advance for the electricity consumption.

Smart meter: These meters record the amount of electricity consumption for a certain period of time. The recorded data is then sent to the utility company for monitoring and billing purposes. Smart meters can transfer data from and to the meter, i.e. it is a two way communication.

Meter reading

Electric meters measure electricity mostly in kilowatt hour (kWh). One kilowatt hour is equal to the amount of energy used by a load of one kilowatt over a period of one hour, or 3,600,000 joules. The meter reading process is done periodically, so that consumers can be billed for that period of time. There are different methods used by different companies for metering. There are two ways that can be identified. Namely: the traditional way and new techniques.

The traditional way, which uses the 'standard meter', can be described as: The meter reader goes to the consumer's place. There, the meter reader reads the current value on the meter and note it down on the bill for the previous electricity consumption period. The bill is then given to the consumer. The meter reader will then enter the current value in the company's system, so that the consumer can be billed for that current period.

The new techniques, which uses, electronic and smart meter are as follows: The meter reader makes use of new technologies to read the meter value, and meters have an electronic display. There are many different new techniques used for meter reading, and they will be further elaborated below.

Automatic meter reading (AMR)

Automatic meter reading (AMR), is the technology where data about consumption and the status of the meter device is collected automatically. The data is sent to a central database for it to be analysed and billing purpose. Meters for water, gas, and electricity can use the AMR technique.

With the uses of AMR, there can be one way or two-way communication. In the one way communication, query is done only to know the reading value from the meter. Whereas in the two way communication; functions can also be implemented to the meter.

Techniques for automatic meter reading

There are several techniques for automatic meter reading; some of them are listed below.

Touch Technology

In the touch technology, a meter reader have a device, it may be a handheld computer or specialised data collection device. When the meter reader in close range to the meter; the latter press a button. A signal is sent firm the device to the meter and the reading of the meter is saved on the device. That saved data is downloaded to a data collection computer for billing purpose. This technique is also referred as "on-site" AMR, as the meter reader needs to go on site to read the meter reading.

Radio Frequency Network

As its name suggest, the network uses radio wave to communicate with the meters. There are automatic reading systems which uses the radio based technology such Wi-Fi, ZigBee, Bluetooth and many others. Some of them are listed below.

Handheld: a meter reader collects meter reading from meters which support AMR system. The meter reader carries a portable computer with a radio frequency receiver and transceiver which reads the meter readings value. [2]

Mobile: it is also referred to as "drive-by" is a technique where the meter reading device is installed in a vehicle. The meter reader needs only to drive the vehicle along the path where the meters are found and the meter reading value is read automatically by the device installed in the vehicle. [2]

Fixed network: it is a method where there is a network which is installed permanently to read meter reading. The network consists of many repeaters, collectors and a lot of other equipments so that values read are transferred to a central database. This method does not need the intervention of any human to read the metering value.

Lady using a tablet
Lady using a tablet

This Essay is

a Student's Work

Lady Using Tablet

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Examples of our work

Some time a hybrid AMR system is implemented so that when the fixed network goes down, the mobile system come into action. [2]

Assessing the traditional meter reading and AMR

The advantage and disadvantage of both traditional meter reading and AMR techniques are listed in the table below.

Traditional Meter Reading

Advantage

Disadvantage

Creation of job, as more people are needed to perform meter reading

Social contact with consumers

There can be error when reading the value.

Difficult to detect fraud on meters.

Some people consider the meter reader as an intruder in their privacy.

Security of the person performing the reading the person may be attacked by dogs

Table 1‑1: Traditional Meter Reading

Automatic meter reading

Advantage

Disadvantage

Enable theft detection.

More accurate meter reading.

Reduce operating cost.

There is no need to enter consumer's property (except for exceptional cases).

If the system is down, billing will be affected.

The use of radio waves can be a source of concern to a minority of people

Table 1‑2: AMR

Existing system using Automatic Meter reading

There are many AMR systems implemented in many in different countries and using many of the different techniques listed above. Some of the existing AMR systems are listed:

New Mexico Gas Company is using the AMR service. This has greatly helped to improve the working of the company. [4]

"The Ontario government introduced legislation on Nov. 3, 2005 to start the process of getting "smart meters" into every home and small business in the province by 2010". [5]

"Meridian Energy has started replacing traditional electricity meters with new smart electricity meters which will set a new benchmark for electricity retailing in New Zealand" [6]

Existing system of Bluetooth enable meter reading

There are some companies which are using Bluetooth enabled meter for the reading of their meters, and there are some supplies of Bluetooth enabled meters. The topic is further developed below.

Existing system

"Cambridge Consultants has delivered a prototype design of a Bluetooth-based radio module to the leading utility metering company, Actaris. Based on a single-chip Bluetooth device, the module provides new opportunities to drive down the cost of remote metering, allowing meters to be wireless-enabled at very low cost and opening the door to high-integrity consumer-activated schemes. Consumers with Bluetooth mobile phones, laptops or PDAs would have the option of taking meter readings themselves and communicating them to the utility company over the internet or GSM." [7]

Bluetooth enabled meters suppliers

There are many suppliers of Bluetooth enabled meters. Some of the suppliers are listed below.

"Landis+Gyr (originally known as "Electrotechnishes Institut Theiler and Co.") have been designing and manufacturing high quality, state of the art electricity meters. Based in Zug, Switzerland, the company had access to a highly skilled workforce and distribution system throughout Europe." Landis+Gry have design a Bluetooth reading system where they can read meters using Bluetooth. [8]

Figure 2‑1: Bluetooth reader [8]

Metex Corporation limited is a company which is manufacture meter readers, and the company has meters with Bluetooth technology. [9]

Current situation in Mauritius

In Mauritius, we have the Central Electricity Board (CEB), Central Water Authority (CWA) and Waste Water Authority (WMA) as the main utilities companies. All these utilities companies are using the traditional way for their billing purposes. .I.e. a meter reader will go home by home and read their respective standard meter.

The CEB is doing research on how to implement automatic meter reading and they have some electronic meters for testing purposes. CEB has also intention to implement prepaid meters.

The AMR system on which CEB is experimenting consist of meter which has a modem. Then a communication is set with the modem and concerned data is read. That data is used for the billing purpose. As mentioned, the system is still at a testing phase, so a lot are still need to be done. To be able to implement AMR system all standard meters need to be changed to AMR supported meters, and meter readers need to be trained to be able to use the new system.

Bluetooth Technology

What is Bluetooth?

Bluetooth is a wireless technology for short range communications which was developed to replace the cables connecting devices, may it be fixed or portable ones. Such devices are; mobile phones, printers, cameras, desktop computer, and many others. The Bluetooth technology is a low power, low cost and maintains high levels of security.

"Bluetooth technology operates in the unlicensed industrial, scientific and medical (ISM) band at 2.4 to 2.485 GHz, using a spread spectrum, frequency hopping, full-duplex signal at a nominal rate of 1600 hops/sec." [10]

The Bluetooth Special Interest Group (SIG), an organization of several companies work together to maintain and develop the Bluetooth technology. [10]

The name "Bluetooth" comes from Danish King Harold Bluetooth. He was instrumental in uniting warring factions in parts of what is now Norway, Sweden and Denmark. [11]

Bluetooth technology can withstand interference from wireless technologies which uses the 2.4 GHz spectrum. Adaptive frequency hopping (AFH) of Bluetooth technology detects other devices in the spectrum and avoid the frequency they are using. [11]

According to Martin Reynolds, an analyst with Gartner Group's Dataquest, "The thing about Bluetooth is that it really will ship in the billions of units once it gains momentum. It's really a multibillion-dollar market." [12]

Bluetooth Logo

Figure 2‑2: Bluetooth logo [13]

Bluetooth range

Bluetooth radio waves use certain amount of energy and can goes up to a maximum of certain diameter. The table below show Bluetooth class and its limit up to where it can go.

Class

Power use (mW)

Range (approximate) in meters

1

100

100

2

2.5

10

3

1

1

Table 1‑3: Bluetooth class range

BLUETOOTH Network

There are two type of network:

Piconet: is made up of one master and one or more slaves but only up to a maximum of seven active slaves at a time. The device initiating the connection automatically becomes the master and is the master of the piconet. Slaves may not communicate directly with each other; they can only communicate with the master and transfer data when they are granted transmission time by the latter. Slaves synchronize their frequency hopping with the master using the master's clock and Bluetooth address.

Figure 2‑3: Typical piconet [14]

Scatternet: Multiple piconets with overlapping coverage areas form a scatternet. Each piconet may have only one master, but slaves may participate in different piconets on a time-division multiplex basis. A device may be a master in one piconet and a slave in another or a slave in more than one piconet.

Figure 2‑4: Typical scatternet [15]

Bluetooth protocol stacks

The Bluetooth protocol stack allows Bluetooth devices from different manufactures to work with one another. Some of Bluetooth protocol stacks

 LMP (Link Management Protocol); configure and control links to other devices.

 L2CAP (Logical Link Control & Adaptation Protocol); links upper layer protocols over the Baseband and the passing on of quality of service information.

RFCOMM (Cable replacement protocol): protocol provides emulation of serial ports over the L2CAP protocol.

 Service Discovery Protocol; provide a way for discovering services provided by or available through a Bluetooth device. It also allows applications to know about the characteristics of the services which are available.

 HCI (Host/Controller Interface); access the hardware status and control register. It also provides a command interface to the Link Manager and Baseband Link Controller.

Bluetooth radio is a transceiver which transmits and receives modulated Bluetooth radio waves for the devices.

Figure 2‑5: Bluetooth protocol stacks [15]

Bluetooth profiles

Bluetooth profiles help two devices which have the same profile to communicate with each other. Each Bluetooth device must support at least one profile. There are a wide range of Bluetooth profiles that explain many different types of applications.

Generic Access Profile (GAP): Provides the basis Bluetooth functionality for all profiles. Some of the functionalities are like setting up L2CAP links, handling security modes and discoverable modes.

Serial Port Profile (SPP): Provides serial port (RS-232) emulation based on the RFCOMM part of the Bluetooth stack.

Dial Up Networking Profile (DUNP): Defines how to a Bluetooth device can be used as a Dial Up Networking gateway

FAX Profile: Defines how a Bluetooth device can be used as a FAX gateway

Headset Profile: Defines what is required to transfer audio e.g. a wireless Bluetooth headset

LAN Access Point Profile: Defines how a Bluetooth device can be used as a LAN access point

Generic Object Exchange Profile (GOEP): Provides support for the OBjext EXchange (OBEX) protocol over Bluetooth links

Object Push Profile: Defines how to exchange vCard and vCalendar objects, based on the GOEP

File Transfer Profile: Defines functionality of how to navigate through folders and copying, deleting or creating a file or folder on a Bluetooth device, based on the GOEP.

Figure 2‑6 : Bluetooth Profiles [16]

THE ADVANTAGES OF BLUETOOTH

Short transmission range up to a maximum of 100 meters with class 1.

Low Power: Bluetooth takes relatively low power, thus it is suitable for devices with restricted battery capacity.

Interoperability: as it have standardised protocols.

Robustness: capable of operating in an environment strongly where there are many other radio waves

Technologies for developing the system

There are many phase for the development of a system and there are many tools available for their development. Two categories can be identified for a system; hardware and software. The hardware part is the part that can be hold by hands and move if it is portable. The software part can be seen as the one who make the hardware works correctly. Without the software, the hardware cannot be used fully.

Programming language

There are a series of programming languages that are available to programmers to code systems. Each programming language has an area of application where it is better. Some of the programming languages are listed below.

Java

Java is cross platform and GNU General Public License programming language. Java is an object-oriented, class-based, general-purpose, and concurrent language. It is intended to let application developers "write once, run anywhere". Java programming languages is used in many systems ranging from applications software to web applications. Java can be use for Bluetooth programming. Java Communication Process (JCP) developed JSR 82, Java API for Bluetooth, so that Bluetooth enabled devices can be code easily using J2ME.

Integrated development environment (IDE) help to code with java, some examples are:

NetBeans

The NetBeans IDE is written in Java and needs JVM run. It can run on different operating system like Windows, Mac OS, Linux, and Solaris. A JDK is required for the functionality of Java development. Netbeans also has a GUI design tool that help developers to design GUIs.

Eclipse

Eclipse was mostly written in java and can be used to develop java application. There are a lot of plug-in which helps to for development.

J2ME

J2ME is Java platform used to code embedded devices, like mobile phones. Java ME source code is licensed under the GNU General Public License. J2ME can be use to code systems with wireless connection.

C programming language

C is a general-purpose computer programming language that can run on many platforms. C can be use for developing portable application software.

Python

Python is a multi-paradigm programming language and it is cross platform, i.e. it can work on different operation systems. Python can be use for Bluetooth programming.

Visual Basic.Net (VB.Net)

Visual basic is implemented on .Net framework. VB.Net was designed by Microsoft and it is an object oriented language.

Relational Database Management System (RDMS)

Some of RDMS are listed below:

MySQL

MySQL is a relational database management system which is released under the GNU General Public License. It offers multi-user access to databases and it is cross platform software.

PostgreSQL

PostgreSQL is an object-relational database management system (ORDBMS) and it is released under PostgreSQL License. Thus it can be modified and distributed in any form desired.

Web Server

A Web server is responsible to process users' request and reply back. The replies are mainly HyperText Markup Language (HTML) documents. Web servers are mainly used t host Web sites.

Apache HTTP Server

Apache HTTP Server is a Web server which is licensed under Apache License 2.0, which means that it is an open source HTTP server. It is platform independent, highly secure and efficient.

Internet Information Server (IIS)

IIS was created and is owned by Microsoft. There is need to buy it license to use it.

Web Development Tools

There are many server side scripting languages that are used. Some of them are listed below:

PHP

PHP (Hypertext Preprocessor) is a general-purpose scripting language that was designed for web development so as to have dynamic web pages. PHP can work on most servers and operating system.

ASP.NET

ASP.NET allows programmers to build dynamic web pages, web services and web application. It is a web application framework developed and marketed by Microsoft.

Hardware

Some of the hardware that can be used is listed below.

Mobile phone

Mobiles phones have become a common electronic device. It offers many options than just make call and send messages. Nowadays we can access the Internet via mobile phones, and there are many applications that where developed on mobile phone. New generation mobile phones are equipped with camera and Bluetooth.

Laptop/ Computers

Computer is like the tool that enables programmers to work. All most all programming languages, not to say all, can work on computers. They are also equipped with many wireless devices like Wi-Fi and Bluetooth.

Embedded devices

There are embedded devices that are designed specifically to do certain things. Some examples are: MP3 player, washing machines, Bluetooth meter reader, and many others.

Analysis

Analysis

In the analysis section, we will analyse the objectives of the new system that need to be designed and the different functions that the system will have. Different possible solutions will be evaluated and the tools that can be used for the development of the new system.

System requirements

In this section, the function and non-functional requirements of the system will be listed. Functional requirements can be defined as what the system is supposed to do. Non-functional requirements can be defined as how the system is supposed to be.

The system can be broken into two parts; "Mobile application" and "Server application". The mobile application will be used to read the meter value and server application to store data. The function and non-functional requirements of the both applications are listed below.

Mobile application

Functional requirement

The application should ask the user to login to be able to use it.

The application should allow searching for available meters.

The application should read meter value and send the data to a database for storing it.

Non-Functional Requirements

Performance

Application should not take more than one minutes to load.

Usability

Simple menu should be provided for smooth navigation across the application.

Scalability

Application should send all necessary data to database.

Availability

Application should always be able to function when ever needed.

Efficiency

The application graphical user interface should not take too much memory.

Reliability

The application should be able to read accurate value.

Robustness

The application should be able to run under other low interfering radio wave.

Security

Only registered user will be able to use the application and perform reading.

Portability

The application should work on any device supporting the development language

Privacy

Any personal data should be kept private

Server application

Functional

The application should require login before usage.

The application should allow to register user that will use the mobile application

The application should allow registered mobile application user to edit username and/or password.

The application should allow to register customers

The system should allow to add new meters

Non-Functional Requirements

Performance

Access to the application should not take more than five minutes.

Usability

Searching for record should not take more than five minutes.

Scalability

The application should allow multiple users to manage their account simultaneously.

Availability

The application must have an uptime of at least 99%.

Efficiency

The application should make optimum use of resources when performing search.

Reliability

The application should receive correct data and make correct entry in database.

Robustness

The application should be able to accept one request per second.

Security

Only registered user will be able to modify data.

Portability

The application should work on any device supporting the development language

Privacy

The application should protect private data against authorised access.

Hardware choice

There are different types of hardware that can be used for the system. The choice for different part of the system is listed below.

Mobile application

An embedded device will be too costly to implement the mobile application, where as a laptop will prove to be too heavy to carry all the way to read meters. Mobile phone is the best option to be used for the mobile application as it is easy to carry, mostly mobile phone have inbuilt Bluetooth and support small applications. So, the mobile application will be mobile application software.

Server application

This application can be on a web server, where it can be accessed remotely by multiple persons at the same time and can use a database to store all information. Therefore the server application will be web base application software.

Constraints

Although there are Bluetooth enabled meters, there is a real problem in obtaining a Bluetooth enabled meter. So, a laptop with in-built Bluetooth or a Bluetooth dongle can be used to simulate a meter.

Possible solution for the problem

The different possible solutions for the problem are listed below.

Solution 1

Figure 1‑7: Solution 1

The architectural overview of this solution is shown in the figure above. In this solution, an application will be running on the mobile phone, and it will access the meter via Bluetooth to read the data. After that the data is read it will be stored on the mobile, and that data, will be sent to the computer via Bluetooth or USB cable. A desktop application which will be running on the computer will read the data which was transferred by the phone and will use it to create entries on the local database. The data which have been entered into the local database will then be used to send to a server, where it will be stored in the central database.

Solution 2

Figure 1‑8: Solution 2

The figure above shows the architectural view of the solution. In this given solution, the mobile phone will be running an application which will be used to read data from the meter via Bluetooth. After that the data is read, it will be sent via Internet to the central database. There, the read value will be store in the central database.

The mobile application will use RFCOMM to communicate with meter as it is reliable. The communication between the mobile and the server will be via the Internet through the network operator.

Proposed solution

The proposed solution is Solution 2. This solution offers more advantage than the others; the reasons are given below.

When the data is read, it is sent immediately to the central database, thus billing process can be done faster.

Sensitive data will be at risk in case of lost of mobile phone.

Operating cost decreased compared to solution 1, as there is only need for one central database.

Evaluation of Tools

Programming language

The programming language is what will help to make the software. Each programming language has positive and negative points depending on the type of software that need to be developed. The pros and cons of certain programming languages are listed below.

J2ME

Pros

Cons

Offer better networking capability

Available on various platforms

J2ME applications are portable

Rich user interface

Robust security features.

There is a wide range of mobiles which support Java, thus having wide range of mobile phone that can be used.

Midlet cannot access all native resources without authorization.

Application need to adapt for phones which have different CLDC, MIDP, JSR and Bluetooth.

Java

Pros

Cons

Java code can work on many different platforms.

Java is secure, robust and reliable.

Java provides use of multithreading.

Java is object oriented and allows creation of modular programs and reusable code.

Java have an API for Bluetooth programming

Java is slower and consumes more memory when compared to languages such as C or C++.

Web Servers

Web servers are what will enable the data to be access over a network in a convenient way. There are a lot of web servers, some of them are described below.

Apache

Pros

Cons

Apache is open and thus can be customised easily according to requirements

Multi-platform. It runs on a wide variety of operating systems, including all variants of UNIX, Windows 9x/NT, and Mac OS

Apache is not regularly updated

Requires more technical knowledge to install and configure

IIS

Pros

Cons

GUI mode installation.

Works with a wide range of operating systems and browsers.

Source code is proprietary.

Can only work within Windows environment.

Web Development Languages

Web development language will be used to code for application at server side. There is a wide pool of language that is available. Some of them are listed below with their some of their pros and cons.

PHP

Pros

Cons

PHP is free and easy to use.

PHP help to interact with database easily.

Can support many operating systems, like Windows, Linux and Mac OS.

PHP engine need to be installed on server to use PHP.

Debugging can be lengthy for complex program.

ASP.NET

Pros

Cons

ASP.NET code is compiled at server before being sent to the browser; thus faster.

ASP.NET pages are simple to write and can cope with heavy traffic without affecting performance adversely

ASP.NET runs on only windows platform.

ActiveX objects are platform specific, thus it will not work easily on many Web servers.

RDBMS

Relational Database Management System (RDMS) will be used to store all data. It is very important as all sensitive data will be there and data will be used to do billing purpose.

MySQL

Pros

Cons

Easy to use.

Free and Open source system.

Runs on a range of different platforms.

Can handle large sets of data.

It is secure. Passwords are encrypted

Recovery of database is not guaranteed in case of a power cut.

Operates over known IP ports which facilitate the task of intruders

PostgreSQL

Pros

Cons

It is a free and Open source software

PostgreSQL can work on different platform

PostgreSQL is very scalable and extensible

It is slow compared to MySQL

Lacks binary distribution for all the supported platforms.

Choice of Final Tools

Java is appropriate for the desktop application as it can work on many different platforms and have an API for Bluetooth.

J2ME is used for the mobile application development as many mobile phones can support java and have an API for Bluetooth.

Bluecove API for Bluetooth programming as it is open source and support java.

PHP will be used for the web application as it is free and easy to interact with database.

MySQL is more suitable for database system as it is free and work well with Web servers.

Use case

Use case help to have a graphical overview of the "actors" and "use case" that form the system. Actors can be described as a role played by a person or external device and use case can be described as a sequence of action that a system performs.

The Use Case diagrams of the proposed system are shown below.

The Mobile application process is described below.

Login

Actors:

Meter reader User

Summary:

User logging into to mobile application

Preconditions:

Have a meter reader account

Detailed Description:

User enters username and password.

User presses the "Login" button.

Post conditions:

User search for meters

Search meter

Actors:

Meter reader User

Summary:

Search for available meters

Preconditions:

Login successfully

Detailed Description:

Search for available meters

Send data to server

Post conditions:

Entry is made in the database.

Meter Reader interaction with Server application.

Actors:

Meter reader User

Summary:

Change username or password upon successful login

Preconditions:

Have a meter reader account

Detailed Description:

Enter user and password

Click login

Change username or password

Post conditions:

Database is updated

Administrator interact with Server application

login

Actors:

Administrator User

Summary:

Login to web site

Preconditions:

Have an administrator account

Detailed Description:

Enter user and password

Click login

Post conditions:

Manage information on server

Manage content

Actors:

Administrator User

Summary:

User manages information.

Preconditions:

User login successfully

Detailed Description:

User can do operations like; add, edit, delete or view data

Post conditions:

Database is updated

Add

Actors:

Administrator User

Summary:

Add records

Preconditions:

User login successfully

Detailed Description:

User can append new record to related information

Post conditions:

New record is saved to database

Delete

Actors:

Administrator User

Summary:

Delete saved records

Preconditions:

User login successfully

Detailed Description:

User can delete records

Post conditions:

Selected record is deleted from database

Edit

Actors:

Administrator User

Summary:

Edit saved records

Preconditions:

User login successfully

Detailed Description:

User can edit record which are being viewed

Post conditions:

Database is updated

View

Actors:

Administrator User

Summary:

View records

Preconditions:

User login successfully

Detailed Description:

User can view records that are saved in the database

Post conditions:

Records are shown on the webpage

Design

Design

The design section gives an overview of the structure of the software and architecture of the system. It also includes the data involved, the interfaces between system components, algorithm and protocol to be used for the system implementation.

System Design Issues

Several system design issues like performance, quality of service, fault tolerance, and security, which are important in the design of a system, are discussed below.

Performance Issues

The performance issues are concerned with the limitation of computers in term of processing power and communication capacities. These issues can be described in the followings ways:

Responsiveness: It is how fast the system processes given input to give an output. The use of threading allows multiple tasks to process simultaneously. Threads can be used for processor intensive process. Threads can be implemented in Java Environment.

Applications running on networks depend greatly on the load and performance of servers and also the network load itself. Server and network load balancing can be used to prevent them from being overloaded. Such technique is beyond the scope of this project. When using the Internet, there is a probability of communication delays and data being corrupted, this beyond of one's control.

Throughput: It is of the system corresponds to the amount of data transmitted between the client and server in a given time interval.

On a wireless network is takes a long time to establish connection between the server and the client and the latency time of HTTP is significantly high. So, the number of HTTP round trips in the application must be kept to the strict minimum.

Robustness

Robustness is the ability of the system to operate in the presence of incorrect input or cope with errors when the system is running.

Validations check like length check and data type check can be used to prevent wrong input and catch errors where shared resources are being accessed.

Interactivity

Interaction with the system can be in many different ways. Data or command input to the system will make it produce certain result. Some of the ways that can interact with the system are listed below.

The use of graphical user interface (GUI) to facilitate user to communicate with the system.

Providing options and menus where possible instead of typing data.

Users using the mobile application need to enter data via phone keypad.

Use of meaningful icons, so that user can interact quickly with the system.

Flexibility

The web application can support multiple users at a time and can receive and process multiple requests a time. The system must be able to cope if there is significant increase in the number of users and additional resources can be added if needed to.

Portability

The mobile application can be run on Java enabled mobiles phones which support MIDP 2.0. The web application can run on multiples types of servers.

Limit size of JAR file

The mobile application has limited resources to use. So the application is obfuscated to reduce its size. The obfuscation process helps to remove unused classes and libraries.

Error, Exception Handling and Fault Tolerance

The application should continue to work correctly in presence of software, hardware and network faults. Errors will be caught in try-catch blocks to alert user of the error.

Security

Security is one of the focal point of a system. There is no system on earth which can be tagged as impenetrable. What can be done is, to make the system less vulnerable to attacks. The system needs to protect data from unauthorized users. The ways to protect the system is listed below.

Users need a username and password to be able to access the system. User will be identified and authenticated before they can use the system.

The database will be protected with password.

Architectural Design

In this section, the different components of the system are illustrated and how they interact between them.

Overall Architecture

The system is made up of three main components: the meter, the mobile application and the server application. The mobile application will be used to read a value via Bluetooth from the meter and will send that value via mobile network operator to the server. The connection between the mobile and the server is done via wireless connection such as GPRS, WAP, EDGE or Wi-Fi.

The meter will be a simulated meter on a laptop that will be accessed via Bluetooth by a mobile application.

The server will be used to host the web site and connect to the database. That database will be used to store all information needed.

The figure below shows the overall architecture.

Detailed architecture

Meter Reader System

Web Server

Meter Reader

Web portal

GUI

Send Reading

Customer Management

Meter Reader Management

Reading Management

Meters Management

Database

Communication Design

The communication design is based on issues when client application and the server communicate to exchange information and the protocol used for the data transmission.

Communication Protocol

Hypertext Transfer Protocol (HTTP) will be used as communication protocol between the client and the server. The HTTP protocol is a request-response protocol. Client send request with some parameters to the server and the latter will reply to that request.

The Bluetooth protocol, radio frequency communication (RFCOMM) will be used to communicate between the meter and the mobile application. RFCOMM is a simple transport protocol which offers reliable data stream

Static modeling

Class diagram

< Class diagram >

Dynamic modeling

Activity diagram

Activity diagram show a graphical representation of the path activities can take and any iteration or decisions along the path.

Read a meter value

Data design

The database will be used to store very sensitive information. Special care need to be taken so that the information stored in it is accessed only by authorised users.

Customers

Field name

Type

Constraint

Description

CID

autonumber

PK, Not null

Customer's ID

Surname

varchar(255)

NOT NULL

First name

varchar(255)

NOT NULL

Address1

varchar(255)

NOT NULL

Address2

varchar(255)

City

varchar(255)

NOT NULL

Tel

varchar(255)

NOT NULL

active

varchar(255)

Meter Reader

Field name

Type

Constraint

Description

MRID

autonumber

PK, Not null

Meter reader's ID

Surname

varchar(255)

NOT NULL

First name

varchar(255)

NOT NULL

Address1

varchar(255)

NOT NULL

Address2

varchar(255)

City

varchar(255)

NOT NULL

Tel

varchar(255)

NOT NULL

active

varchar(255)

Reading

Field name

Type

Constraint

Description

RID

autonumber

PK, Not null

ID

MRID

varchar(255)

NOT NULL

MID

varchar(255)

NOT NULL

Value

varchar(255)

NOT NULL

Date

varchar(255)

NOT NULL

Meters

Field name

Type

Constraint

Description

MID

autonumber

PK, Not null

ID

CID

varchar(255)

NOT NULL

User interface design

Interfaces need to be user friendly as it through interfaces that the user will interact with the system. Norman's 7 Principles or Shneiderman's 8 Golden Rules can be used to achieve good interface design.

Mobile application interface design

Login screen

The meter reader will have to enter his/her username and password to be able to use the mobile application. The login screen design is shown below.

Username:

Password:

Exit

Login

Search screen

After that the meter reader has entered successfully his/her username and password, a screen is show. This screen has an option to search for available meters. After that the option search meter is selected, the application will search for available meters and the selected meter value will be read and sent to server.

Search meter

Exit

Web application interface design

Login page

Meter readers or the administrator will be presented with a login form as show below. The users need to input correct username and password to be able to get access to the system.

Password

Username

Login

Cancel

View record

The administrator will be presented with options after successful login. After choosing which information the administrator wants to view, a screen as shown below will be presented. All different information stored in the database will be presented in the screen template shown below, so as to preserve a consistent way of displaying information.

Page function title

Record No | Record Information | Edit | Delete

<<Back