Wireless Communication And Mobile Programming(170702N) Practical 1 Aim: Introduction to various Mobile Communication Technology. Mobile Computing A technology that allows transmission of data, via a computer, without having to be connected to a fixed physical link. Mobile communication is evolving day by day and has become a must have for everyone. Mobile communication is the exchange of voice and data using a communication infrastructure at the same time regardless of any physical link. Ever since the population has been increasing, it urges the need for communication. Human beings are constantly busy to build up the easiest and the quickest way to communicate. Bigger telephones continuously passes through the modification process till the first mobile phone introduced. This journey of mobile communication technology started from late nineties with the 1st generation mobile technology has now reached till 3rd generation totally changes the canvas of communication mode. Third generation of the mobile phones virtually shrink distant places of the earth into a global village. We can count on many mobile technologies available today such as 2G, 3G, 4G, WiMAX, Wibro,EDGE, GPRS and many others. CDMA: Code division multiple access (CDMA) is a channel access method used by variousradio communication technologies. CDMA is an example of multiple access, where several transmitters can send information simultaneously over a single communication channel. This allows several users to share a band of frequencies (see bandwidth). To permit this without undue interference between the users, CDMA employs spread-spectrum technology and a special coding scheme (where each transmitter is assigned a code). CDMA is used as the access method in many mobile phone standards such as cdmaOne,CDMA2000 (the 3G evolution of cdmaOne), and WCDMA (the 3G standard used by GSM carriers), which are often referred to as simply CDMA. USES · One of the early applications for code division multiplexing is in the Global Positioning System(GPS). This predates and is distinct from its use in mobile phones. · The Qualcomm standard IS-95, marketed as cdmaOne. The Qualcomm standard IS-2000, known as CDMA2000, is used by several mobile phone companies, including the Globalstar satellite phone network. VIMAT/B.E/C.E/SEM 7/120940107018 Page 1 Wireless Communication And Mobile Programming(170702N) · The UMTS 3G mobile phone standard, which uses W-CDMA. · CDMA has been used in the OmniTRACS satellite system for transportation logistics. GSM: GSM (Global System for Mobile Communications, originally Groupe Spécial Mobile), is a standard developed by the European Telecommunications Standards Institute (ETSI) to describe protocols for second-generation (2G) digital cellular networks used by mobile phones, first deployed in Finland in July 1992. 2G networks developed as a replacement for first generation (1G) analog cellular networks, and the GSM standard originally described a digital, circuit-switched network optimized for full duplex voicetelephony. This expanded over time to include data communications, first by circuitswitched transport, then by packet data transport via GPRS (General Packet Radio Services) and EDGE(Enhanced Data rates for GSM Evolution or EGPRS). [ GPRS: General packet radio service (GPRS) is a packet oriented mobile data service on the2G and 3G cellular communication system's global system for mobile communications(GSM). GPRS was originally standardized by European Telecommunications Standards Institute (ETSI) in response to the earlier CDPD and i-mode packet-switched cellular technologies. It is now maintained by the 3rd Generation Partnership Project (3GPP).[1][2] GPRS usage is typically charged based on volume of data transferred, contrasting with circuit switched data, which is usually billed per minute of connection time. Usage above the bundle cap is either charged per megabyte or disallowed. The GPRS core network allows 2G, 3G and WCDMA mobile networks to transmit IP packets to external networks such as the Internet. The GPRS system is an integrated part of the GSM network switching subsystem. Services offered: · GPRS extends the GSM Packet circuit switched data capabilities and makes the following services possible: · SMS messaging and broadcasting · "Always on" internet access · Multimedia messaging service (MMS) · Push to talk over cellular (PoC) · Instant messaging and presence—wireless village · Internet applications for smart devices through wireless application protocol (WAP) VIMAT/B.E/C.E/SEM 7/120940107018 Page 2 Wireless Communication And Mobile Programming(170702N) · Point-to-point (P2P) service: inter-networking with the Internet (IP) · Point-to-Multipoint (P2M) service[citation needed]: point-to-multipoint multicast and pointto-multipoint group calls If SMS over GPRS is used, an SMS transmission speed of about 30 SMS messages per minute may be achieved. This is much faster than using the ordinary SMS over GSM, whose SMS transmission speed is about 6 to 10 SMS messages per minute Enhanced Data rates for GSM Evolution (EDGE): (also known as Enhanced GPRS(EGPRS), or IMT Single Carrier (IMT-SC), or Enhanced Data rates for Global Evolution) is a digitalmobile phone technology that allows improved data transmission rates as a backwardcompatible extension of GSM. EDGE is considered a pre-3G radio technology and is part of ITU's3G definition. EDGE was deployed on GSM networks beginning in 2003 – initially by Cingular (nowAT&T) in the United States. EDGE is standardized also by 3GPP as part of the GSM family. A variant, so called CompactEDGE, was developed for use in a portion of Digital AMPS network spectrum. Through the introduction of sophisticated methods of coding and transmitting data, EDGE delivers higher bit-rates per radio channel, resulting in a threefold increase in capacity and performance compared with an ordinary GSM/GPRS connection. EDGE can be used for any packet switched application, such as an Internet connection. Evolved EDGE continues in Release 7 of the 3GPP standard providing reduced latency and more than doubled performance e.g. to complement High-Speed Packet Access (HSPA). Peak bit-rates of up to 1 Mbit/s and typical bit-rates of 400 kbit/s can be expected. 2G: 2G (or 2-G) is short for second-generation wireless telephone technology. Second generation 2G cellular telecom networks were commercially launched on the GSM standard in Finland by Radiolinja(now part of Elisa Oyj) in 1991. Three primary benefits of 2G networks over their predecessors were that phone conversations were digitally encrypted; 2G systems were significantly more efficient on the spectrum allowing for far greater mobile phone penetration levels; and 2G introduced data services for mobile, starting with SMS text messages. 2G technologies enabled the various mobile phone networks to provide the services such as text messages, picture messages and MMS (multi media messages). All text messages sent over 2G are digitally encrypted, allowing for the transfer of data in such a way that only the intended receiver can receive and read it. After 2G was launched, the previous mobile telephone systems were retrospectively dubbed 1G. While radio signals on 1G networks are analog, radio signals on 2G networks are digital. Both VIMAT/B.E/C.E/SEM 7/120940107018 Page 3 Wireless Communication And Mobile Programming(170702N) systems use digital signaling to connect the radio towers (which listen to the handsets) to the rest of the telephone system. 3G: 3G, short form of third generation, is the third generation of mobile telecommunications technology. This is based on a set of standards used for mobile devices and mobile telecommunications use services and networks that comply with the International Mobile Telecommunications-2000 specifications by the International Telecommunication Union. 3G finds application in wireless voice telephony, mobile Internet access, fixed wireless Internet access, video calls and mobile TV. 3G telecommunication networks support services that provide an information transfer rate of at least 200 kbit/s. Later 3G releases, often denoted 3.5G and 3.75G, also provide mobile broadband access of several Mbit/s to smartphones and mobile modems in laptop computers. This ensures it can be applied to wireless voice telephony, mobile Internet access, fixed wireless Internet access, video calls and mobile TV technologies. A new generation of cellular standards has appeared approximately every tenth year since 1G systems were introduced in 1981/1982. Each generation is characterized by new frequency bands, higher data rates and non–backward-compatible transmission technology. The first 3G networks were introduced in 1998. 4G: 4G, short for fourth generation, is the fourth generation of mobile telecommunications technology, succeeding 3G and preceding 5G. A 4G system, in addition to the usual voice and other services of 3G, provides mobile broadband Internet access, for example to laptops with wireless modems, to smartphones, and to other mobile devices. Potential and current applications include amended mobile web access, IP telephony, gaming services, highdefinition mobile TV, video conferencing, 3D television, and cloud computing. Two 4G candidate systems are commercially deployed: the Mobile WiMAX standard (first used in South Korea in 2007), and the first-release Long Term Evolution (LTE) standard (in Oslo, Norway and Stockholm, Sweden since 2009). It has however been debated if these first-release versions should be considered to be 4G or not, as discussed in the technical definition section below. In the United States, Sprint (previously Clearwire) has deployed Mobile WiMAX networks since 2008, while MetroPCS became the first operator to offer LTE service in 2010. USB wireless modems were among the first devices able to access these networks, with WiMAX smartphones VIMAT/B.E/C.E/SEM 7/120940107018 Page 4 Wireless Communication And Mobile Programming(170702N) becoming available during 2010, and LTE smartphones arriving in 2011. 3G and 4G equipment made for other continents are not always compatible, because of different frequency bands. WiMax: WiMAX (Worldwide Interoperability for Microwave Access) is a wireless communications standard designed to provide 30 to 40 megabit-per-second data rates, with the 2011 update providing up to 1 Gbit/s[1] for fixed stations. The name "WiMAX" was created by the WiMAX Forum, which was formed in June 2001 to promote conformity and interoperability of the standard. The forum describes WiMAX as "a standards-based technology enabling the delivery of last mile wireless broadband access as an alternative to cable and DSL". WiBro: WiBro (Wireless Broadband) is a wireless broadband Internet technology developed by the South Korean telecoms industry. WiBro is the South Korean service name for IEEE 802.16e (mobile WiMAX) international standard. By the end of 2012, the Korean Communications Commission intends to increase WiBro broadband connection speeds to 10Mbit/s, around ten times the current speed, which will complement their 1Gbit/sec fibre-optic network. WiBro adopts TDD for duplexing, OFDMA for multiple access and 8.75/10.00 MHz as a channel bandwidth. WiBro was devised to overcome the data rate limitation of mobile phones (for example CDMA 1x) and to add mobility to broadband Internet access (for example ADSL or Wireless LAN). In February 2002, the Korean government allocated 100 MHz of electromagnetic spectrum in the 2.3–2.4 GHz band, and in late 2004 WiBro Phase 1 was standardized by the TTA of as IEEE 802.16e (mobile WiMAX). Korea Two and South in Korean late 2005 ITU reflected Telcom (KT, SKT) WiBro launched commercial service in June 2006, and the tariff is around US$30. WiBro base stations offer an aggregate data throughput of 30 to 50 Mbit/s per carrier and cover a radius of 1–5 km allowing for the use of portable internet usage. In detail, it provides mobility for moving devices up to 120 km/h (74.5 mi/h) compared to Wireless LAN having mobility up to walking speed and mobile phone technologies having mobility up to 250 km/h. From testing during the APEC Summit in Busan in late 2005, the actual range and bandwidth were quite a bit lower than these numbers. The technology will also offer Quality of Service. The inclusion of QoS allows for WiBro to stream video content and other loss-sensitive data in a reliable manner. These all appear to be (and may be) the stronger advantages over the fixed WiMAX standard (802.16a). Some Telcos in many countries were trying to commercialize this Mobile WiMAX (or WiBro). VIMAT/B.E/C.E/SEM 7/120940107018 Page 5 Wireless Communication And Mobile Programming(170702N) Practical-2 Aim: Case Study for - “Android OS” Android is an open source and Linux-based Operating System for mobile devices such as smartphones and tablet computers. Android was developed by the Open Handset Alliance, led by Google, and other companies. Android offers a unified approach to application development for mobile devices which means developers need only develop for Android, and their applications should be able to run on different devices powered by Android. The first beta version of the Android Software Development Kit (SDK) was released by Google in 2007 where as the first commercial version, Android 1.0, was released in September 2008. On June 27, 2012, at the Google I/O conference, Google announced the next Android version, 4.1 Jelly Bean. Jelly Bean is an incremental update, with the primary aim of improving the user interface, both in terms of functionality and performance. The source code for Android is available under free and open source software licenses. Google publishes most of the code under the Apache License version 2.0 and the rest, Linux kernel changes, under the GNU General Public License version 2. Why Android ? VIMAT/B.E/C.E/SEM 7/120940107018 Page 6 Wireless Communication And Mobile Programming(170702N) History of Android The code names of android ranges from A to L currently, such as Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch, Jelly Bean, KitKat and Lollipop. Let's understand the android history in a sequence: •2001: Search service for wireless device •2005 –Acquire Android (Andy Rubin: Danger CEO, Development Sidekick of T-Mobile) –Acquire Skia (2D Graphics for mobile device) –Acquire RegWireless (Browser and Email for mobile device) –Move Engineers from PlamSource (Dianne Hackborn, etc…) •2007 Nov 5: Android announced •2007 Nov 12: Android SDK released by OHA •2007 Dec 14: Bug-fix SDK released •2008 Jan 3: Android Developer Challenge I starts accepting submissions •2008 Feb 13: m5-rc15 SDK released •2008 Apr 14: 1788 total submissions for Challenge I •2008 May 12: Top 50 Applications in Challenge I announced •2008 Nov: Android Phone(G1 Phone by HTC/T-mobile) •2008 Nov: Full Source Open •2009 Apr: HTC Magic •2009 July: HTC Hero, Samsung i7500, Android Netbook, Set-top…… •2009 Aug: Android Developer Challenge II Features of Android Android is a powerful operating system competing with Apple 4GS and supports great features. Few of them are listed below: VIMAT/B.E/C.E/SEM 7/120940107018 Page 7 Wireless Communication And Mobile Programming(170702N) Feature Description Beautiful UI Android OS basic screen provides a beautiful and intuitive user interface. Connectivity GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX. Storage SQLite, a lightweight relational database, is used for data storage purposes. Media support H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP Messaging SMS and MMS Web browser Based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine supporting HTML5 and CSS3. Multi-touch Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. Multi-tasking User can jump from one task to another and same time various application can run simultaneously. Resizable widgets Widgets are resizable, so users can expand them to show more content or shrink them to save space Multi-Language Supports single direction and bi-directional text. GCM Google Cloud Messaging (GCM) is a service that lets developers send short message data to their users on Android devices, without needing a proprietary sync solution. Wi-Fi Direct A technology that lets apps discover and pair directly, over a high bandwidth peer-to-peer connection. VIMAT/B.E/C.E/SEM 7/120940107018 Page 8 Wireless Communication And Mobile Programming(170702N) Android Beam A popular NFC-based technology that lets users instantly share, just by touching two NFC-enabled phones together. ARCHITECTURE OF ANDROID : Android operating system comprise of different software components arranges in stack. Different components of android operating system are – 1. Linux kernel 2. Libraries 3. Android Run time 4. Application Framework 5. Applications Linux kernel 1. Bottom layer of android operating system is Linux kernel. 2. Android is built on top of Linux 2.6 Kernel and few architectural changes made by Google. VIMAT/B.E/C.E/SEM 7/120940107018 Page 9 Wireless Communication And Mobile Programming(170702N) 3. Linux Kernel provides the basic system functionality such as process management, memory management and device management 4. Linux kernel also provides array of d``evice drivers which make our task easier while interfacing the android with peripheral devices. Libraries 1. On the top of Linux Kernel another layer called libraries is present. 2. It provides the different libraries useful for well functioning of android operating system. 3. Libraries are java libraries build specific for android operating system. Some of the libraries are listed below – Libraries Explanation SQLite It is used to access data published by content providers and includes SQLite database management classes SSL It is used to provide internet security OpenGL It is used to provide Java interface to the OpenGL/ES 3D graphics rendering API. Media framework It is used to provides different media codecs which allow the recording and playback of different media formats WebKit It is the browser engine used to display internet content or HTML content Android Runtime 1. It is third component of the android architecture and placed in second layer from bottom 2. It provides most important part of android called Dalvik Virtual Machine. 3. Dalvik Virtual Machine is similar to JVM but only difference is that it is designed and optimized for Android. 4. Dalvik Virtual machine uses core functions of Linux such as memory management and multithreading and enables each android app to run its own process. VIMAT/B.E/C.E/SEM 7/120940107018 Page 10 Wireless Communication And Mobile Programming(170702N) Application framework 1. It is 2nd topmost component in android operating system stack 2. Android applications directly interacts with application framework. 3. Application framework manages the basic functions of android device such as resource management, voice call management etc What is API level? API Level is an integer value that uniquely identifies the framework API revision offered by a version of the Android platform. Android Applications Android applications are usually developed in the Java language using the Android Software Development Kit. Once developed, Android applications can be packaged easily and sold out either through a store such as Google Play, SlideME, Opera Mobile Store, Mobango, F-droid and the Amazon Appstore. Android powers hundreds of millions of mobile devices in more than 190 countries around the world. It's the largest installed base of any mobile platform and growing fast. Every day more than 1 million new Android devices are activated worldwide. This tutorial has been written with an aim to teach you how to develop and package Android application. We will start from environment setup for Android application programming and then drill down to look into various aspects of Android applications. VIMAT/B.E/C.E/SEM 7/120940107018 Page 11 Wireless Communication And Mobile Programming(170702N) PRACTICAL 3 Aim: Installation and configuration of Android Programming environment · · · Android application development on either of the following operating systems − Microsoft Windows XP or later version. Mac OS X 10.5.8 or later version with Intel chip. Linux including GNU C Library 2.7 or later. · · · · · · Following is the list of software's you will need before you start your Android application programming. Java JDK5 or later version Android SDK Java Runtime Environment (JRE) 6 Android Studio Eclipse IDE for Java Developers (optional) Android Development Tools (ADT) Eclipse Plug-in (optional) Ø What is Android SDK ? The Android SDK includes a complete set of development tools. It includes a debugger, libraries, a handset emulator. Software written in Java can be compiled to be executed in the Dalvik virtual machine, which is a specialized VM implementation designed for mobile device use. Ø Required Software to Install Android ? 1. JDK6 Version 2. Android SDK for Windows (if you have Windows OS) 3. Eclipse IDE Ø Installing JDK6 (Java Development Kit) The latest version of jdk is 6, at the time of writing my java tutorial. We can download thejdk from: http://www.oracle.com/technetwork/java/javase/downloads/index.html Step 1. Once we download the exe file we can now install it. Just follow what i mentioned below: To install the jdk, double click on the downloaded exe file (jdk-6u1-windows-i586-p.exe) Double Click the icon of downloaded exe from the downloaded location. Step 2: Now a "License Agreement" window opens. Just read the agreement and click "Accept"button to accept and go further. VIMAT/B.E/C.E/SEM 7/120940107018 Page 12 Wireless Communication And Mobile Programming(170702N) Step 3: Now a "Custom Setup" window opens. Step 4: Click on "Change" button to choose the installation directory. Here it is "C:\Program Files\ Java\jdk1.6.0_01". Now click on "OK" button Clicking the "OK" button starts the installation Step 5: Next window asks to install Runtime Environment. Click the "Change" button to choose the installation directory of Runtime Environment. We prefer not to change it. So click "OK" button Step 6: Click "OK" button starts the installation. Step 7: Now "Complete" window appears indicating that installation of jdk 1.6 has completed successfully. Click "Finish" button to exit from the installation process Step 8: The above installation will create two folders "jdk1.6.0_01" and "jre1.6.0_01" in "C:\ Program Files\ java" folder. Installing Android SDK Tools &API ? Step-1) Download Android SDK from http://developer.android.com/sdk/index.html, Step-2) Double click on SDK Installer.exe file to install Step-3) Ensure Destination Folder, and click on Next button Click on Install Button Step-4)Installing Android SDK tools and Android API Levels. Ensure the following installed Android SDK location in file system, and click on SDK manager from the android-sdk directory. Step-5) This step is very important , from the following Window, select tools, API Levels like API15, API 10, ..etc , and also select Extras-> Google USB Driver package for USB Connections with real device. Installing Eclipse & Configuring Android Plugin for Eclipse : Configuring Android Tools for Eclipse Step-1) Download eclipse software from www.eclipse.org\downloadslocation. VIMAT/B.E/C.E/SEM 7/120940107018 Page 13 Wireless Communication And Mobile Programming(170702N) Step-2) Confirm the downloaded .zip file location, and decompress using either winzip (or) winrar software Configuring the ADT Plugin for Eclipse : After we've installed ADT and restarted Eclipse, we must specify the location of our Android SDK directory: 1. Select Window>Preferences... to open the Preferences panel (on Windows OS X, select Eclipse>Preferences). 2. Select Android from the left panel. You may see a dialog asking whether you want to send usage statistics to Google. If so, make your choice and click Proceed. 3. For the SDK Location in the main panel, click Browse... and locate your downloaded Android SDK directory (such as android-sdk-windows). 4. Click Apply, thenOK. Ø What is AVD ? How to Configure AVD? AVD, stands Android Virtual Device, AVD’s are used to start emulator. When we launch the emulator, we should specify the AVD configuration that we want to load. Before Configuring AVD, first confirm SDK tools and API levels are installed or not Then select AVD Manager from Window -> AVD Manager. What is Emulator ? How to Start ? The emulator lets you prototype, develop and test Android applications without using a physical device. To use the emulator, first we must create AVD configuration, Remember, If project is used with Android API15 level , then we should use AVD API level also 15. Every Emulator needs one AVD support, because the AVD configuration provides both software and hardware support for Emulator, like it can use the services of the Android platform to invoke other applications, access the network, play audio and video, store and retrieve data, notify the user, and render graphical transitions and themes. The emulator also includes a variety of debug capabilities. VIMAT/B.E/C.E/SEM 7/120940107018 Page 14 Wireless Communication And Mobile Programming(170702N) The emulator provides dynamic binary translation of device machine code to the OS and processor architecture of your development machine. The Android emulator contains all of the hardware and software features of a real mobile device, except that it cannot place actual phone calls, can’t carry. Emulator provides a screen like as real device to display output of our testing application, using this we can easily test our applications. VIMAT/B.E/C.E/SEM 7/120940107018 Page 15