brew cask install etcher
Download and install Etcher: https://etcher.io/
ifconfig
wlan0
section and find and write down the HWaddr
; it should look something like: b8:27:eb:00:00:00
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…
Open Terminal and type
sudo reboot
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
startx
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 $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
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)
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 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
[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
⌘+k
git clone https://github.com/Making-Things-Interactive/button-twitter.git
Turn an ordinary device into something connected to the Internet of Things.
You will augment a physical device with a Raspberry Pi to connect it to the internet, and allow it to perform a function it couldn’t perform before. You will work on your own to complete the project. As with Project 1, your main focus should be on ideation, but you should also begin to think about how well crafted your project is.
Feel free to use one of the below possibilities, or create your own.
This project hones some of the skills you learned in Project 1 (basic electronics and rapid prototyping), and also introduces some new ideas: embedded computing and networking.