This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
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
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.
A good project planning is needed for the successful accomplishment of the project. A Gantt chart of the project is show below.
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.
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.
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.
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.
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. 
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. 
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.
Some time a hybrid AMR system is implemented so that when the fixed network goes down, the mobile system come into action. 
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
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
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. 
"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". 
"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" 
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.
"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." 
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. 
Figure 2â€‘1: Bluetooth reader 
Metex Corporation limited is a company which is manufacture meter readers, and the company has meters with Bluetooth technology. 
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.
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." 
The Bluetooth Special Interest Group (SIG), an organization of several companies work together to maintain and develop the Bluetooth technology. 
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. 
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. 
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." 
Figure 2â€‘2: Bluetooth logo 
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.
Power use (mW)
Range (approximate) in meters
Table 1â€‘3: Bluetooth class range
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 
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 
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 
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 
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.
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 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:
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 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 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 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 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 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.
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 (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 allows programmers to build dynamic web pages, web services and web application. It is a web application framework developed and marketed by Microsoft.
Some of the hardware that can be used is listed below.
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.
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.
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.
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.
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.
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.
Application should not take more than one minutes to load.
Simple menu should be provided for smooth navigation across the application.
Application should send all necessary data to database.
Application should always be able to function when ever needed.
The application graphical user interface should not take too much memory.
The application should be able to read accurate value.
The application should be able to run under other low interfering radio wave.
Only registered user will be able to use the application and perform reading.
The application should work on any device supporting the development language
Any personal data should be kept private
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
Access to the application should not take more than five minutes.
Searching for record should not take more than five minutes.
The application should allow multiple users to manage their account simultaneously.
The application must have an uptime of at least 99%.
The application should make optimum use of resources when performing search.
The application should receive correct data and make correct entry in database.
The application should be able to accept one request per second.
Only registered user will be able to modify data.
The application should work on any device supporting the development language
The application should protect private data against authorised access.
There are different types of hardware that can be used for the system. The choice for different part of the system is listed below.
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.
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.
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.
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.
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.
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
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.
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 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 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 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
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 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 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.
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.
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
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 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.
Meter reader User
User logging into to mobile application
Have a meter reader account
User enters username and password.
User presses the "Login" button.
User search for meters
Meter reader User
Search for available meters
Search for available meters
Send data to server
Entry is made in the database.
Meter Reader interaction with Server application.
Meter reader User
Change username or password upon successful login
Have a meter reader account
Enter user and password
Change username or password
Database is updated
Administrator interact with Server application
Login to web site
Have an administrator account
Enter user and password
Manage information on server
User manages information.
User login successfully
User can do operations like; add, edit, delete or view data
Database is updated
User login successfully
User can append new record to related information
New record is saved to database
Delete saved records
User login successfully
User can delete records
Selected record is deleted from database
Edit saved records
User login successfully
User can edit record which are being viewed
Database is updated
User login successfully
User can view records that are saved in the database
Records are shown on the webpage
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.
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 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.
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.
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.
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 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.
In this section, the different components of the system are illustrated and how they interact between them.
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.
Meter Reader System
Meter Reader Management
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.
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
< Class 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
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.
PK, Not null
PK, Not null
Meter reader's ID
PK, Not null
PK, 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
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.
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.
Web application interface design
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.
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