Thursday, August 21, 2014

Robot Controlled By ZigBee Devices Using Sensors Data



Robot Controlled By ZigBee Devices Using Sensors Data

Hosen, Md. Kabir, Paul, Arup Ratan,  Zaman, Md Sham Suz, Nalikala, Srinivas,  Giri, Pramod.
Frankfurt University of Applied Sciences
Department of Computer Science & Engineering

Abstract
This report introduces the wireless sensor network project of the Smart Sensor Network systems group project. The objective of the project is to develop a system to collect data from sensors wirelesseyly to the co-ordinator ZigBee device and visualize those sensor data in real time using our application, apart from visualization the sensor data are monitored for their threshold limits and when crossed a command from the application is send through the co-ordinator to the ZigBee node attached to the ROBOT to trigger the movement. This report also discusses the progress made to date on the project, and proposes a timeline for the completion of the project.

Our project is based on the “Robot Controlled through ZigBee” using microcontroller, sensors and others peripherals. This project includes investigation, Feasibility Study, requirement analysis and specification, testing and implementation plan and text documentation.

We have started developing the system from the investigation of existing Robotic work which is controlled by ZigBee Device (Google.com). We got huge amount of information after investigate and studying detailed information of existing systems of “Robot Controlled through ZigBee” in feasibility study. To complete the system analysis and design Object Oriented Analysis and Design (OOAD) methodology is used in our project. We have done the analysis using various diagrams such as: Use Case diagram, Class diagram, Activity diagram, Sequence diagram, Component diagram, Deployment Diagram, and State chart diagram. To test the accuracy of our system we have used Black box testing in several modules. To develop this system software we have used Python and Embedded C programming language along with others software like MikroC, Proteous, Glade.
We hope that the software “Robot Controlled through ZigBee” would help us to widen our knowledge and skills in this sector and also help us to make our effort more academic and professional for industrial use.

Introduction
The purpose of this project is to let the Robotic car designed by our group to move from one point to another by getting an command wirelessly which is triggered by our application based on the threshold limits of the sensor data received from the end node by the co-coordinator. In this project we have used wireless network technology. This technology led to the implementation of wireless sensor networks, allowing easily configured, adaptable sensors to be placed almost anywhere, and their observations similarly transported over large distances via wireless networks.
In this project we have controlled the Robot by ZigBee devices using sensors data.

What is Wireless Sensor Network?
Wireless sensor network (WSN) is progressively use in several applications, such as Medical monitoring, Security & Military surveillance, Environmental/Habitat monitoring, Process monitoring, Home automation & Consumer electronics, Smart spaces, Inventory tracking, Robot control etc. In present situation, we can say that the wireless systems play an essential role to our life. We can easily observe wireless signal everywhere. Besides, wireless system is widely used in company because it can facilitate the working manner in the office and reduce the cost of wire network with installation. Nowadays, wireless local area network (WLAN), radio frequency (RF), infrared and Bluetooth are the wireless technologies that usually employed for transmitting and receiving the data. For industrial, wireless system is employed to transfer the data from many sensors in the factory. Wireless system can also be used because of its ability to control the machine with wireless system.
ZigBee
ZigBee is a worldwide open standard for wireless radio networks in the monitoring and control fields. The ZigBee modules are designed to operate within the ZigBee protocol and support the unique needs of low-cost, low-power wireless sensor networks. The modules require minimal power and provide delivery of data between remote devices.


Project Scope
 Real-time sensor data fetching along with triggering event based on threshold limits.
 Learn the working and functioning of the Microcontroller board.
 Control of the ROBOT position by commanding based on the sensor data threshold.

Requirement Management
The requirement management for this project can be classified into two groups:
 Language Requirements
 Software requirements
 Hardware requirements

Language Requirements
Python
Embedded C
Hardware Requirements
 Dc Motors (6 volts)
 Microcontroller-16F628A
 Zigbee (TX/RX )
 Motor drivers—(L293D)
 IR Sensors –GP2 2400K SHARP
 JTAGICE3
 PICSTART PLUS
Software Modules
 GUI (Graphical User Interface)
 Input (From sensors data reading)
 Output (Triggering and the Robot movement

Process Model
To control the direction of the Robot we have used Zigbee modules one as transmitter and the other as receiver. The transmitter is fixed to PC and the receiver is fixed to the robot on the other end. We send signals from PC through the ZigBee (transmitter) to the receiver which is in built to the robot. For the triggering of the robot movement we are using other ZigBee nodes with temperature and light sensor, our application will be monitoring the threshold limits of the sensors and incase exceeded, the Zigbee on the robot is contacted and movement triggered. We can use this process to virtually control the robot direction even though we are far away by the help of Zigbee nodes co-ordination.

Sensor Data Acquisition
Sensor data acquisition in coordinator from End node, visualize in real time and triggers based on the threshold. Here the sensor detects the temperature and light data and passes to the coordinator, the application fetches this data from the co-ordinator and visualizes it through GUI. Apart from visualization the application also monitors the threshold limits which when crossed is used to trigger a command to the ROBOT.

How Does Robot Work?
Our Robot has the ability to take the external command using UART. Presently we are working with only 1 bit data [0, 1] for triggering the output to Robot sensor. If the pin 9 is high [1] Robot start moving, Else pin 9 [0] is not high Robot not ready to move. The robot has object and depth detection system with send it back to the terminal. Because of less time we decided at last minute to develop the 1bit operations. We can also use more than 1bit to command robot to perform more operations. It possible with any serial port communication with robot it caught the data from source then ready to perform more operations. We can also able to control the robot direction in further. {Remote}


More: Contact: kabircse115@gmail.com


Real Time GPS Buddy Tracker

Real Time GPS Buddy Tracker
Frankfurt University of Applied Science 
Md. Kabir Hosen
...........................................................................................................................................
Abstract
Today‘s fast moving services based on location are very much important. As the trend is of smartphones, iphones and the emerging gadgets, it is very important for the user to have location based services. The location based services are accompanied with the help of GPS (Global Positioning System) which provides the positioning to the user. The application will allow the user to locate friends dynamically and can also communicate with them easily and effectively and will also locate the friends on Google Maps. The Global Positioning System (GPS) is a space-based satellite navigation system that provides location and time information in all weather conditions, anywhere on or near the Earth where there is an unobstructed line of sight to four or more GPS satellites. The system provides critical capabilities to military, civil and commercial users around the world. It is maintained by the United States government and is freely accessible to anyone with a GPS receiver. This document will describe the working of the project Real Time GPS Buddy Tracker. We are going to make android application in which people can locate each other with a certain deadline. For which we use Google api in our application. It will locate the target with the given time period. There is real time scheduling in such a way that with some specific time intervals or deadline system will generate the response.
Keyword--- Global Positioning System (GPS), Google Maps, Location Based Services (LBS)

Introduction The idea of using the mobile handsets and phones is to deliver the valuable services except the basic communication that had been started in the early 1990s when Internet was added in Voice Telephony. Various GPS-based tracking systems have been successfully deployed and utilized in various applications such as fleet and vehicle location identification, and in route guidance. Recently, systems that integrate GPS and GSM technologies with Google earth to provide real-time data have also been proposed Global positioning systems and mobile phone networks make it possible to track individual users with an increasing accuracy.

The definitions below are needed as a basis for the subsequent sections where the architectural and operational features of the complete system are described. International Mobile Equipment Identity number is unique to every GSM (Global System for Mobile Communication) and UMTS (Universal Mobile Telecommunications System) mobile phone and for some satellite phones as well. It is basically, a unique 17 or 15 digit code that is used to identify the mobile station to the GSM or UMTS network. GSM network uses the IMEI number to identify the valid devices connected to the networks.
International Mobile Subscriber Identity number is a unique 15-digit code used to identify the mobile phone users on GSM or UMTS networks. The IMSI is stored in the SIM (Subscriber Identity Module) card. When connected to the network, the phone sends the IMSI to the network. The IMSInumber consists of parts namely, Mobile Country Code (MCC), Mobile Network Code (MNC) and Mobile Subscriber Identity Number (MSIN).Media Access Control address is a unique identifier assigned by the manufacturer to network interface cards (NICs) or network adapters, and it is known as the physical address. Real Time GPS Buddy Tracker made finding your loved ones a breeze. See when your relatives land at the Airport, look up with a friend with turn-by-turn directions and even track your employees in real- time.
Background GPS data, or Global Positioning System data, is a technology made possible by the US government. To support their military operations they placed several satellites in orbit to provide signals to devices that interpret and triangulate a position. The accuracy can be quite good.GPS has been used to pinpoint any ship or submarine on the ocean, and to measure Mount Everest. GPS receivers have been miniaturized to just a few integrated circuits, becoming very economical. Today, GPS is finding its way into cars, boats, planes, construction equipment, and movie making gear, farm machinery and even laptop computers. Real Time GPS Buddy Tracker is an android application that helps to locate your friends, family and office colleagues. Moreover, it is capable to trace the current locations of the desired personnel with the specified time intervals.

About Real Time Systems Real time computing means that after the event has occurred a system or application has to respond to that event with a certain deadline.
 Hard real-time systems (e.g., Avionic control).

 Firm real-time systems (e.g., Banking).
 Soft real-time systems (e.g., Video on demand).
Importance Real Time system
Real time system provides:
• Accuracy
• Reliability
• Speed
• Immediate Responses
• Compete with the market
• Time driven events
• Deadlines

About Android:
Google Android is described on its official website as follows: "The Android Platform is a software stack for mobile devices including an operating system and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language, a custom virtual machine designed for embedded use, which runs on top of a Linux kernel."

About GPS (Global Positioning System):
The Global Positioning System (GPS) is a satellite-based navigation system made up of a network of 24 satellites placed into orbit by the U.S. Department of Defense. GPS was originally intended for military applications, but in the 1980s, the government made the system available for civilian use. GPS works in any weather conditions, anywhere in the world, 24 hours a day. There are no subscription fees or setup charges to use GPS.

How it works: GPS satellites circle the earth twice a day in a very precise orbit and transmit signal information to earth. GPS receivers take this information and use triangulation to calculate the user's exact location. Essentially, the GPS receiver compares the time a signal was transmitted by a satellite with the time it was received. The time difference tells the GPS receiver how far away the satellite is. Now, with distance measurements from a few more satellites, the receiver can determine the user's position and display it on the unit's electronic map. A GPS receiver must be locked on to the signal of at least three satellites to calculate a 2D position (latitude and longitude) and track movement. With four or more satellites in view, the receiver can determine the user's 3D position (latitude, longitude and altitude). Once the user's position has been determined, the GPS unit can calculate other information, such as speed, bearing, track, trip distance, distance to destination, sunrise and sunset time and more.

Project Objective: The main objective of the project is to search friend‘s present location and to trace path on which device moves with certain deadlines.
About project:
Real Time GPS Buddy Tracker is an android based application, which will work with android 4.03 versions based mobile devices. Real Time GPS Buddy Tracker is a combination of two different applications; it does not only work as friend Tracker but it can trace your path while you are traveling in new place. It allow you to search your friend without their knowledge but it also take care of privacy of individual by prior connection building process in add friend activity

Development Method:
 Software development which can be delivered fast, quick adaptation to requirements and collecting feedback on required information. We used Agile Model as our development method. The agile software methods and development is practices based approach empowered with values, principles and practices which make the software development process easier and in faster time. Agile methods which encompass individual methods like Extreme programming, Feature Driven Development, Scrum, etc are more coming into the commercial and academic worlds. It is intended to be a collection of values, principles, and practices for model software that can be applied on a software development project in a more flexible manner than traditional model methods. Agile process Model is a supplement to other agile methodologies, in which agile process Model is used to describe how to approach model and documentation. Examples of other agile methodologies include Extreme Programming (XP), Disciplined Agile Delivery, and Scrum.
Agile development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. It is used for time critical applications. Extreme Programming (XP) is currently one of the most well known agile development life cycle model.
Agile thought process had started early in the software development and started becoming popular with time due to its flexibility and adaptability. The most popular agile methods include Rational Unified Process (1994), Scrum (1995), Crystal Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driven Development, and Dynamic Systems Development Method (DSDM) (1995). These are now collectively referred to as agile methodologies, after the Agile Manifesto was published in 2001. Following are the Agile Manifesto principles Individuals and interactions - in agile development, self-organization and motivation are important, as are interactions like co-location and pair programming.

Working software - Demo working software is considered the best means of communication with the customer to understand their requirement, instead of just depending on documentation. 

Customer collaboration - As the requirements cannot be gathered completely in the beginning of the project due to various factors, continuous customer interaction is very important to get proper product requirements. 

Responding to change - agile development is focused on quick responses to change and continuous development. The main purpose of selection this process models that its very realistic approach to software development promotes teamwork and cross training.
 Functionality can be developed rapidly and demonstrated.
 Resource requirement are minimum.
 Suitable for fixed or changing requirements.
 Delivers early partial working solutions.
 Good model for environments that change steadily.
 Minimal rules, documentation easily employed.
 Enables concurrent development and delivery within an overall planned context.
 Little or no planning required easy to manage as it gives flexibility to developers.

System Architecture:
 The architecture depicted in Figure 1 decomposes the system into various components that seamlessly interact providing a practical solution to the positioning problem. The system follows typical client/server architecture with the client (mobile) running an application specifically built for this project.

A. Server The server functions were implemented using PHP scripts. The server is the hardcore of the system. The main tasks of PHP server are: register users, update the database, retrieve user location, sends out user location information via SMS and post it online.

B. Application On the mobile side, the application developed and implemented for android OS. Android sdk 4.0.3 or above for the device that we will use, at the front end, using java programming language for developing the application using Eclipse IDE(4.3.1) tool and for interfacing with the user.

C. Database The server uses a MySQL database. MySQL is an open source relational database management system which uses Structured Query Language (SQL). MySQL was chosen because of its reliability, speed and flexibility. The server receives requests from the application program. The request can be either to register a new user, update user information, or locate an existing user. The server tokenizes the user requests, and issues the appropriate SQL statement to perform the required action.
More: Contact: kabircse115@gmail.com

Wednesday, August 20, 2014

Introduction to the Linux For Beginners

Linux For Beginners
Eng. Md. Kabir Hosen
Linux History: 

Every latest operating systems have their roots in 1969 when Dennis Ritchie and Ken Thompson developed the C language and the Unix operating system at AT&T Bell Labs. They shared their source code (yes, there was open source back in the Seventies) with the rest of the world, including the hippies in Berkeley California. By 1975, when AT&T started selling Unix commercially, about half of the source code was written by others. The hippies were not happy that a commercial company sold software that they had written; the resulting (legal) battle ended in there being two versions of Unix in the Seventies : the official AT&T Unix, and the free BSD Unix.

In the Eighties many companies started developing their own Unix: IBM created AIX, Sun SunOS (later Solaris), HP HP-UX and about a dozen other companies did the same. The result was a mess of Unix dialects and a dozen different ways to do the same thing. And here is the first real root of Linux, when Richard Stallman aimed to end this era of Unix separation and everybody re-inventing the wheel by starting the GNU project (GNU is Not Unix). His goal was to make an operating system that was freely available to everyone, and where everyone could work together (like in the Seventies). Many of the command line tools that you use today on Linux or Solaris are GNU tools.

The Nineties started with Linus Torvalds, a Swedish speaking Finnish student, buying a 386 computer and writing a brand new POSIX compliant kernel. He put the source code online, thinking it would never support anything but 386 hardware. Many people embraced the combination of this kernel with the GNU tools, and the rest, as they say, is history. Today more than 90 percent of supercomputers (including the complete top 10), more than half of all Smartphone’s, many millions of desktop computers, around 70 percent of all web servers, a large chunk of tablet computers, and several appliances (dvd-players, washing machines, dsl modems, routers, ...) run Linux. It is by far the most commonly used operating system in the world.

Linux kernel version 3.2 was released in January 2012. Its source code grew by almost two hundred thousand lines (compared to version 3.1) thanks to contributions of over 4000 developers paid by about 200 commercial companies including Red Hat, Intel, Broadcom, Texas Instruments, IBM, Novell, Qualcomm, Samsung, Nokia, Oracle, Google and even Microsoft.

http://en.wikipedia.org/wiki/Dennis_Ritchie
http://en.wikipedia.org/wiki/Richard_Stallman
http://en.wikipedia.org/wiki/Linus_Torvalds
http://kernel.org
http://lwn.net/Articles/472852/
http://www.linuxfoundation.org/
http://en.wikipedia.org/wiki/Linux
http://www.levenez.com/unix/ (a huge Unix history poster)