2017년 6월 17일 토요일

GSM Based Home Automation System Using App-Inventor for Android Mobile Phone


Mahesh N. Jivani
Associate Professor, Department of Electronics, Saurashtra University, Rajkot, Gujarat, India
Related article at PubmedScholar Google
Nowadays, the remote Home Automation turns out to be more and more significant and appealing. It improves the value of our lives by automating various electrical appliances or instruments. This paper describes GSM (Global System Messaging) based secured device control system using App Inventor for Android mobile phones. App Inventor is a latest visual programming platform for developing mobile applications for Android-based smart phones. The Android Mobile Phone Platform becomes more and more popular among software developers, because of its powerful capabilities and open architecture. It is a fantastic platform for the real world interface control, as it offers an ample of resources and already incorporates a lot of sensors. No need to write programming codes to develop apps in the App Inventor, instead it provides visual design interface as the way the apps looks and use blocks of interlocking components to control the app’s behaviour. The App Inventor aims to make programming enjoyable and accessible to novices.

Keywords

GSM, App Inventor, Home Automation, Android, Mobile Phone, Short Messaging Service (SMS)

INTRODUCTION

The App Inventor for Android is a new visual programming platform to create mobile applications (apps) for Androidbased smart phones [1]. It was developed at Google Labs by a team led by MIT’s Hal Abelson. It was released to the general public in July, after being available in alpha and beta versions to a group of invited developers. To develop apps in the App Inventor you do not need to write code. Instead of you have to design visual way of the app’s looks and use blocks of interlocking components to control the app’s behaviour. In this respect the App Inventor is comparable to Scratch (http://scratch.mit.edu) and Alice (http://www.alice.org). Like these languages, the App Inventor aims to make programming enjoyable and accessible to novices. It has gained the difference, and perhaps an important reason for the attention, is that the App Inventor lets you create apps for smart phones. As given the popularity and ubiquity of mobile phones among today’s young generation of students, the App Inventor seems to hold great potential for attracting a new generation of students to computing and computational thinking [2].
This paper presents GSM based Device Control System mobile application developed using the App Inventor for Android smart phones targeting its vast market which will be beneficial for the masses. According to the International Data Corporation (IDC) Worldwide Quarterly Mobile Phone Tracker, Android has maintained its leadership position on highest peak in global market share [3]. The Global System for Mobile Communication (GSM) network is almost everywhere.
The preface of the Global System for Mobile Communication (GSM) and mainly the use of cellular phones got the novelty of distance communication at remote location. Paper makes use of this ability for remote control of instruments and appliances; take a look at this example, a person on a drive within his car all of a sudden memorizes that he left the Cooler, ON actually it should be OFF. The usual circumstance is to drive back and switch OFF. But with the Android mobile phone in the hand equipped with GHAS (GSM Home Automation System) Application, one looks on how the same could be used to result control at any point, anywhere and time without worrying geographical locations.

RELATED WORK

There are many definitions of home automation available in the literature. The Paper [4] considers the problems with the implementation of home automation systems. Furthermore the possible solutions are devised through various network technologies. Several issues affecting home automation systems such as lack of robustness, compatibility issue and acceptability among the old and disabled people are discussed.
[5] Present a design and implementation of SMS based control for monitoring systems. The paper has three modules involving sensing unit for monitoring the complex applications. A microcontroller works as processing unit and a communication module that uses GPRS modem or cell phone via serial port RS-232. The SMS is used for status reporting such as power failure. The Paper [6] explores primary health-care management for the rural population. A solution proposes the use of the mobile web-technologies providing the PHC services to the rural population. The system involves the use of SMS and cell phone technology for information management, transactional exchange and personal communication. [7] Propose remote monitoring through mobile phone involving the use of spoken commands. The spoken commands are generated and sent in the form of text SMS to the control system and then the microcontroller on the basis of SMS takes a decision of a particular task. [8] Focuses on the controlling of home appliances remotely and providing security when the user is away from the place. The system is SMS based and uses wireless technology to revolutionize the standards of living. This system provides ideal solution to the problems faced by home owners in daily life. The system is wireless therefore more adaptable and cost-effective. The HACS system provides security against intrusion as well as automates various home appliances using SMS. The system uses GSM technology thus providing ubiquitous access to the system for security and automated appliance control. [9] Describes how to manage and control home appliances using mobile phone, people can use this system to do things in their home from a far place before they reach home. To control an appliance the user sends a command in form of SMS from his/her mobile phone to a computer which is connected to the appliance, once the message is received the computer will send the command to a microcontroller for controlling the appliance appropriately. [10] Propose the system uses Atmel AT89S52 as a central microcontroller and it allows remote control of different appliances through SMS messages.

SYSTEM ARCHITECTURE

The Bluetooth and Wi-Fi based Home Automation System (HAS) is developed using various mobile programming language and cross mobile platform like Windows [11], Java Me [12], Android [13], MoSync [14] App Inventor [15] and , web based using RWD technology [16] respectively during the course of research and now the GSM based Home Automation System Application program using Visual programming Language ‘App Inventor’ is exercised for Android based smart phones, and an 8 bit microcontroller based relay driver circuit with GSM Modem, which is able to communicate with the Home Appliances over GSM Network.
The system is based on serial data transmission using SMS over GSM Network in order to facilitate the appliances control in a global network environment. Present system ensures a secured exchange of data on GSM communication. A user interface (UI) on the Android enabled mobile phone offers system connection and control utilities. ULN 2803 relay driver [17] and Serial 900 type GSM Modem [18] from as well as Arduino IDE [19] for compiling C Language Code and burning HEX file into microcontroller was used for the development. An ATMEGA 328, 8 bit microcontroller [20] is used as an embedded relay controller.

DEVELOPMENT PLATFORMS

This section describes the technologies used for developing the Android based mobile phone application for Home Appliance Control in GSM Network environment which are: App Inventor, Arduino and GSM. Android is a platform developing and deploying android based applications on mobile devices supporting it. GSM has its own benchmark as a wireless communication technology for permanent and itinerant devices. Combining the power of SMS service, the best known and used wireless technology for mobile communication provide a facility to create Android based mobile applications using the GSM Wireless Technology.
A. App Inventor
The App Inventor allows Android Apps to be built and programmed highlighted colourful building blocks easy to understand. First user has to add interface elements to their application such as buttons, images and sounds. Then secondly, user has to add logic and actions with plain language instruction blocks that snaps together like a child’s building blocks [21].
The App Inventor for Android is an open-source web application firstly given by Google, and at the present sustained by the Massachusetts Institute of Technology (MIT). It permits beginner to create mobile application for the Android based smart phones without writing programming codes. The App Inventor provides a graphical user interface, which allows users to drag-and-drop visual objects to develop an application that can run on Android based smart phones. The application was made available through request on July 12, 2010, and released publicly on December 15, 2010. The App Inventor team was led by Hal Abelson and Mark Friedman. In the second half of 2011, Google released the source code, terminated its server, and provided funding for the creation of The MIT Center for Mobile Learning, led by App Inventor creator Hal Abelson and fellow MIT professors Eric Klopfer and Mitchel Resnick. The MIT version was launched in March 2012. On December 6, 2013, MIT released App Inventor 2, renaming the original version "App Inventor Classic".
MIT App Inventor is a rather large system divided in multiple projects, each of which relies on different open source technologies like: Google Web Toolkit (GWT), Google App Engine (GAE), Android, Scheme/Kawa and Blocky [22].
B. Arduino IDE
The open-source Arduino environment makes it easy to write code and upload it to the I/O board. It runs on Windows, Mac OS X, and Linux. The environment is written in Java and it is based on Processing, avr-gcc, and other open source software. The Arduino development environment contains a text editor for writing code, message area, text console, and toolbar with buttons for common functions, and a series of menus. It connects to the Arduino hardware to upload programs and communicate with them. Arduino programs are written in C or C++. Arduino IDE with features such as syntax highlighting, brace matching, and automatic indentation, and it is also capable of compiling and uploading programs to the Board with a single click [19].
Software written using Arduino are called sketches. These sketches are written in the text editor. Sketches are saved with the file extension ‘.ino.’ It has features for cutting/pasting and for searching/replacing text. The message area gives
feedback while saving and exporting and also displays errors. The console displays text output by the Arduino environment including complete error messages and other information. The bottom right-hand corner of the window displays the current board and serial port. The toolbar buttons allow you to verify and upload programs, create, open, and save sketches, and open the serial monitor [23]. As the Arduino platform uses Atmel microcontrollers, Atmel's development environment, AVR Studio or the newer Atmel Studio, may also be used to develop software for the Arduino[24][25].
C. 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. It is the de facto global standard for mobile communications with over 90% market share, and is available in over 219 countries and territories. The GSM standard was developed as a replacement for first generation (1G) analog cellular networks, and originally described a digital, circuit-switched network optimized for full duplex voice telephony. This was expanded over time to include data communications, first by circuit-switched transport, then packet data transport via GPRS (General Packet Radio Services) and EDGE (Enhanced Data rates for GSM Evolution or EGPRS). Subsequently, the 3GPP developed third generation (3G) UMTS standards followed by fourth generation (4G) LTE Advanced standards, which are not part of the ETSI GSM standard. [26]

HARDWARE

The GHAS Hardware works as client part and connected to GSM Modem and known as circuit for GHAS which is shown in Figure 3. It comprises of Arduino board with microcontroller ATMEGA328, GSM Modem, octal peripheral driver array ULN2803, Relay and a few discrete components. Here in this circuit, microcontroller ATMEGA328 is works as main programme switching unit which receives data from GSM Modem and transferred appropriate program data to ULN2803 for operating relay ON and OFF.
The Arduino is a tool for making computers that can sense and control more of the physical world than desktop computer. It's an open-source physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board. Arduino can be used to develop interactive objects, taking inputs from a variety of switches or sensors, and controlling a variety of lights, motors, and other physical outputs. Arduino projects can be stand-alone, or they can communicate with software running on computer. The boards can be assembled by hand or purchased preassembled; the open-source IDE can be downloaded for free. The Arduino programming language is an implementation of Wiring, a similar physical computing platform, which is based on the Processing multimedia programming environment. The Arduino UNO board contains ATMEGA 328 microcontroller. The Atmel ATMEGA 328 8 bit AVR RISC based microcontroller combines 32KB ISP flash memory with read-while-write capabilities, 1 KB EEPROM, 2 KB SRAM, 23 general purpose I/O lines, 32 general purpose working registers, three flexible timer/counters with compare modes, internal and external interrupts, serial programmable USART, a byte-oriented 2-wire serial interface, SPI serial port, 6-channel 10 bit A/D converter, programmable watchdog timer with internal oscillator, and five software selectable power saving modes. The ATMEGA328 operates between 1.8-5.5 volts [20].
A GSM modem is a specialized type of modem which accepts a SIM card, and operates over a subscription to a mobile operator, just like a mobile phone. From the mobile operator perspective, a GSM modem looks just like a mobile phone. When a GSM modem is connected to a computer, this allows the computer to use the GSM modem to communicate over the mobile network. While these GSM modems are most frequently used to provide mobile internet connectivity, many of them can also be used for sending and receiving SMS and MMS messages. A GSM modem can be a dedicated modem device with a serial, USB or Bluetooth connection, or it can be a mobile phone that provides GSM modem capabilities [18].

GHAS MOBILE APPLICATION

The GSM Home Automation System Application is developed using the App Inventor for mobile phones and tablets with Android support having the SMS connectivity option. The Android devices have almost covered a larger pie in the market, hence keeping in mind its popularity; this application can prove to be a boon for the users who are longing to make their house – an automated home. The Home appliances can be connected and controlled using this interactive application within their home environment easily. (Application is based on Grid view and it controls the ON/OFF using SMS connectivity. As the App Inventor is cloud based web application so, user needs to login to the App Inventor web site (http:// http://ai2.appinventor.mit.edu/) and start creating new project. While creating an AI application two different parts are developed; the screen objects (Designer) and the programming logics (blocks) shown in Figure 4 respectively.

Figure 4: DHAS Designer and Blocks screen 

A. Setting up App Inventor
User can set up the App Inventor and start building apps in minutes. The Designer and Blocks Editor now run completely in the browser (aka the cloud). To see app on a device while build it (also called "Live Testing"), user has to follow the steps below. There are three options for setting up live testing while one can build apps
a. To build apps with an Android device and Wi-Fi Connection
If you are using an Android device and you should have a wireless internet connection, you can start building apps without downloading any software to your computer. You will need to install the App Inventor Companion App for your device.
b. To test your apps with Emulator
If you do not have an Android device, you'll need to install software on your computer so that you can use the onscreen Android emulator shown in figure 5.
c. To build apps with an Android device and USB Connection
If you do not have a wireless internet connection, you'll need to install software on your computer so that you can connect to your Android device over USB.

FUNCTIONING OF GSM HOME AUTOMATION SYSTEM

The GHAS System has two user screens; first screen is ‘splash screen’ which contains information about the App and its developers as well password. Once user invokes the GHAS from the mobile menu, Splash Screen appears and after entering correct password Device Control Screen will appears on screen and it prompts to user to enter the mobile number of GSM Modem which is interfaced with device control circuitry. Once the mobile number is entered, all ‘Check box’ are available for selection. User can check the check box for making device ‘ON’ and ‘OFF’. The GHAS Application has the capability to exchange the ASCII data with the GHAS circuit through SMS facility of mobile phone when users check/uncheck appliance option as shown in Figure 5. The Android platform comprises of SMS stack. This allows device to exchange data in through SMS on GSM Network with other GSM devices.

MICROCONTROLLER ATMEGA328 PROGRAM

The program (GHAS.ino) for the microcontroller is written in C and compiled using Arduino IDE to generate hex code. The generated hex code is burnt into the microcontroller using same IDE. The program coding starts with ‘#include <reg51.h>’ header files. The microcontroller port pins are defined using ‘sbit’ function for interfacing with the surrounding peripherals.
By checking/un-checking appliances from menu of GHAS program which is developed using App Inventor for Android and installed on mobile device, transmits ASCII characters serially through SMS facility and on the receiving side microcontroller receives data through GSM modem on serial port of microcontroller ATMEGA328 in form of SMS. ‘SBUF register’ reads this ASCII characters as equivalent HEX value which is be ported to digital pins of ATMEGA328.
The GSM module is connected with the Arduino board using the serial communication port. Since the module has RS232 port and the Arduino pro-mini can communicate using TTL logic levels a max232 IC is used to make a bidirectional conversion between the RS232 and TTL logic levels. The Tx pin of the Arduino board is connected to the Rx pin of the GSM module through the max232 and the Rx pin of the Arduino is connected to the Tx pin of the GSM module using max232 itself.
The code written in the Arduino is able to communicate with the GSM module using AT commands. The AT commands are send or received from the module using the serial communication functions provided by the Arduino library. The functions like Serial.begin() which helps to initialize the serial port with a given baud rate, Serial.write() to send a data to the serial port, Serial.available() and Serial.read() functions to read data from the serial port are used. The GSM module used in this circuit is a SIM900 based module which can communicate with other devices using RS232 serial communication port. It works on 9V power supply.
GSM modules respond “OK” when it receives the command “AT” and it is the best way of check communication between the module and the microcontroller. For operating Relay1 in ON condition, one has to check ‘Light 1’ means ‘onA’ messaged through SMS to GSM Modem and microcontroller are going to receive equivalent value in HEX through serial read register which is “0x41” which makes ‘digital pin 2’ high and for making Relay1 in OFF condition simply unchecked ‘Light 1’ means ‘offA’
messaged through SMS to GSM Modem and microcontroller is going to receive equivalent value in HEX through serial read register which is “0x61” that makes ‘digital pin 2’ low. Same way you can make relay ON and OFF connected to digital pin no. 2 to 9 of ATMEGA328 microcontroller.

IMPLEMENTATION

Power up the Circuit and check status of blinking LED of GSM Modem for the availability of GSM network. If everything is done correctly you will be able to see stable LED and GSM Network. Figure 6 shows the real implementation of GHAS. Follow the steps listed below for operating devices on your mobile.
• Open the ‘GHAS’ application on your Android mobile phone.
• Enter correct password in password box of GHAS app.
• Device Control Screen will appear on your mobile screen.
• Start checking/unchecking option for particular device for making ‘ON/OFF’ from Grid Menu as shown in figure 6, you will see relay ON and OFF.

CONCLUSION

Design and implementation of the GSM Home Appliance System (GHAS) using the App Inventor for Android mobile phone has been discussed. The purpose of the GHAS is to use mobile phone’s inbuilt SMS facility and GSM Modem for automation of Home Appliances. Different hardware and software unit of the GHAS is described. The complete application software has been designed using App Inventor for Android and C Language. The GHAS application program is tested on various Android mobile phones which are quite satisfactory and responses received from the community in general are encouraging. The GHAS furnishes a good paradigm for any Automation System based on Android Mobile Phone and GSM.

References


























댓글 없음:

댓글 쓰기