An
Introductory
Session on
Raspberry-Pi
By FlashEmbed Technologies
What is Raspberry Pi ?
Credit card size single board computer or a
Programmable PC
Developed in U.K. by Raspberry - Pi foundation in
2009
Concept Initiated by Eben Upton who works at
Broadcom
Supported by “University of Cambridge Computer
Laboratory & Broadcom”
To promote the study of basic computer science in
schools & to develop interest among kids and adults
Has been a revolution in the market with over 3
million units sold
Video Demo (www.raspberrypi.org)
Why Raspberry Pi ?
Very Low Cost ($35 – Rs 2900/- for Model 3)
Great tool for Learning Programming, Computers &
Concepts of Embedded Linux, etc
Support for all Age Groups (School Children, College
Undergraduates, Professional Developers,
Programmers)
Supports & runs Free and Open Source Linux OS
Consumes less than 5W of Power
Supports Full HD Video Output (1080p), Multiple USB
Ports , etc
Fun to learn & explore. You are limited by your
imagination
Raspberry Pi – Models
4 Main Models/Versions released till date with Model
3 being the latest in the series.
Raspberry Pi (Model A)
Raspberry Pi (Model B/B+)
Raspberry Pi (Model 3)
Technical Specs.
Processor : Broadcom BCM2835 SoC (System on
Chip)
Core : ARM11 (700 MHz ARM1176JZF-S)
Memory (RAM) : 256 Mb (Model A) or 512 Mb (Model
B/B+) or 1 Gb (Model 3)
GPU : Broadcom Videocore IV
USB 2.0 : 1 (Model A) / 2 (Model B) / 4 (Model 3)
On Board Storage : SD Card (Model A/B) / Micro SD
(Model B+)
Video Input : Camera Support via CSI Connector
Video Output : Composite Video (RCA) or HDMI or
LCD Support via DSI
Technical Specs. (Cont.)
Networking : 10/100 Mbit/s Ethernet Support on
Model B/B+
Audio Outputs : 3.5 mm Jack
I.O. Lines : 26 Pin GPIO Connector on Model A/B and
40 Pin GPIO Connector on Model B+ (GPIO, UART,
SPI, I2C, Power Rails, I2S, etc)
Power Source : 5V/2A DC Adapter via Micro USB
Power Ratings : 300 mA (1.5W – Model A), 700 mA
(3.5W – Model B) & 600 mA (3W – Model B+)
Operating Systems : Raspbian, Debian, Pidora,
Fedora, OpenELEC, ArchLinux ARM, FreeBSD,etc
Raspberry Pi VS PC
Raspberry Pi VS PC
Questions ?
Raspberry Pi - Projects
1) Pi-Face : Hardware + Sensors + Electronics
Interfacing.
Raspberry Pi - Projects
2) Raspberry Pi Wall Mounted Google Calendar –
On Instructables
Raspberry Pi - Projects
3) PiPad: Tablet Using Raspberry Pi
Raspberry Pi - Projects
4) PiPhone : Using Raspberry Pi
Raspberry Pi - Projects
5) Pi as a Media Centre : Using Open Source XBMC
Raspberry Pi - Projects
6) Running a Web server on Raspberry Pi
Raspberry Pi - Projects
7) Games on Raspberry Pi
Raspberry Pi - Projects
8) Iridis-Pi : Supercomputer using Raspberry Pi (64
Processors, 1 TB of Memory
Raspberry Pi - Projects
9) Low Cost HD Surveillance Camera
Raspberry Pi - Learning
10) Learning Programming : Learn Python, C/C++,
Java, Ruby, Basic, etc.
Raspberry Pi - Setup
Raspberry Pi : Model A/2/3 (recommended 3)
Power Source : 5V/2A DC Micro USB Adapter
Display : VGA Monitor/HDMI Screen or TV/LCD
SD Card : Minimum 4 GB (8GB - Class 4 recommended)
USB Mouse and Keyboard
Internet (If required) : Wi-Fi Dongle/ via Ethernet
Audio : 3.5 mm Stereo Input
Raspberry Pi - Setup
Lets Boot it up !
Handle with Care
The Raspberry Pi was built to be used, but not abused.
Every P.C.B. should be handled with care.
Handle the Pi only by the edges of the board itself. Avoid
touching or holding any of the components on the board.
Rough Handling can cause solder points to fail and may
result in short circuits, but be careful with the GPIO pins as
well.
While connecting Hardware, double check the connections
and then power it up. Raspberry Pi GPIO’s are not 5V
tolerant.
Preparing a SD Card
Format a SD card that is 32GB or larger as FAT.
Use the Tool – SDFormatter (How ?)
Download and extract the files from the NOOBS zip file.
Copy the extracted files onto the SD card that you just
formatted so that this file is at the root directory of the SD
card.
When this process has finished, safely remove the SD
card and insert it into your Raspberry Pi and Power it up.
Raspberry Pi will boot, and a window will appear with a list
of different operating systems that you can install. We
recommend that you use Raspbian – tick the box next to
Raspbian and click on Install.
Wait for it to finish. (15 – 20 mins)
First Boot Up
When the install process has completed, the Raspberry Pi
configuration menu (raspi-config) will load.
Here you are able to set the time and date for your region
and enable a Raspberry Pi camera board, or even create
users.
To enter the Graphical environment enter the Command
startx
Default Login ID : pi, Default Password : raspberry
Time for a Quiz !
Answer the Following Question by sending a SMS on
+91-9962366726
Q1) Full name of Main Raspberry Pi (Foundation)
Founder.
Q2) Processor in Raspberry Pi and recommended O.S.
The first 2 correct answers get a ‘SWEET’ prize.
Operating System
A System Program that controls the execution of
Application Programs and is an interface b/w Applications
& Hardware.
It manages System Memory and Other resources of the
system.
It makes computer convenient to use and allows system
resources to be used in an efficient manner.
GNU/Linux
Raspbian is a free operating system based on Debian
optimized for the Raspberry Pi hardware.
Debian is one of the most popular Linux Distribution or
Flavour or Distro.
GNU/Linux – Free, Open Source, UNIX like Operating
System that runs on diverse computing Hardware Platforms.
It has Ample Support for Software development, whether
kernel or applications.
GNU : Provides the shell, library, compilers
Linux : Provides the Kernel
Examples of Major Free Distros : Fedora, Ubuntu,
Mandriva, Suse, etc
Embedded Linux
Linux running on Embedded Systems.
Due to its low cost and ease of customization, Linux has
been shipped in many consumer devices.
Even Android is a Linux Based Operating System which
is the leading OS platform in Smartphone, Tablet Market.
Other examples include Set Top Boxes, Wireless
Routers, smart TV’s, Industrial Automation, PDA’s, etc.
It has immense scope and endless opportunities .
The advantages of embedded Linux are multiple
suppliers for software, development and support; no
royalties or licensing fees; a stable kernel; the ability to
read, modify and redistribute the source code.
Linux File System
The arrangement of Files in Linux.
Directory Description
bin : Essential command binaries
boot : Static files of the boot loader
dev : Device files
etc : Host-specific system config
home : User login and data folders
lib : Essential shared libraries and kernel modules
mnt : Mount point for mounting a file system or media
opt : Add-on application software packages
proc : Virtual folder that has information about system
Directory Description
root : Home folder of the Linux super user
sbin : Essential system binaries
tmp : Temporary files
usr : Secondary hierarchy
var : Variable data
Linux Shell
To interact with the Operating System or Hardware we
need to enter some commands in the “Shell”.
Simply put, the shell is a program that takes your
commands from the keyboard and gives them to the
operating system to perform.
In the old days, it was the only user interface available
on a Unix computer.
Nowadays, we have graphical user interfaces
(GUIs) in addition to command line interfaces
(CLIs) such as the shell.
In GUI, we have "terminal emulators” or “consoles”
which are programs that put a window up and let us
interact with the shell.
Important Commands
1) ls
“ls” command displays the list of files present in a
given directory.
2) cd
“cd” or change directory command allows the user to
traverse through the directories and file paths.
3) cp
“cp” command is used to copy file(s) from a source to
a destination.
4) mv
Move files from source to destination.
Important Commands
5) rm
“rm” command is used to remove file/files.
6) mkdir
“mkdir” command is used to make a new directory or
folder in the current path.
7) rmdir
“rmdir” command is used to remove a directory or
folder in the current path.
8) clear
“clear” command is used to clear the contents on the
terminal window.
Important Commands
9) cat
“cat” command is used to concatenate and output the
contents of the given files.
10) pwd
“pwd” command is used to check the present working
directory.
11) sudo
“sudo” allows users to run programs with the security
privileges of super user or root or administrator.
12) chmod
“chmod” allows users to change access modes on
files.
Remote Login (ssh)
Secure Shell (ssh) is a network protocol which allows
remote control of Raspberry Pi from another computer
over the network.
Provides access to the Command Line and not to the
Full Desktop Environment.
You can enable or disable the SSH server on your
Raspberry Pi (it is enabled by default).
To Enable SSH, in the Terminal, enter sudo raspi-
config, enable the ssh, finish and exit the menu.
Use a third-party SSH client software on your
Windows System (like puTTy or TeraTerm) and access
Raspberry Pi by entering it’s I.P. Address, user (pi) and
password (raspberry).
To check Raspberry Pi’s I.P. Address, enter ifconfig in
the terminal.
Desktop Sharing (VNC)
VNC (Virtual Network Computing) is a graphical
desktop sharing system that allows you to remotely
control the desktop interface of one computer from
another.
It transmits the keyboard and mouse events from
the controller, and receives updates to the screen over
the network from the remote host.
This one is D.I.Y. and T.I.Y..
Links on the Text file with the steps.
Programming on R.Pi
Raspberry Pi supports several Programming
Languages like : Python, C, C++, JAVA, Perl, HTML5,
JavaScript, JQuery, etc.
Python is supported as the principal or main user
programming language.
Extremely powerful and flexible language.
Can also be used to control hardware on the Pi.
Demo of Python Program on IDLE.
Demo of C Program on Raspberry Pi.
Compiled using gcc (GNU Compiler Collection)
Learning Programming = Practice Writing Programs
GPIO on Raspberry Pi
40 GPIO Header in Pi 3 Model B.
These pins are a physical interface between the Pi
and the outside world.
Out of 40, 18 are dedicated IO Lines, 2 are for UART, 4
are for SPI (+1 for Another Chip Select) , and another 2
for the I2C Interface (Total 26 out of 40)
Rest are Supply Rails.
WiringPi : Easy to use C Library for accessing the
GPIO Lines via Programming (Arduino Style
Programming)
Particle Documentation
Let’s Do Blinky !
GPIO on Raspberry Pi are not 5V tolerant.
Examples.
LED Blinky.
Questions and Doubts ?
Thank You !