01-11-2016, 02:55 PM
1463044504-neeru.docx (Size: 1,004.36 KB / Downloads: 5)
ABSTRACT
Beacons synonym is guide and warning. Estiomotes Beacon Application is used to locate beacons.In this application we have firstly designed the screens .The first screen asks for sign up and if you are already an existing user then you need to simply sign in.This leads us to the next screen that is locate beacons which on click shows all the nearby beacons.On long click of a beacon we get to know the major,minor and UUID of the same beacon.Another feature that is added is One Time Password on click of Forgot password that lets you know your username and password.
INTRODUCTION:
Internet of Things(IOT) includes the use of beacons mainly ibeacon.Beacons are small wireless devices that continuously transmit a simple radio signal saying “I am here,this is my ID”.In most cases the signal is picked by nearby smartphones using Bluetooth Low Energy(BLE) technology.When the mobile device detects the beacon signal,it reads the beacons identification number(ID),calculates the distance to the beacon and based on this data,triggers in an beacon compatible mobile app.
The beacons are very simple,they are technological advancement :They allow for indoor positioning (something that GPS is unable to provide) and subsequently indoor behavior tracking.They create a new seamless interaction that does not consume a lot of battery.Due to its simplicity beacon technology does not need to battle as many standards as other IOT applications.
The various fields in which beacons are replacing the current technology are:-
• RETAIL-Beacons allow for a new way interaction between customers and retailers.on the one hand,it allows retailers a new way of collecting data about customers based on their instore actions.On other it allows customers to have good offers.
• SPORT VENUES-One of the biggest news last year was Major League Baseball’s adoption of beacon technology.They equipped 20 stadiums with more than 100 beacons each to help visitors find their seats and to send them notifications about discounts.
• AIRPORTS-Last year ,Virgin Atlantic equipped the London Heathrew Airport with beacons for micro navigating services leading passengers to gates and receive notifications about specific airline partner services.
•PUBLIC TRANSPORT-An app called Wayfindr made by RLSB’S delievered turn by turn audible directions to blind people giving them better opportunities to navigate London’s underground.
PROBLEM DEFINITION:
Problem statement in the existing system is that it is manual record keeping system which is not effective now a day. There are some drawbacks in existing system of estimotes. These can be:
1. This system is full of delays therefore it leads to slow and time consuming maintenance of data.
2. Present system is not speedy effective and timely efficient.
LIMITATION OF EXISTING SYSTEM:
1.Slow in Speed
2.More consumption of Bluetooth Power
3.More Battery consumption
4. Short battery life and low range,
CHAPTER 2:
A three tier architecture is a client server architecture in which the functional process logic, data access, computer data storage and user interface are developed and maintained as independent modules on separate platforms. Three tier architecture is a software design pattern and as well established software architecture
ADVANTAGES OF 3-TIER ARCHITECTURE:
The main advantages of the 3 Tier Architecture are often quoted as:
• Flexibility: By separating the business logic of an application from its presentation logic, a 3Tier architecture makes the application much more flexible to changes.
• Maintainability: Changes to the components in one layer should have no effect on any others layers. Also, if different layers require different skills (such as HTML/CSS is the presentation layer, PHP/Java in the business layer, SQL in the data access layer) then these can be managed by independent teams with skills in those specific areas.
• Reusability: Separating the application into multiple layers makes it easier to implement reusable components. A single component in the business layer, for example, may be accessed by multiple components in the presentation layer, or even by several different presentation layers (such as desktop and the web) at the same time.
• Scalability: A 3Tier architecture allows distribution of application components across multiple servers thus making the system much more scalable.
• Reliability: A 3Tier architecture, if deployed on multiple servers, makes it easier to increase reliability of a system by implementing multiple levels of redundancy.
Architecture Of Beacons:
(Beacons Synonym-Guide & Warning)
Beacon is a small computer. Its 32-bit ARM® Cortex M0 CPU is accompanied by accelerometer, temperature sensor, and what is most important—2.4 GHz radio using Bluetooth 4.0 Smart, also known as BLE or Bluetooth low energy.
A Beacon is like a lighthouse that continuously emits identifier information (major number, minor number, UUID) to nearby devices like an android. It’s easy to locate a user whenever their smartphone starts receiving BLE signals.
Estimote Sticker Beacons -- tiny beacons that the company dubs "nearables" -- were released in 2014. The devices, at 3 millimeters thick, can turn items into smart objects detectable by smartphones. For example, Estimote says its nearables and associated apps can tell you when your house plant was last watered, help you figure out your bike routes and mileage, and even adjust your alarm clock depending on nearby traffic.
Components of Beacon
BLE:-
Bluetooth Lower Energy is wireless computer network technology,it is intended to provide considerably reduced power consumption and lower cost.
BLE has two types:-
1. Bluetooth Smart Ready :-
It indicates dual mode device typically a laptop and smartphone whose hardware is compatible with both classic and LE Bluetooth peripherals.
2. Bluetooth Smart :-
It Indicates LE Only device typically a battery operator sensor which requires a smart ready or another smart device in order to function.
• Generic Attribute Profile (GATT)—The GATT profile is a general specification for sending and receiving short pieces of data known as "attributes" over a BLE link. All current Low Energy application profiles are based on GATT.
o The Bluetooth SIG defines many profiles for Low Energy devices. A profile is a specification for how a device works in a particular application. Note that a device can implement more than one profile. For example, a device could contain a heart rate monitor and a battery level detector.
• Attribute Protocol (ATT)—GATT is built on top of the Attribute Protocol (ATT). This is also referred to as GATT/ATT. ATT is optimized to run on BLE devices. To this end, it uses as few bytes as possible. Each attribute is uniquely identified by a Universally Unique Identifier (UUID), which is a standardized 128-bit format for a string ID used to uniquely identify information. The attributes transported by ATT are formatted as characteristics and services.
• Characteristic—A characteristic contains a single value and 0-n descriptors that describe the characteristic's value. A characteristic can be thought of as a type, analogous to a class.
• Descriptor—Descriptors are defined attributes that describe a characteristic value. For example, a descriptor might specify a human-readable description, an acceptable range for a characteristic's value, or a unit of measure that is specific to a characteristic's value.
• Service—A service is a collection of characteristics. For example, you could have a service called "Heart Rate Monitor" that includes characteristics such as "heart rate measurement." You can find a list of existing GATT-based profiles and services on bluetooth.org.
ARM Processor :-
Each Beacon have powerful 32-bit ARM® Cortex M0 CPU with 256kB flash memory, accelerometer, temperature sensor and what is most important – 2.4 GHz Bluetooth 4.0 Smart (also known as BLE or Bluetooth low energy) bidirectional radio”.
RAD Model:
Prototype-RAPID APPLICATION DEVELOPMENT (RAD)
RAD approaches to software development put less emphasis on planning tasks and more emphasis on development. In contrast to the waterfall model, which emphasizes rigorous specification and planning, RAD approaches emphasize the necessity of adjusting requirements in reaction to knowledge gained as the project progresses. RAD approaches also emphasize a flexible process that can adapt as the project evolves rather than rigorously defining specifications and plans correctly from the start. In addition to James Martin's RAD method, other approaches to rapid development include Agile methods and the spiral model. RAD is especially well suited (although not limited to) developing software that is driven by user interface requirements. Graphical user interface builders are often called rapid application development tools.
The waterfall solution to this was to try and rigidly define the requirements and the plan to implement them and have a process that discouraged changes to either. The new RAD approaches on the other hand recognized that software development was a knowledge intensive process and sought to develop flexible processes that could take advantage of knowledge gained over the life of the project and use that knowledge to reinvent the solution
ADVANTAGES OF RAPID APPLICATION DEVELOPMENT MODEL:
• Risk reduction: A prototype could test some of the most difficult potential parts of the system early on in the lifecycle. This can provide valuable information as to the feasibility of a design and can prevent the team from pursuing solutions that turn out to be too complex or time consuming to implement. This benefit of finding problems earlier in the lifecycle rather than later was a key benefit of the RAD approach. The earlier a problem can be found the cheaper it is to address.
• Users are better at using and reacting than at creating specifications. In the waterfall model it was common for a user to sign off on a set of requirements but then when presented with an implemented system to suddenly realize that a given design lacked some critical features or was too complex. In general most users give much more useful feedback when they can experience a prototype of the running system rather than abstractly define what that system should be.
• Prototypes can be usable and can evolve into the completed product. One approach used in some RAD methodologies was to build the system as a series of prototypes that evolve from minimal functionality to moderately useful to the final completed system. The advantage of this besides the two advantages above was that the users could get useful business functionality much earlier in the process.
• Better quality: By having users interact with evolving prototypes the business functionality from a RAD project can often be much higher than that achieved via a waterfall model. The software can be more usable and has a better chance to focus on business problems that are critical to end users rather than technical problems of interest to developers.
The James Martin RAD method
The phases of RAD model are listed below:
1. Planning: In this phase, the tasks and activities are planned. The derivables produced from this phase are project definition, project management procedures, and a work plan. Project definition determines and describes the project to be developed. Project management procedure describes processes for managing issues, scope, risk, communication, quality, and so on. Work plan describes the activities required for completing the project.
2. Analysis: The requirements are gathered at a high level instead of at the precise set of detailed requirements level. In case the user changes the requirements, RAD allows changing these requirements over a period of time. This phase determines plans for testing, training and implementation processes. Generally, the RAD projects are small in size, due to which high level strategy documents are avoided.
3. Prototyping: The requirements defined in the analysis phase are used to develop a prototype of the application. A final system is then developed with the help of the prototype. For this, it is essential to make decisions regarding technology and the tools required to develop the final system.
4. Repeat analysis and prototyping as necessary: When the prototype is developed, it is sent to the user for evaluating its functioning. After the modified
requirements are available, the prototype is updated according to the new set of requirements and is again sent to the user for analysis.
5. Conclusion of prototyping: As a prototype is an iterative process, the project manager and user agree on a fixed number of processes. Ideally, three iterations are considered. After the third iteration, additional tasks for developing the software are performed and then tested. Last of all, the tested software is implemented.
6. Implementation: The developed software, which is fully functioning, is deployed at the user's end.
TECHNOLOGY USED:
PRESENTATION LAYER:
Android:
Android SDK
The Android platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using Java programming language.
The Android software development kit (SDK) includes a comprehensive set of development tools. These include a debugger, libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials.
Android's default user interface is mainly based on direct manipulation using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, along with a virtual keyboard. Game controllers and full-size physical keyboards are supported via Bluetooth or USB. The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibration capabilities of the device to provide haptic feedback to the user. Internal hardware, such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented, or allowing the user to steer a vehicle in a racing game by rotating the device, simulating control of a steering wheel.
BUSINESS LOGIC LAYER:
Java:
Java is Platform Independent, Secure, Object Oriented, Scalable, and Robust Programming Language.
It consists of two parts
JVM stands for Java Virtual Machine, which is run time environment to execute the java programs.
Java API (Application Programming Interface) that consists of inbuilt classes used in java programs.
DATA LINK LAYER:
SQLite:
SQLite is Database used in android. SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
Unlike client–server database management systems, the SQLite engine has no standalone processes with which the application program communicates. Instead, the SQLite library is linked in and thus becomes an integral part of the application program. The library can also be called dynamically. The application program uses SQLite's functionality through simple function calls, which reduce latency in database access: function calls within a single process are more efficient than inter-process communication. SQLite stores the entire database (definitions, tables, indices, and the data itself) as a single cross-platform file on a host machine. It implements this simple design by locking the entire database file during writing. SQLite read operations can be multitasked, though writes can only be performed sequentially.