Automated Location Tracking Using Bluetooth Submitted by Uday Ananth Akhila Athresh Abhijeet Yatgiri
May 19, 2015
Automated Location Tracking Using Bluetooth
Submitted by Uday Ananth
Akhila AthreshAbhijeet Yatgiri
Abstract
• Location Tracking is crucial in providing visibility of mobile nodes.
• Better Control, higher productivity
• Traditional Tracking – Global Positioning System(GPS)
• Alternate Tracking for smaller geography -Bluetooth
Objective
• To track human location in signal sensitive area using Bluetooth.
• Constantly monitor the location
• Provide consistent information regarding user whereabouts.
• Support duplex communication between mobile nodes and server
System Requirements
Hardware Requirements(per node basis)
• Intel Core2Duo e8200 (2.66 GHz) (Lower end processors can be used as well)
• 2GB RAM DDR2 (A minimum of 512 MB required)
• Intel dp35dp Chipset
• LAN (Ethernet) Card
• Silicon Cambridge Bluetooth Radio (Dongle)
• Bluetooth Enabled Cellular Phones.
Software Requirements
• Operating System: Fedora 12
• Development Platform: NetBeans IDE 6.8
• Libraries Used
– Java SE 6 v18
– Bluecove GPL 2.1 (JSR -82)
– Java Database Connectivity (JDBC)
– Jakarta Commons Net
• Backend: MYSQL Server
• Network Communication: vsftpd
DESIGN
Client Server Design
University CampusSERVER ROOM192.168.1.1
LAB 1192.168.1.2
LIBRARY192.168.1.3
LAB 2192.168.1.4
OFFICE192.168.1.5
LAB 3192.168.1.6
A4:67:B5:89:00:F5 (Registered User A )
B6:88:C8:34:07:66 (Registered User B)
Client Functionality
• Sweep a small geographical subarea
• Detect mobile devices within this sub area and send
their MAC addresses to server via FTP
• Receive data from server
• Push the data to the mobile device
Server Functionality
• Register Bluetooth enabled phones
• Create, Maintain Databases
• Receive MAC addresses of mobile nodes from Client nodes.
• Determine which user is in which area using the above information
• Send and receive data to mobile nodes via intermediate client nodes
Software Design
User Interface
DatabaseBluetooth Radio Device Discovery
Bluetooth
Bluetooth
• Open Specification, Wireless Standard
• Short range radio technology(2.4 Ghz) for ad hoc communication of voice and data transfer
• Creation of PANs
• Range: 10 m for low end, 100 m high end Bluetooth devices
Bluetooth Stack
• Radio layer : lowest layer, controls transceiver's requirements and signals
• Baseband : physical RF links b/w devices, channel processing, timing, channel access control.
• Link Manager: Link control, Baseband packet size, Authentication.
• HCI : command interface for the below layers, can access hardware status, control registers
• L2CAP : abstracts uppers layers from the lower layers
• SDP : Protocol for querying, searching services
• RFCOMM : Serial port emulator
• OBEX : Similar to HTTP but used in low end devices. Pushing data to mobile nodes.
Device Discovery
• A Bluetooth device dynamically detects other Bluetooth devices in it’s vicinity –Device Discovery (Inquiry)
• It should also be able to detect services that are running on these detected devices –Service Discovery
• Devices can be set to ‘general’ mode , ‘non- discoverable’ mode or ‘limited’ mode.
• When issued an inquiry only discoverable devices respond back to the initiator with a 6 byte address
Service Discovery
• A Bluetooth Server is one that’s running JABWT application and can provide services to Client via Bluetooth
• The Bluetooth Stack provides Services Discovery Database (SDDB) : Contains all the services provided by server and accessible by client via Service Discovery Protocol (SDP) query
• List of all the services provided are stored as Services Records and are indexed using unique identifiers.
• Server has to register all the services it can provide.
JAVA
• Java provides a standardized and portable interface.
• Maintains a clean memory with automatic garbage collection.
• Capable of providing a simplistic User Interface.
• Scalable by including external upgrades and packages.
FRONT END
• Java Swings has been used to design the User Interface(UI) for this application
• Swing is a set of classes that provides more powerful and flexible components than those provided by traditional AWT .
• Several additional components like tabbed panes, trees ,tables etc are provided in Swings.
Java
Bluetooth
JSR-82
JSR 82
• Provides an interface to the Bluetooth host controller.
• Interfaces the Bluetooth Stack and Application Program.
• Supports the use of custom built stacks following the JSR-82 specifications
Java
Databases
(MySQL)
J2EE
BACK END
area areanameaname attlist
area att macbroadcastfilefilename
nodesip area mac url usn name
reglistfilenameuploadfile
usn mac sendfilenamesendfiletemp
mac phone
area mactlist
DATABASES
J2EE
• Provides access to Database Backend of the Application.
• Provides Connectors to link up with specific vendors.
• Simplifies connectivity by using a Type 4 Connector.
• Provides a substantial Stack Trace to diagnose errors.
CODE MODULES
Updates
UpdateDB
Register User
Services Search
Clear Files
Server Startup
THE SERVER
Server.java
Updates.java
Clearfiles.java
ServerStartup.java
InitialDB.java
RegisterUser.java
SearchUser.java
PassMessage.java
OpenMessage.java
RegUser.java
ServicesSearch.java
RemoteDeviceDetails.java
ServicesSearch.java
RemoteDeviceDetails.java
newClient.java
BroadcastMessages.java
UpdateDB.javaUpdateMessages.java
Updates
OBEX Put Server
Device Discovery
System Sleep
OBEX Transfers
Messages
THE CLIENT
Client.java
Updates.java
PushServer.java
CheckDown.java
RemoteDeviceDiscovery.java
Broadcastfile.java
SearchUser.java
PushFile.java
ObexPutServer.java
ObexBroadcast.java
ObexTrial.java
Future Aspects
• Provide an option of Scalability with high powered Bluetooth Radios.
• Integration of Real time and IP Traffic.
• Triangulation facilities through an isometric layout of the network.
• Integration with security and automation services.
Limitations
• The range of low powered Bluetooth radios are limited to 10 meters.
• Overlapping of Radio coverage can lead to ambiguity.
• Latency and overhead involved using Bluetooth is higher than traditional networks.
• Tight coupling of the Bluetooth protocol stack with the governing application prevents optimization.
Foot Notes
• Simplistic location monitoring system.
• Automated discovery of devices.
• Royalty free radio band.
• Integrated messaging system.
• Bluetooth SIG, Bluetooth Qualification Program
• Jim Keogh, J2EE – The Complete Reference• Herbert Schildt, Java 2 - The Complete
Reference• Kumar, C B., P. J. Kline and T. J. Thompson.
Bluetooth Application Programming with the Java APIs
References