SuiteTV

advertisement
SuiteTV:
IPTV Solution for Sports Stadium Suites
ECE4007 Senior Design Final Project Report
Section L01, VIP Team
Project Advisors: Dr. David Keezer & Dr. Randal Abler
Alyssa Freeman
Mohamed Himedan
Richard Reece
Peter VanNess
Submitted
May 5, 2011
Table of Contents
Executive Summary
ii
Introduction
1
1.
1.
2.
Objective
Motivation
1
2
2.
Project Description and Goals
2
3.
Technical Specification
3
Quantitative Specifications
Qualitative Specifications
3
4
Design Approach and Details
4
1.
2.
4.
1.
2.
3.
Design Approach
Codes and Standards
Constraints, Alternatives, and Tradeoffs
4
13
14
5.
Schedule, Tasks, and Milestones
15
6.
Results and Acceptance Testing
16
7.
Marketing, Budget, and Cost Analysis
17
Marketing Analysis
Budget and Cost Analysis
17
18
8.
Conclusions and Future Work
20
9.
References
22
1.
2.
Appendix A
Appendix B
Appendix C
Appendix D
Appendix E
Appendix F
Appendix G
Appendix H
23
24
25
29
30
31
32
33
i
Executive Summary
Georgia Tech Athletics Association has tasked the Vertically Integrated Projects (VIP)
eStadium team to design and prototype an Internet TV set-top box known as SuiteTV as a part of the
Suite of the Future. Currently, the suites have aging CRT TVs that are only capable of standarddefinition video.
SuiteTV equips the suites with state-of-the-art technology that provides an experience
comparable to new stadiums. SuiteTV displays an interactive menu that includes options to view a
live video feed, the eStadium web page, the Ramblin’ Wreck Store web page, and a weather
application. A wireless Wii remote and an LED emitter bar provide a simple interface to the menu.
SuiteTV supports multicast streaming for the live video feed. Currently no existing consumer products
provide the features that SuiteTV delivers.
The hardware of SuiteTV is a custom-built PC with an Asus AT5IONT-I motherboad, 2GB
Kingston RAM and 30GB SSD drive. The software is a Fedora x64 operating system. XBMC media
center serves as both an on-screen menu and manager for the multimedia content.
All project goals were met by the VIP senior design group. SuiteTV met technical
specifications, namely supporting HD video and multicast streaming, and temperature endurance
requirements. The customer requirements of having a silent, minimal maintenance device were met by
using hardware with no moving parts. Cost requirements were met; SuiteTV costs $401.29 in
hardware per unit. The following cost projections for a production run are based on an estimate of
installing 50 SuiteTVs in a stadium at a rate of one stadium per year. The hardware cost is $401.29 per
unit. The total cost for the production run is $124,319.58, which yields a net profit of $50,680.42 for a
sales price of $700. The per unit profits are $202.72 or 28.96%.
ii
SuiteTV: IPTV Solution for Sports Stadium Suites
1
Introduction
Georgia Tech Athletics Association tasked the Vertically Integrated Projects (VIP) eStadium
team to design and prototype an Internet Protocol TV set-top box known as SuiteTV as part of the
Suite of the Future. The SuiteTV senior design team took a total of 510 hours to design, test, and build
the SuiteTV prototype at a cost of $24,407.86.
1.1
Objective
eStadium is a student driven academic research program that develops new technologies for
sports stadiums. Currently, eStadium provides a mobile application that offers instant replays, a drive
tracker, live stats, and other content on game day. SuiteTV is part of an eStadium initiative known as
Suite of the Future that aims to upgrade the suites of Georgia Tech Athletics’ sporting facilities. The
goal of SuiteTV is to bring multimedia content, including the JumboTron feed and the eStadium
website, to a high-definition TV located in a suite.
Figure 1. SuiteTV and existing eStadium architecture.
1
1.2
Motivation
Georgia Tech Athletics asked the VIP eStadium team to develop a prototype that implements
cutting edge media technology into the suites at Bobby Dodd Stadium. Currently, the suites only have
aging CRT TVs capable of standard-definition video. The Suite of the Future team aimed to deliver an
interactive experience for suite attendees, providing live game video and web content for instant
replays and other applications. SuiteTV brings this experience to Bobby Dodd, the oldest Division I
football stadium, making it competitive with newer stadiums.
2
Project Description and Goals
SuiteTV is a set-top box with integrated Internet capability that is designed specifically to
deliver sports content to luxury suites. It has an interactive menu that includes options to display a live
video feed and the eStadium web page. A wireless remote control provides a simple interface to the
menu. All the design goals of the SuiteTV set-top box were met and are listed below:
● Intuitive graphical user interface (GUI)
● Simple wireless controls
● Ability to display live HD video stream
● Support multicast streaming
● Runs on a Linux-based platform
● Low noise/maintenance-free (fan-less)
● Able to operate in extreme summer heat (3.5 hours at 90°F)
● Costs less than $500 to produce
2
3
Technical Specifications
3.1
Quantitative Specifications
Table 1. Quantitative Specifications
Specification
Target
Actual
Sustainability
Uninterrupted Operation at 90 °F 3.5 hours continuous run-time
> 3.5 hours
Hardware
Motherboard
Cooling
Fan-less
Fan-less
Networking
1 Gbps Ethernet
1 Gbps Ethernet
Output
HDMI
HDMI
Dedicated
Memory
Minimum of 128 MB
512 MB
2GB DDR3
2 GB
Type
Solid-state
Solid-state
Capacity
16 - 64 GB
30 GB
Interface
SATA
SATA
Power Supply
90 - 120 W
102 W
Case
Maximum 30.5 cm x 30.5 cm
x 15.25 cm
19.2 cm x 21 cm x 6.2 cm
User Interface Device
Wireless Remote Control
Wii Remote Control
Weight
< 15 lbs
4 lbs
Linux- based
Fedora x64
Video
RAM
Hard drive
Software
Operating System
3
Performance
3.2
Resolution
1080p (1920 x 1080 pixels)
1080p (1920 x 1080 pixels)
Frame Rate
30 frames per second
Met
Qualitative Specifications
The following qualitative specifications were evaluated on a boolean scale, either they met the
proposed specification or they did not.
Table 2. Qualitative Specifications
Specification
Proposed
Actual
Menu system usability
Intuitive
Met
Video playback
Smooth
Met
Case ventilation
Well ventilated
Met
4
Design Approach and Details
4.1
Design Details
The specific software installation instructions for installing all software, can be found in
Appendix D.
Hardware Selection Process
The team investigated hardware options to meet the specific requirements of SuiteTV. The
motherboard requirements include the following:
● Capable of decoding and displaying 1080p video
● Fan-less design
● 1 Gbps Ethernet
4
● Cost less than $500
The team researched the hardware requirements needed to decode 1080p video, but discovered
that 1080p is a description of the abilities of a display, not the capabilities of the device rendering the
video. Given this, the team needed to determine the minimum hardware requirements needed for
1080p playback to adhere to the fan-less, low power design constraint. The team performed testing on
a variety of computing platforms to get a baseline for processing power required to decode a 1080p
video compressed with the H.264 video codec. For preliminary testing, the team tested HD video
playback on available hardware platforms including: an Advantech PCM-9371 single-board-computer,
a 2009 ASUS EEE PC netbook, a 2008 ASUS GV50VT gaming laptop, and a 2008 Apple MacBook
(MB467xx/A). The Advantech and ASUS netbook were not even powerful enough to display 720p
video. The other two platforms could play the 1080p video without problems.
The SuiteTV needed to have a low power, low heat processor to reduce the power consumption
so that a fan-less design was possible. A low power CPU alone cannot handle 1080p video decoding.
A GPU with video decoding capabilities is needed to decode the video allowing the system to have a
low power CPU. To keep in line with the team’s goal of having SuiteTV run free, open source
software, an NVIDIA GPU was required as they provide Linux drivers.
For further testing, the team took a bootable flash drive with Fedora to Fry’s Electronics and
performed tests on multiple other platforms as seen in Table 3.
5
Table 3. Features of tested hardware platforms.
Features
Dell Inspiron
Mini 10
HP Mini 110
Lenovo Q150
ASUS EeeBox PC
EB1012B
Processor
Intel Atom N450
Intel Atom N455
Intel Atom
D510
Intel Atom D510
GPU
Intel NM10
Intel GMA 3150
NVIDIA ION
NVIDIA ION 2
Connections
VGA
VGA
HDMI, VGA
HDMI, VGA
NIC
10/100 Mbps
10/100 Mbps
10/100 Mbps
10/100/1000 Mbps
The team decided to go with an ASUS AT5IONT-I motherboard because it has a fan-less
design, Gigabit Ethernet, the latest low power NVIDIA GPU, and a low power Intel Atom D525
processor.
Hardware
The hardware of SuiteTV is a custom-built PC. The motherboard is a standard Mini-ITX
ASUS AT5IONT-I with an integrated Intel Atom D525 processor and NVIDIA Next Generation ION
graphics processor [3]. The motherboard uses 2 GB of compatible DDR3 RAM and a 30 GB internal
solid-state hard drive. A 102W power supply was used for the original SuiteTV build. This was
kfound to have greater power than the SuiteTV required. Since then, the team has decided that a 60W
supply is sufficient for future builds. Since the motherboard doesn’t have a built-in Bluetooth reciever,
an external one must be used to communicate with the Wii remote. The IOGEAR GBU421W6 USB
Bluetooth dongle was selected for its known Linux support and small size. The Bluetooth receiver and
sensor bar connect to the motherboard via USB as seen in Figure 2.
6
Figure 2. Diagram of hardware component layout.
As shown in Figure 3, the set-top box takes three inputs: a USB Bluetooth receiver, 102W power
supply, and USB connection to IR emitter. The set-top box uses an HDMI cord to output to an HDTV.
Figure 3. Cabling and placement diagram.
7
Software Selection Process
If SuiteTV is deployed in Bobby Dodd, each HDTV in each of the approximately 70 suites
would need its own SuiteTV. Given the fact that a Windows operating system license cost
approximately $150, a stadium wide deployment of SuiteTV at Bobby Dodd stadium using Windows
would result in an additional cost of 70 x $150 = $10,500. To eliminate software licensing fees, the
team investigated free, open source operating systems. SuiteTV also needed to be compatible with the
eStadium server, which runs on a Linux operating system. For these reasons, the team narrowed the
options down to Ubuntu and Fedora, and ultimately decided to use Fedora x64 because it was the
team’s technical advisor's preference.
In order to completely eliminate any licensing fees, the team researched open source media
players for the SuiteTV GUI. The team narrowed the search down to two media players: MythTV and
XBMC. SuiteTV required a GUI with the ability to play HD video, call a web browser, stream
multicast video, and have customizable themes. Table 4 compares the main features of XBMC and
MythTV.
Table 4. XBMC vs. MythTV GUI Comparison
SuiteTV Requirement
XBMC
MythTV
Smooth HD video playback
✔
✗
Embedded Web Browser
✗
✔
Multicast Streaming
✗
✔
Customizable Theme
✔
✔
Although MythTV met three of the four SuiteTV GUI requirements, the most critical, smooth
HD video playback, was not met. As a result, XBMC was chosen as the SuiteTV GUI.
Software
8
SuiteTV runs on a Fedora x64 operating system. XBMC serves as both an on-screen menu
system and multimedia manager. The theme was customized to include four options: JumboTron,
eStadium, Store, and Weather. The JumboTron option plays out a live streaming video feed, meant to
imitate the JumboTron video feed. The eStadium and Store options access the following websites
respectively, estadium.gatech.edu and ramblinwreckstore.com. Screenshots of the SuiteTV menu and
different menu options is shown in Figure 4.
Figure 4. SuiteTV GUI Screenshots.
XBMC supports http streaming, but does not inherently support multicast streaming. In order
for the JumboTron feed to be streamed through XBMC, a multicast streaming solution was needed.
One solution was to convert the incoming multicast video stream into an HTTP video stream that can
be played by XBMC. The team discovered that Video Lan Client (VLC), a free, open source
multimedia player that has the ability to receive and re-stream video over various protocols. VLC was
used as a relay to receive a multicast video stream and rebroadcast it as an HTTP stream to XBMC as
shown in Figure 5.
9
Figure 5. Multicast solution: VLC relay to XBMC.
The eStadium application is web based and therefore requires a web browser to be accessed.
Since XBMC does not have an embedded web browser, a python script was written to launch an
external web browser. When the python script executes, XBMC minimizes and an external web
browser is launched to the specified home page. This solution was used for both the eStadium and
Store menu options.
An embedded weather application is included in the standard installation of XBMC. The
SuiteTV team decided to keep this application accessible from the SuiteTV menu as it adds
functionality for free.
Remote Control Selection Process
The team explored two technologies for the SuiteTV remote control: Infrared (IR) and
Bluetooth. IR remotes have the ability to control multiple devices at once, which is undesirable in the
suites. The team tested an IR remote in the suites of Bobby Dodd and discovered that one remote
could control multiple TVs, even TVs in adjacent suites that are separated by glass walls. Bluetooth
devices, including remotes, only communicate with one device once paired, eliminating the problem of
multiple controllers, as seen in Figure 6. It was determined that Bluetooth was the better solution for
the SuiteTV due to its pairing mechanism.
10
Figure 6. IR remote vs. Bluetooth remote functionality in football suites.
Since the SuiteTV’s motherboard doesn’t have a built-in Bluetooth reciever, an external one
must be used to communicate with the remote. The IOGEAR GBU421W6 USB Bluetooth dongle was
selected for its small size and known Linux compatibility.
Another concern of the remote is its simplicity. A user must be able to use the remote without
instruction. This requires the remote to have an intuitive mapping to the GUI with few buttons. The
team compared three universal remote controls: the Universal Electronics NevoSL, the Pronto NG
Home Theater Control Panel, and the Logitech Harmony 890. While these offered the Bluetooth
functionality needed, they did not provide the desired simplicity. The first two have touch screens,
which eliminates the problem of having too many buttons, but adds a new concern of power
consumption. The last one was deemed too complex for SuiteTV as it had too many buttons.
Evaluating the first two, the team determined neither was a good option for SuiteTV as their costs
exceeded the alotted $100.
The Wii remote has been used in home theater applications because of its ease of customization
and use of both IR and Bluetooth technologies to provide intuitive control over devices. The team
explored the intellectual property implications of using the Wii remote with SuiteTV, and after
11
consulting with an expert faculty member, decided it was acceptable to use without infringing on any
intellectual property.
Remote Control
The Wii remote was chosen as SuiteTV’s remote control for its built in bluetooth functionality,
its simplicity, and cost. The Wii remote has only 11 buttons, which can be mapped to keyboard and
mouse keys. This simplicity allows a first-time user to use SuiteTV without any instruction. The Wii
remote will communicate these keystrokes to SuiteTV via Bluetooth and give mouse functionality
through its IR receiver. The Wii remote and dongle have a combined cost of $40, which meets the
team’s $100 limit.
IR Emitter
The team planned to use just the Wii remote’s built-in accelerometer for navigating the
browser, but discovered that the motions required for controlling using these movements were not
intuitive. Scrolling up and down required a tilting motion and scrolling right and left required a rolling
motion. For this reason, the team explored the function of the Wii Sensor Bar in Nintendo’s gaming
system. This device is actually an IR emitter, with ten IR LEDs, five on each side. The Wii remote has
an IR reciever that maps movements in the X-Y plane by comparing the location of the Wii remote to
the two IR sources on the Sensor bar. The Wii Sensor bar connects to the Nintendo Wii via a
proprietary connection, which cannot be replicated on the SuiteTV. For this reason, the team decided
to build its own IR emitter.
The IR emitter used for the SuiteTV currently has four LEDs, two on each side. This emitter is
a simple circuit of two LEDs in series with a resistor, as seen in Figure 7. This circuit receives power
from a USB port on the SuiteTV.
12
Figure 7. Circuit Schematic of one side of the IR emitter bar
In order to supply power to the LEDs, 5V power was taken from a USB connection to the
SuiteTV. The following wire diagram was used to determine the correct wires to solder to the board.
Figure 8. USB wiring diagram.
4.2
Codes and Standards
SuiteTV uses standard Gigabit Ethernet based networking to receive a video stream and access
web content. Gigabit Ethernet is a well-known standard that is used by most new computers for LAN
communications. Gigabit Ethernet is formally defined by IEEE 802.3ab [4].
To get audio and video to a TV, SuiteTV will use an HDMI output. HDMI is currently the
industry standard means of connecting media deices to TVs [5].
The Nintendo Wii Remote uses Bluetooth as a communication protocol. Bluetooth is defined
by IEEE 802.15.1 [6].
13
4.3
Constraints, Alternatives, and Tradeoffs
Constraints
The main design criteria given to the VIP senior design team by Georgia Tech Athletics
include:
● Minimal maintenance: no moving parts
● Device fits behind a flat-screen HDTV
● Capable of continuous operation in summer heat (maximum temperature of 90 °F)
● Capable of displaying 1080p video at 30 frames per second
● Capable of receiving a high-definition video stream
Alternatives
Apple TV and Google TV were considered as alternatives for the hardware of SuiteTV. These
options would require modifications to the existing software products to meet SuiteTV’s design
requirements. It was determined that modifying the existing systems was not a viable option due to
legal concerns. Additionally, AppleTV does not support SuiteTV’s 1080p video playback
specification. The remaining options were to either build a small computer on a component-bycomponent basis or purchase a pre-built computer. Currently, there are no pre-built computers on the
consumer market that meet all of the design specifications of SuiteTV. For this reason the VIP team
chose to build a custom computer component-by-component to meet all the design specifications.
The way a user interfaces with SuiteTV needs to be simple and intuitive. A first-time user
must be able to operate the system without instruction. Since SuiteTV is a computer based device, an
obvious choice would be to use a keyboard and mouse. This option was avoided because it is overly
14
complex. It was determined that a simple wireless remote control is sufficient to navigate SuiteTV’s
menu.
Tradeoffs
● Power consumption vs. capable performance
● Fan-less design vs. alternative cooling
● Unicast vs. multicast
There are two main ways in which IPTV streams data to consumers: multicast and unicast.
Unicast streaming involves a one-to-one connection between client and server. The main drawback of
unicast streaming is each client that connects to the server requires additional bandwidth [1]. Multicast
streaming is a broadcast-based alternative in which there is no explicit connection between the clients
and server. The server transmits only one stream which is then replicated by multicast-enabled routers
throughout the network. Multicasting reduces network congestion because it uses a fixed amount of
bandwidth regardless of the number of client connections. This reduced bandwidth can only be
achieved on a network where all components support multicasting, which is not the case over the
Internet [2]. For this reason, multicasting is ideal for streaming video feeds, such as the JumboTron,
on a LAN to multiple clients in the suites of Bobby Dodd Stadium.
5
Schedule, Tasks, and Milestones
Table 5 shows the major tasks in bold and milestones in italics.
15
Table 5. Major Tasks and Milestones
6
Task Name
Duration
End Date
Proposal
8 days
2/21/11
Proposal Due
0 days
2/21/11
Hardware
11.5 days
2/28/11
Hardware Assembled & Working
0 days
2/28/11
Software
46 days
4/17/11
Install Fedora
1 day
2/28/11
Configure Fedora
43 days
4/17/11
Software Installed & Configured
0 days
4/17/11
Remote Control
38 days
4/14/11
Remote Control Operational
0 days
4/14/11
Configure Stream Server
1 day
4/14/11
Testing/Bug Fixing
12 days
4/25/11
Implementation Success
0 days
4/18/11
Demonstration Preparation
11 days
4/27/11
Demonstration
0 days
4/27/11
Final Presentation
0 days
4/27/11
Results and Acceptance Testing
The final demonstration of SuiteTV occurred on April 27th, 2011 in the VIP Arbutus Lab (Van
Leer 465). Dr. Randy Abler & Dr. Edward Coyle of VIP, Dr. David Keezer of ECE, and Kyle Shields
& Dan Goldberg of the Georgia Tech Athletics Association (GTAA) were present for the final
demonstration. SuiteTV was connected to an LG HDTV via an HDMI cable and the Internet via a
CAT-5 network cable. The functionality of SuiteTV was verified by the following test procedure:
16
1. SuiteTV was powered on and a Fedora x64 operating system was displayed on the HDTV
2. The XBMC application was launched, and the SuiteTV menu was displayed
3. The menu was traversed through using a Wiimote
4. The remote was handed off to a first-time user to gauge intuitiveness, and the user was able to
navigate SuiteTV without instruction
5. For each of the menu options the following occurred:
a. When the JumboTron option was selected, SuiteTV displayed a live HD (720p) video
feed
b. When the eStadium option was selected, XBMC was minimized and an external web
browser was opened to the eStadium website (estadium.gatech.edu)
i.Upon calling the web browser the wiimote’s mouse functionality was enabled
ii.Upon closing of the web browser the wiimote’s mouse funcationality was disabled
c. When the Store option was selected, SuiteTV XBMC was minimized and an external
web browser was opened to the Ramblin Wreck Store website (ramblinwreckstore.com)
i.Upon calling the web browser the wiimote’s mouse functionality was enabled
ii.Upon closing of the web browser the wiimote’s mouse funcationality was disabled
d. When the Weather option was selected, SuiteTV launched an internal XBMC weather
application
7
Marketing, Budget, and Cost Analysis
7.1
Marketing Analysis
Marketing
SuiteTV is a product prototype that can be combined with any high-definition TV or monitor to
provide enhanced content to the users. The target market for this product is collegiate and professional
17
sports stadiums. SuiteTV is currently customized for Georgia Institute of Technology’s Bobby Dodd
Stadium and will be used to display the JumboTron feed, eStadium website, Ramblin Wreck Store
website, and weather. In the future, SuiteTV can be used to display other web content such as stock
market feeds and news feeds.
Similar Products
Currently no existing consumer products provide the streaming video, web access, and wireless
interface that SuiteTV aims to deliver. Table 6 shows some products that are currently on the market
that are similar to SuiteTV.
Table 6. Similar Consumer Products
Product Name
Apple TV [7]
Roku XDS [8]
Logitech Revue with
Google TV [9]
No
No
Yes
Wireless Remote
Wireless Remote
Wireless Keyboard and
Trackpad
$99.99
$99.99
$299.99
720p
1080p
1080p
Networking
10/100 Base-T,
802.11a/b/g/n
10/100 Base-T,
802.11a/b/g/n
10/100 Base-T,
802.11b/g/n
Size
3.9” x 3.9” x .9”
4.9” x 4.9” x 1.2”
9.7” x 6.7” x 1.4”
.6 lbs
.5 lbs
1.3 lbs
Integrated Web Browser
Human Interface
Price
Maximum Resolution
Weight
7.2
Budget and Cost Analysis
Prototype Cost of Development
Table 7 below summarizes the cost of development for the SuiteTV. It is assumed that
development will require a qualified engineer making $30 per hour. A breakdown of the hardware
cost can be found in Appendix B.
18
Table 7. Development Cost Breakdown
Project Component
Labor Hours Labor Cost Equipment Cost
Total Component Costs
Hardware Assembly
10
$300.00
$326.39
$662.30
Operating System Installation
20
$600.00
$600.00
Operating System Configuration
70
$2,100.00
$2,100.00
Install GUI
40
$1,200.00
$1,200.00
Configure GUI
110
$3,300.00
$3,300.00
Integrate Remote
70
$2,100.00
$38.99
$2,138.99
Demonstration Preparations
40
$1,200.00
$1,200.00
Weekly Meeting with Advisor
30
$900.00
$900.00
Lecture
120
$3,600.00
$3,600.00
TOTAL LABOR
510 $15,300.00
TOTAL PART COST ($)
$401.29
Fringe Benefits
$3,825.00
Overhead
$4,881.57
PROJECT TOTAL
$24,407.86
Production Cost Projection
The following cost projections are based on an estimate of installing 50 SuiteTVs in a stadium
at a rate of one stadium per year. Given this, a total of 250 SuiteTVs will need to be made for this
production run. It is typical for hardware manufacturers to offer bulk discounts on hardware they
produce. An expected 25 percent discount per unit would yield a projected hardware cost of roughly
$300 per unit.
Hardware assembly should only require minimal skill as there are few components to put
together, none of which require any special training to install. The team estimates that five SuiteTVs
can be assembled per hour. Software installation should be a relatively automated process of copying
an install image to the SuiteTV’s hard drive. It should be possible to do the hard drive imaging in
parallel with the hardware assembly by the same person that is assembling the hardware so there is
effectively no additional cost. Table 8 shows the production run cost break down
19
Table 8. Production Run Costs
Production Run Components Component Cost
Development Cost
$24,407.86
Hardware Cost
$75,241.88
Labor Cost
$3,750.00
Fringe Benefits
$937.50
Overhead
$19,982.34
TOTAL
$124,319.58
The total cost for the production run is $124,319.58 which yields a net profit of $50,680.42 for
a sales price of $700. Dividing the net profit by the number of units produced results in a per unit
profit of $202.72 or 28.96 percent.
8
Conclusions and Future Work
A SuiteTV prototype has been developed which satisfies the aforementioned design
constraints. The Suite of the Future project and SuiteTV prototype have been presented to the Georgia
Tech Athletics Association for approval. Currently, the team is preparing for potential in-suite trial
deployment within a year.
SuiteTV future work should mainly focus on tailoring the SuiteTV software, namely XBMC, to
the features requested by Georgia Tech Athletics Association. Two outstanding issues which are
required to enhance the user experience per expectations are:
● Develop native support for multicast streaming in XBMC
○ Remove VLC relay between multicast stream and XBMC
● Develop a web browser embedded within XBMC
○ Eliminate need to minimize XBMC and launch external web browser
As home theater PCs become more popular and as the technology advances the availability of
SuiteTV- compatible hardware will increase. Eventually, with this in mind, it will be feasible to
replace custom hardware solutions with pre-built solutions for increased ease of implementation. In
20
addition, hardware developed for the IR emitter bar should, in the future, be developed more fully to
include a housing for the hardware and a more aesthetic design.
Currently, the prototype hardware is ready to be deployed. The prototype software (XBMC
configuration/modifications) is not yet ready to be deployed and should go through a more rigorous
and thorough development. The GUI can be further customized by tailoring the options to the
customer’s needs.
21
9
References
[1]
Microsoft Support. (2005, Nov. 5). Differences Between Multicast and Unicast [Online].
Available: http://support.microsoft.com/kb/291786
[2]
Networkguruz. (2008, May 31). What is unicast, broadcast and multicast? [Online]. Available:
http://www.networkguruz.com/networking-basics/what-is-unicast-broadcast-and-multicast/
[3]
ASUSTek Computer, Inc. (2010, July) AT5ION-I Motherboard Manual [Online]. Available:
http://dlcdnet.asus.com/pub/ASUS/mb/Intel_CPU_Onboard/AT5IONT-I/E5277_AT5IONI_Series.pdf
[4]
IEEE 802.3 Ethernet Working Group, IEEE 802.3, 2011.
[5]
HDMI Licensing, LLC. HDMI Licensing Knowledge Base [Online]. Available:
http://www.hdmi.org/learningcenter/kb.aspx
[6]
IEEE Standard for Local and Metroplitan Area Networks, IEEEStd 802.15.1™, 2002.
[7]
Apple, Inc. (2011, February) Apple TV Technical Specifications. [Online]. Available:
http://www.apple.com/appletv/specs.html
[8]
Roku, Inc., Roku Player Products, 2011. [Online]. Available: http://www.roku.com/rokuproducts#2
[9]
Logitech International S.A. (February, 2011) Logitech Revue with Google TV. [Online].
Available: http://www.logitech.com/en-us/smartTV/revue
22
Appendix A
Figure A1. Updated Gantt chart to reflect actual project milestones and completion dates.
23
Appendix B
Table B1. Hardware Cost Breakdown
Hardware Costs
Component
Motherboard
Ram
Case & Power Supply
Solid-State Hard
Drive
Model
ASUS AT5IONT-I
Kingston KVR1066D3S7/2G
Mini-box M350 Case & picoPSU-80 & 60W
Adapter Power Kit
Unit Price
$ 179.99
$ 22.99
Quantity Price
1 $ 179.99
1 $ 22.99
$ 69.00
1
$ 69.00
Kingston SNV125-S2/30GB
$ 75.99
1
$ 75.99
Bluetooth Receiver
IPGEAR GBU421 Bluetooth Micro Adaptar
$ 12.59
1
$ 12.59
Wireless Bluetooth
Remote
Nintendo Wii Remote Plus Black
$ 38.99
1
$ 38.99
IR Emitter Bar
2 x 75Ohm Resistors + 4 x IR LEDs + USB
Cable
$
1
$
Total
1.74
1.74
$ 401.29
24
Appendix C - SuiteTV Software Installation Instructions
NOTE: These instructions were written for a member of the VIP eStadium team but all files
mentioned can be found on the Senior Design Team’s website.
1. Obtain live CD image of Fedora-14 x64 <http://fedoraproject.org/en/get-fedora-options>
2. Configure bios to boot CD-ROM
a. Before loading live CD, configure bios to load CD-ROM
b. If USB flash drive is desired, this can be done see online examples
3. Boot computer
4. Click Install to Hard Drive (on desktop)
a. next (to begin)
b. next (accepting English as the language)
c. leave the basic storage devices radio button selected and click next. If the hard disk is new you
may be prompted to initialize it (Click Re-Initialize All).
d. enter “SuiteTVXXX” for the hostname where XXX is a unique number
e. Accept the default time zone of New York and uncheck the “System clock uses UTC”
checkbox
f. enter a secure root password for the purposes of the demo box “vipteam” was chosen as the root
password
g. leave the default radio button of “use all space” selected and click next and leave the
checkboxes unchecked. (if there was a previous OS install the default option may be something
other than Use All space). Click next. If prompted select “write changes to disk” to wire agree
to partitioning the hard drive
h. Click close to exit the install wizard
i. Eject the cd and restart the computer
5. The computer should boot to a welcome screen that finishes the installation process
a. press “forward” to get past the welcome screen
b. press “forward” to agree to the license
c. choose a USERNAME (for the purposes of the demo box “vipteam” was chosen as the
USERNAME). Set the Full Name to “SuiteTV”. select a password (or the purposes of the demo
box “vipteam” was chosen as the password). click “forward” to continue. if prompted agree
“yes” to a weak password.
d. set the time and date and click “forward”
e. leave the default radio button of “do not send” for the hardware profile and click “finish”. If a
dialog pops up say “No, do not send.”
6. You should now be at the login prompt
a. login using the password that was chosen for your USERNAME
7. The first order of business is to disable SELinux
a. open a terminal [Applications->System Tools->Terminal] (this launcher can be dragged to
system panel for quicker access).
b. enter su -c ‘vi /etc/selinux/config’ to edit the SELinux configuration
c. find the line that says SELINUX=enforcing and change it to SELINUX=disabled
d. reboot the computer
25
At this point Internet connectivity is assumed to exist.
1. The system boot menu GRUB now needs to be configured so Fedora can be booted without xWindows
so that the NVIDIA graphics driver can be installed.
a. open a terminal [Applications->System Tools->Terminal]
b. enter su -c ‘vi /boot/grub/grub.conf’ to edit the GRUB boot menu configuration file (you will
be prompted for the root password when this command is executed)
i.change the line that says “timeout=0” to “timeout=10” to allow time to edit boot commands
when the system starts
ii.comment out the line “hiddenmenu” by adding a “#” to the beginning of the line
iii.add “nomodeset” to the end of the kernel line, save the document and reboot
iv.upon reboot you should be prompted with the GRUB boot menu, press “a” modify the
kernel arguments and add space and “3” to the end of the line and press enter to start
the boot process
v.enter the USERNAME and password
vi.enter su -c 'yum install gcc make wget kernel-devel-2.6.35.6-45.fc14.x86_64'. this
command assumes that you are running kernel version 2.6.35.6-45. this can be verified
by running uname -r to see the running kernel version.
vii.to download the NVIDIA driver, run “wget http://us.download.nvidia.com/XFree86/Linuxx86_64/XXX.YY.ZZ/NVIDIA-Linux-x86_64-XXX.YY.ZZ.run”, where XXX.YY.ZZ
is the version of the NVIDIA driver that is desired (at this time most recent version is
270.41.06).
viii.to install the driver run “su -c 'sh NVIDIA-Linux-x86_64-260.19.21.run’”
1. Accept the license
2. Answer yes to install the 32-bit OpenGL libraries
3. select “yes” to run the nvidia-xconfig utility, and select “ok”
ix.enter “reboot” to reboot the computer
x.audio doesn’t work automatically under Fedoar
1. add the following to the file /etc/modprobe.d/sound.conf options snd-hda-
intel enable_msi=0 probe_mask=0xffff,0xfff2
2. reboot
3. System -> Preferences -> Sound, Output tab, select the HDMI option
At this point the NVIDIA driver should be installed on the system and audio should work
1. To install XBMC the free RPM fusion sources must be added to Fedora’s Source list
a. temporarily switch to root (enter “su” and the root password)
b. as root, run ‘rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-releasestable.noarch.rpm’, and ‘rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusionnonfree-release-stable.noarch.rpm’
c. still as root, enter “yum install xbmc”. if prompted enter yes to accept the key of the source, and
then type exit to leave root
26
At this point XBMC should be installed on the system
1. To install VLC for the VLC relay type type “su -c ‘yum install vlc’”
At this point VLC should be installed
1. To install the wiimote drivers type “su -c ‘yum install cwiid-wminput’
a. configure the ir_ptr file to work with SuiteTV
i.copy the ir_ptr file from SVN to /etc/cwiid/wminput/ . Make sure the file permissions are
correct.
b. to make the wiimote daemon start on boot automatically a boot-up script must be installed
i.from SVN copy the “wiimote” file to /etc/init.d/ . Make sure that you do this as root so that
the file permissions are correct. also make sure the scipt is executable
ii.in /etc/rc5.d/ make a link to the wiimote. this will call the wiimote script when the SuiteTV
is powered on.
1. cd /etc/rc5.d/
2. su -c ‘ln -s ../init.d/wiimote S90wiimote’
At this point the wiimote should be configured to operate on boot-up
1. To have XBMC and VLC start automatically they must be added to a list of Startup Applications
a. On the system menu bar click “System -> Preferences -> Startup Applications”
b. for VLC
i.click the add button
ii.in the Name field type VLC Relay
iii.add the following to the command field /usr/bin/vlc udp://@224.0.0.1:54321 --sout
’#standard{mux=ps,dst=,access=http}’ &
iv./usr/bin/vlc udp://@224.0.0.1:54321 --sout'#standard{mux=ps,dst=,access=http}' &
v.add “VLC Relay for SuiteTV” to the comment field
vi.click save
c. for XBMC
i.click add button
ii.in the Name filed type XBMC
iii.in the command field type /usr/bin/xbmc
iv.in the comment filed type Starts XBMC
At this point XBMC should be configured to start the VLC relay and XBMC on login
1. XBMC now needs to be configured.
a. the scrolling RSS feed can be configured. currently it is set to
http://www.prism.gatech.edu/~rreece3/rss.xml. This feed url can be set by opening XBMC and
clicking System -> Appearance -> Skin and then go to Edit under RSS news feeds.
b. weather can be configured by clicking System -> Weather -> Change Area Code
27
c. the mouse should be disabled in XBMC to imporove the experience when using the Wiimote.
System -> System -> Input Devices -> Enable Mouse
d. copy all the png images from SVN to /usr/share/xmbc/addons/skin.confluence/backgrounds .
These images are used to customize the XBMC interface to a Georgia Tech theme.
e. to simplify this process simply copy the Home.xml file from SVN to the
/usr/share/xbmc/addons/skin.confluence/720p/ directory. it may be a good idea to make a
backup of the original Home.xml file.
f. to launch a web browser from XBMC a python script must be execuited. First, make a directory
called scripts under the home directory of the USERNAME that was used for SuiteTV enter “cd
~; mkdir Scripts” in a terminal. copy the browser.py script from SVN to the newly created
/home/USERNAME/Scripts directory. Make sure that the script is executable “chmod +x
browser.py”. If USERNAME != vipteam then the Home.xml file needs to be updated
accordingly
g. to setup the jumbotron feature copy the jumbotron.strm file to /home/USERNAME/Documents
directory. If USERNAME != vipteam then the Home.xml file needs to be updated accordingly
h. the firewall in fedora causes some problems with SuiteTV, for now just disable it System ->
Administration -> Firewall. Enter the root password and click the disable button in the menu.
At this point XBMC should be customized to have a Georgia Tech theme and all main features should work.
28
Appendix D - streaming/jumbotron.strm
http://127.0.0.1:8080/
29
Appendix E - wiimote/ir_ptr
#ir_ptr configuration file
#include buttons
Wiimote.A = KEY_ENTER
Wiimote.B = BTN_LEFT
Wiimote.Home = KEY_ESC
Plugin.ir_ptr.X = ABS_X
Plugin.ir_ptr.Y = ABS_Y
#Plugin.led.Battery = 1
Plugin.led.Led1 = 1
Wiimote.Up = KEY_UP
Wiimote.Down = KEY_DOWN
Wiimote.Left = KEY_LEFT
Wiimote.Right = KEY_RIGHT
30
Appendix F - Scripts/wiimote
#!/bin/bash
#
# Bash script to start, stop, and restart the Wiimote Daemon (wminput)
# (c) 2011 Rich Reece <rich.reece@gatech.edu>
#
# Set the config file
CONF="ir_ptr"
# Set the MAC of your wiimote
WIIMOTEMAC=00:1B:7A:00:F7:D9
# Add the WIIMOTEMAC system variable to the end of the commands to associate only
# with a particular Wiimote
case "$1" in
'start')
echo "Starting Wiimote Daemon"
/usr/bin/wminput -c $CONF -d &
;;
'stop')
echo "Stopping Wiimote Daemon"
killall wminput
;;
'restart')
echo "Restarting Wiimote Daemon"
killall wminput
sleep 1
/usr/bin/wminput -c $CONF -d &
;;
*)
echo "usage $0 start|stop|restart"
exit 1 ;;
esac
31
Appendix G - Scripts/browser.py
"""
Script for launching a browser
"""
# (c) 2011 Rich Reece <rich.reece@gatech.edu>
# plugin constants
__plugin__ = "Browser"
__author__ = "Rich Reece"
__url__ = "http://vip.gatech.edu/wiki/index.php/Senior_Design_-_Spring_2011"
__svn_url__ = ""
__credits__ = "Alyssa Freeman, Mohamed Himedan, Rich Reece, Peter VanNess"
__version__ = "1.0.0"
# main
import
import
import
import
import
imports
sys
os
xbmc
xbmcgui
xbmcplugin
class Main:
def __init__( self ):
exec_str = '/usr/bin/firefox'
xbmc.executehttpapi("Action(199)")
if len(sys.argv) > 1:
exec_str += ' ' + sys.argv[1];
os.system('%s'%(exec_str))
xbmc.executehttpapi("Action(199)")
if ( __name__ == "__main__" ):
Main()
sys.modules.clear()
32
Appendix H - Edited Section of home.xml
NOTE: This is just the section of the home.xml file that was edited. The complete home.xml file can
be found on the SuiteTV website.
<content>
<!-- SuiteTV additonal code -->
<item id="4">
<label>JUMBOTRON</label>
<onclick>XBMC.PlayMedia(/home/vipteam/Documents/jumbotron.strm)</onclick>
<icon>special://skin/backgrounds/jumbotron.png</icon>
<thumb>$INFO[Skin.String(Home_Custom_Back_Weather_Folder)]</thumb>
<visible>!Skin.HasSetting(HomeMenuNoWeatherButton)</visible>
</item>
<item id="4">
<label>ESTADIUM</label>
<onclick>RunScript(/home/vipteam/Scripts/browser.py, http://estadium.gatech.edu)</onclick>
<icon>special://skin/backgrounds/eStadium.png</icon>
<thumb>$INFO[Skin.String(Home_Custom_Back_Weather_Folder)]</thumb>
<visible>!Skin.HasSetting(HomeMenuNoWeatherButton)</visible>
</item>
<item id="4">
<label>Store</label>
<onclick>RunScript(/home/vipteam/Scripts/browser.py, http://www.ramblinwreckstore.com)</onclick>
<icon>special://skin/backgrounds/RamblinWreckStore.png</icon>
<thumb>$INFO[Skin.String(Home_Custom_Back_Weather_Folder)]</thumb>
<visible>!Skin.HasSetting(HomeMenuNoWeatherButton)</visible>
</item>
<!-- end of SuiteTV additional code -->
<item id="6">
<label>8</label>
<onclick>ActivateWindow(Weather)</onclick>
<icon>special://skin/backgrounds/Weather.png</icon>
<thumb>$INFO[Skin.String(Home_Custom_Back_Weather_Folder)]</thumb>
<visible>!Skin.HasSetting(HomeMenuNoWeatherButton)</visible>
<visible>!Skin.HasSetting(ShowWeatherFanart) | IsEmpty(Skin.String(WeatherFanartDir))</visible>
</item>
<item id="6">
<label>8</label>
<onclick>ActivateWindow(Weather)</onclick>
<icon>special://skin/backgrounds/Weather.png</icon>
<thumb>$INFO[Skin.String(WeatherFanartDir)]$INFO[Weather.FanartCode]</thumb>
<visible>!Skin.HasSetting(HomeMenuNoWeatherButton)</visible>
<visible>Skin.HasSetting(ShowWeatherFanart) + !IsEmpty(Skin.String(WeatherFanartDir))</visible>
</item>
</content>
33
Download