The chapter is divided into four major parts. The first part is about setting up the RasPi, the second one is dedicated to the home automation features of the project, another subchapter is about creating the security system and the last section covers the creation of a graphical user interface.
Despite the fact that this chapter is divided into the subchapters and each subchapter is devoted to a functionality of the system, the whole part must be considered as one unit, since the goal is to create a smart home system with all the functions working together.
Top 35 IoT Projects | Awesome IoT Project Ideas for Enthusiasts
RasPi does not come with an OS preinstalled on it, so to start working with the board, a MicroSD card must be arranged. The image can be downloaded directly from the Raspberry Pi Foundation's website. Raspberry Pi Foundation has a complete documentation on the subject. In order to find the name and address of the MicroSD card, df -h command is used, one thing to pay attention to is that the image must be copied to the whole card not just to a partition.
Much more than documents.
The complete terminal command for copying the image is the following:. It is recommended to enter the command sync after the image is completely copied and before taking the MicroSD card out of its slot, the command ensures that the cache is flushed to the card. The current project does not require to have a display since it is possible to configure and modify everything using ssh connection.
To use ssh for connection, the IP address of the RasPi must be found. The command nmap -sP will do the trick, Ubuntu Linux's terminal is used for entering the command, the output is shown in Figure 6.
To make sure not to scan a host outside of the LAN, the internet cable was disconnected from the router before executing the command. In order to establish a connection to the RasPi for the first time, the default username "pi" and the password "raspberry" is used. The command ssh pi Having connected to the RasPi, the following configuration is made by using the command sudo raspi-config that will open the "Configuration Tool" software:.
For the security reasons, the internet cable remained disconnected from the router before changing the password. It is connected again after rebooting the device. Next, the system is updated by entering these commands in the following order:. That can be done manually as well, but cron command is used to automate the task for this project. It is necessary to have a brief explanation about the cron table since it is used often for this thesis work. It is possible to display or edit the cron table by using the following terminal commands:.
The cron table can be used in order to execute a command at a given time.
Reply to comment »thesis on home security system «
These commands can be set for each user by using the crontab command. The system will check the table regularly to see if there is a new command scheduled to be executed. An example of the cron table syntax is shown in Table 2. This concludes the basic setup for the RasPi, of course, the rest of installations is covered in the related sections of the paper. This subchapter is devoted to the development of the home automation part of the project. It contains the description of how to manage remote controlled power sockets with the RasPi as well as how to use the home temperature and time in order to control some home devices.
The part also explains how to handle home automation's functionalities with voice commands. The difficult part is to find out about the content of these packages. Wireshark is a free and an open source application that can be used to monitor the home network's activity. Figure 7 shows the UDP packages that are captured specifically for this paper by using the Wireshark packet analyzer. It is possible to use the terminal in order to control the socket, once the packages are discovered.
Executing the script without any argument will return the current status of the WIFI socket. Here is an example of a MAC address ad The code above requires the MAC address in reverse which will look like this da The RF sockets are shown in Figure 4, marked as number 3 , and to control them the RF codes are needed. These codes can be found by using an RF receiver attached to the RasPi and an open source software that is provided by Ninja Blocks called "Utils".
The software can detect and send MHz RF signals. Installation instructions can be found below:. After installing the software and its dependencies, to see the RasPi's GPIO table and pin numbering details, the terminal command gpio readall is used and the output is shown in Appendix 2. The receiver is just needed to record the RF codes transmitted by the sockets remote control and it can be disconnected from the RasPi once the data is captured. The next step is to press each of the six buttons on the remote control that is included into the RF socket set.
The command's output is something like this: Received During the development phase, it is discovered that the RF transmitter does not work well if there is a distance between the transmitter itself and the sockets. The problem is fixed by soldering an antenna to the transmitter. The bash script "sockets. A full script can be found in Appendix 3. The script is also used for the next subchapter in order to control the sockets through the home temperature and the timer.
The DS18B20, marked as 11 in Figure 4, is a waterproof digital thermometer that can be powered using a power supply in the range of 3V to 5. The DS18B20 contains a unique silicon serial number which means multiple thermometers can exist on the same 1-Wire bus. Maxim Integrated After attaching the DS18B20 to the RasPi, the connection is tested by entering the following terminal commands:.
The output of the entered commands above is shown in Figure Once the DS18B20 is tested the room temperature can be used to control one of the RF sockets by using a crontab command and the following Python script which accepts two arguments: the first one is the conditional argument and the second one is value for temperature.
The first argument can be "l" or "m" that stand for "less than" or "more than". The script "temp. The following command is entered to the cron table in order to execute the "temp. The cron table is also used for the final part of this subchapter which is controlling a socket with a timer. Since all the preparations are done, the only thing needed is to enter the following lines to the cron table:. Table 2 contains the details about the cron commands. The tasks related to controlling the sockets by using home temperature and timer are completed in this subchapter.
The cron table modification can be done through a GUI and the details are found in the chapter devoted to the creation of a graphical user interface.
- college scholarships requiring essays?
- coursework.info username password.
- security Projects - Arduino Project Hub;
- case studies in psychiatric nursing richardson;
There are some challenges in the way of building a smart home, one of them is to discover a way to control the home devices. But what about turning on the printer in the other room while working with a laptop or to turn off the desktop PC in the bedroom while cooking in the kitchen. It is necessary to have some sort of controlling scheme for the smart home. One of the things that comes to mind when talking about controlling devices is to have infrared remote control, but this method is not very useful for a 21st century smart home since even today's television can be controlled by using hand gestures.
So having an infrared remote for this project is out of the question. It makes sense to control the home automation system using the web interface from a distance but using a mobile web browser to control the system locally does not make sense. That is why a voice control function is added to the project in order to control the home devices locally. In order to add the voice control feature to the project a microphone is required.
As stated in the subchapter "List of required sensors and devices", a webcam is used for this purpose. After connecting the webcam and the speaker to the RasPi, the software is installed:. To configure it, the voicecommand -s command is entered and to change the configuration manually voicecommand -e is used. The config file contains the following:. Since now the voice control installation is completed, commands can be added to the config file, for example:.