26
Introduction to the Raspberry Pi board Thierry GAYET – 22/10/2012

Intro to the raspberry pi board

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Intro to the raspberry pi board

Introduction to theRaspberry Pi board

Thierry GAYET – 22/10/2012

Page 2: Intro to the raspberry pi board

Agenda• A Little history

 • More device specifics

• What a Raspberry Pi  can do for you ? 

• Other Emerging Embeded Platforms

• Development Options

• Possible live/video demo. 

• Questions

Page 3: Intro to the raspberry pi board

A Little history The Raspberry Pi was created by the Raspberry Pi Foundation to inspire a new generation of children to become programmers. Foundation trustee Eben Upton, a lecturer at Cambridge at the time, saw that the skillset of applicants to CS courses had been steadily decreasing for a number of years. This is mostly due to the way that education has been geared more towards using office applications and less on understanding the hardware.

The Debian images available have lots of tools for both kids and adults alike. so almost any age 4-50+ can enjoy learning about programming and electronics.

Page 4: Intro to the raspberry pi board

Price

Model A - $ 25

Model B - $ 35

Why so cheap ?

SoC - System on a chip, a computer on a single low voltage chip

Linux OS

Page 5: Intro to the raspberry pi board

More device specificsModel A 256Mb RAM1 x USB no Ethernet

Model B 256Mb RAM2 x USB1 x Ethernet

Both models have a700MHz Armv6 (Arm11)Quad-Core Graphics chip

Diagram of Model B

Page 6: Intro to the raspberry pi board
Page 7: Intro to the raspberry pi board
Page 8: Intro to the raspberry pi board
Page 9: Intro to the raspberry pi board
Page 10: Intro to the raspberry pi board
Page 11: Intro to the raspberry pi board

What a RaspberryPi can do for you

• Xbmc @ Full 1080p HD

• Linux desktop - just add keyboard and mouse.

• Linux low powered server (fileserver etc..)

• Attach webcam and monitoring software

• Interface with electronics from leds, solenoids,switches,mosfets etc..

• Almost anything else you can imagine

Page 12: Intro to the raspberry pi board

Other Emerging Embeded Platforms

• VIA APC is powered by a VIA WonderMedia 8750 800 MHz ARM11 processor, 512MB of DDR3 memory, and 2GB of flash storage. The chip supports 1080p HD video playback, H.264 video encoding, and OpenGL ES 2.0 graphics.

• Android Mk802 A10 AllWinner Mini ComputerThe little computer looks like a portable storage device, but it has a 1.5 GHz Allwiner A10 processor, 512MB(1Gb spotted) of RAM, and 4GB of storage. It ships with Google Android 4.0 software

• Beagle Board (1GHZ ARM 7) and Beagle bone (720MHz ARM 7) also PandaBoard (all ~$80-$180)

Page 13: Intro to the raspberry pi board

Development Options

• Python (Quick2wire),C(WiringPi), Bash, Basic, etc..

• ScratchGeared to students and non-developers

• Various Other Linux environments including Aros (Linux based port), Arch, Debian, Gentoo etc..

• Many open-source libraries being ported to arm.

• Cross-compiler tool-chains available. (both soft and hard float)

Page 14: Intro to the raspberry pi board

Scratch

The MIT program Scratch is designed to provide an accessible way for kids to learn about coding.

The program's interface makes it easy to build and change software by dragging and dropping commands and changing variable values through simple menus.

The version installed on the Pi comes loaded with a simple car-racing game. Users can add and remove commands from the game, then press play and immediately see the effect of those changes - for instance, tweaking how cars handle or adjusting the animation for car crashes.

Page 15: Intro to the raspberry pi board

Scratch Example

Page 16: Intro to the raspberry pi board

Quick2Wire (Python GPIO)quick2wire have released a python api to safely access the gpio pins from user land. eg. anyone in the gpio group. as well as allowing clean import and export of pins.

Here’s the code that drives an LED:

from quick2wire.gpio import Pinfrom time import sleep

out_pin = Pin(12, Pin.Out) for i in range(0, 10): out_pin.value = 1 sleep(1) out_pin.value = 0 sleep(1)out_pin.unexport()

http://quick2wire.com/https://github.com/quick2wire/quick2wire-python-apihttps://github.com/quick2wire/quick2wire-gpio-admin

Page 17: Intro to the raspberry pi board

 My Raspberry Pi DemoMy demo focuses on input and output from python script through the gpio pins to some simple electronics components.

This simple demo takes input from a switch which illuminates a red led to confirm it was pressed.

using the quick2wire api for python. when the switch is pressed a counter is increased by 1 until it reaches 16 at which point it will reset counter to 0.

the corospoding value of counter at any one time is then convirted to binary value and displayed on the 4 green and yellow leds.

eg. counter = 3 bin outpit = 0011 led pin = 0011

Page 18: Intro to the raspberry pi board

 Raspberry Pi Demo

Page 19: Intro to the raspberry pi board

 Raspberry Pi Demo#!/usr/bin/python3

import timeimport stringfrom quick2wire.gpio import Pin

# import pins for outputout_pin1 = Pin(11, Pin.Out)out_pin2 = Pin(13, Pin.Out)out_pin3 = Pin(15, Pin.Out)out_pin4 = Pin(16, Pin.Out)

# import pins for input in_pin = Pin(7, Pin.In)

# init countcount = 0

try:while True:

# get input value of buttonmybutton = in_pin.value if mybutton == False: count = count + 1 # reset at 16 if count == 16:

count = 0

rpi-count.py @ https://github.com/azmodie/rpi-scripts

# outputs binary reprisentation to 4 leds # that matches count. binvalue = bin(i)[2:].zfill(4) out_pin4.value = binvalue[-1] out_pin3.value = binvalue[-2] out_pin2.value = binvalue[-3] out_pin1.value = binvalue[-4] time.sleep(.2)

# trap ctrl+c to cleanly unexport pinsexcept KeyboardInterrupt: out_pin1.unexport() out_pin2.unexport() out_pin3.unexport() out_pin4.unexport() in_pin.unexport()

Page 20: Intro to the raspberry pi board

 expEYES ProjectThe expEYES (“experiments for Young Engineers and Scientists”) aims to provide a low cost platform for experimentation and education in electronics and physics.

The device has 12 bit Analog I/O, Digital I/O, time interval measurements, & other features accessible from Python. It is packaged with a number of accessories & software which can be used to perform a large number of experiments.

For example, the device can be used to study electromagnetic induction, the conductivity of water, to measure gravity by time of flight, alongside many other applications. It aims toenable anybody to develop new experiments.

http://expeyes.in/articles/54/expeyes-meets-raspberry-pi

Page 21: Intro to the raspberry pi board

Linux distro(s)

http://www.raspberrypi.org/downloads

Raspian “wheezy” : newbies get this one!

Soft-float Debian “wheezy” : for Oracle JVM

Arch Linux ARM : down to the metal

QtonPi : For Qt 5

http://www.raspberrypi.org/quick-start-guide

Page 22: Intro to the raspberry pi board

Play Doom

http://www.sparkfun.com/tutorials/372

Page 23: Intro to the raspberry pi board

Extra

Item Price

Raspbery Pi $35.00Keyboard and Mouse $21.00Pretty Box $14.95USB Power Supply $5.95USB A/MicroB for Power $3.95HDMI Cable $5.95Ethernet cable $3.95USB Wifi $14.954GB SD Card $11.95Connect to HDMI TV $0.00

Total $117.65

Page 24: Intro to the raspberry pi board

Related book(s)

Quick Start is Free: http://www.raspberrypi.org/quick-start-guide

Buy the book—paper ($12.38) or ebook ($6.60)

Page 25: Intro to the raspberry pi board

Any Questions ?

Page 26: Intro to the raspberry pi board

Any Questions ?