Raspberry Pi Workshop
Burning Raspbian to an (micro)SD Card
For Mac:
brew cask install etcher
For Windows:
Download and install Etcher: https://etcher.io/
Flash the image
- Open Etcher
- Select the Raspbian image
- Select the drive to which you want to burn
- Double check your selections
- This is critical, as you run the risk of overwriting the wrong drive (including your primary hard drive)
- Click “Flash!” and wait until Etcher writes and validates the image. This can take around 10 minutes.
- Once finished, eject your SD card
Ports
Plugging in your peripherals
- HDMI
- Keyboard and Mouse
- MicroUSB Power Supply (5V/2.1A)
Boot for the First Time
Get your MAC Address
- In the Raspberry Pi GUI, click the Terminal icon in the top left toolbar
- Run the command
ifconfig
- Locate the
wlan0
section and find and write down theHWaddr
; it should look something like:b8:27:eb:00:00:00
- This is the MAC Address for your wireless adapter on the Raspberry Pi; you will use it to register the Pi on the network
Register with the CMU Legacy Network
- Go to https://netreg.net.cmu.edu/
- Enter and select the link to “Register New Machine”
Select the “Legacy Wireless Network” and click the in-line “Continue” button.
Enter a name for your Raspberry Pi
Enter the wlan0
MAC address from the raspberry pi
Now we wait…
Changing the Default Settings
- Open Raspberry Pi Menu > Preferences > Raspberry Pi Configuration
System
- Change Password
- Change Hostname
- Boot to CLI
Interfaces
- Set everything to enabled, except VNC
Reboot
Open Terminal and type
sudo reboot
CRON
- Cron is a task scheduler
- You can add tasks to cron using the
crontab
The command
sudo crontab -e
will take you to the root crontab, meaning your tasks will run regardless of which user is logged in
You can also use special signifiers
A common example is to start a program a few seconds after startup:
@reboot sleep 10 && /usr/bin/nodejs /path/to/nodescript.js
Connecting to WiFi
- This is easiest to do in the GUI
- To enter the GUI from commandline mode, run the command
startx
- Find the WiFi icon and select CMU
We are going to test to see if our connection has propagated by running the command
ping google.com
If it returns with a list similar to this:
PING google.com (68.65.124.44): 56 data bytes
64 bytes from 68.65.124.44: icmp_seq=0 ttl=60 time=12.702 ms
64 bytes from 68.65.124.44: icmp_seq=1 ttl=60 time=13.478 ms
64 bytes from 68.65.124.44: icmp_seq=2 ttl=60 time=13.880 ms
64 bytes from 68.65.124.44: icmp_seq=3 ttl=60 time=12.818 ms
then you are connected. If not, keep waiting.
SSH
- Once your pi is on the CMU network, you should be able to SSH into the device from your laptop
- Run the command (but fill in your own info)
ssh $USER@$URL
for example ssh pi@hostname.wv.cc.cmu.edu
It will ask if you want to add this to the list of known hosts, type Yes
Updating Packages
Linux has a built-in package manager called apt-get
We need to update the list of package repositories:
sudo apt-get update
Next, we want to get the newest versions of all our packages:
sudo apt-get upgrade
(this may take a while and require some user confirmation)
Installing Packages
Raspbian comes with Node.js installed, but the version is very old.
We need to add a new repository to our package manager:
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
Now, install Node.js:
sudo apt-get install nodejs
Install and Configure Samba
Install Samba with:
sudo apt-get install samba
Go to the Samba configuration folder:
cd /etc/samba/
Rename the configuration file (so we have a backup):
sudo mv smb.conf smb.conf.original
Make and edit a new one:
sudo nano smb.conf
- Copy this into new file:
[global]
workgroup = WORKGROUP
netbios name = SAMBA
server string = Samba Server %v
map to guest = Bad User
log file = /var/log/samba/log.%m
max log size = 50
socket options = TCP_NODELAY SO_RCVBUF=819SO_SNDBUF=8192
preferred master = No
local master = No
dns proxy = No
security = User
# Share
[Data]
path = /
valid users = pi
read only = No
create ma19 = 0755
directory mask = 0755
Set up a new password:
sudo smbpasswd -a pi
Restart the Samba service:
sudo service smbd restart
- On your Mac laptop, you can now mount the Raspberry Pi filesystem on your computer by going to Finder and typing
⌘+k
- Enter smb://pi@$yourIPAddress
Getting the example code
- Clone the repo to your Pi by running
git clone https://github.com/Making-Things-Interactive/button-twitter.git