ECE 1160/2160 Embedded Systems Design Raspberry Pi Introduction Wei Gao ECE 1160/2160 Embedded Systems Design 1
Raspberry Pi Classic embedded computer Single board computer Size of a credit card ECE 1160/2160 Embedded Systems Design 2
Raspberry Pi Microprocessor Broadcom BCM2837@1.2 GHz 64-bit quad-core ARM Cortex-A53 Same as Dual-core VideoCore 4 multimedia co-processor Small GPU 1 GB DDR2 Memory LG V10 Sony Xperia X Connectivity 802.11 b/g/n WiFi + Bluetooth 4.1 ECE 1160/2160 Embedded Systems Design 3
Raspberry Pi Well-equipped I/O interfaces ECE 1160/2160 Embedded Systems Design 4
Raspberry Pi AC-powered Either USB charger or power adapter No power constraint??? Not really 5V@2A via micro USB ECE 1160/2160 Embedded Systems Design 5
Raspberry Pi HDMI port HDMI port enables you to send audio/video data from Raspberry Pi to your monitor so that you can see what is happening inside your little computer. ECE 1160/2160 Embedded Systems Design 6
Raspberry Pi USB 2.0 Port X 4 4 USB ports could be used as connector for your keyboard and mouse when you are operating in Raspberry Pi. ECE 1160/2160 Embedded Systems Design 7
Raspberry Pi Ethernet Cable Port Use Ethernet cable to connect Raspberry Pi to the Internet. Or you can use the built-in WiFi for connection. ECE 1160/2160 Embedded Systems Design 8
Raspberry Pi General Purpose Input/Output (GPIO): It is a generic pin on Raspberry Pi board and controlled by user at run time for input or output purpose. Raspberry Pi has 40 pins on board. ECE 1160/2160 Embedded Systems Design 9
Operating System Operating system It is a program Manage computer software and hardware resources Provide service to users ECE 1160/2160 Embedded Systems Design 10
Operating System -- Linux Linux One type of Operating system Using command line to provide service to user Linux Kernel Terminal ECE 1160/2160 Embedded Systems Design 11
Operating System -- Linux Terminal text/command line input/output environment Shell Interpreting command line Linux Kernel Access to hardware resource on behalf of request from user application Hardware Process data and managed by Linux kernel ECE 1160/2160 Embedded Systems Design 12
Operating System -- Linux Compile Instruction: 1. gcc world.c -o world 2../world ECE 1160/2160 Embedded Systems Design 13
Operating System -- Raspbian Raspbian A free operating system based on Linux kernel Optimized for the Raspberry Pi hardware 35,000 packages communication package sound package graphics package Complete list: http://www.raspberryconnect.com/raspbianpackages-list Pre-installed software Mathematica Scratch other programming software. ECE 1160/2160 Embedded Systems Design 14
Operating System -- Raspbian Graphics packages provide functions of handling images aaphoto: auto adjust photo, automatic color correction of photos barcode: utility and library for barcode generation colord: system service to manage device colour profiles *install package by command: apt-get install <package name> ECE 1160/2160 Embedded Systems Design 15
Operating System -- Raspbian Communication packages Provide communication services ckernit: serial and network communication package gammu-smsd: SMS message deamon twinkle-common: Voice over Internet Protocol common files. *install package by command: apt-get install <package name> ECE 1160/2160 Embedded Systems Design 16
Operating System -- Raspbian Sound packages provide sound player and tools ableton-link-dev: synchronizes musical applications on multiple devices banshee: media Management and Playback application cecilia: sound synthesis and audio signal processing environment *install package by command: apt-get install <package name> ECE 1160/2160 Embedded Systems Design 17
Operating System -- Raspbian Scratch Scratch is a programming language with blocks, not code, for interactive stories, games and animations ECE 1160/2160 Embedded Systems Design 18
Operating System -- Raspbian Mathematica mathematical symbolic computation program or computer algebra program Expand mathematical expression Output 200 digits of Pi ECE 1160/2160 Embedded Systems Design 19
Operating System -- Raspbian Programming software Python 2 ECE 1160/2160 Embedded Systems Design 20
Operating System -- Raspbian Programming software BlueJ: Java ECE 1160/2160 Embedded Systems Design 21
Operating System Other choices Risc OS Unix-like OS Incompatible with Linux software OpenELEC/RaspBMC Entertainment system Design for media play center Arch Linux/Ubuntu Mate Linux experience required Not for beginner Window 10 IoT Desktop and desktop is not included ECE 1160/2160 Embedded Systems Design 22
Raspbian - Installation Two distributions NOOBS Raspbian NOOBS is an easy operating system installer which includes Raspbian. It also provides a selection of alternative operating systems. Raspbian Operating system for Raspberry Pi. Differing from NOOBS, it only has one operating system ECE 1160/2160 Embedded Systems Design 23
Raspbian Installation Tools Installation through SD card SD Card Formatter Format SD card to the required type as FAT32 Etcher Write Raspbian.img file to formatted SD card ECE 1160/2160 Embedded Systems Design 24
NOOBS NOOBS is an easy operating system installer which includes Raspbian. It also provides a selection of alternative operating systems. SD Card Formatter Format SD card to the required type as FAT32 before copying NOOBS files to it. ECE 1160/2160 Embedded Systems Design 25
Raspbian Raspbian Operating system for Raspberry Pi. Differing from NOOBS, it only has one operating system SD Card Formatter Format SD card to the required type as FAT32. Etcher Writing Raspbian.img file to the formatted SD card. ECE 1160/2160 Embedded Systems Design 26
Operating System -- Installation The operating system is about to boot up! Please wait for a while ECE 1160/2160 Embedded Systems Design 27
Operating System -- Installation Runtime Screenshot: system installation and progress is at left bottom corner ECE 1160/2160 Embedded Systems Design 28
Operating System -- Installation Runtime Screenshot: Raspbian has been successfully installed and boot up. ECE 1160/2160 Embedded Systems Design 29
Raspberry Pi Desktop ECE 1160/2160 Embedded Systems Design 30
Raspberry Pi Desktop Raspberry Pi has built-in WIFI on the up-right corner and click the signal sign, find your WIFI and enter your password, then you get connected to the Internet! ECE 1160/2160 Embedded Systems Design 31
Raspberry Pi Desktop Basic Menu ECE 1160/2160 Embedded Systems Design 32
Raspbian -- Installation Another convenient way to install Raspbian is to plug in the micro-sd card directly into Raspberry Pi board The SD card we will use is already pre-installed NOOBS for the Raspberry Pi and Raspberry Pi recovery system is also included. ECE 1160/2160 Embedded Systems Design 33
Lab 1 Lab 1 is due 9/25 and 9/27 Everyone checks out one Raspberry Pi from the TA 4% in final grade Lab is open this Wednesday You will work on it on your own No collaboration is allowed! Need to let the TA check you off Warm-up with Raspberry Pi Basic Linux operations over the Pi Getting familiar and utilizing the pre-installed packages Graphics, sounds, etc http://www.pitt.edu/~weigao/ece1160/fall2017/lab1.htm ECE 1160/2160 Embedded Systems Design 34