Raspberry Pi

Allikas: Kuutõrvaja
                                        Roheline.jpg Toores. Ehk seda pala võib täiendada.

Sissejuhatus

Vanasti oli kahte sorti arvuteid - "päris" arvutid, suure laua aluse kasti, ekraani ja klaviatuuriga ning tillukesed mikrokontrollerid, mis juhtisid pesumasinaid, auto mootorit jms. tehnikat.

Vaarika Pi (Raspberry Pi) hääldatakse ka nagu vaarikapirukas. See on umbes krediitkaardi suurune arvuti 700MHz ARM protsessori ja 512MB mäluga. Kõvaketta asemel on SD kaart ning sisenditest-väljunditest on olemas HDMI, USB, 100Mbit LAN, heliväljund ja RCA video.

GPIO laienduspesa abil saab juhtida ja lugeda perifeerseadmeid, valgusdioodi vilgutamisest ja fototakisti lugemisest kuni serial ja i2c ühendusteni. Sisuliselt on tegu karbikesega, mis ühelt poolt on võimeline juhtima näiteks koduautomaatikat, teiselt poolt paistab maailmale kui täisväärtuslik võrkuühendatav arvuti, mis jooksutab näiteks Linuxit.

Seade on võimeline ekraanil jooksutama graafilist keskkonda ning mängima maha full-HD kvaliteedis 1920x1080 videot 30 kaadrit sekundis.

Toide tuleb micro-USB pesast 5V ning voolutarve on suurusjärgus paar vatti. Seega võib selle "unustada" 24/7 vooluvõrku, kartmata, et see järgmise kuu elektriarvel pahandust teeb.

Olgu veel öeldud, et Raspberry Pi on juba vähemalt aastavanune, aga algselt õppeotstarbel tehtud plaadike osutus nii populaarseks, et seda telliti massiliselt ette ja oodati kuude viisi ning vahepeal oli piirang et iga inimene sai osta ainult ühe eksemplari.

Vaikimisi Raspberry PI ei toeta MPEG-2 ja VC-1 koodekeid. MPEG-2 koodeki litsentsi saab osta Raspberry PI kodulehel kus see maksab 2.79€.

482234 547775431920673 1198542549 n.jpg

Mõned võimalused vaarika Pi kasutamiseks

  • teleriga ühendatud meediakeskus
  • Veebikaamera server
  • Sõiduki jälgimine GPS abil
  • mängukonsooli emulaator
  • FTP, proxy, web, irc, asterisk VOIP jms server
  • storage server
  • auto arvuti
  • odav läpakas või tablet
  • mp3 mängija
  • alarmsüsteem
  • õhuke võrguboodi klient
  • videokõne klient
  • LEDide kontrollseade
  • CNC kontroller
  • torrenti seedbox

C6dfb64e Raspberry-pi-models-a-and-b.jpeg

Seadme täpsematels parameetriteks on

  • 700MHz Broadcom BCM2835 media processor featuring an ARM11 (ARM1176JZF-S) core, Broadcom GPU core, DSP core and support for Package-on-Package (PoP) RAM
  • 256MiB of SDRAM, stacked on top of the CPU as a PoP device OpenGL ES 2.0
  • 1080p30 H.264 high-profile decode
  • Composite and HDMI video output
  • One USB 2.0 port provided by the BCM2835
  • SD/MMC/SDIO memory card slot
  • General-purpose I/O (About 16 3v3) and various other interfaces, brought out to 1.27mm pin-strip
  • Optional integrated 2-port USB hub and 10/100 Ethernet controller
  • Open software (Iceweasel, KOffice, Python)
  • Capability to support various expansion boards

Opsüsteemi paigaldamine

Opsüsteemi paigaldamiseks tuleb kõigepealt joosta poodi ja muretseda endale SD kaart, mis oleks vähemalt 4G suurune. Ise sain selle 5 euro eest (2012 oktoober).

Seejärel tuleb ühendada SD kaart arvutiga ühendatud SD kaardilugejasse ja tõmmata alla opsüsteem.

Tõmbame alla opsüsteemi ISO faili sisaldava arhiivi ja pakime selle lahti

# unzip 2012-09-18-wheezy-raspbian.zip

SD kettal võib olla juba peal mingine partitsioon, tehase poolt looduna. Eemaldame selle fdiskiga.

# dd bs=4M if=2012-09-18-wheezy-raspbian.img of=/dev/sdd
462+1 records in
462+1 records out
1939865600 bytes (1.9 GB) copied, 361.078 s, 5.4 MB/s

Kui ühendada võrgukaabel startinud masinaga küsib see kohe endale DHCP aadressi (näide dhcp serveri lease failist)

}
lease 193.40.0.245 {
  starts 1 2012/10/15 09:50:48;
  ends 1 2012/10/15 13:50:48;
  cltt 1 2012/10/15 09:50:48;
  binding state active;
  next binding state free;
  hardware ethernet b8:27:eb:d9:2c:a1;
  client-hostname "raspberrypi";
}

Kasutaja: pi parool: raspberry

# ssh pi@193.40.0.245

Ajatsoon õigeks

$ sudo dpkg-reconfigure tzdata

Seejärel uuendame kogu süsteemi

$ sudo apt-get update
$ sudo apt-get upgrade

Ja seadistame turvalisusekaalutlustel uue parooli

$ sudo passwd pi

Firmware ja kerneli uuendamiseks

# apt-get install git-core
# wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
# rpi-update 
# reboot

Vajadusel vaja paigaldada ka:

# sudo apt-get install ca-certificates

Ühendades arvuti HDMI kaudu monitoriga näeme esmast konfigureerimisliidest, kui seda ei teki tuleb käivitada käsk raspi-config

Expandrootfsopt1.png

Kindlasti tuleks laiendada mälukaardi suurust, ehk valida expand_rootfs.

Trükkides selle läbitegemise järel konsoolile startx käivitatakse lxde keskkond

Lxde.png

Selleks, et TV hakkaks HDMI pordi kaudu pilti näitama pidin seadistama /boot/config.txt

hdmi_group=1
hdmi_mode=16   

Viimane annab siis resolutsioon 1080p sagedusel 60Hz. Rohkem võtmeid kirjas lingil http://elinux.org/RPi_config.txt

Jagatud kausta ühendamine

# sudo mount.cifs //<ip aadress>/jagatud_kaust /mnt

HD video mängimine

# omxplayer -o hdmi /path/to/filename.mp4

Näide:

http://www.youtube.com/watch?v=KGUIePe32Bo

Puutetundlik monitor

Raspberry-Pi-PiTFT-Touchscreen-Monitor.jpg

If you are looking for a small form factor Raspberry Pi display you might be interested in a new device unveiled by Adafruit this month in the form of the PiTFT Raspberry Pi touchscreen monitor which measures just 2.8 inches in size sand costs just $35.

http://www.geeky-gadgets.com/raspberry-pi-touchscreen-display-unveiled-by-adafruit-for-35-04-12-2013/

Timelapse

Installime gphto2 programmi

# apt-get install gphoto2

Ühendame canon Powershot kaamera

[  469.331117] usb 1-1.3: new full-speed USB device number 4 using dwc_otg
[  469.435164] usb 1-1.3: New USB device found, idVendor=04a9, idProduct=30b5
[  469.435192] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  469.435209] usb 1-1.3: Product: Canon Digital Camera
[  469.435222] usb 1-1.3: Manufacturer: Canon Inc.

Teeme pildi

# gphoto2 --capture-image-and-download --filename test.jpg
New file is in location /store_00010001/DCIM/270CANON/IMG_7036.JPG on the camera
Downloading 'IMG_7036.JPG' from folder '/store_00010001/DCIM/270CANON'...
Saving file as test.jpg                                                        
Deleting file /store_00010001/DCIM/270CANON/IMG_7036.JPG on the camera
Deleting 'IMG_7036.JPG' from folder '/store_00010001/DCIM/270CANON'...

Uurime mis fail tekkis

# du -h test.jpg 
740K	test.jpg

Või siis

# time gphoto2 --capture-image-and-download --filename %Y%m%d%H%M%S.jpg

Mis tekitab faili 20121024122937.jpg

# gphoto2 --list-config
/main/actions/focuslock                                                        
/main/actions/syncdatetime
/main/settings/output
...

Keerukam kasutus

# gphoto2 --set-config beep=0 --set-config flashmode=0 --set-config resolution=3 -I 20 -F 3150 --capture-image-and-download --filename "%Y%m%d%H%M%S.jpg"

Mille parameetrid tähendavad järgnevat:

  • --set-config beep=0 - Fokuseerimise piiks maha
  • --set-config flashmode=0 - Lülitame välgu välja
  • --set-config resolution=3 - kasutame keskmist resolutsiooni (1024×768)
  • -I 20 - Kahekümne sekundiline intervall piltide vahel
  • -F 3150 - tee 3150 pilti

Alternatiivina http://capture.sourceforge.net/

GPS

$ sudo apt-get install gpsd gpsd-clients python-gps
$ sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
$ cgps -s

Valvekoer

# modprobe bcm2708_wdog
# apt-get install watchdog
# /etc/init.d/watchdog start

Dmesgis

[  471.419899] bcm2708 watchdog, heartbeat=10 sec (nowayout=0)

Selleks, et luua veebiserver vaid ühe käsu abil tuleb öelda:

# python -m SimpleHTTPServer

Käivituskaustas asuvad failid on seejärel üle browseri kättesaadavad.

Elektroonika juhtimine

Raspberry-Pi-GPIO-Layout-Revision-2.png

Ühendades nüüd ground(must) ja cpio4 väikese LED tulukesega saab panna järgneva skriptiga selle vilkuma (elektroonikamaailma hello world)

sudo -i
echo "4" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio4/direction
while true;
do echo "1" > /sys/class/gpio/gpio4/value;
sleep 1;
echo "0" > /sys/class/gpio/gpio4/value;
sleep 1;
done

http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/temperature/ sensoritest

Ühenduste tuvastamine

Paigaldame paketid

$ sudo apt-get install i2c-tools

Seejärel tuleb vajalik draiver mustast nimekirjast välja kommenteerida

$ sudo nano /etc/modprobe.d/raspi-blacklist.conf

Seal tuleb trelliga välja kommenteerida

i2c-bcm2708

Lisaks vaja muuta modules konfi

$ sudo nano /etc/modules

Kuhu lisada read

i2c-dev
i2c-bcm2708

Misjärel tuleb teha reboot.

$ sudo /usr/sbin/i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- 19 -- -- -- -- 1e --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- 6b -- -- -- --
70: -- -- -- -- -- -- -- --

Juhul kui vaja raspberry käitada patarei pealt saab hoida kokku umbes 20mA voolu lülitades välja PAL/HDMI väljundid. Selleks tuleks bootimisel käivitada.

/opt/vc/bin/tvservice -off

http://www.daveakerman.com/?page_id=1294 pikemalt sellest juttu

Kodi

Tegemist mugava videohalduse vahendiga mis asub rasbiani pakihalduses. Paigaldamiseks

# sudo apt-get install kodi

Startimiseks tuleb trükkida käsureal

# kodi

Pilt mis seejärel videoseadmele avaneb võiks olla järgnev

12-kodi-home.png

Bootil startimises /etc/default/kodi

ENABLED=1

FM saatja

Tundub, et selleks on vaja ühendada 20cm pikkune haljas traat GPIO 4 karvaga

Seejärel tõmmata moodul http://www.icrobotics.co.uk/wiki/images/c/c3/Pifm.tar.gz

# sudo ./pifm sound.wav 100.0

Viimane argument on siis sagedus, testimiseks tuleb raadio sellele kruttida.

http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter

CEC protokoll ja telekapult

The HDMI supports device remote control via the CEC protocol, the idea being that you could control your Blueray player via your TVs remote and the control signals are sent over the HDMI cable.

Settings for your CEC devices can be found in:

System -> Settings -> System -> Input Devices -> Peripherals -> CEC adapter 

http://www.foo.co.za/raspbmc-control-xbmc-with-your-tv-remote-using-hdmi-cec

http://wiki.xbmc.org/index.php?title=CEC

Temperatuur

vcgencmd measure_temp

The temperature is shown in a nicely human readable way in degrees Celcius, like:

temp=40.1'C

http://www.sbprojects.com/projects/raspberrypi/temperature.php

USB automaatne ühendus

Soovides, et USB pulgad automaatselt mounditaks tuleb paigaldada usbmount pakk

apt-get install usbmount

Peale seda mounditakse seadmed kujul

/media/usb0

Mäluhalduse tuunimine

Üritades mkv faili mängida sain järgmise

eglCreateImageKHR:  failed to create image for buffer 0x3c target 12465 error 0x300c

See viga tähendab, et GPU (graphics processing unit) ehk nö videokaardil pole piisavalt mälu. Raspberry Pi jagab mälu CPU ja GPU vahel ning vaikimisi on GPUle antud vaid 64MB. Selle suurendamiseks

sudo raspi-config

Mis avab menüü kus tuleb teha järgnevat

  • Ava Advanced Options.
  • Mine Memory Split.
  • Kustuta 64 ja kirjuta 128 selle asemel. Seejärel vajuta enterPress enter.
  • vali Finish.
  • Tee Pi-le restart

MPEG2

Adding in DVD/MPEG playback: If your media collection is stored in mostly more modern codecs like h.264, you might consider skipping this step. If you have lots of DVD rips and other media encoded in MPEG-2, however, you’ll need to add an extra step into your Raspbmc configuration process.

http://www.plexapp.com/getplex/ plex paistab lahendavat selle asja tasuta.

http://forums.plexapp.com/index.php/topic/32852-plex-media-server-debian-repository/ plex server debianil.

Lingid

http://pi.gadgetoid.com/pinout/clockatoo

http://arvutiring.rvg.edu.ee/?Teemad:Miniarvuti:Rasbperry_Pi

http://ee.farnell.com/raspberry-pi-accessories

http://www.raspbmc.com/about/

http://blog.sheasilverman.com/raspberry-pi-emulation/ mängudest

http://www.makeuseof.com/tag/raspberry-pi-home-theater-system/ meediakeskus

http://sirlagz.net/2012/08/09/how-to-use-the-raspberry-pi-as-a-wireless-access-pointrouter-part-1/ wifi ruuter

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=35&t=16352 dlna serveri install

http://forum.stmlabs.com/showthread.php?tid=1376 veel dlna serveri teemat

https://www.ebower.com/docs/ubuntu-dlna-player/ dlna klient testimiseks

DLNA/UPnP Media Server Coherence, which exports local files or online media to UPnP clients. There are many backends to fetch media.

http://elinux.org/RPi_Tutorials suur hulk erinevaid juhendeid.

http://talk.maemo.org/showthread.php?t=76668 N900 telefonile sobiv digitaalne pult.

http://pi.gadgetoid.co.uk/post/001-who-watches-the-watcher valvekoer Rpi peale

Ffmpeg ja stream

http://jeremyblythe.blogspot.com/2012/05/raspberry-pi-webcam.html

http://sirlagz.net/2012/08/04/how-to-stream-a-webcam-from-the-raspberry-pi/

http://www.dreamgreenhouse.com/projects/2012/rpicam/index.php

http://rasplapse.wordpress.com/2012/07/17/pictures-and-yesterdays-time-lapse/ timelapse projekt

http://rasplapse.wordpress.com/2012/07/16/raspberry-pi-how-to-set-the-system-clock-using-a-canon-camera/ timelapse canoniga

http://rasplapse.wordpress.com/2012/06/25/gphoto2-camera-scripts/ veel sama teemat

http://raspberrypi.stackexchange.com/questions/164/how-do-i-update-software-and-firmware firmware uuendamine

http://blog.retep.org/2012/06/18/getting-gps-to-work-on-a-raspberry-pi/ gps ja raspberry

http://www.irongeek.com/i.php?page=security/raspberry-pi-recipes veel põnevaid retsepte

http://aonsquared.co.uk/raspi_voice_control kõnetuvastus

http://xbian.org/

http://www.raspberrypi.org/phpBB3/viewtopic.php?t=9210 openelec

http://alexba.in/blog/2013/01/07/use-your-raspberrypi-to-power-a-company-dashboard/

http://www.savagehomeautomation.com/projects/raspberry-pi-rs232-serial-interface-options-revisit.html serial konsoolide ehitamine.

http://marks-space.com/2013/04/29/guide-to-interfacing-a-gyro-and-accelerometer-with-a-raspberry-pi/ güroseadmed ja Pi

http://scruss.com/blog/tag/linvor/ bluetooth serial terminal

Raspbmc teemalised lingid

https://github.com/yllar/yllar-xbmc-repo/tree/master/repo/plugin.video.err.ee

http://wiki.xbmc.org/index.php?title=Add-on:XBMC_Subtitles

http://wiki.xbmc.org/?title=Subtitles

http://mymediaexperience.com/raspberry-pi-xbmc-with-raspbmc/

http://wiki.xbmc.org/index.php?title=Add-on:TV3_Play

http://forums.plexapp.com/index.php/topic/26727-how-to-plex-media-server-on-ubuntu/