Homes. A Smarter Home

Using Raspberry Pi and Python to develop a simpler smart home system Roche 1 Literature Review Homes Today, homes are places of comfort and safety t...
Author: Jonah Price
9 downloads 0 Views 859KB Size
Using Raspberry Pi and Python to develop a simpler smart home system

Roche 1

Literature Review Homes Today, homes are places of comfort and safety that allow people to relax after a long day of work and get a good night’s sleep. The homes of today are filled with comfortable furniture, lights, and appliances that make sure the house works. Although homes today are efficient and do their job well, they could become more efficient and do their jobs better. The homes of tomorrow will optimize home security and comfort. These homes will be better, smarter, and more connected. These homes will be smart homes.

A Smarter Home Smart homes and smart home devices are revolutionizing how homes today are viewed. Smart homes are houses that can be controlled by the touch of a button. All of the appliances in these homes are connected through one hub, and the system can be controlled with one app. These systems have many capabilities involving home automation and controlling things from outside of the house. These homes use a host of technologies to connect the devices from electrical wires to wireless networking. The appliances that can be connected to the system are countless because almost every device is connected to the home’s electrical grid or wireless network. Some companies have even started tailoring their products to smart home owners by building smart home capabilities into their devices. There are other companies that sell hubs and applications that will connect all of the devices and monitor the system. Smart homes are changing the way homes work.

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 2

Figure 1: A Smarter, More Connected Home (Tien-Spalding, n.d.)

The Purpose of the Smart Home Smart homes were created to make homes more comfortable and secure, for a more reasonable price. The smart home audience is everyone, but depending on the need and sensors it can have a multitude of specific purposes. The smart home concept can be applied in houses and apartments, because the sensors that are used can be placed in a variety of places. These sensors can range from motion detectors to thermostats. One of the main purposes of the smart home is to save energy. Another reason for the smart home is to assist elderly or handicapped people with daily activities. One last intent is to make a home more convenient so that the user can change the whole dynamic of their home with a single finger.

An Eco-Smart Home The smart home can be used to save energy in a variety of ways. The smart home can be automated so that appliances are turned off when they are not being used. This also applies to the

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 3

heating of a house. Some of these smart home systems will lower the heat if it does not detect anyone in the house and will raise it when it detects someone nearing the house. Homes consume enormous quantities of energy. Smart homes can help reduce the energy that homes use whether or not that energy is from heating and cooling or appliances and electronics.

Figure 2: These diagrams show the shift in energy consumptions in homes from heating to appliances and electronics (Energy [Image], 2013).

The smart home can be used to impact both a house’s heating and appliances, but this technology has a greater impact on the appliances. Smart homes can change the temperature depending on the inhabitance of the home, but the home must be warm enough that it can be warmed up quickly when the inhabitants are on their way back home. Smart homes can turn on and off electronics, appliances, and lighting without any real repercussions if the inhabitants are not there.

A Helpful Home Another big reason smart homes are being developed is for the possibilities it unlocks in terms of assisted living. In recent years advances in health and social care have increased the life expectancy of people (Morris, 2013). Almost 7% of the world’s population is now over 65 years old and by 2050 that percentage is predicted to raise to 20%. Smart home technologies allow older people to live in their lives longer in their own homes rather than any costly assisted living establishments. Smart homes will have

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 4

capabilities to notify others if the occupants fall or trip inside of the house and are having trouble of some sort. The house could also notify the occupant of any pills they need to take or appointments that they have. The smart home has the ability to maximize the quality of life while reducing the stress on health-care facilities and resources. The smart homes ability to adapt depending on the sensors supports the multiple needs of the elderly and handicapped as well. While the smart home could do great things for the elderly it would have to be tailored to their specific needs, and adapted to consider a series of problems. This systems would have to be thoroughly tested so that it would not fail in an emergency, give the occupant incorrect information, or be too difficult to use.

Smart Home Superiority Smart Homes have several purposes, all of which improve upon the homes of past. Smart homes are superior to regular homes for many reasons, specifically because they make homes more comfortable and convenient. One product (Smart Things) indicates that with a series of sensors and common appliances there are many ways that homes can be improved. Smart homes can protect your family and property, while saving money and energy (9 ways, 2015). With a smart home doors can be locked and unlocked when nearing or leaving the house. With smart homes there is no need for keys or locksmiths because the door will open whenever it is commanded to because all smart phones have GPS sensors in them that register with the system. In smart homes the lights can be automated and controlled from anywhere. Regular lights account for 30% of the energy consumption that a house has, but smart lights that are completely automated light greatly reduces the energy consumption. The lights are only turned on when someone is in the room which saves money and energy. Smart homes help save money on energy bills, because by automatically adjusting the thermostat to heat or cool less while no one is in the house, much less energy is used. This can also be applied beyond the thermostat, by powering appliances only when people are interacting with them.

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 5

Smart homes also provide easy and affordable security with the variety of sensors that can be paired together in the system. A smart home can lock and unlock doors from anywhere, trigger a siren if unexpected motion is detected, notify the user if doors or windows open at unusual times. The smart home system’s app gets every notification and allows the user to observe what occurs, expected or unexpected, in the house through the app. Sensors can detect entry through windows and doors and alert the user of the event. Smart homes can prevent small leaks form causing disasters, by sensing a water leak when it starts and notifying the user before the leak can do any real damage. The average cost to repair home water damage throughout the country is $2,476, according to HomeAdvisor.com. Minor leaks can become major problems very quickly which is why smart homes can notify the user if there is any water where it should not be. Smart homes keep track of what happens in and around the house which means that the user can stay connected with his or her family. If the user wants to know when the rest of the family arrived or left the house he or she can easily find out using the app. Users of smart homes know when kids come home from school each day, when cars arrive in the driveway, and when pets unexpectedly leave the house. Smart homes can protect your children from getting into trouble in the house by notifying the user if the children get into a space that is dangerous for them. Smart home systems can send the user immediate alerts if children open cleaning supply cabinets, medicine drawers, or gun cases. These alerts can help the user keep his family safe by keeping a second set of eyes on curious children. Smart homes can assure the security of the house by detecting open doors, like the garage door, and then close them. If the garage door is left open, people could not only take items from the garage, but also possibly get into the house. Smart homes can prevent people from breaking into the house through the garage and the sensors used to detect this can be used for additional security purposes. The

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 6

garage can also be opened and closed manually using the system’s app. Smart homes show the future of housing and comfort, replacing the homes of today with the improved homes of tomorrow.

Levels of Intelligence Similar to regular homes, smart homes have varying types or levels of intelligence. Smart homes fall into one of five classes (Bierhoff, 2007). The first level is homes that contain intelligent objects. This does not mean that any of the smart devices are actually doing anything. It just means that those devices are there. The next level is homes that have intelligent, communicating devices. This means that the smart devices are connected and are able to exchange information. The third class is connected homes. The big step in this stage I that the devices can now be controlled from inside and outside of the home. The fourth class is homes that learn and record the activities happening in the home. This type of home anticipates the needs of the user and controls the home accordingly. The final class is the attentive home. This home is reactivity to the events inside and outside of the house regarding people. An attentive home is the most convenient and is triggered by what people do in relation to the house.

Smart Space Smart Homes change the way certain spaces are viewed and used. Smart homes are often referred to as aware, changeable homes, because they adapt to the people living in them (Bierhoff, 2007). The term ambient intelligence is attributed to smart homes and is defined as a digital space that is adaptive, sensitive, and responsive to the presence of people. Both ambient intelligent and virtual space are combined in physical space to create a smart home environment (Allameh, 2012). Virtual space consists of objects that are connected to and support information networks, such as social networking, tele-shopping, tele-working, and tele-learning. Physical space is the traditional space where people walk and talk with their own bodies. There are many technologies that are allowing these spaces to overlap with each other, like the smart kitchen table. This table would change the entire dynamic of the kitchen making it more social, convenient, and integrated. The table would have a touch screen

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 7

surface which would allow the size and temperature of the hot zones to fit whatever was being cooked, in addition to allowing internet surfing. Other appliances in the house could be controlled from the table and the table would react to and help the user. In addition to the smart kitchen table other technologies have been suggested like the smart wall, a combination of computer and TV integrated into a wall, and other types of smart furniture that reacts to the user and their preferences.

Figure 3: This is the smart kitchen table which is a concept that Philips has unveiled when showing off green tech prototypes ([The Smart Kitchen Table], 2008).

Smart Home Capabilities Smart homes introduce countless opportunities to modify and improve homes so that the homes are personalized for people. Smart homes connect a variety devices in a system, opening a series of opportunities for how the home is used. Smart homes are good at taking mundane tasks and making them more convenient for people (Edmonds, 2008). Smart homes allow people to light a path for nighttime bathroom trips, unlock doors as they are approached, set a schedule for certain events to occur, like the feeding of pets. Smart homes that have LED lightbulbs can change the whole mood of a

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 8

room by changing the colors of the light. Smart homes can also have programming that dictates when children can watch television, when the bedroom should be warmed up just before the inhabitants wake up, and when to turn on a coffee maker during the morning. Although there are many obvious ways to use smart homes, there are actually an infinite number of ways to use a smart home because of all the ways a system can be configured.

Smart Home Systems Smart homes are only as smart as the systems that they house. There are two ways that smart home systems are integrated into a home. Smart home systems can be built in to the home so that they are actually a part of the building or they can be added to an existing home. Smart home systems that are a part of the house tend to be on the more expensive side because they require more work to install. Smart home systems that are introduced into the home are less expensive because they do not require as much installation. Built in smart home systems are explicitly designed for a certain house, while regular smart home systems work in a wide array of different homes.

Built in Systems There are many examples of in-home systems like one of the many homes that Bill Gates owns (Edmonds, 2008). In this smart home as people walk through rooms the lights ahead of them light up while the ones behind fade. The user’s favorite songs will also follow them through the house, as well as the television show that they may have been watching in another room. Each user also has an identifying marker that lets the system know who they are and their preferences. The system learns from the user and even knows how to compromise between two users preferences. Although this is only one in-home smart home system it shows how this type of smart home is unique and truly tailored to the home and its inhabitants.

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 9

Adaptable Systems There are even more examples of systems that can be bought and introduced to a home. One of the big differences between these two types of smart home systems is that the adaptable systems can be changed. The sensors can be moved, the system can be totally reprogrammed or changed, whereas in a built-in system everything is already set. These adaptable systems are much more common and are actually sold commercially, whereas someone would have to actually search for an architect or builder to get an in-home system. There are many different brands of adaptable smart home systems, but the main systems follow one of three main formats. These formats are a system that includes a hub, sensors, and app to control the automation, Smart Things, a system that learns from its users, Nest, and a system that comes with an assortment of parts that can be used with almost any appliances, Belkin WeMo.

Smart Things Smart Things is an example of an average smart home system that can be introduced into a home. SmartThings has easy-to-install sensors that can be interchanged to create a variety of new and different smart homes (Crist, 2013). SmartThings is less expensive than other leading products and does not charge additional fees every month. Although SmartThings is fairly good, it has room for improvement in terms of range and a succinct app to control the whole system. A SmartThings Hub costs $99 and it open homes to the entirely new reality of automation. Although sensors cost additionally money their mix of multifunctional uses allow for the evolution of a home. The SmartThings Hub supports both Z-Wave and ZigBee wireless standards, which increases the compatibility of SmartThings with an array of other smart devices. The SmartThings Hub also is fully compatible with IFTTT (If This Then that) which is an event driven system and involves a combination of different applications. The installation of SmartThings into homes is relatively easy and its sensors work

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 10

without flaw when programmed correctly. The actually control center for SmartThings while functional is a bit cluttered and confusing. The SmartThings Hub communicates with each of the sensors over Wi-Fi before relaying the commands and affecting the system. The Hub is a simple device that connects all of the device in a network when it is plugged in and connected to the house router through an Ethernet cable. The SmartThings app guides users through each step in the installation process with demonstration and instruction. SmartThings has a range of 50 feet before the sensors in the system become less reliable. SmartThings makes up for the limited range by having some of the sensors like the motion sensors double as range extenders. The motion sensor is also very effective at detecting motion without fail. Other sensors work just as well as the motion detectors like the multipurpose sensor that tracks temperature, vibrations, and entries into a space through door. This device is especially effective when considering the security of homes, capable of tracking unwanted break-ins or your kids return safely to your house. Another sensor in the SmartThings lineup is the presence sensor. This clever device can be attached to anything and is tracked by when it enters or leaves the Hubs range which is a useful way of triggering smart devices like turning up or lowering the thermostat. This sensor works well usually, but occasionally reports false-positives. This is an even easier way of tracking loved ones as they travel to and from work or school. This sensor is useful, but can be overlooked since the hub already tracks the cell phone that controls the system. This means that if the system is only being used by an individual than that individual has no need for an extra presence sensor. Also IFTTT can be used to accomplish the same goal by creating a program that is triggered by the location of an individual. The SmartThings app is able to track all of the sensors in the network and knows whether or not certain appliances are on and wasting energy. This app provides a list of each device and their statuses. The app also allows the user to interact with the system and actually talk to the system using key words to trigger actions. The actions serve as customized modes for the system like “Good Morning” or “I’m

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 11

home”. The app’s design is a bit cluttered with all of the options but it is much preferable to a sparse, underdeveloped app design. Because of the SmartThings apps drawbacks it is almost preferable to use the IFTTT app because of its more elegant, streamlined design. Because different parts of the system can be used as triggers or actions it is very IFTTT friendly. This device is advisable for anyone interested in home automation. SmartThings compatibility with so many other devices makes it a perfect example of smart home system.

Figure 4: The Smart Things starter kit brings smart homes to life (Smart, n.d.).

Nest The Nest thermostat is a learning thermostat and changes the way that homes interact with people. The Nest thermostat has schedule-learning, remote access, occupancy sensing, and ecofeedback capabilities (Yang, 2013). The Nest’s auto-schedule feature generates a schedule based on one week’s worth of data. This data contains when the user turns up or lowers the heat, how long the heat is maintained for, and other temperature preferences. The Nest also has an Auto-Away feature that detects when the house is not occupied and the system will adjust the temperature to a defined level. These features allowed the users to become more engaged with the device. Although the Nest provides a novel way to view smart homes, it does contain a few significant flaws. The first of these flaws is that the learning system is unable to understand the user’s intent. The thermostat tracks changes in

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 12

temperature and relates that to the time and day, which is usually valid. The issue arises when the user makes a change to account for a situation that the Nest can not detect. One example of this could be if there is one week in winter that is extraordinarily warm, so that the house stays at a cooler temperature. The thermostat would assume that the following weeks would be the same which means it would keep the temperatures lower even if the user needed them to be higher. The Nest thermostat does not adapt well because once it is set on a schedule it wants to stick to that schedule. The other enormous issue regarding this learning thermostat is that the users do not know how to use it. Users are liable to turn it off certain functions or stop using the product all together because they were unaware of why the thermostat was working, especially if the thermostat did not work correctly. One common example of this is that the Auto-Away feature would turn on while the user was still in the home which caused the temperature to rise or drop to uncomfortable temperatures for the user. This caused many users to question the system and turn this feature off which meant that the home’s heating system was always on and the home wasted unnecessary quantities of energy. The learning thermostats main flaws were that the system either learned a schedule too well and would not stray from the schedule, or the system would be unintelligible to the user and become ineffective for the user leading up to the system being turned off or removed from the home. In regards to saving energy the thermostat was not entirely efficient. This was because the system learned a schedule from the user’s input and that was the schedule that it used. The Nest never actually figured out the ideal schedule for heating system to achieve both comfort and energy efficiency. Additionally the system often wasted energy when certain features, like the Auto-Away function, failed. The Nest is a great product that change the normal perspective of thermostats, but it only optimizes comfort and energy if the user explicitly programs it in that way.

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 13

Figure 5: Nest Thermostat (Nest, 2015)

Belkin WeMo The Belkin WeMo system is one that is totally customizable that focuses on controlling various appliances and devices that are connected in a system. One of the big issues regarding smart home systems is that very few are compatible with every appliance and device (Cipriani, 2014). One of the few systems that are compatible is Belkin’s WeMo. Belkin’s WeMo is a mix of devices and sensors that work together to create a system. Some of the products that this system offers are a switch and motion sensor bundle, LED light bulbs, a crockpot, a coffee maker, and the WeMo Maker. This WeMo Maker is taking the next step in the smart home industry by connecting all the possible household items to the internet. Once these devices are connected to the internet the WeMo app can control all of the devices. The Maker has a single button, a few indicator lights, one Wi-Fi antenna, one relay terminal, a different spot to connect sensors, and a spot for power. The sensor port allows the user to connect multiple sensors to the Maker. The relay port connects the Maker to the actual device being controlled and it acts as a break in the electrical circuit. The WeMo Maker can create a smart home with just a few wires, a sensor, and a device to control.

Using Raspberry Pi and Python to develop a simpler smart home system

Figure 6: The WeMo Maker revolutionizes the number of devices and appliances that can become smarter (Cipriani, 2014).

Roche 14

Figure 7: The sensor and relay ports on the WeMo Maker connect both appliance and sensor to the internet (Cipriani, 2014).

Sensors A smart home system is only as smart as the sensors that are connected to it. In general there are a couple different ways that sensors actually work (Ding, 2011). One of the most common ways of sensing events and communicating them is through digital environmental sensing. A couple types of these sensors are simple binary sensors, video cameras, and RFID (Radio frequency identification) technology sensors. This type of sensing usually provides valuable data regarding activities and the contexts of those activities. This type of sensing is effective but can become problematic with multiple people present or if the sensors are in locations that make them ineffective. A simple binary sensor is an example of this type of sensing. This sensor detects the state of an object or movement and identifies it with one or zero, using binary. This sensor is usually paired with motion detectors, pressure sensors, or contact switches. Once something is detected the sensor pairs it with either a one or zero and then communicates that to the system. This type of sensor is advantageous because it is inexpensive, easy to install, and does not invade the privacy of the user. The binary sensor is disadvantageous in some aspects because it can only give information saying whether or not something is true. This leaves some of the context that may be important out of the picture. Video cameras gather a lot more information and context, but they tend to invade privacy and need additional work to setup. RFID is a technology

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 15

that exchanges data between a reader and tag by communicating over radio waves. This type of sensor is fairly reliable except when communicating through liquids or metals. These sensors are better at detecting the interactions between users and objects. On example of this type of sensing being used is in the Gator Tech Smart House. In this smart home every outlet is equipped with a RFID reader and the plugs all had tags in them. If a device was plugged into an outlet the data associated with it was sent to a main computer which could then control the device and monitor trends. Other types of sensors that are commonly associated with smart homes are motion detectors. A couple of common types of motion detectors are radar-based motion detectors, photo-sensor motion detectors, and passive infrared motion detectors (Harris, n.d.). Radar-based motion detectors are the most common and are used in the automatic doors. These detectors work by sending out ultrasonic sound waves that are reflected back at the sensor. The sensor knows exactly how long the waves of sound take to return to the system which means that if the waves take less time then it knows that there is someone waiting to get in through the doors. Once the sensors detect that person, it will send a signal and the door will open. The photo-sensor motion detector work using the same concept as the radar-based detector except instead of sound waves being used a beam of focused light is used. If the beam of light is being blocked a sensor will detect that and send a signal to complete a designated action. The passive infrared motion detector is a little more advanced and it detects a quick change in heat. The detector works by measuring the infrared energy emitted by body heat and if the level of energy sharply changes it knows that there is a person there. One other very common type of sensor that can be found in smart homes is a sensor that measures temperature. Although there are many different kinds of thermometers, the most common type used now is a bimetallic thermometer. The basic principle that this thermometer relies on is that different metals expands at varying rates as they warm up (Brain, n.d.). Two pieces of different metals are bonded together to make a simple electric controller that withstands high temperatures. When the

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 16

metal expands due to the heat the metal completes a circuit that an electrical current can flow through. This device can also be curved into a spring so that it has a higher sensitivity to heat. Another common method of measuring temperature is with an electric thermometer which uses a thermoresistor. If the temperature changes this device will change its resistance which a computer will detect and then either display the new temperature or make a decision to turn on or off the heat. This second type of thermometer is much more commonly used because of its simplicity.

Hub’s Purpose A smart home’s hub is the physical control center of the system. A hub also turns an automated home into a smart home (Tuohy, 2015). A smart hub unifies all of a home’s smart appliances and acts as the brain of the smart home. The hub communicates with all of the individual appliances and tells them all what to do. A smart home’s hub acts as a conduit for the users controlling app, and dictates all of the user’s commands. A hub also gives a smart home more depth, and evolves the capabilities of the home. With a hub a smart home can have more protocols, control more things easily, and react to more situations. A hub can collect data and learn the user’s preferences making a smarter home. There are a multitude of aspects of smart home hubs that have to be considered. For example a lot hubs are incompatible with certain sensors and devices because they communicate differently. Another aspect is that some of the hubs have open API to their softwares which means that third-party software services can work, update, and improve the device. This also means that if a user is having difficulties working with the hub or trying to change it in a particular way they can do that with software and tutorials online. A smart home system’s hub is a vital part of the whole entire system.

A Wireless Connection One of these ways is a wireless connection. This means that the devices are connected and communicate through radio waves. Two of the more prominent wireless networks for home automation are ZigBee and Z-Wave (Edmonds, 2008). Both ZigBee and Z-Wave are mesh-networks, which means

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 17

that the commands are communicated in multiple ways. Z-Wave uses a Source Routing Algorithm that determines the quickest route for each command. Each device connected with Z-Wave is embedded with a code, and when it is plugged into the system, the network controller recognizes the code, determines its location and adds it to the network. When a message is comes through, the controller uses the algorithm to decide how the message should be delivered. This type of routing can take up a lot of memory on a network so Z-Wave developed an order for its operations. Some of the controllers initiate messages and the others are slaves that carry out and respond to messages. ZigBee sends messages from the transmitter in a zigzag motion, taking the best path to the receiver. The ZigBee platform is based on the standard set by the Institute for Electrical and Electronics Engineers (IEEE) for wireless personal networks. This means that products can be ZigBee compatible without the companies having to pay extra licensing fees.

X10 X10 was the original version and uses electrical wires that are already in place to communicate between devices (Edmonds, 2008). Using this method, all of the appliances and devices act as receivers, and remote controls and keypads as transmitters. The transmitters send a numerical code that alerts the system that it is issuing a command, an identifying unit number for the device receiving the command, and a code containing the command. While this is designed to happen in less than a second, it can take longer because when other devices are powered they can cause interference on the electrical lines. The X10 devices could incorrectly interpret the electrical interference as a command and react, or they could ignore the command and nothing would happen. At this point X10 has mainly been replaced with the wireless methods discussed earlier.

IFTTT The IFTTT (If This Then That) is an idea and type of programming that is based upon certain events occurring that trigger certain actions. There are apps that follow this concept that connect

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 18

certain apps with each other. In the smart home world, this concept has to be applied to different events that the sensors will detect. There is an app that already uses this making smart phones even smarter by connecting all of the apps on the smart phones. This is the same concept that is being employed with smart homes. Smart homes are becoming more autonomous and are acting based upon event like the user opening a door, rather than the user setting forth explicit directions.

Making an App After the system is programmed to complete certain actions, there has to be some way for people to interact with the system. This is an app which allows the user to monitor and change to system whenever the need arises. Designing an app is very different than most other platforms because the primary control is a user’s finger and the app runs on a fairly small screen (David, 2014). Initially, apps are designed with sketches that provide a cheap yet sufficient way to convey a mock-up design. When designing apps it is important to consider the various platforms that the app will run on. The biggest markets are Apple’s IOS and Google’s Android, which have different screens and programs. Several factors that have to be considered when designing apps are that mobile operating system have their own design guidelines and smart phone and desktop interfaces are different. The other huge aspect of apps is the user interface. One of the reasons that smartphones are so popular is because regular people can use smart homes without needing any extra research or learning. User interface (UI) and the user experience (UX) are key when designing an app because a user has to be able to efficiently use the app and experience the app at a satisfactory level. The UI and UX have to be tailored to whatever the mobile operating system that the devices are running. Some human interface guidelines that Apple developed regard aesthetic integrity, consistency, direct manipulation, feedback, metaphor, and user control. The goal of aesthetic integrity is to match the form and function of an app. It is not about making a beautiful app that will not work well for the user. An app also has to be consistent always providing a satisfactory experience for the user. Direct

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 19

manipulation with the screen is important for the user so that the user can have better control of the app. Feedback concerns the visual, physical, or audible response to a user’s action. Feedback lets the user know that something has happened, either a button they pressed or a notification that they received. Apps use metaphors to reproduce real-world actions in virtual experiences. User control is important because the user needs to know that they are in control and even if the app is running something in the background it is the users who controls what is happening in the app. The human interface guidelines that Google developed relate to creative vision, design principles, style, patterns, and building blocks. Creative vision requires apps to inspire, because of the abundant apps that already exist new apps have to really engage the audience and attract the users. The design principles are very similar to the principles that Apple developed. This means that google encourages supporting human interaction with touch and gestures. Google additionally encourages almost limitless personalization, in either big or small degrees. Style relates to the consistent styles that android uses throughout the operating system. This includes themes, grid layout, color, and typography. Patterns offer the opportunity to maintain consistent design layout themes between several apps. Both Google and Apple explain the intricacies of creating a well-designed effective app.

Raspberry Pi v. Arduino Where the programming is stored and the platform of the system is equally important, because it will determine how the system operates. Both the Raspberry Pi and the Arduino are computers that can be used as platforms for smart home systems (Schwartz, 2013). The Arduino is easier to set up only requiring to be plugged in and turned on, whereas the Raspberry Pi requires software to be installed, a keyboard and mouse to interact with the device, and a Wi-Fi dongle to connect it to the internet. The Raspberry Pi is more advantageous for connectivity because it connected to the internet with much more ease than the Arduino which needs certain shields. The Raspberry Pi has much greater computing power than the Arduino. The Raspberry Pi and Arduino are both good for programming in different

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 20

ways. The Pi requires a bit more actual coding, but has massive libraries that extends the possibilities of things that can be coded with it. The Arduino uses processing languages that are really easy to code with which makes it good in a different way from the Pi. Overall the products are fairly even, although the Raspberry Pi’s compact size without as many wires is beneficial to smart home projects that require a better usage of space.

Figure 8: This figure shows an Arduino connected to some LEDs (Arduino, 2015).

Figure 9: This figure shows a Raspberry Pi (Raspberry, 2015).

Issues Although smart homes are incredible, they are not perfect. Smart homes have an array of issues. One of these issues relates to the complexity of the smart home user interface (Keating, 2015). Often when smart home systems do not perform to a user’s expectations for them, the user becomes frustrated with the system. When some part of the system do not work properly users often complain of complicated systems for once-simple tasks. One tech-savvy user received a Nest thermostat as a gift and did not even open it because he claimed it was not worth the fiddle factor. This addresses one of the biggest issues that faces smart home systems because although they are meant to make life more convenient, they often are so difficult to use efficiently that they make the user’s life more complicated. Another big issue regarding smart homes is the compatibility between systems, devices, and sensors (Wolverton, 2015). Although smart home systems are being developed by countless companies from Google to Apple, none of those companies are working together, which means that none of these

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 21

system are compatible with one another. All of the systems that are being developed work in different ways. This means that not every smart product will connect to every system. This is a problem because users of smart homes will buy one system and have products that they bought elsewhere and will not connect with the system that they bought. Whereas some companies are striving to increase compatibility, like those working on the Internet of Things, others are not which is not conducive to further developing the smart home. The other pertinent issue is the questionable security of smart homes (Brown, 2015). Because all of the devices in smart homes are connected, including the user’s cell phone that contain personal information, smart homes need to have top-notch security. If these systems do not have a very good security system in place hackers are able to hack into the system and steal private information or mess with the system itself. Although this is a serious threat, many systems do not actually have sufficient security. This is a big problem because no one will want smart homes if they put their safety at stake. One security research company tested the security of a couple systems and found that the system were missing key components in their security software. For smart homes to develop even further companies need to figure out how to fix all of these issues.

Internet of Things Although there are a lot of issues there are also a few solutions, like the Internet of Things. The Internet of Things is a semi-automated network that combines a variety of different technologies (Miller, 2015). This network is connected to software and services that collected and analyzed data from connected devices to make a series of decisions. Based upon the data that is collected certain by the devices certain actions are set into motion. These devices are connected through wireless networking or Bluetooth to a master device connected to the network with Wi-Fi. This concept is similar to smart home concept except the platforms are different and a smart home has a specific location and is restricted by the home while the Internet of Things is more open, and restricted by the devices

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 22

connected to the network. Basically, devices contain embedded sensors that generate data, wireless transmitters and receivers that connect to a larger network, network backbone that all devices connect to, and software that analyzes the data and initiates appropriate actions.

Figure 10: This diagram shows how all of the technologies interact (Miller, 2015).

Using Raspberry Pi and Python to develop a simpler smart home system

Roche 23 Sean Roche 11/18/2015 Massachusetts Academy of Mathematics and Science

Engineering Plan A. Engineering problem being addressed: Smart home systems are complicated devices that are difficult to use efficiently because of their complex user interfaces. B. Engineering Goals: Create a smart home automation system using a novel hub and sensors. A second goal is to optimize the user interface on the hub and in the app that controls the system. C. Description in detail of methods or procedures: Using a Raspberry Pi or Arduino a smart home system hub will be built that incorporates a series of devices and sensors. These sensors will connect to the system using z-wave, zig-bee, and wireless networking. The circuit board will be taken out of the original device and put into a safer more protective casing that would be 3-D printed. This new device would also display certain information and provide one form of user interface. The next step would be to create a basic program for the system with a variety of if-this-then-that cases based upon the input of the sensors. This program would evolve to become easier to use by consolidating certain settings into modes. The users would have custom settings for each mode that would account for many different scenarios. Additionally the app would keep a log of commands and events that take place in the system, this would allow the user to find a fix a problem if one occurs. The app would also make suggestions for the user to fix problems and change the system based on the input of the sensors. Once the device’s programming is developed it would be tested with a survey. People would take a survey answering certain questions about the device and using it. The people would be asked to complete a series of tasks with some instruction and based on the time they take and their feedback the device would be redesigned.

Using Raspberry Pi and Python to develop a simpler smart home system

Lit Cited: Tien-Spalding, C. (n.d.). Intelligent imaging: Putting the 'smarts' in your smart home. Retrieved November 22, 2015, from ArcSoft Intelligent Imaging website: http://blog.arcsoft.com/index.php/ intelligent-imaging-putting-the-smarts-in-your-smart-home/ Morris, M. E., Adair, B., Miller, K., Ozanne, E., Hansen, R., Pearce, A. J., . . . Said, C. M. (2013). Smart-Home Technologies to Assist Older People to Live Well at Home [PDF]. Journal of Aging Science, 1(1), 1-9. http://dx.doi.org/10.4172/jasc.1000101 Edmonds, M., & Chandler, N. (2008, March 25). How Smart Homes Work. Retrieved November 15, 2015, from How Stuff Works website: http://home.howstuffworks.com/smart-home.htm Miller, M. (2015). The Internet of Things: How Smart TVs, Smart Cars, Smart Homes, and Smart Cities Are Changing the World. Que. 9 Ways A Smart Home Can Improve Your Life. (2015, March 31). Retrieved October 26, 2015, from SmartThings website: http://blog.smartthings.com/news/ roundups/9-ways-a-smart-home-can-improve-your-life/ Crist, R. (2013, December 13). SmartThings review. Retrieved October 26, 2015, from CNET website: http://www.cnet.com/products/ smartthings-know-and-control-your-home-kit/ Allameh, E., Mohammadali, J. H., de Vries, B., Timmermans, H., & Beetz, J. (2012). The role of Smart Home in Smart Real Estate. Journal of European Real Estate Research, 5(2), 156-170. Retrieved from http://search.proquest.com.ezproxy.wpi.edu/docview/ 1029898492?pq-origsite=summon&accountid=29120 Bierhoff, I., Berlo, A. V., Abascal, J., Allen, B., Civit, A., Fellbaum, K., . . . Kristiansson, K. (2007). Smart home environment [PDF]. Retrieved from http://www.tiresias.org/cost219ter/inclusive_future/(14).pdf

Roche 24

Using Raspberry Pi and Python to develop a simpler smart home system Energy consumption in homes by end uses [Image]. (2013, March 7). Retrieved from http://www.eia.gov/todayinenergy/detail.cfm?id=10271 Yang, R., & Newman, M. W. (2013). Leaning from a learning thermostat: lessons for intelligent systems for the home. UbiComp '13, 93-102. http://dx.doi.org/10.1145/2493432.2493489 Nest Thermostat [Image]. (2015, September 1). Retrieved from https://nest.com/ blog/2015/09/01/meet-the-3rd-generation-nest-learning-thermostat/ Smart Things Starter Kit [Image]. (n.d.). Retrieved from https://www.smartthings.com/ Cipriani, J. (2014, December 12). Review: WeMo Maker Automated for the People. Retrieved December 12, 2015, from Wired website: http://www.wired.com/2014/ 12/review-wemo-maker/ Ding, D., Cooper, R. A., Pasquina, P. F., & Fici-Pasquina, L. (2011, June). Sensor Technology for Smart Homes. Maturitas, 69(2), 131-136. Retrieved from Science Direct database. Harris, T. (n.d.). How Burglar Alarms Work. Retrieved December 13, 2015, from How Stuff Works website: http://home.howstuffworks.com/home-improvement/ household-safety/security/burglar-alarm2.htm Brain, M. (n.d.). How Thermometers Work. Retrieved December 13, 2015, from How Stuff Works website: http://home.howstuffworks.com/therm1.htm Tuohy, J. (2015, September 29). How to Choose a Smart Home Hub. Retrieved December 13, 2015, from Tech Zulu website: http://techzulu.com/ how-to-choose-a-smart-home-hub-infographic/ David, M., & Murman, C. (2014). Designing Apps for Success. Retrieved from Safari Books Online database. Keates, N. (2015, August 6). When a Smart Home Is Too Smart for its Own Good. The Wall Street Journal. Retrieved from http://www.wsj.com/articles/ when-a-smart-home-is-too-smart-for-its-own-good-1438869462

Roche 25

Using Raspberry Pi and Python to develop a simpler smart home system Wolverton, T. (2015, June 29). Smart Homes require devices to be compatible. The Columbus Dispatch. Retrieved from http://www.dispatch.com/content/ stories/business/2015/06/29/ troy-wolverton-smart-homes-require-devices-to-be-compatible.html Brown, R. (2015, April 9). Study highlights security vulnerabilities in the smart home. Retrieved December 17, 2015, from cnet website: http://www.cnet.com/news/ security-study-highlights-vulnerabilities-in-popular-smart-home-devices/ Schwartz, M. (2013, April 29). Arduino vs Raspberry Pi: which platform is best for home automation? Retrieved December 17, 2015, from Open Home Automation website: https://www.openhomeautomation.net/ arduino-vs-raspberry-pi-which-platform-is-the-best-for-home-automation/ Raspberry Pi [Image]. (2015, February 2). Retrieved from https://www.raspberrypi.org/blog/raspberry-pi-2-on-sale/ Arduino with LEDs [Image]. (2015, April 5). Retrieved from https://learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/overview

Roche 26

Suggest Documents