Asian Journal of Information Technology

Year: 2010
Volume: 9
Issue: 3
Page No. 117 - 122

Flexible Man to Machine System for Remote Access Applications

Authors : Alauddin Y. Al- Omary

Abstract: This study presents a reliable and low cost PC based Man to Machine (M2M) communication system developed to control remote devises using the most available and used Medias, the internet, SMS and telephone line. The use of these three Medias in one system is a feature that is lacked by many systems. A prototype of the system is implemented by integrating and tuning hardware and software parts. The prototype is used to control remote devices of hypothetical home. The hardware is implemented using off the shelf components and the supporting software is developed using VB.net technology. The proposed M2M system, collect the status of all controlled devices through a hardware circuit connected to the PC parallel port and store these information in database. The user, depending on the selected communication method (Internet or SMS or telephone line) can retrieve the collected data from the database through the selected communication media and can control the remote devices accordingly. The system was tested and proved to be reliable, efficient and flexible and have low cost as compared with other available systems used to control remote devices.

How to cite this article:

Alauddin Y. Al- Omary , 2010. Flexible Man to Machine System for Remote Access Applications. Asian Journal of Information Technology, 9: 117-122.

INTRODUCTION

Man to Machine (M2M): M2M abbreviation is not very strictly defined (Martsola, 2004). Normally it refers to Man to Machine, Machine to Machine or Mobile to Machine communication. In this study, focus will be on the first i.e., Man to Machine communication where the human takes a more active part in an interactive application. M2M applications have been in existence for the past many years (Martsola, 2004; Roy and Chatterjee, 2006) and it is defined differently in different literatures and contexts. A broader definition of M2M communication includes the remote control of machines (telematics) and monitoring/collecting data from machines (telemetry).

M2M is the ability of the machines or devices to exchange information with people or with other machines. Regardless of the type of machine or data, information is conveyed in the same general way from man or machine to a network and then through a gateway to another machine. M2M communications will connect and enable an array of equipment from mainframes to everyday products (e.g., home appliances, vehicles, buildings) and unleash new levels of smart services and commerce.

There are many different choices to implement M2M applications. These choices depend on how machines are connected to each other what type of communication being used and how data is used. There are four resembling basis stages for any M2M application:

Collecting data
Transmitting collected data through a communication network
Receiving data
Processing data

The new communication media such as the Internet, mobile networks and traditional telephone network are widely available. These media can be used in M2M communication. Each type of media has its own characteristics in term of availability, flexibility and cost. In order to make an efficient system it is necessary to support many types of media in controlling a remote device.

Significant works: Much research works had been done in the area of M2M communication and controlling remote devices (Martsola, 2004). Most of these research (Nirvis System Inc., 1999; Roychowdhury and Moyer, 2005; Armac and Kirchhof, 2006) were done using one media such as the Internet or mobile networks. Electronics production companies had developed products that can remotely control home appliances. Markets now are filled with different types of such products. They categorized into two types, comput based systems and stand alone systems. Although, a wide variety of features are available in these products, the cost and flexibility is still a major issue. Also most of these devices use the internet as the only medium to control the remote devices (Kirchhof et al., 2004; Greaves, 2002; Aurell, 2005; Kirchhof and Linz, 2005; Delgado et al., 2006).

Thought and plan in the approach: This study describes a Man to Machine (M2M) system where man can remotely communicate with different devices by sending a command through Internet, SMS and by phone call. The remote device will respond to the commands and change its status accordingly. The proposed system is an affordable, reliable, flexible and low cost computer based system. The system is windows based and study with the help of VB.net technology (Bill and Jason, 2005). No costly hardware or software is involved in the system. The flexibility of the system comes from using three different available and widely used communication Medias, a feature that is not found in other systems.

Remote controlling issues: Roychowdhury and Moyer (2005) identify four primary reasons that network enabling of devices has not yet happened to any larger extent with the current technology:

Interoperability
Scalability
Security
Limited services

Interoperability refers to the capability of devices of different types and from different manufacturers to communicate and cooperate. This is related to usability, since it is essential that a user does not have to be concerned with details of which protocols are used or similar technical details. Scalability refers primarily to scalability in terms of geographical distance and location independence. In the context of offering remote access as a service, scalability in terms of capacity would also be an issue. Roychowdhury and Moyer (2005) suggest that the issue of Limited Services is due to bandwidth limitations of the past which made a lot more concentration go into optimization rather than feature provisions. Security is probably the most important issue, since it has implications for safety: human lives are of concern here. By breaking into a home network, it becomes possible to control every appliance that was connected to produce disastrous results.

Home automation issues: Home Automation System (HAS) (Delgado et al., 2006) are becoming popular recently. HAS technology is becoming more and more available, affordable and interesting to the wider public (Martsola, 2004). Home automation is now becoming an important factor of utility, convenience and usability in modern houses. These factors are added to the already substantial possibilities of entertainment and security created by home automation. The next important step to leverage this technology is to expand and improve the ways of accessing and using it. A vital part of this is to enable remote access and location independence. Network that enable home appliances in not a new field. For a few years now, various companies and bodies have come out with a multitude of technologies which enable Networked Appliances (NA) to talk to each other. The simplest of the lot is X.10 which allows any user to control his home devices using an X.10 controller which can send electric pulses and put on/put off or change voltage level of certain appliances in and around the house. Then came more complicated and feature rich protocols like Jini (Martsola, 2004), UPnP (Roy and Chatterjee, 2006), HAVi (Roychowdhury and Moyer, 2005) and other such protocols which added a lot more of capabilities for appliance communication. These existing protocols are mainly designed to study in a single home environment (i.e., local area network) and do not scale for Internet wide communications and are lacking in the necessary security mechanisms. Home appliance interworking has most been restricted to research labs and limited customer deployment.

Prototype: In this study, a prototype M2M system that communicates with remote devices in a hypothetical home is implemented. Throughout the study to this prototype will refer to as the e-home system. The prototype is designed to control 9 different devices in a single storey house. The house consists of 4 rooms, kitchen, garage and small garden. The types of communication with remote controlling devices include:

Control (e.g., Turn on the light)
Query (e.g., Is the AC On?)
Event notification (e.g., tell me when my fire alarm or burglary alarm goes on)
Multimedia session (e.g., view the garage Webcam)

REMOTE SYSTEM CATEGORIES

Remote systems can be divided into three general categories based upon their need for a PC: PC-based systems, standalone system and hybrid system.

PC-based system: A PC-based system is one that requires a PC to be running at all times. There are two types of PC based systems, distinguished by whether the PC is used for other purposes besides remote system control: Dedicated PC where the computer is used only for controlling remote devices and no other programs are run.

In shared PC in addition to running the automation software, the computer is used for other purposes. There are a wide variety of features available in today's PC based systems. While there are some features of PC based systems that are impossible on standalone systems many are easier and more common on PC-based systems.

Examples are: Voice recognition, Internet access (stock quotes, weather data, sports scores, news, etc.), E-mail capabilities and telephone/voice mail processing, PC based control screens accessing other PC programs, Software customization.

Standalone systems: A standalone system is one that operates without a PC (although, a PC may be required to initially program it). Here a special control board is designed to control the home equipments.

Hybrid systems: A hybrid system is one where a standalone system is used in conjunction with PC-based software. Usually, the standalone piece performs most of the basic home automation functions and will operate even when the PC is off. The PC software is used to add capabilities that don't exist in the standalone equipment. Such systems combine the capabilities of the other systems usually giving the maximum overall performance.

SYSTEM COMPONENTS

The proposed system is a PC-based system. It consists of a hardware and software parts. All remote devices will be connected to the PC through an interfacing circuit designed to monitor and control these devices. The interfacing circuit is connected to the PC through the parallel port. The hardware design is done to insure that it will be compatible with the different software applications used. The software design supports three different applications: Telephone panel, SMS panel and website which will study together to achieve the desired reliability.

The interfacing hardware: The interfacing circuit is designed to handle commands that could be sent from the parallel port (Aurell, 2005). The commands will choose a specific home appliance then controlling it accordingly. From the 25 pins in the parallel port, the data pins (2-9) are used to send the required commend to the circuit. The interfacing hardware consists from differentcircuits that perform different task. Figure 1 shows the block diagram of the interfacing hardware.

The decoding circuit: The decoding circuit receives the signal from 5 of the 8 data pins of the parallel port (D2, D3, D4, D5, D6). These data bit are used as an address to specify each device. One of the parallel port's Data pins (D7) is used as a switch-enable (1-on, 0-off). The other 2 data pins (D8, D9) are used to send signals to a specific device as shown in Table 1. Since 5 of the parallel port's data pins are used as an input to the decoder circuit, the circuit will be able to decode and control up to 32 devices depending on the used decoder.

Switching circuit: The switching circuit consists of two main components, Optoisolator (optical coupler), Traic and three load resistance to regulate the device conditions according to Table 1. The input of the switching circuit is taken from the decoding circuit outputs which has a separate output for each controlled device.

Feedback circuit: It is used to get information about the status of the devices. It takes input from the devices and feed it back to the parallel port. This information can be accessed by the user remotely and then change the status accordingly.

Sensor circuit: It is used to get the analog signal information (such as house temperature) from sensors and convert it to digital signal then send it to the computer via parallel port in order to display it to the user.

Implementation domain: For prototyping purpose, the decoding circuit, switching circuit, feed back circuit and sensor circuits are implemented using on-shelf integrated IC and the cost was very low. However for mass production of the system theses circuit can be integrated using ASIC technology.


Fig. 1: The interfacing hardware

Table 1: The decoding circuit control bit status

Fig. 2: The database files

Software design: In order to control the devices using different means, special software interfaces has been designed for controlling the e-home using the Internet, SMS and telephone line.

Software requirements
Shared database: To insure the association between the different means of controlling, the three software interfaces will study concurrently with a shared database. The database shown in Fig. 2 used to record the current status of the devices. Therefore, the three interfaces will update the database whenever any command sent from any of one them. Accordingly any action done from one of these interfaces will be known by the other two interfaces.

Anyhow this database could be modified to be able to support more or less devices depending on the number of devices that need to be involved in the system.

Telephone interface: Telephone is one way used to communicate with the designed hardware circuits. In order to connect a PC running windows a programming interface should allow the computer to access the telephone connection and this is what TAPI exactly do.

TAPI is short for Telephony Application Programming Interface, developed by Microsoft and Intel (http://www.speech.es.cmu). It is a set of files and specifications for using telephony services under Windows environments. TAPI defines standards for simple call control and for manipulating call contents. It support both speech and data transmission. In addition, it allows all kinds of telephone usage from the simple telephone call to the international email to be developed within applications developed for Microsoft Windows.

Modem tools: As mentioned earlier, the interface program will be directly in contact with the modem. Through the modem tools, this interface will be able to use the TAPI standards to customize the modem features. Modem Tools is an ActiveX package developed by Netpoint Company. It contains two OCX components Modem Phone and Modem Wave. Modem Phone OCX allows any TAPI compliant voice modem to be used to answer or make voice calls. It abstracts TAPI to a straight forward telephone object that can be easily controlled by the interface program. Modem Phone has the ability to: detect incoming ringing, answer incoming voice calls support caller ID, perform remote key DTMF detection and control the speaker phone functions and modem volume.

Modem Wave OCX uses low level API’s with multiple buffers and allows the playing and recording of wave files to the telephone line, continuously streaming audio wave data to and from the hard drive and it is designed for the shortest delay possible on the start of wave playing and recording. There is no restriction to the record/playback time other than hard disk space.

ActiveXperts SMS and pager toolkit: SMS and Pager Toolkit is an ActiveX/COM component. It provides SMS and Pager messaging functionality. With this toolkit, SMS messages can be sent and received via a:

GSM modem
GSM phone
SMPP compliant SMSC provider
Hayes compatible modem

SMS and Pager toolkit features the following:

Send alphanumeric text SMS messages
Receive SMS messages
Support for GSM modems and GSM phones to send and receive SMS messages
Support Windows Phone and Modem devices and direct COM ports

Net compact frame work: The .NET Compact Framework is a hardware independent environment for running programs on resource-constrained computing devices, encompassing Personal Data Assistants (PDAs) such as the Pocket PC, mobile phones, set-top boxes, automotive computing devices and custom-designed embedded devices built with the Windows CE operating system. The NET compact framework is a subset of the NET Framework class library and also contains classes exclusively designed for it. It inherits the full NET Frame work architecture of the common language runtime and managed code execution.

The NET compact framework provides the following key functionalities:

Run programs that are independent of hardware and operating systems
Supports common network protocols and connects seamlessly with XML Web services
Provides developers with a model for targeting their applications and components to either a wide range or specific category of devices
Provides benefits of design and optimization of limited system resources
Obtains optimal performance in generating native code using Just-In-Time (JIT) compilation

The NET Compact Framework supports Visual Basic and Visual C# development.

Home telephony software: The telephone based controlling is mainly depending on receiving command from the telephone line and passing it to the circuit. Thus, at the server side we should have an interface that is able to handle the call. This interface should be able to connect directly with the modem. The interface program using TAPI standards can be written in different languages like Visual Basic, C+ and C#. Before receiving the command from the telephone line and doing the appropriate order a procedure should be done by the interface program at the server side before and during the call, the program should be able to:

Detect and open the modem
Detect and answer the call after required number of rings
Play a sound file to the telephone
Receive the pressed digit by the remote party (Detect DTMF tones)
Send the appropriate command to the circuit

In order to create an Interactive Voice Response (IVR) program that meets the requirements of the previous procedure, Visual basic with Modem tools have been chosen to write the program code.

SMS program interface: Since SMS technology is readily available and because of the ever-expanding use of mobile telephones around the world, the e-Home system is supported with this technology. SMS (Short Message Service) is a service available on digital GSM networks allowing text messages of up to 160 characters to be sent and received via the network operator's message center to a mobile phone or from the Internet, using a so-called SMS gateway website. If the phone is powered off or out of range, messages are stored in the network and are delivered at the next opportunity. SMS has an extremely reliable infrastructure which is currently used for cellular telephones, internet SMS gateways and fixed lines communication. SMS text messages are divided into four classes based on GSM7BIT standard:

Class 0: A text message that is immediately displayed on the screen of the phone and it is not saved in the memory of the phone.

Class 1: A text SMS message that indicates that the message should be stored on the Device.

Class 2: A text SMS message that indicates that the message should be stored on the SIM card.

Class 3: A text SMS message that indicates that the message should be sent to the Terminal Equipment (TE) attached to the phone.

In this research, SMS Class 1 messages are used to receive commands and interact with the user by sending back acknowledgment and error messages. It will also provide an optional easy user interface on a PDA to minimize the user errors. The SMS program consists of two parts. The first part is the one that is installed on the controlling computer and controls the circuit (e-Home PC SMS Interface Panel). The other part is optional and is installed on a Pocket PC (e-Home PPC SMS Panel).

The e-Home PC SMS Interface Panel is essentially based on receiving SMS command messages from an SMS enabled device over a GSM network. Then, it processes these commands and does the desired actions. The following is a list of actions performed by the e-Home PC SMS Interface Panel:

Receive SMS command messages
Send an output to the circuit through the parallel port
Update the database
Send acknowledgments and errors SMS messages
The e-Home PC SMS Interface Panel is also capable of:
  Detecting SMS enabled devices connected to the PC through Serial cable, Infra Red or Bluetooth
  Viewing received SMS messages

In order to create an Interactive PC SMS Interface program that meets the previous mentioned points, Visual Basic net 2005 with ActiveXperts SMS and Pager Toolkit is used.

Since it is hard for a user to memorize a certain format for the SMS command messages, the e-Home PPC SMS Panel simplifies the way of sending SMS command messages for the user.

In order to create such an application, Visual Basic net 2005 is used with the aid of net Compact Framework for Pocket PC embedded in the PPC device and SMS API.

Website design: The website is designed to be secure, easy for navigation, easy to use (Vasiliu et al., 2004). Therefore a powerful graphic tools and programming languages have been involved in the design. Site contents is divided into two parts, images which contain all the house parts in jpg format to reduce the size and Multimedia which contain introduction flash, rooms' flash movies, sounds and flash plug-ins.

Website design architecture: The design divided into several phases. The first phase is programming using HTML. The second phase is the connection with the data base to insure the association with the SMS and telephone interfaces. The last phase is connecting the site to the circuit through the parallel port using in/out driver.

Sending orders: When you select a part of the main house a check status function will automatically send a request to check the status of the devices related to it. This operation is not done very quickly so it's not noticed.

If someone sends an order it is converted to a request and sent to the parallel port. The parallel port converted the request to a signal transferred throw the IN/OUT to the circuit which is already connected to it. After the circuit receives the signal it forwards it to the targeting device to take the action. Automatically, after the device takes action the status of it changed in the database and in the site page at the same time.

CONCLUSION

In this study, Man to Machine communication system was demonstrated and used to remotely control devices using different Medias such as Internet, SMS and telephone line. Implementing a system that can control a remote device using these widely available media makes the proposed system flexible and unique. The system was implemented from scratch by designing different hardware circuits and supporting software. The supporting software was challenging since it deals with signals coming from different media and with different format. The software part was implemented Visual Studio NET 2005. The proposed system was implemented successfully, tested and proved to be reliable, flexible and affordable. The idea of this study can be applied in other areas such as factory automation and laboratory automation where the electric devices are out of reach or for a hazardous study place.

Design and power by Medwell Web Development Team. © Medwell Publishing 2024 All Rights Reserved