Professional Documents
Culture Documents
INTRODUCTION
A Project Report On
Multipurpose Pi
Submitted in Partial Fulfilment of
The Degree of
Bachelor of Engineering
In
Computer Engineering
(8thSEM)
Prepared By
Parth N Parikh (100640107058)
Piyush Sahani (100640107059)
Dharmendra Singh Pal (110640107032)
Guided By
May 2015
KJIT
[1]
Multipurpose Pi
INTRODUCTION
CERTIFICATE
This is to certify that this work of UDP entitled Multipurpose Pi represents the bonafide work
of Parth N Parikh (100640107058), Piyush G Sahani (100640107059) and Dharmendra Singh Pal
(100640107032) for the partial fulfilment of the degree of Bachelor of Engineering in Computer
Engineering at the Department of Computer Engineering, K.J.Institute of Engineering &
Technology, Savli, Vadodara, Gujarat, during the academic year 2014-15 (Sem-8) and his work is
satisfactory.
Internal Guide,
Project Coordinators,
Rohit Tiwari
Dipali Jitiya
Assistant Professor
Assistant Professors
Head of Department,
Principal,
Sohil Shah
Assistant Professor
KJIT,Savli.
KJIT
[2]
Multipurpose Pi
INTRODUCTION
Abstract
Project Description:
In todays fast growing world of technology computer and its proper education is very
important. Our proposed project`s motto is to make available an learning platform at very low
cost which could be affordable by each and every one, Project Multipurpose Pi will be
developed using the concepts of embedded system Raspberry PI configuring with different
applications , open source codes and tools to sum-up a perfect credit card sized device with
multiple functions.
Applicability of the Project:
This project is applicable for both Commercial and Public Utility Model. Web Server,
Controlling electronic devices, NAS, Media Centre, and Video Gaming.
KJIT
[3]
Multipurpose Pi
INTRODUCTION
ACKNOWLEDGEMENTS
I would like to acknowledge the contribution of certain distinguished people, without their support
and guidance this project work would not have been completed.
I take this opportunity to express my sincere thanks and deep sense of gratitude to my internal project
guide Mr.Rohit Tiwari, Asst. Professor, Computer Engineering, KJIT, for his guidance and moral
support during the course of preparation of this project report. I really thank him from the rock bottom
of my heart for always being there with his extreme knowledge and kind nature.
I take this opportunity to thank all my friends and colleagues who started me out on the topic and
provided extremely useful review feedback and for their all-time support and help in each and every
aspect of the course of my project preparation. I am grateful to my K.J. Institute of Engineering &
Technology, Savli for providing me all required stuff and good working environment.
Acknowledgements and thanks are also extended to all the authors whose articles have been referred
to for the completion of this report.
Parth N Parikh
Piyush Sahani
Dharmendra Singh Pal
KJIT
[4]
Multipurpose Pi
INTRODUCTION
LIST OF FIGURES
Figure Number
Description
Page Number
Figure-3.1
E-R Diagram
35
Figure-3.2
37
Figure-3.3
Sequence Diagram
39
Figure-3.4
Activity Diagram
41
Figure-3.5
Class Diagram
43
Figure-4.2.1
48
Figure-4.2.2
49
Figure-4.2.3
Gamming On Multipurpose Pi
50
Figure-4.2.4
51
Figure-4.2.5
52
Figure-4.2.6
Starting Raspbian
53
Figure-4.2.7
54
Figure-4.2.8
Shell in Raspbian
55
Figure-4.2.9
56
Figure-4.2.10
57
Figure-4.3.1
58
Figure-4.3.2
59
Figure-4.3.3
Live Radio
60
Figure-4.3.4
61
Figure-4.3.5
Live TV
62
Figure-4.3.6
Movies Title
63
Figure-4.3.7
64
Figure-4.3.8
65
Figure-4.3.9
66
Figure-4.3.10
67
Figure-4.4.1
68
Figure-4.4.2
69
Figure-4.4.3
70
Figure-4.5.1
71
KJIT
[5]
Multipurpose Pi
Figure-4.6.1
INTRODUCTION
72
LIST OF TABLES
Page
Number
Table Number
Description
Table 4.1.1
Raspberry Pi Specifications
45
Table 4.1.2
46
Table 4.1.3
47
KJIT
[6]
Multipurpose Pi
INTRODUCTION
SDLC
SRS
UML
GUI
KJIT
[7]
Multipurpose Pi
INTRODUCTION
SYMBOLS
E-R Diagram:
Entities:
Attributes:
Relationship:
Link:
Process:
Source:
Data Store:
KJIT
[8]
Multipurpose Pi
INTRODUCTION
System Boundary:
Use Case:
Connectors:
Sequence Diagram:
Actor:
Activation:
Synchronous Message:
KJIT
[9]
Multipurpose Pi
INTRODUCTION
INDEX
Chapter : 1
Chapter : 2
Chapter : 3
Chapter : 4
Abstract
Acknowledgement
List of Figures
List of Tables
Symbols and Abbreviations
Index
INTRODUCTION
1.1 Project Detail
1.1.1 Project Definition
1.1.2 Project Profile
1.2 Purpose
1.3 Scope
1.4 Objective
1.5 Technology and Literature Review
ABOUT THE SYSTEM
2.1 System Requirement Specification
2.1.1 Project Management Approach
2.1.2 Study of Current System
2.1.3 Limitations of Current System
2.1.4 Tools and Technology used
2.1.5 Functionality
2.1.6 Hardware and Software
Specification
2.1.7 Raspberry Pi 2(Latest Version)
2.2 Feasibility Study
2.3 Project Planning
ANALAYSIS
3.1 E-R Diagram
3.2 Use Case Diagram
3.3 Sequence Diagram
3.4 Activity Diagram
3.5 Class Diagram
DESIGN
4.1 Raspberry Pi General Specifications
4.2 Raspbian OS
KJIT
[10]
I
II
III
IV
V
VIII
1
14
14
14
16
16
16
16
19
20
20
21
22
22
24
25
26
27
28
33
35
37
39
41
43
44
45
48
Multipurpose Pi
Chapter : 5
Chapter :6
Chapter :7
INTRODUCTION
58
68
71
73
74
74
75
76
78
79
80
81
81
84
85
86
87
KJIT
[11]
Multipurpose Pi
INTRODUCTION
CHAPTER - 1
INTRODUCTION
KJIT
[12]
Multipurpose Pi
1.
Introduction
1.1
Project Details
INTRODUCTION
XBMC can be used to play almost all popular audio and video formats around. It was designed
for network playback, so you can stream your multimedia from anywhere in the house or
directly from the internet using practically any protocol available. Use your media as-is:
XBMC can play CDs and DVDs directly from the disk or image file, almost all popular archive
formats from your hard drive. XBMC will scan all of your media and create a personalized
library complete with box covers, descriptions, and fan art. There are playlist and slideshow
functions, a weather forecast feature and many audio visualizations. Once installed and
configured, your computer will become a fully functional multimedia jukebox.
NAS :NAS is Network Accessed Storage, one or more Hard Drive connected to the Multipurpose Pi
that provides file-based data storage services and sharing to other devices on the network.
KJIT
[13]
Multipurpose Pi
INTRODUCTION
Controlling Electronic Devices :By connecting the different devices to GPIO (General Purpose Input Output) pins we can
connect almost all types of electronic devices and control them through different mediums
like Keyboard/Mouse, Android Phone, Tablets and Over Internet.
Currently we have connected an LED (Light Emitting Diode) and using android phone to
control it over Wi-Fi.
Web Server :A web server is a system that processes requests via HTTP, the basic network protocol used to
distribute information on the World Wide Web. The most common use of web servers is to
host websites, but there are other uses such as data storage, running enterprise applications,
handling email, FTP, educational purpose for learning in school and collages or other web uses.
Gamming :The emulation machine runs off of a Multipurpose Pi running Retro pie, this allows it to support
various emulators such as NES, SNES, Gameboy, Gameboy Colour, Gameboy Advance, Sega
Genesis, Neo Geo, MAME, PlayStation One and can even emulate an Apple II. It also supports
Python Games which we have practically implemented.
KJIT
[14]
Multipurpose Pi
1.2
INTRODUCTION
Purpose
The system is being created for both public and industrial use.
Anyone can buy low cost device with multiple features compared to computer.
1.3
Scope
This device can be used in home for entertainment, learning and luxury.
This device can work with any kind of display having RCA or HDMI port.
Objective
In todays fast growing world of technology computer and its proper education is very
important. Our proposed project`s motto is to make available an learning platform at
very low cost which could be affordable by each and every one.
Low cost device with multiple features which gives enhancement in automation and
luxury.
1.5
How to set up a simple wired web server on your Raspberry Pi, with PHP and MySql.
The Raspberry Pi is a good choice for a webserver that will not receive too much traffic,
KJIT
[15]
Multipurpose Pi
INTRODUCTION
such as a testing server, or small intranet, as it doesnt get too hot (so is nice and quiet), and
only uses around 5 Watts of power (approx. costing 3.50 a year if it's running 24/7)
http://www.instructables.com/id/Raspberry-Pi-Web-Server/
How to use the HDMI-CEC protocol to control your Pi with your Tv's remote control.
This is very useful because it saves you from having to buy a remote just for your Pi and
also leaves you with an open usb that you would have needed for your wireless keyboard
and mouse.
http://www.instructables.com/id/Raspberry-Pi-Remote-For-Free/
The Raspberry Pi Smart Target was designed to be hit by the now famous Flying Monkey,
but it can be hit by any other light object such as small ball. When the Target is hit the
following events happen:
1. A random sound effect is played through a small set of speakers connected to the
Raspberry Pi.
2. A "congratulations" message is displayed in the front LCD screen.
3. The Raspberry Pi grabs a snapshot from a network camera (Dropcam) and is posted to a
social network.
4. A random message is posted along with the picture taken by the Dropcam.
5. The whole action is immortalized in the interwebz.
http://www.instructables.com/id/Raspberry-Pi-Smart-Target/
This instruct able describes how to build a surveillance cam based on a Raspberry Pi
micro-computer which records HD video when something moves in the monitored area.
Live picture can be viewed from any web browser, even from your mobile while you're on
the road.
What you will get:
See live stream in any web browser from anywhere
Record any motion into video file
KJIT
[16]
Multipurpose Pi
INTRODUCTION
Usually, such a cam will cost you around US$1.000, but with the result from this
intractable, you will get such a cam for only about US$120.
http://www.instructables.com/id/Raspberry-Pi-as-low-cost-HD-surveillance-camera/
KJIT
[17]
Multipurpose Pi
CHAPTER - 2
ABOUT THE SYSTEM
KJIT
[19]
Multipurpose Pi
KJIT
[20]
Multipurpose Pi
KJIT
[21]
Multipurpose Pi
Currently only computers are used for computer education that also not on all places.
Cost of computer is also very high almost three times of Multipurpose Pi.
The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor
or TV, and uses a standard keyboard and mouse
Tools:-
Raspbian is a free operating system based on Debian optimized for the Raspberry Pi hardware.
An operating system is the set of basic programs and utilities that make your Raspberry Pi run.
XBMC can be used to play almost all popular audio and video formats around. It was designed
for network playback, so you can stream your multimedia from anywhere in the house or
directly from the internet using practically any protocol available. Use your media as-is:
XBMC can play CDs and DVDs directly from the disk or image file, almost all popular archive
formats from your hard drive. XBMC will scan all of your media and create a personalized
KJIT
[22]
Multipurpose Pi
library complete with box covers, descriptions, and fan art. There are playlist and slideshow
functions, a weather forecast feature and many audio visualizations. Once installed and
configured, your computer will become a fully functional multimedia jukebox.
SD Formatter 4.0
This software formats all SD memory cards, SDHC memory cards and SDXC memory cards.
SD Formatter provides quick and easy access to the full capabilities of your SD, SDHC and
SDXC memory cards.
The SD Formatter was created specifically for memory cards using the SD/SDHC/SDXC
standards. It is strongly recommended to use the SD Formatter instead of formatting utilities
provided with operating systems that format various types of storage media. Using generic
formatting utilities may result in less than optimal performance for your memory cards.
The SD/SDHC/SDXC memory cards have a "Protected Area" on the card for the SD standard's
security function. The SD Formatter does not format the "Protected Area". Please use
appropriate application software or SD-compatible device that provides SD security function
to format the "Protected Area" in the memory card.
KJIT
[23]
Multipurpose Pi
2.1.5 Functionality:
Media Center :XBMC can be used to play almost all popular audio and video formats around. It was designed
for network playback, so you can stream your multimedia from anywhere in the house or
directly from the internet using practically any protocol available. Use your media as-is:
XBMC can play CDs and DVDs directly from the disk or image file, almost all popular archive
formats from your hard drive. XBMC will scan all of your media and create a personalized
library complete with boxcovers, descriptions, and fanart. There are playlist and slideshow
functions, a weather forecast feature and many audio visualizations. Once installed and
configured, your computer will become a fully functional multimedia jukebox.
NAS :NAS is Network Accessed Storage, one or more Hard Drive connected to the Multipurpose
Pi that provides file-based data storage services and sharing to other devices on the network.
Controlling Electronic Devices :By connecting the different devices to GPIO (General Purpose Input Output) pins we can
connect almost all types of electronic devices and control them through different mediums
like Keyboard/Mouse, Android Phone, Tablets and Over Internet.
Currently we have connected an LED (Light Emitting Diode) and using android phone to
control it over Wi-Fi.
Web Server :A web server is a system that processes requests via HTTP, the basic network protocol used to
distribute information on the World Wide Web. The most common use of web servers is to
host websites, but there are other uses such as data storage, running enterprise applications,
handling email, FTP, educational purpose for learning in school and collages or other web uses.
Gamming :-
KJIT
[24]
Multipurpose Pi
The emulation machine runs off of a Multipurpose Pi running Retropie, this allows it to support
various emulators such as NES, SNES, Gameboy, Gameboy Color, Gameboy Advance, Sega
Genesis, Neo Geo, MAME, PlayStation One and can even emulate an Apple II. It also supports
Python Games which we have practically implemented.
H/w Requirements:
o
Raspberry Pi Model B
Display ( HDMI )
Keyboard
Mouse
Wi-Fi Adapter
S/w Requirements:
o
KJIT
[25]
Multipurpose Pi
1GB RAM
4 USB ports
40 GPIO pins
Ethernet port
Because it has an ARMv7 processor, it can run the full range of ARM GNU/Linux distributions,
including Snappy Ubuntu Core, as well as Microsoft Windows 10 (see the blog for more information).
The Raspberry Pi 2 has an identical form factor to the previous (Pi 1) Model B+ and has complete
compatibility with Raspberry Pi 1.
KJIT
[26]
Multipurpose Pi
Development cost
Operating cost
This is an analysis of the costs to be incurred in the system and the benefits derivable out
of the system.
Time-based study:
This is an analysis of the time required to achieve a return on investments. The future value
of a project is also a factor.
KJIT
[27]
Multipurpose Pi
Operational Feasibility
Operational feasibility is a measure of how well a proposed system solves the problems, and
takes advantage of the opportunities identified during scope definition and how it satisfies
the requirements identified in the requirements analysis phase of system development.
Schedule Feasibility
A project will fail if it takes too long to be completed before it is useful. Typically this means
estimating how long the system will take to develop, and if it can be completed in a given
time period using some methods like payback period. Schedule feasibility is a measure of
how reasonable the project timetable is.
Technical Feasibility
A large part of determining resources has to do with assessing technical feasibility. It
considers the technical requirements of the proposed project. The technical requirements are
then compared to the technical capability of the organization. The systems project is
considered technically feasible if the internal technical capability is sufficient to support the
project requirements.
KJIT
[28]
Multipurpose Pi
At this stage, the project plan may be optimized to achieve the appropriate balance between
resource usage and project duration to comply with the project objectives. Once established
and agreed, the plan becomes what is known as the baseline.
Progress will be measured against the baseline throughout the life of the project. Analyzing
progress compared to the baseline is known as earned value management.
Gantt Charts
Gantt Charts are useful tools for analyzing and planning more complex projects.
Give you a basis for scheduling when these tasks will be carried out
When a project is under way, Gantt charts are useful for monitoring its progress. You
can immediately see what should have been achieved at a point in time, and can
therefore take remedial action to bring the project back on course. This can be essential
for the successful and profitable implementation of the project.
Allow you to plan the allocation of resources needed to complete the project, and help
you to work out the critical path for a project where you must complete it by a particular
date.
When a project is under way, Gantt Charts help you to monitor whether the project is
on schedule. If it is not, it allows you to pinpoint the remedial action necessary to put it
back on schedule.
KJIT
[29]
Multipurpose Pi
Other activities are not dependent on completion of any other tasks. These may be done at any
time before or after a particular stage is reached. These are nondependent or 'parallel' tasks.
Step 1.List all activities in the plan
For each task, show the earliest start date, estimated length of time it will take, and whether it
is parallel or sequential. If tasks are sequential, show which stages they depend on.
Step 2.Set up your Gantt chart
Head - up graph paper with the days or weeks through to task completion.
Step 3.Plot the tasks onto the graph paper
Schedule them in such a way that sequential actions are carried out in the required sequence.
Ensure that dependent activities do not start until the activities they depend on have been
completed.
Step 4.Presenting the analysis
The last stage in this process is to prepare a final version of the Gantt chart. This shows how
the sets of sequential activities link together, and identifies the critical path activities. At this
stage you also need to check the resourcing of the various activities. While scheduling, ensure
that you make best use of the resources you have available, and do not over-commit resource.
Analysis, development and testing of supporting modules are essential activities that must
be completed on time.
KJIT
[30]
Multipurpose Pi
KJIT
[31]
Multipurpose Pi
ANALYSIS
CHAPTER - 3
ANALYSIS
3. Analysis
KJIT
[33]
Multipurpose Pi
ANALYSIS
KJIT
[34]
Multipurpose Pi
ANALYSIS
E-R Diagram
KJIT
[35]
Multipurpose Pi
ANALYSIS
KJIT
[36]
Multipurpose Pi
ANALYSIS
KJIT
[37]
Multipurpose Pi
ANALYSIS
Besides, VP-UML can generate sequence diagram from the flow of events which you have defined in
the use case description.
The Sequence Diagram models the collaboration of objects based on a time sequence.
It shows how the objects interact with others in a particular scenario of a use case.
With the advanced visual modeling capability, you can create complex sequence diagram in few clicks.
Besides, VP-UML can generate sequence diagram from the flow of events which you have defined in
the use case description.
KJIT
[38]
Multipurpose Pi
ANALYSIS
Sequence Diagram
KJIT
[39]
Multipurpose Pi
ANALYSIS
Symbols:
Action state:
It show the internal actions that are executed when in the state.
It typically has an automatic state transaction to another state when its actions have been performed.
Start State:
Stop state:
KJIT
[40]
Multipurpose Pi
ANALYSIS
Activity Diagram
KJIT
[41]
Multipurpose Pi
ANALYSIS
In software engineering, a class diagram in the Unified Modelling Language (UML) is a type of static
structure diagram that describes the structure of a system by showing the system's classes, their
attributes, operations (or methods), and the relationships among objects.
The class diagram is the main building block of object oriented modelling. It is used both for general
conceptual modelling of the systematics of the application, and for detailed modelling translating the
models into programming code. Class diagrams can also be used for data modeling.[1] The classes in
a class diagram represent both the main objects, interactions in the application and the classes to be
programmed.A UML use case diagram for the interaction of a client (the actor) and a restaurant (the
system)
KJIT
[42]
Multipurpose Pi
ANALYSIS
Class Diagram
KJIT
[43]
Multipurpose Pi
DESIGN
CHAPTER 4
DESIGN
KJIT
[44]
Multipurpose Pi
DESIGN
4. Design
4.1 Raspberry Pi General Specifications
4.1.1 Raspberry Pi Specifications
CPU:
CPU speed:
RAM:
Ethernet:
HDMI:
Analog video:
Audio
SD socket:
On-board regulators:
Expansion header pins (GPIO):
USB ports:
Mounting holes:
Dimensions:
Weight:
BCM2835
700 MHz
512 MB
Yes
Yes
Yes
3.5 mm jack
standard SD
linear
26
2
2
3.35 2.2 0.8
40 g
KJIT
[45]
Multipurpose Pi
DESIGN
< 0.40 V 1)
< 0.66 V 2)
< 0.40 V 3)
> 2.40 V 4)
> 2.64 V 5)
> 2.90 V 6)
< 0.80 V 7)
< 0.54 V 8)
< 1.15 V 9)
> 2.00 V 10)
> 2.31 V 11)
> 2.15 V 12)
> 0.25 V 13)
0.66 2.08 V 14)
KJIT
[46]
Multipurpose Pi
DESIGN
Signal
+5V
+5V
GND
GPIO_14
(UART0_TxD)
GPIO_15
GND
10
(UART0_RxD)
GPIO_18
GPIO_17
11
12
GPIO_27 GPIO_21
GPIO_22
+3.3V
GPIO_10
(SPI_0_MOSI)
GPIO_09
(SPI_0_MISO)
GPIO_11
13
15
17
14
16
18
GND
GPIO_23
GPIO_24
19
20
GND
21
22
GPIO_25
(SPI_0_SCLK)
(PCM_CLK)
GPIO_08
23
24
(SPI_0_CE0_N)
GPIO_07
GND
25
26
(SPI_0_CE1_N)
Notes:
1. Signals in plain type are for Rev 2 boards,
Signals for Rev 1 boards are shown in italics.
2. Primary functions for signals are shown in parentheses.
Table-4.1.3: GPIO 26 Pin Header
KJIT
[47]
Multipurpose Pi
DESIGN
4.2 Raspbian OS :
KJIT
[48]
Multipurpose Pi
DESIGN
KJIT
[49]
Multipurpose Pi
DESIGN
KJIT
[50]
Multipurpose Pi
DESIGN
KJIT
[51]
Multipurpose Pi
DESIGN
KJIT
[52]
Multipurpose Pi
DESIGN
KJIT
[53]
Multipurpose Pi
DESIGN
KJIT
[54]
Multipurpose Pi
DESIGN
KJIT
[55]
Multipurpose Pi
DESIGN
KJIT
[56]
Multipurpose Pi
DESIGN
KJIT
[57]
Multipurpose Pi
DESIGN
KJIT
[58]
Multipurpose Pi
DESIGN
KJIT
[59]
Multipurpose Pi
DESIGN
KJIT
[60]
Multipurpose Pi
DESIGN
KJIT
[61]
Multipurpose Pi
DESIGN
Figure-4.3.5: Live TV
KJIT
[62]
Multipurpose Pi
DESIGN
KJIT
[63]
Multipurpose Pi
DESIGN
KJIT
[64]
Multipurpose Pi
DESIGN
KJIT
[65]
Multipurpose Pi
DESIGN
KJIT
[66]
Multipurpose Pi
DESIGN
KJIT
[67]
Multipurpose Pi
DESIGN
KJIT
[68]
Multipurpose Pi
DESIGN
KJIT
[69]
Multipurpose Pi
DESIGN
KJIT
[70]
Multipurpose Pi
DESIGN
4.5 NAS :
4.5.1 Network Attached File Server (NAS)
KJIT
[71]
Multipurpose Pi
DESIGN
KJIT
[72]
Multipurpose Pi
IMPLEMENTATION
CHAPTER 5
IMPLEMENTATION
KJIT
[73]
Multipurpose Pi
IMPLEMENTATION
5. Implementation:
Make code as simple and readable as possible. Assume that someone else will be reading
your code.
Use a separate file for each class, struct, interface, enumeration, and delegate with the
exception of those nested within another class.
Write the comments first. When writing a new method, write the comments for each step
the method will perform before coding a single statement. These comments will become
KJIT
[74]
Multipurpose Pi
IMPLEMENTATION
Use liberal, meaningful comments within each class, method, and block of code to
document the purpose of the code.
Mark incomplete code with // TODO: comments. When working with many classes at once,
it can be very easy to lose a train of thought.
Prefer while and for each over other available looping constructs when applicable. They
are logically simpler and easier to code and debug.
Multipurpose Pi
IMPLEMENTATION
Installing RPi.GPIO
RPi.GPIO is a small python library that take some of the complexity out of driving the GPIO
pins, once install a single LED can be lit with 3 lines of python. Installing the library is almost
as simple, either at a text console or using Terminal enter the following
$ wget http://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.1.0.tar.gz
$ tar zxf RPi.GPIO-0.1.0.tar.gz
$ cd RPi.GPIO-0.1.0
$ sudo python setup.py install
pep8 checks your Python code against some of the style conventions in PEP 8. Perform
style clean-ups on master to help avoid spurious merge conflicts.
pylint analyzes Python source code looking for bugs and signs of poor quality.
Syntactic is a Vim plugin with support for flake8, pyflakes and pylint.
KJIT
[76]
Multipurpose Pi
IMPLEMENTATION
KJIT
[77]
Multipurpose Pi
IMPLEMENTATION
## Ask user for total number of blinks and length of each blink
iterations = raw_input("Enter total number of times to blink: ")
speed = raw_input("Enter length of each blink(seconds): ")
## Start Blink() function. Convert user input from strings to numeric data types and pass
to Blink() as parameters
Blink(int(iterations),float(speed))
KJIT
[78]
Multipurpose Pi
TESTING
CHAPTER - 6
TESTING
KJIT
[79]
Multipurpose Pi
TESTING
Software Testing has a dual function; it is used to identify the defects in program and it is used
to help judge whether or not program is usable in practice. Thus software testing is used for
validation and verification, which ensure that software conforms to its specification and meets
need of the software customer.
Developer resorted Alpha testing, which usually comes in after the basic design of the program
has been completed. The project scientist will look over the program and give suggestions and
ideas to improve or correct the design. They also report and give ideas to get rid of around any
major problems. There is bound to be a number of bugs after a program have been created.
Analyze and check system representations such as the requirements document, design diagrams
and program source code. They may be applied at all stages of the process.
KJIT
[80]
Multipurpose Pi
TESTING
Black-Box Testing
In Black-Box Testing or Functional Testing, Developers are concerned about the output of
the module and software, i.e. whether the software gives proper output as per the
requirements or not. In another words, this testing aims to test behavior of program against
it specification without making any reference to the internal structure of the internal
structure of the program or the algorithms used. Therefore the source code is not needed,
and so even purchased modules can be tested. The program just gets a certain input and its
functionality is examined by observing the output.
KJIT
[81]
Multipurpose Pi
Input Interface
Processing
Output Interface
TESTING
The programs get certain inputs. Then the program does its jobs and generates a certain
output, which is collected by a second interface. This result is then compared to the
expected output, which has been determined before the test.
Performance Testing
Performance testing is design to test the runtime performance of the system within the
context of the system. This test is performed at module level as well as the as at system level.
Individual modules developed by Developers are tested for required performance.
KJIT
[82]
Multipurpose Pi
TESTING
TEST CASES
TEST CASE: Starting, Power Failure, Internet Failure
Sr.
Test Case
Expected Output
Actual Output
Status
Starting Raspberry Pi
Raspbian should
Booting
Pass
with Raspbian OS
completed and
should be loaded
Desktop Loaded
Raspbian should
Booting Done
Reboot (Raspbian)
Desktop Loaded
should be loaded
Message : Use
No
1
Pass
Power Off to
Shutdown
3
Starting Raspberry Pi
with XBMC OS
completed and
should be loaded
Media Centre
Pass
Loaded
4
Reboot (XBMC)
Media Centre
should be loaded
Loaded.
Pass
Message : Use
Power Off to
Shutdown
5
Internet Connection
Running
All applications
Lost
Applications do not
running
successfully.
live streaming
Message:
Pass
Internet Conn
Lost
Table: 6.1.1 Test Case for Starting, Power Failure, Internet Failure.
KJIT
[83]
CHAPTER - 7
CONCLUSION & FUTURE
WORK
- 84 -
7.1 Conclusion:
The development of Multipurpose Pi includes so many people like user system developer, user
of system and the management, it is important to identify the system requirements by properly
collecting required data for its development.
Proper design builds upon this foundation to give a blue print, which is actually implemented
by the developers. On realizing the importance of systematic documentation all the processes
are implemented using a software engineering approach.
Working in a live environment enables one to appreciate the intricacies involved in the System
Development Life Cycle (SDLC) with Water fall model.
The Multipurpose Pi is developed using embedded system Raspberry Pi and Open Source tools.
The Project provide a credit card sized computer with multiple features which can be used as
both public utility model and commercial utility model.
The system includes mainly 5 modules:
(i)
Media Center
(ii)
Web Server
(iii)
(iv)
(v)
Gamming
We have gained a lot of practical knowledge from this project, which we think, shall make us
stand in a good state in the future.
- 85 -
- 86 -
REFRENCES
1. Raspberry Pi Official Website
http://www.raspberrypi.org/
We got the startup and basic guide to achieve this successful completion of project.
2. Raspberry Pi Forum
We got help from the developer all over the world by this forum.
http://www.raspberrypi.org/forums/
3. Source forge
We got many open source tools and softwares from source forge like SD card formatter,
win32 disk writer etc.
http://www.sourceforge.net/
4. Instructables
We got ideas and help to understand the procedures easily from this tutorial website.
http://www.instructables.com/
5. Google
Last but not least, without Google we could not think to resolve our problems we faced. We
surfed thousands of website through it to successfully complete the project.
http://www.raspberrypi.org/documentation/usage/gpio/
- 87 -