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. |
|
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 |
- Wolber David, Hal Abelson, Ellen Spertus, and Liz Looney, "App Inventor: Create Your Own Android Apps", O'Reilly Media, Inc., 2011.
- Morelli Ralph, Trishan de Lanerolle, Pauline Lake, Nina Limardo, Elizabeth Tamotsu, and ChinmaUche, "Can Android App Inventor Bring Computational Thinking to K–12", In Proc., 42nd ACM technical symposium on Computer science education (SIGCSE'11), 2011.
- R. Llamas, R Reith, M. Shiere, "Apple Cedes Market Share in Smartphone Operating System Market as Android Surges and Windows Phone Gains, According to IDC", 7th August 2013, IDC Press Release, http://www.idc.com/getdoc.jsp?containerId=prUS24257413.
- Delgado, A. R., Picking, R., & Grout, V. Remote–controlled home automation systems with different network technologies. Proceedings of the 6th International Network Conference (INC 2006), University of Plymouth, 11–14, pp. 357–366, July 2006
- Ciubotaru–Petrescu, B., Chiciudean, D., Cioarga, R., &Stanescu, D.,Wireless Solutions for Telemetry in Civil Equipment and Infrastructure Monitoring. 3rd Romanian–Hungarian Joint Symposium on Applied Computational Intelligence (SACI) May 25–26, 2006.
- Murthy, M. V. R., Mobile based primary health care system for rural India. W3C workshop on Role of Mobile Technologies in Fostering Social Development, Jun 2008
- Jawarkar, N. P., Ahmed, V., Ladhake, S. A. &Thakare, R. D., Micro–controller based Remote Monitoring using Mobile through Spoken Commands. Journal of Networks, 3(2), 58–63, 2008
- Malik, S. H. K., Aihab, K. and Erum, S., SMS Based Wireless Home Appliance Control System (HACS) for Automating Appliances and Security.Issues in Informing Science and Information Technology, 6, 887–894, 2009.
- Ahmad, B. I., Yakubu, F., Bagiwa, M. A and Abdullahi, U. I., Remote Home Management: An alternative for working at home while away. World of Computer Science and Information Technology Journal (WCSIT), 1, 4, 144–147, 2011.
- Mohamed Salman and JayavrindaVrindavanam, "Efficient Interactive Control System based on GSM", International Journal of Latest Trends in Engineering and Technology (IJLTET), Vol. 3 No. 2, pp. 50=56, November 2013
- Mahesh Jivani and Sharon Panth, "Home Automation through Bluetooth", Electronics For You, Vol. 2. Issue 7, pp. 99–104, ISSN 0013–5–16X, November 2013.
- Sharon Panth and Mahesh Jivani, "Designing Home Automation system (HAS) using Java ME for Mobile Phone", International Journal of Electronics and Computer Science Engineering (IJECSE), Vol. 2.No. 2, pp. 798–807, 2013.
- Sharon Panth and Mahesh Jivani, "Home Automation System (HAS) using Android for Mobile Phone", International Journal of Electronics and Computer Science Engineering (IJECSE), Vol. 3. No. 1, pp. 1–11, 2013
- Sharon Panth and Mahesh Jivani, "Device Control in an Ad–hoc Network Environment by using MoSync for Multiple Platform Mobile Application Development", International Journal of Computer Science & Engineering Technology (IJCSET), Vol. 4. No. 8, pp. 1145–1152, 2013.
- M. N. Jivani, Sharon Panth, "Home Appliance Control Ad–hoc Network System using App Inventor", International Journal of Emerging Technologies and Applications in Engineering, Technology and Sciences (IJ–ETA–ETS), ISSN: 0974–3588, pp.40–45, Vol. 1, Issue 7. 2014
- M. N. Jivani, Sharon Panth, "Wireless IEEE 802.11 based Device Control Ad–hoc Network using Responsive Web Design (RWD)", International Journal of Emerging Technologies and Applications in Engineering, Technology and Sciences (IJ–ETA–ETS), ISSN: 0974–3588, pp.67–72, Vol. 1, Issue 7. 2014
- Darlington Transistor Array, Texas Instruments, http://www.ti.com/lit/ds/symlink/uln2803a.pdf, last seen on March, 2014.
- GSM Modems, http://www.nowsms.com/doc/configuring–smsc–connections/gsm–modems
- Arduino IDE, http://arduino.cc/en/main/software
- ATMEGA328 microcontroller, http://www.atmel.com/Images/doc8161.pdf
- JW Tyler, "Google App Inventor: A short history", http://jwtyler.blogspot.in/, 2010
- Ellen Spertus and J. Dominguez, "App Inventor Developer Overview", 2014.http:// appinventor.mit.edu/appinventor–sources/
- Arduino Development Environment, http://arduino.cc/en/guide/Environment
- Using Atmel Studio for Arduino development, Megunolink.com. Retrieved 2013–01–18.
- Using AVR Studio for Arduino development, Engblaze.com. Retrieved 2013–01–18.
- Vineeth V, Design of duplexer using waveguide filters For GSM applications, International Journal of Engineering and Technical Research (IJETR), ISSN: 2321–0869, Volume–2, Issue–4, April 2014.
|