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? Maar gelukkig helpt de RaspberryPi jou de computer (weer) te begrijpen. Het is ook gewoon leuk om er dingen mee te maken :)

Deze pagina biedt een instructie voor het inrichten van een RaspberryPi B2+. Deze computer van ongeveer € 35,- maakt gebruik van een variant van het systeem Linux: Raspbian Jessie (voorheen Wheezy).

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

De RaspberryPi 2B+ 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. een PiCamera kaart, een Display kaart
  7. 40 pins GPIO


Downloads:

  1. Responsive HTML5 / CSS / JS website framework
    (plaats in www/html map van de Pi)
  2. VR webserver met ThreeJS/Tornado/Python/GPIO
    (plaats in www/html map van de Pi)
  3. LED-blink Python-script
    (bewaar als blink.py in home/pi map van de Pi en type in de Terminal: sudo python 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.


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
  • Adafruit TouchHat + PiFM radio + PiPhone


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 stabilisator: 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 (zie ook deze instructie): Check via de OSX systeem-informatie welke lokatie de CDcard heeft.
    WAARSCHUWING: Indien de verkeerde schijf gekozen wordt, dan wordt bijv. de harddrive gewist!!! In onderstaand voorbeeld is de SDcard lokatie: 'rdisk2' en de systeem-User heet: 'gebruiker'. Dit kan per computer verschillen en deze website is NIET aansprakelijk voor schade!
  4. MAC: Deactiveer de SD-card via het Schrijfhulpprogramma
  5. MAC: Kopieer het Image naar de SDcard met onderstaand commando via de Terminal(mac):

    sudo dd if=/Users/gebruiker/Desktop/2015-11-21-raspbian-jessie.img of=/dev/rdisk2 bs=4m
     
  6. MAC: sudo diskutil eject /dev/disk2
    PC: SD-opslag veilig verwijderen

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


Backup en Restore RPi image

Complete installatie van een systeem 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. Hieronder een backup-methode vanuit de Mac-Terminal.

WAARSCHUWING: In dit voorbeeld is de SDcard lokatie: 'rdisk2 'en staat het Image op het bureaublad. Dit kan per computer verschillen en deze website is NIET aansprakelijk voor schade!

MAC: Formatteer eerst de SDcard via de instructie hierboven (SDFormatter).
MAC: Deactiveer eerst de SD-card via het schrijfhulpprogramma

MAC: Image maken van SD naar Bureaublad via Terminal(mac):
sudo dd if=/dev/rdisk2 of=desktop/pimage bs=4m
MAC: Image maken van Bureaublad naar SD via Terminal(mac):
sudo dd if=desktop/pimage of=/dev/rdisk2  bs=4m

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


Aansluiten aan RPi

  1. Sluit een Pi Touchscreen (shop) + tutorial aan of een beeldscherm met een HDMI kabel
  2. Sluit een WIFI USBadapter (shop) aan (Pi3 heeft deze er als standaard opzitten), of koppel de RPi via een ethernet-kabel met een computer met internetverbinding
  3. Sluit een toetsenbord en muis (niet nodig bij Pi Touchscreen) aan via de USB-poort
  4. Steek de SDcard nu in de RPi.
  5. Sluit de voeding aan via de microUSB poort en laat de RPi opstarten
  6. Met een WIFI-USB adapter: Klik rechtsboven op het netwerk-icoontje en connect met een wifi verbinding en maak verbinding met het WIFI-netwerk.
  7. Sluit eventueel een PiCamera (shop) aan.
  8. Sluit eventueel een USB-soundcard (shop) aan

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.


Pi koppelen aan lokaal netwerk:

Type vervolgens:

ssh pi@

Geef het standaard wachtwoord: raspberry

En je hebt contact met de RaspberryPi

Om nu ook het raspberryPi scherm te delen met een andere computer type je vervolgens:

sudo apt-get install tightvncserver
en yes, zodra de daarom wordt gevraagd.

Type na de installatie:

tightvncserver

Geef een zelfgekozen wachtwoord op.
Ga vervolgens op je eigen computer naar Schermdelen en zoek naar:

vnc://192.168....:5901

Voer het zojuist gekozen wachtwoord in. Nu kun je op het bureaublad van de Pi kijken. Indien je al een WIFI-dongle hebt aangesloten op de Pi, klik dan op het Computer-netwerk-icoontje, rechtsboven, in de taakbalk. Hier kun je inloggen op een WIFI-netwerk.
 


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

Updaten RPi via Terminal(RPi):
sudo apt-get update
sudo apt-get 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

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 (your IP)

Indien de toegang 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

Keyboard taal wijzigen via Terminal(RPi):
sudo nano /etc/default/keyboard
us
ctrl+x
en vervolgens y+enter
sudo reboot

Keyboard taal wijzigen via User Interface:
menu > Preferences > Mouse & Keyboard Settings > tab Keyboard > Keyboard Layout
Kies United States - English (US, with euro on 5)

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

Standaard wachtwoord wijzigen via Terminal(RPi):
passwd
Changing password for pi.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Vind systeem info RPi (instructie)

Handige RPi-commando's

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

IP-adres RPi opvragen via Terminal(RPi):
ifconfig

WLAN instellingen aanpassen via Terminal(RPi):
sudo nano /etc/network/interfaces

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


Install Chromium (tutorial)
(alternatieve browser van Google)


Flash Player voor afspelen Youtube video

Gnash (Flashplayer) installeren via Terminal(RPi):
sudo apt-get install gnash
sudo apt-get install browser-plugin-gnash
sudo apt-get install icedtea-plugin


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

Installeren GPIO websocket:
sudo pip install Tornado

Tutorial voor het besturen van motors via de GPIO


Printer installeren (tutorial)

sudo apt-get install cups
sudo usermod -a -G lpadmin pi
sudo nano /etc/cups/cupsd.conf

Toevoegen:
# Listen localhost:631
Port 631
Allow @local
   (3x plakken)

sudo /etc/init.d/cups restart
Printer benaderen: http://192.168.2.1:631

Octoprint 3D-printen (tutorial)

sudo apt-get install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential
git clone https://github.com/foosel/octoprint.git
cd octoprint
virtualenv --system-site-packages venv
./venv/bin/python setup.py install
mkdir ~/.octoprint

~/octoprint/venv/bin/octoprint
sudo octoprint —iknowwhatimdoing
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 (tutorial)

sudo apt-get install tightvncserver
 

Now you should be able to see the Screen Share option for the Pi in your Mac Finder sidebar. Now open Screensharing, and hit ⌘K. Enter vnc://192.168.1...:5901

stop VNCSERVER:
vncserver -kill :1


 

Appache webserver & PHP (tutorial)

Installatie Appache Server via Terminal(RPi):
sudo bash
apt-get install apache2 apache2-doc apache2-utils
apt-get install libapache2-mod-php5 php5 php-pear php5-xcache
apt-get install php5-mysql
apt-get install mysql-server mysql-client

apt-get install phpmyadmin
spatie apache2 + enter
Yes
nano /etc/apache2/apache2.conf

Voeg onderaan de pagina toe:
include /etc/phpmyadmin/apache.conf
ctrl+x
en vervolgens y+enter

Herstarten van de apache-server via Terminal(RPi)
sudo /etc/init.d/apache2 restart

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

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.

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


 

Wordpress (tutorial)

cd /var/www/html
sudo chown pi: .
sudo wget http://wordpress.org/latest.tar.gz
sudo tar xzf latest.tar.gz
mv wordpress/* .
rm -rf wordpress latest.tar.gz

cd /wordpress:
mysql -uroot -p

password: raspberry
mysql> create database wordpress;
ctrl+D

Open in de browser: http://192.168.2.1/wordpress

database name: wordpress
username: root
password: raspberry

Klik op: installeren
Kopieer de php-code

nano wp-config.php
Plak de php-code
ctrl+x en vervolgens y+enter


 

Ruby on Rails server (tutorial)

Bij gebruik van de tutorial wijzigen in routes.db:
root to: 'steps#index'


 

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


PiFM Radio (tutorial)


Adafruit TouchHat (tutorial)


 

Fona-PiPhone (tutorial-tethering | tutorial-piphone)

FONA GND to Raspberry Pi ground.
FONA Vio to Raspberry Pi 3.3 volt power.
FONA GND to FONA Key.
FONA TX to Raspberry Pi RXD.
FONA RX to Raspberry Pi TXD.

sudo wget https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console -O /usr/bin/rpi-serial-console && sudo chmod +x /usr/bin/rpi-serial-console
sudo rpi-serial-console disable

———————
Indien problemen met andere modules terugzetten:
sudo rpi-serial-console enable
——————-

pt-get update
sudo apt-get install ppp screen elinks

screen /dev/ttyAMA0 115200
type: AT
afsluiten

sudo -i
cd /etc/ppp/peers/
wget https://raw.githubusercontent.com/adafruit/FONA_PPP/master/fona
nano fona

change the APN value on the connect line. You need to change the -T ****
portalmmm.nl voor KPN sim
prepaidinternet voor KPN sim-only
Uncomment the /dev/ttyAMA0 line
ctrl+x en vervolgens y+enter

nano /etc/chatscripts/gprs
If your SIM card requires a PIN to unlock, uncomment this line and set the PIN value.

exit
sudo reboot

sudo pon fona
cat /var/log/syslog | grep pppd
cat /var/log/syslog | grep chat

ifconfig
sudo poff fona
sudo nano /etc/network/interfaces

Toevoegen:
    auto fona
    iface fona inet ppp
        provider fona

ctrl+x en vervolgens y+enter
sudo reboot