Design Trainingen

Raspberry Pi

We werken inmiddels dagelijks met computers in verschillende varianten. Ze worden kleiner en mobieler met meer functionaliteit. Daardoor worden ze ook minder toegankelijk en weten we er minder van, terwijl we er wel afhankelijker van worden.

Grote computer- en software fabrikanten krijgen via onze computers meer controle over ons leven. Goed dat wij precies begrijpen wat een computer kan en doet. Toch? Of niet?

Sensoren, minicomputertjes, robots en Internet of Things zijn inmiddels voor iedereen te koop. Ze spelen een steeds belangrijkere rol in combinatie met creatieve en interactieve toepassingen. Ken je die schermen die een boodschap communiceren, zodra je er voorbij loopt? Of mixed Reality die mensen van hun angsten afhelpt? Of help bij het leren? Sensoren die jouw beweging omzetten in een game? Zelfrijdende auto’s? Ruimtelijke videoprojecties op gebouwen, etc.?

Ontdek hier hoe je sensoren koppelt aan computers, hoe je lampjes of motors kunt aansturen. Leer basis programmeren, solderen of ga aan de slag met Projection Mapping, LeapMotion of 3D- printer. 

Je experimenteert met allerlei technieken. Je doet basiskennis op waarmee je interactie in gang kunt zetten en mag je natuurlijk ook je eigen experiment opzetten.

Deze pagina biedt een instructie voor het inrichten van een RaspberryPi (v.a.€ 35,-) of RaspberryPi Zero (v.a.€ 10,-). Deze computer maakt gebruik van een variant van het besturingssysteem Linux Raspbian.

De Pi is bedacht om studenten op een relatief goedkope manier met computers te leren werken en kennis te laten maken met programmeren.

De standaard RaspberryPi (de grote) bestaat uit een moederbord, met daarop:

  1. 1 HDMI uitgang
  2. 4 USB poorten,
  3. 1 3,5mm Jack audio uitgang
  4. 1 Ethernet poort
  5. 1 5V Voeding, min. 1200 mAmp
  6. 1 PiCamera slot, 1 Display slot
  7. 40 pins GPIO


INHOUD

  • voeding
  • SDcard
  • installatie Rasbian
  • configuratie
  • GPIO
  • printers + octoprint 3D
  • filesharing met mac
  • virtual network server (VNC)
  • webserver Apache en Rails
  • Mopidy-Spotify server
  • opensource alternatief voor Adobe en MSOffice


Voeding

RPi op Netvoeding adapter: adapter microUSB (shop)
5 V / 2000mA
aansluiten via microUSB

 

RPi op Zonne energie met accu: xtorm-lava-solar-charger (shop)
5 V / 2000mA
aansluiten via microUSB

RPi op AA baterijen met 9V naar 5V voltregulator (step-down): piborg (instructies) (shop)
6 x AA 2600mA
aansluiten via GPIO
 

 


SDcard

Koop een SDcard met installatie van NOOBS (Raspbian) (shop)
Ga door naar: Aansluiten RPi

Of

Formatteer zelf een SD kaart met het programma: SDformatter (win+mac) OVERWRITE FORMAT en OPTIONS: logical address adjustment: YES

Ontkoppel/Deactiveer vervolgens de DScard (niet verwijderen!)


Installatie Raspbian:

  1. Download Raspbian image
  2. PC-MAC: Pak het zip-bestand uit naar het bureaublad
    PC: Installeer het image op de SDcard met Win32DiskImager.
    PC: Klik op 'Write' (niet read) naar de SDcard.
  3. MAC: Download het programma PiBaker en brandt het image op de SD-kaart

LET OP: Het kopieren/maken van een image duurt ongeveer 5-30 minuten, afhankelijk van de bestandsgrootte. Heb geduld...


Backup RPi image

De basis installatie van een systeem op een SD-kaart kan veel tijd kosten. Daarnaast kan het systeem na veel experimenteren rommelig worden of slechter gaan presteren. Het is daarom verstandig om zo nu en dan een backup-image te maken van het systeem. Via Win32DiskImager(PC) en PiBaker(MAC) kun je een backup maken.


Aansluiten aan RPi

  1. Steek de SDcard met Rasbian/Noobs in de RPi.
  2. Sluit een Pi Touchscreen (shop) + tutorial aan of een beeldscherm met een HDMI kabel
  3. Koppel de RPi via een ethernet-kabel met een computer met internetverbinding. LET OP: oudere RaspberryPi's (< versie 3) hebben geen wifi er op zitten. Gebruik dan een USB-WIFI adapter.
  4. Sluit een toetsenbord en muis aan via de USB-poort
  5. Sluit de voeding aan via de microUSB poort en laat de RPi opstarten.
  6. Sluit eventueel een PiCamera (shop) aan.
  7. Sluit eventueel een USB-soundcard (shop) aan
  8. Maak via de Interface contact met een WIFI-netwerk.

IP-adres zoeken in lokaal netwerk:

Sluit de RaspberryPi met een ethernetkabel aan op een computer en type in de Terminal/Putty:

arp -na | grep -i b8:27:eb

Nu krijg je het IP-adres van je Pi te zien.


RPi-Configuratie

Naast de User-Interface krijgt de RPi ook via de Terminal instructies, zoals installatie en systeemconfiguratie.

Open de Terminal door rechtsboven in de taakbalk op het Terminal-icoontje te klikken. Type voor elk commando een SUDO, waarmee je aangeeft de systeembeheerder te zijn en de rechten hebt om te installeren.

Af en toe moeten bepaalde configuratie-bestanden worden aangepast. De standaard editor hiervoor heet: NANO. Zodra er in de terminal 'sudo nano bestandsnaam' staat, dan wordt dit bestand in de nano-editor geopend. Bewaren van wijzigingen via de toetsen: ctrl+x vervolgens y+enter.

Zodra er dit IP-adres staat: http://192.168.2.1
dan moeten de laatste twee cijfers vervangen worden door het eigen IP-adres van de RPi. Achterhaal het eigen IP-adres via de Terminal met: ifconfig

RPI configuren via Terminal(RPi):
sudo raspi-config

  1. 1 Expand Filesystem: enabled
  2. 3 Boot Options: B4 direct inloggen als beheerder (persoonlijke voorkeur)
  3. 5 Internationalisation Options: Europe / Amsterdam
  4. 6 Enable Camera: indien aangesloten
  5. 9 Advanced Options > A1 Hostname: kies een eigen netwerknaam
  6. 9 Advanced Options > A4 Enable SSH
  7. 9 Advanced Options > A7 I2S > Enabled
  8. 9 Advanced Options > A9 Audio > 1 Force 3.5mm ('headphone') jack
  9. 9 Advanced Options > A0 Update

Back en Finish
sudo reboot now

Updaten RPi via Terminal(RPi):
sudo apt-get update
sudo apt-get dist-upgrade
Type: Y + enter bij de vraag of er updates geinstalleerd mogen worden.
Kan bij de eerste keer updaten een tijdje duren....20-30 minuten, afhankelijk van de internet-snelheid, nog niets vergeleken bij een Windows update ;)

Zodra de upgrade en update gereed zijn, herstart dan de RPi:

sudo reboot now

Pi benaderen via SSH op een andere computer:
sudo raspi-config: SSH enable
Op andere computer in Terminal(mac) of Putty(windows):
ssh pi@192.168.1.1 (jouw eigen RPi IP-adres)
of via de RaspberryPi netwerknaam:
ssh pi@raspberrypi.local

Indien de toegang door MAC gewijgerd wordt type in Terminal Mac:

sudo rm -f .ssh/known_hosts

Beeldscherm instellen via:
sudo nano /boot/config.txt
Standaard HDMI- of Touchscreen uitgang voor scherm
Forceer HDMI-uitgang voor scherm:  display_default_lcd=0
Uncomment voor opstarten zonder HDMI aansluiting:
hdmi_force_hotplug=1
hdmi_drive=2

TouchScreen Toetsenbord instellen:
sudo apt-get install matchbox-keyboard
sudo reboot

Snelkoppeling voor uitvoeren script maken op bureaublad:
cd Desktop
sudo nano programmanaam.sh

Toevoegen:
#!/bin/bash
'programmanaam'

ctrl+x en vervolgens y+enter

sudo chmod +x programmanaam.sh

Audio configuratie voor auto-keuze USB of 3.5mm Jack
sudo amixer cset numid=3 1
cat /proc/asound/modules
sudo nano /etc/modprobe.d/alsa-base.conf

Toevoegen:
options snd_usb_audio index=0
options snd_bcm2835 index=1
options snd slots=snd-usb-audio,snd-bcm2835

ctrl+x en vervolgens y+enter
sudo reboot


Overige configuratie

Vind systeem info RPi (instructie)

Handige RPi-commando's

Uitzetten/herstarten RPi via Terminal(RPi):
sudo poweroff
sudo reboot -h now

IP-adres RPi en netwerk-info opvragen via Terminal(RPi):
ifconfig

Alles wat is geinstalleerd op de RPi:
dpkg --get-selections | grep -v "deinstall"

Programma installeren via Terminal(RPi):
sudo apt-get install programmanaam

Programma verwijderen via Terminal(RPi):
sudo apt-get purge programmanaam

Nieuwe map maken via Terminal(RPi):
sudo mkdir mapnaam
Map verwijderen via Terminal(RPi):
sudo rmdir -rf /mapnaam
Bestand verwijderen via Terminal(RPi):
sudo rm -rf /bestandsnaam
Bestanden uit de map verplaatsen naar een andere map via Terminal(RPi):
mv  -v ~/mapnaam/* ~/mapnaam/

Scripts uitvoeren bij opstarten RPi met Crontab:
sudo crontab -e
Kies: 2 + enter (NANO-editor)
Onderaan toevoegen:
@reboot sudo python /home/pi/programma/script.py

ctrl+x en vervolgens y+enter
sudo reboot


Camera (PiCamera en USB)

PiCamera Webserver (tutorial)
Picamera benaderen: http://192.168.2.1/picamera

USB Camera Webserver(tutorial)

sudo apt-get install motion
sudo /usr/bin/motion
sudo service motion start
USB camera benaderen: http://192.168.2.1:8081
Debugging-website


GPIO activatie

De GPIO zijn aan/uit(I0) schakelaars waarmee apparaten bestuurd kunnen worden. Denk aan motors, lampjes en robots. Meestal wordt er gebruik gemaakt van Python om de apparaten te besturen.

Installeren GPIO voor SCRATCH via Terminal(RPi):
wget http://bit.ly/1wxrqdp -O isgh7.sh
sudo bash isgh7.sh

Installeren GPIO voor PYTHON:
sudo apt-get install python-rpi.gpio python3-rpi.gpio

Download:

  1. LED-blink Python-script
    (bewaar als blink.py in home/pi/Desktop map van de Pi en type in de Terminal: sudo python /Desktop/blink.py

LET OP: deze scripten worden opensource aangeboden, zodat iedereen hiermee kan experimenteren. Designtrainingen is op geen enkele manier aansprakelijk of verantwoordelijk voor uitleg van de code.

Installeren GPIO websocket:
sudo pip install Tornado

Tutorial voor het besturen van motors via de GPIO


Printer installeren (tutorial)

sudo apt-get install cups
Printer benaderen: http://192.168.2.1:631

Octoprint 3D-printen (tutorial)

git clone https://github.com/foosel/octoprint.git
cd octoprint


Printer benaderen: http://192.168.2.1:5000


Filesharing Mac (tutorial)

sudo apt-get install netatalk

Now from the Mac, open Finder, and hit ⌘K. Enter afp://192.168.1... (your IP)

 

VNC SERVER

sudo rsaspi-config

Vink Enable SSH aan


 

Appache webserver & PHP (tutorial)

Rechten localhostmap vrijgeven: 
cd /var
sudo chown pi: www

Zorg dat er in de www-map minimaal een index.html staat.
indien aanwezig:
cd /var/www/html
sudo chown pi: html

Zorg dat er in de html-map minimaal een index.html staat.

(her)Starten en stoppen van de apache-server via Terminal(RPi):
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/apache2 start
sudo /etc/init.d/apache2 stop


 

Wordpress (tutorial)

cd /var/www/html

Database bekijken: http://192.168.2.1/phpmyadmin (username = root)


 

Mopidy Spotify (tutorial)

sudo modprobe ipv6
sudo nano /etc/modules

Toevoegen:
ipv6
ctrl+x
en vervolgens y+enter

wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/jessie.list

sudo apt-get update
sudo apt-get install mopidy
sudo apt-get install mopidy-spotify
sudo nano ~/.config/mopidy/mopidy.conf

Instellen:
[audio]
output = alsasink
[spotify]
username = your-username-spotify
password = your-password-spotify
[mpd]
hostname = ::
password = raspberry
[local]
media_dir = Music
[http]
enabled = true
hostname = ::
port = 6680
static_dir = /opt/webclient/

sudo mkdir -p /opt/webclient

 

Mopidy Musicbox Webclient (tutorial)

Om via een browser muziek (bijv. Spotify) te kunnen afspelen op de RPi is er een web-interface beschikbaar. Installeer deze en bekijk deze player via: http://192.168.2.1:6680/musicbox-webclient

LET OP: Gebruik je Mopidy via VNC, stel dan ~/.config/mopidy/mopidy.conf vanuit de VNCviewer nogmaals in, zodat ook de VNC rechten heeft om af te spelen.

 

usb sound instellen:

sudo modprobe snd_bcm2835
sudo amixer cset numid=3 1
sudo nano /etc/asound.conf

pcm.!default {

type plug

slave {

pcm "hw:1,0"

}

}

ctl.!default {

type hw

card 1

}


speaker-test -c2 -D hw:1,0speaker-test -c2 -D hw:1,0

Installeren WIFI HIFI STREAM USB (tutorial)

 


 

LibreOffice Software

LET OP: bij Raspbian Jessie is LibreOffice al standaard geinstalleerd
sudo apt-get install libreoffice

Aternatief Adobe Software

Photoshop:
sudo apt-get install gimp
Illustrator:
sudo apt-get install inkscape
InDesign:
sudo apt-get install scribus

 

Fonts OTF of TTF:

cd /usr/share/fonts
cd ~/.font
sudo fc-list