Openmax=open media acceleration is a royalty-free, cross-platform set of C-language programming interfaces that provides abstractions for routines especially useful for audio, video, and still images processing. It's intended for devices that process large amounts of multimedia data in predictable ways.OpenGL for Embedded Systems (OpenGL ES) is a subset of the OpenGL 3D graphics application programming interface (API) designed forembedded systems such as mobile phones, PDAs, and video game consoles.OpenVG is an API designed for hardware-accelerated 2D vector graphics. EGL = Embedded-System Graphics Library
Presented byPrashant Kumar(1VI09EC037) 1
What is Raspberry PiThe Raspberry Pi is a credit-card-sized single-board computer thatplugs into your TV and a keyboard,which can be used for many of thethings that our average desktop does– spreadsheets, word processing,games and it also plays high-definition video. 2
Introduction• The Raspberry Pi is a credit-card-sized single-board computer developed in the UK by the Raspberry Pi Foundation.• The Raspberry Pi charitable foundation wants to see the device being used by youngsters all over the world to learn programming and electronics.• The Raspberry Pi has a Broadcom BCM2835 system on a chip (SoC), which includes an ARM1176JZF-S 700 MHz processor.• It does not include a built-in hard disk or solid-state drive, but uses an SD card for booting and long-term storage. 4 Contd..
Introduction• The Raspberry Pi is manufactured through licensed manufacturing deals with Element 14/Premier Farnell and RS Components. Both of these companies sell the Raspberry Pi online.• The Foundations goal is to offer two versions, priced at US$25 and US$35.• The Raspberry Pi is a computer, very like the computers with which you’re already familiar. It uses a different kind of processor, so you can’t install Microsoft Windows on it.• Instead we can install several versions of the Linux operating system that look and feel very much like Windows. If you want to, you can use the Raspberry Pi to surf the internet, send an email or write a letter using a word processor. 5
History• Early concepts of the Raspberry Pi were based on the Atmel ATmega644 microcontroller.• In August 2011, fifty Alpha boards were manufactured. These boards were functionally identical to the planned model B, but were physically larger to accommodate debug headers. Demonstrations of the board showed it running the LXDE desktop on Debian, Quake 3 at 1080p, and Full HD MPEG-4 video over HDMI. An early alpha-test board in operation 7 Contd..
History• The actual sales of the much anticipated device started on 29th February 2012. The RPi’s licensed sellers website crashed during this time as a result of over 2 million pre-orders from various parts of the world.• As of October 2012 it was reported 30,000 units being produced per month.• This was a overwhelming number due to a huge demand from developing countries where the cost factor plays a major role in deciding the education system of the society. 8
Hardware• The Model B is in mass production, with plans to release the Model A in early 2013. Model A has one USB port and no Ethernet controller, and will cost less than the Model B with two USB ports and a 10/100 Ethernet controller.• Though the Model A doesnt have an 8P8C (RJ45) Ethernet port, it can connect to a network by using a user-supplied USB Ethernet or Wi-Fi adapter.• The Raspberry Pi does not come with a real-time clock, so an OS must use a network time server, or ask the user for time information at boot time to get access to time and date for file time and date stamping. 9 Contd..
Hardware• The device supports H.264 video encoding, MPEG-2 and Microsoft’s VC-1.• The default ARM 700 MHz processor frequency can be over clocked to 1 GHz using the turbo mode.• The video core IV GPU has 512 MB of RAM. Internal Architecture of RPi 11
Software• The Raspberry Pi uses Linux kernel-based operating systems. Raspbian, a Debian-based free operating system optimized for the Raspberry Pi hardware, and it comes preloaded in the SD card provided.• The GPU hardware is accessed via a firmware image which is loaded into the GPU at boot time from the SD-card.• Application software use calls to closed source run-time libraries which in turn calls an open source driver inside the Linux kernel. The API of the kernel driver is specific for these closed libraries. 12
• Video applications use OpenMAX, 3D applications use OpenGL.• ES and 2D applications use OpenVG whic h both in turn use EGL. OpenMAX and EGL use the open source kernel driver in turn.• The firmware image is known as the binary blob, while the associated Linux drivers are closed source. 13
Software• On 8 March 2012 The Raspberry Pi Foundation released Raspberry Pi Fedora Remix, at the time its recommended Linux distribution, which was developed at Seneca College in Canada. The Foundation intends to create an App Store website for people to exchange programs.• Slackware ARM (formally ARMedslack) version 13.37 and later runs on the Raspberry Pi without modification. The 128–496 MB of available memory on the Raspberry Pi is twice the minimum requirement of 64 MB needed to run Slackware Linux on an ARM or i386 system.• In addition, work is being done on system-specific light Linux distributions such as IPFire, OpenELEC, Raspbmc and the XBMC open source digital media center. 14
Setting up Raspberry Pi• The board needs to be connected to a power equipment which is a mini USB connector and draws current of 700 mA at 5 volts.• The SD card which comes bundled with the Raspbian OS, which is a linux based OS must be inserted into the SD Card slot.• For display, RPi provides two solutions. The first one is to connect the new LCD TVs which supports HDMI. The other one being connecting the RCA cables which is suited for older TVs, that support NTSC and PAL viewing.• Audio port of 3.5mm must be connected to any amplified speaker set. 15
Setting up Raspberry Pi• The Ethernet port must be connected to a modem to support internet connectivity, the device also takes the network time due to non presence of an internal clock.• There are two USB ports in model B and they can be easily utilized for connecting USB mouse and a USB keyboard. Typical desktop of Raspberry Pi 16
Additional Peripherals Required• Internet Connectivity, may be done with an Ethernet/LAN cable (standard RJ45 connector) or a USB Wi-Fi adaptor.• USB-Hub - In order to connect additional devices to the RPi, we may want to obtain a USB Hub, which will allow multiple devices to be used. It is nearly a requirement that a powered hub is used - this will provide any additional power to the devices without affecting the RPi itself.• Heat sink: Not a vital accessory for RPi, but will help to reduce the CPUs temperature whilst under load.• Real Time Clock - In order to achieve the price point of the Raspberry Pi several non-essential items usually found on a computer are omitted. Real Time Clock module is not included with the Raspberry Pi. To keep time, the Raspberry Pi updates the date and time automatically over the internet via Ethernet 17 or Wi-Fi.
Programming• By default, Raspberry Pi supports UNIX shell scripting, Python or any other language that will compile with ARMv6 can be used with it.• Programming software such as SCRATCH game maker comes bundled with the Pi.• Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art - and share your creations on the web.• As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively. 18
Programming Languages Supported Programming Languages Tested on RPiProgramming Languages Expected to Work 20
Applications• Since RPi’s inception, people around the world have been toying around with it to develop various applications.• Apples Siri technology is designed for people to give orders to their phones. But it can also control additional devices with Siri Proxy, a proxy server that connects to the Siri service.• Siri proxy server can be used to open and close garage door, thanks to a Raspberry Pi hooked up to an automatic garage door system. Siri Proxy running on the Raspberry Pi, along with WiringPi to access the Pis GPIO pins and turn a relay on/off.• We program the Raspberry Pi in such a way that it responds to the commands sent by the Siri proxy server. 21
• listen_for /open the garage door/i do• say "Opening the garage door.."• request_completed• system("gpio mode 1 out")• system("gpio write 1 1")• system("sleep 0.5")• system("gpio write 1 0")• End• listen_for /close the garage door/i do• say "Closing the garage door.."• request_completed• system("gpio mode 1 out")• system("gpio write 1 1")• system("sleep 0.5")• system("gpio write 1 0")• end 22
Applications• The Raspberry Pi laptop is another good example of constructing a fully functional laptop all under `4500 made by a developer named Drew Fustini.• The HDMI port of the RPi is connected to a Motorola Atrix Dock, which is a detachable display panel with keyboard available on e-bay for under $60.• The Pi rests outside the laptop, so its not fully self-contained, but is rather portable. 23
Applications• Setting up a XBMC media center on Raspberry Pi• It is a free open source media player. It allows users to play and view most videos, music, such as podcasts from the internet, and all common digital media files from local and network storage media.• After setting up the XBMC on RPi, we can very easily play videos of 720p without any lag from any USB device, from a network folder, or rather from YouTube.• After we hook the HDMI cable onto a TV, and then boot up the device, it automatically loads the XBMC 25
Tweaking Settings for Optimal Feedback• Resolution, found under Settings > System > Video Output. For watching 720p videos, we should change this to 720p.• Over scan, found under Settings > System > Video Output > Video Calibration. If the XBMC interface stretches beyond the edges of our TV screen, this option will calibrate the video.• System Performance Profile, under Programs > Raspbmc Settings > System Configuration. This is required if we want to over clock the device for a faster performance. 27
ConclusionIt was created with the intention of providing children with ahighly affordable, accessible and programmable computerthat they can buy, learn to program on, adapt and even break,without feeling restricted by price or fear of an angry parent.By destroying the paradigm of spending hundreds of poundson a computer to become a member of the digital age, theyhope to install creativity, enthusiasm and experience into anew generation of talented programmersDeveloping countries are interested in the Raspberry Pi asproductivity devices in areas that simply can’t afford thepower and hardware needed to run a traditional desktop PC;hospitals and museums are trying to find out about theRaspberry Pi to drive display devices. 28
References• Mitchell, G., "The Raspberry Pi single-board computer will revolutionize computer science teaching [For & against]," Engineering & Technology, vol.7, no.3, pp.26, 26, April 2012.• Winter, M.; Fettweis, G., "Interconnection Generation for System- on-Chip Design," System-on-Chip, 2006. International Symposium on , vol., no., pp.1,4, 13-16 Nov. 2006• Brackenbury, L. E M; Plana, L.A.; Pepper, J., "System-on-Chip Design and Implementation," Education, IEEE Transactions on , vol.53, no.2, pp.272,281, May 2010• Jie Wu; Jun Ni; Zhe Li, "Building the Ad Hoc Network Node Based on ARM Linux Platform," Internet Computing for Science and Engineering (ICICSE), 2012 Sixth International Conference on , vol., no., pp.280,283, 21-23 April 2012• http://en.wikipedia.org/wiki/Raspberry_Pi 29