Raspberry Pi Training Mike Davis – Truman College Illinois State Learning Exchange Rico Enterprises 2/27/2015
Welcome! This professional development workshop is the first of 6 to be delivered throughout Illinois Sponsored by the Illinois IT Learning ExchangeIllinois IT Learning Exchange Our Goal is to provide training and equipment to teachers between now and end of April Our expectation is that you will use it in your classrooms and/or after school clubs to engage students in technology to solve problems We’re going to pilot a student app design challenge this summer and hope some of you could get a student team to participate.
Goals for Today Plug in and access your Raspberry Pi Load the Raspian Operating System Play with the OS and get comfortable with the command line Determine the IP address of the Raspberry Pi Connect the camera and take pictures Retrieve pictures from the Raspberry Pi Build a temperature sensor circuit Determine temperatures on the Raspberry Pi Discuss classroom uses for the Raspberry Pi Discuss a potential student competition using the Raspberry Pi
What is the Raspberry Pi? Description Designed by Eben Upton with an emphasis in computer programming. Small computer, runs on Linux. Very small power draw (1.21 Watts) 40 GPIOs 4 USB Ports HDMI output 3.5mm jack Micro USB for power Ethernet plug-in Raspberry Pi
Plug it in! Connections Plug in the HDMI cable / Pi-View Plug in the USB Devices Keyboard Mouse Wireless dongle Plug in the Ethernet cable. Plug in the power (last) Should Look a bit like this
What you should see What you are doing We have modified SD cards that have the Raspian Wheezy OS. It will load the Raspian image directly, and quickly. This is the operating system for the computer. Login = pi Password = raspberry Look a little like this
Access the Graphical User Interface (GUI) What you are doing At the command line type startx This will start the graphical user interface for the RPi. Its like seeing the windows desktop. Look a little like this
Play Around in the GUI Goals Find the web browser Open Scratch Find the wireless configuration Find the terminal
Play Around in the Terminal Terminal Commands CommandEffect pwdShows you the present working directory mkdir nameMakes a directory cd nameChanges the directory cd..Moves back one level in the directory cd ~Moves to the home directory lsLists the contents of the directory. sudoSuper User Do Common Linux Commands
Make a Directory to Put Pictures In Instructions Command cd ~ mkdir camera Reason We will plug in the camera and start taking pictures. We will have to tell the camera where those pictures should be stored. We will want to access those pictures from another computer.
File management – Prepare to take pictures You may want to set up a folder to store the pictures you are taking. If the goal is to take a picture and put it in file, that goes in to the command. raspistill –o /home/pi/camera/picture.jpg CommandEffectExample pwdPresent working directory, where you currently are. mkdirMake a new foldermkdir camera cdChange directorycd camera cd..Return to previous directorycd.. cd /home/pi/cameraGo to a specific directorycd /home/pi/camera lsList contentsls
Helpful Video for Plugging in the Camera Lift up the small black guide by the Ethernet port. The small electrical contacts on the ribbon face the end with the power cord. Avoid any kind of static or sparks. Plug in, turn on the Rasberry Pi after it is connected.
Configure the Camera You may need to configure the camera. sudo raspi-config Select Enable Camera and then Finish. You will be asked to reboot. Go ahead. This only needs to be done once. Camera Specs 5 M Pixel Video Mode – 1080p30, 720p60, and 640x480p60/90 Full Frame SLR Lens Eq. – 35mm Fixed Focus – 1m to infinity F-Stop – 2.9 Focal length – 3.60mm Can do up to 90 frames/second Full Specs
Lets take a selfie. From the command line use this script raspistill –o picture.jpg This tells the computer to use a program called raspistill and output (o) a file called picture.jpg With the default settings this will be a 2.4MB file.
Raspistill has a lot of customizable commands EffectCommandDefault Preview-pTRUE No Preview-nFALSE Sharpness-sh0 Contrast-co0 Brightness-br0 Horizontal Flip-hfFALSE Vertical Flip-vfFALSE Shutter Speed-ssN/A Up to 6s Sample commands Flips the image raspistill –vf-hf –o picture.jpg Increase the contrast raspistill –co 50 –o picture.jpg Complete list
Raspistill Image Effects EffectCommand Negative-ifx negative Solarise-ifx solarize Sketch-ifx sketch Oilpaint-ifx oilpaint Watercolour-ifx watercolour Film-ifx film Try various image effects. Save each image separately. Save over individual images. Complete list
How to do time lapse photos 1.Make sure you have a folder you want to save everything to. 2.Type the command raspistill –o /home/pi/camera/picture%03.jpg –tl –t ProgramOutput destination and file name. 3 digit number to appear after camera (001, 002, 003, etc) Time lapse in milliseconds between pictures Total time in milliseconds for all pictures
The End Product
Things to think about with time lapse projects What is something that will change slowly but dramatically? Seedlings Crystals Bacterial growth Decay How often will you need to take pictures? How much space will you need for those pictures? What can I control? Lights Power
Camera Takes Video Too Raspivid The camera can also take video. Use it to take slow motion video with a high frame rate. Up to 90 frames per second depending on the resolution. Video Made in my Lab
How to do videos 1.Make sure you have a folder you want to save everything to. 2.Type the command Raspivid –w 640 –h 480 –fps 90 –t –o /home/pi/camera/movie.h264 Program Width and height of the image Length of video in milliseconds Output location Frame speed
Now lets get those pictures/files On your Raspberry Pi Determine the IP address sudo ifconfig On your preferred computer Make sure you are on the same network as the Raspberry Pi. Download WinSCP This is a program that will enable File Transfer Protocol between your computer and the Pi. Very user friendly interface.
Local computer on the left, remote computer (RPi) on the right.
Got a lot of photos, how do I make a time lapse movie? Download Cineform – GoPro StudioLight, free video editing Import all photos. Since they are ordered sequentially, they will be in time order. Go on to step 2, and step 3. Export as a AVI or MP4 or… Enjoy your movie!
Get clever Use other things as lensesDye them
Lots of ways to skin a cat. Can I use Dropbox? You can, and its pretty easy. Instructions Requirements Dropbox account Developer access Benefits You can automatically upload files to Dropbox. You can have a Python program take pictures and send them to Dropbox. Check on your photos from anywhere. Can I use a Python program You can, and build it to your needs. Instructions Requirements A little programming experience, but not much. Benefits You can tell your computer to take pictures in the way you want, when you want.
Potential Projects / Asks Make a Photobooth that will take a picture when a button is pushed, and it to the user. Example Take a picture of something at the same time everyday. Start taking time lapse photos at the same time everyday and upload them to Dropbox or a remote server at the end of the day. Take video with the Raspberry Pi Camera Example Control the Raspberry Pi Camera from another computer. Example Control the Raspberry Pi Camera from your phone. Example
Project 2 – Make a Local Web Server Description Apache is a popular web server application that can be used to serve up web pages on a local network. It can serve up HTML pages over HTTP. With additional modules you can serve up dynamic web pages. Goals Download / install Apache Navigate to your local web page Navigate to another web page Make changes to your web page
How to Make it a Web Server. Instructions Command Sudo apt-get update Sudo apt-get upgrade Command Sudo apt-get install apache2 -y Effect This will look for updates to your operating system and install them. Do before starting almost any project. If you don’t do it often, it will take a while. This will download and install the Apache application on your Raspberry Pi. You must be connected to the internet for this work. Take couple minutes.
Lets find your Web Page Commands Make sure you know the IP address for your RPi. sudo ifconfig In your web browser go to: From any computer on the same network, go to: Your Web Page
Make a Change to Your Local Web Page Commands You have a default web page already loaded. In the terminal type cd /var/www/ sudo nano index.html Save changes. Refresh the web page. What you are doing You navigating to a specific file folder and using a text editing program ‘nano’ to open the index.html file.
Project 3 – Set up a Temperature Sensor What we will need to do Build the temperature sensing circuit. Test the circuit. Copy a python program. Goals Make a temperature sensing circuit. Load and execute a python program. Read temperatures in Celsius.
Make the Circuit Raspberry Pi GPIO PinsCircuit Diagram
Connections to the Raspberry Pi The Circuit DiagramFrom the Raspberry Pi Connect Red to Pin 1 and the right prong of the probe. (Power) Yellow to Pin 7 and the center prong of the probe. (Data) Black to Pin 6 and the left prong on the probe. (Ground)
Software Configuration Commands In the terminal type: sudo nano /boot/config.txt Go to the bottom and insert dtoverlay=w1-gpio Save, close, and reboot. sudo reboot Why? I don’t know. This is a one time operation that will activate one-wire devices like the temperature probe. Do this once, and you don’t have to do it again.
Software Configuration Commands In the terminal, type: sudo modprobe w1-gpio sudo modprobe w1-therm Type cd /sys/bus/w1/devices cd 28* cat w1_slave What does this do? This activates the pins for readings. This goes to the folder where that device is located. Once we find it, we will get it read a temperature.
You Should See This
Next Steps Take Lots of Temperatures Get a Python Program Google search Adafruit DS18B20 This is a tutorial that has a python program that will record a series of temperatures. Copy the code, follow the steps. Instructions 1.mkdir temperature 2.cd temperature 3.sudo nano temp.py 4.Paste the copied code 5.Save and close. 6.sudo python temp.py
You Should See
Advanced Data Logging Capture Temperatures With Google Load the python gspread library sudo git clone Create a spreadsheet in google docs. Clone the python program sudo git clone You will see
Resources Sign Up For Element14 STEM Academy Where to Get Help / Ideas RaspberryPi.org Raspberry Pi Forum Element14 STEM Academy Make Magazine Adafruit RaspiTV
Evaluation Please visit: Go to Raspberry Pi Project Fill out the evaluation form
Thank you! Contact Information Name Other Mike Joan Victoria