Mitä pitää tehdä Raspissa ennen NetBeansin käyttöönottoa. Loggaudu Raspiin oman paikallisverkon kautta käyttämällä Putty-ohjelmaa. Siitä on oma ohje: Raspberry-tietokoneen käyttöönotto. Tämä oikeastaan tuon ohjeen luonnollinen jatke ja nämä toimet on tehtävä vaikkei NetBeansia asennettaisikaan. Sisältö 1. Konfigurointi, alkuasetukset jotta Raspi toimii parhaiten 2. Kiinteä IP osoite 3. Sudo super user do - uusi käyttäjä ja tälle ryhmä - pääkäyttäjä root 4. Bcm2835-kirjaston asentaminen Raspberry Pi:lle 5. Raspin sammutus 6. Power 1. Konfigurointi Käynnistä Mint-koneessa Putty (siitä on erillinen ohje) ja loggaudu Raspiin, tunnus on pi ja salasana raspberry anna komento: sudo raspi config Konfigurointi-ohjelma avautuu. Ja sitten töihin: 1
1. Expand Filesystem - laajentaa tiedostojärjestelmän koko SD-muistikortin suuruiseksi. 2. Change User Password - unohda tai vaihda jos pelkäät 3. Boot Options - valitse B2, loggaudutaan autom. konsoliin pi-tunnuksella, toisaalta emme käytä tätä vaan loggaudumme verkon kautta, pi-tunnuksella ainakin alkuun 4. Wait for Network at Boot - unohda 5. Internationalisation Options - valitse lokalisaatio Suomi/Finland - valitse kellonaika, Helsinki, Raspbian yrittää ottaa yhteyttä NNTP-serveriin saadakseen GMT-kellonajan, (tästä lisää toisaalla) - valitse suomalainen näppäimistö, Generic 105, helpottaa työtä - valitse WiFin käyttöpaikka Suomi/Finland 6. Enable Camera - unohda toistaiseksi, kunnes hankit kameran 7. Add to Rastrack - unohda ja katso //rastack.co.uk niin tiedät miksi 8. Overlock - unohda, ylikellotus on hullujen hommaa, eikä taida RPi3:ssa edes onnistua 9. Advanced Options - A1 Overscan, poistaa kuvasta mustat reunat, ei/disable, ei tarpeen - A2 Hostname, jos haluat muuttaa nimen - A3 Memory Split, ARM-ohjaimessa on kaksi prosessoria, CPU tavallisiin töihin ja GPU-grafiikkaprosessori kuvan/videon yms käsittelyyn. Koska emme käytä graafista käyttöliityntää, GPU:lle oletusmuisti 64 riittää, jopa pienempi. Jotain kuitenkin jätä, koska Raspi boottaa (käynnistyy) GPU:n avulla. - A4 SSH yes, turvallinen verkkoyhteys, tätä tarvitaan jotta yhteys pöytäkoneesta Raspiin onnistuu - A5 SPI no, toistaiseksi, kunnes koodikurssilla tarvitaan - A6 I2C no, toistaiseksi, kunnes koodikurssilla tarvitaan - A7 Serial no, toistaiseksi, kunnes koodikurssilla tarvitaan - A8 Audio, Auto - A9 1-Wire no, toistaiseksim kunnes koodikurssilla tarvitaan - AA GPIO Server yes, jotta päästään kiinni I/O-pinneihin - AB GL driver no, grafiikka-ajuri, meille ei tarpeen - A0 Update ehkä-tuskin 0. About raspi-config - lue 2
2. Kiinteä IP osoite Raspbian Jessie käyttöjärjestelmään. Kiinteän IP-osoitteen tekeminen Raspbian Jessie-käyttöjärjestelmään hoidetaan eri tavalla kuin mitä edellisissä Raspbianin versioissa tehtiin. Se tapahtuu nyt näin: Loggaudu Raspberryyn oman verkon kautta by Putty (siitä on oma ohje, kts.). Käynnistä teksti-editori nano (josta on oma ohje) komennolla: sudo nano /etc/dhcpcd.conf (sudosta kohta lisää). Tiedosto avautuu. Risuaitamerkki # rivin alussa tekee koko rivistä kommentin ja sitä ei huomioida startissa. Lisää tiedoston loppuun seuraavat rivit: - osoitenumerot otat omasta koneesta, eli mitä DHCP-palvelimesi (se purkki jolla olet liittynyt internettiin) on sinulle määrittänyt, minulla ne ovat tässä Jos sinulla on omassa verkossa erilaiset osoitteet gatewaylle ja muulle (esim 192.168.x.y), tee osoitteet sen mukaisesti. Jos et ymmärrä mistä on kysymys, niin matkaile kotikylän kirjastoon ja lainaa kaikki Ethernetverkkoa käsittelevä kirjallisuus. Sitten vaan opiskelemaan. Tai selvitä Punomon sivuilla olevasta ohjeesta miten menetellä ja mitä merkinnät tarkoittavat. Tallenna tiedosto ctrl+o Lopeta nano ctrl+x Käynnistä kone uudelleen, anna komento: sudo reboot Loggaudu Putty-SSH:n avulla koneeseen, kiinteän osoitteen tulisi toimia jos teit kaiken oikein. 3
3. Sudo super user do Root-termi tarkoittaa pääkäyttäjää (main administrator) Linux-käyttöjärjestelmässä. Pääkäyttäjä voi tehdä monia sellaisia töitä joita ei sallita muille käyttäjille, kuten järjestelmän ja tietoverkon konfigurointi, ohjelmien asennus ja poisto, laitteistotiedostojen luonti yms. Ubuntu-pohjaisiin järjestelmiin ei voi loggautua root-pääkäyttäjänä, ainoastaan tavallisena käyttäjänä. Eikä Raspiinkaan voi: Sudo-komento tarkoittaa joko superuser (super user do) tai root user. Sudo-määritys komennon edessä antaa sinulle root-oikeudet ko. käskyn toteuttamisen ajaksi. Salasanan kyselyllä käyttöjärjestelmä varmistaa, että käyttäjä kuuluu sudoers-ryhmään johon ryhmään kuuluvilla on oikeus käyttää sudo määritystä. Jos käyttäjä ei kuulu tuohon ryhmään saat virheilmoituksen. Oletuksen Raspbianissa root/pääkäyttäjä/administrator on estetty. Mutta sovellukset jotka käyttävät IO-pinnejä, tarvitsevat root-oikeudet. Jos käytät komentotulkkia esim. SSH-yhteydellä Puttyn kautta, silloin luonnollinen valinta root-oikeuksia tarvitessa on sudo. NetBeans, jonka otamme käyttöön laiteläheistä C-ohjelmointia varten, haluaa tietoihinsa käyttäjän jolla on root- eli sudooikeudet. Käyttäjätunnus pi on Raspbianin oletuspääkäyttäjä, tunnus siis pi ja salasana raspberry. Sillä Raspi-työskentely aloitetaan ja sillä luodaan uusia tunnuksia. Linuxissa käyttäjä kuuluu johonkin käyttäjäryhmään, kummallekin (siis käyttäjä/user ja ryhmä/group) määritetään oikeuksia jotka määrittävät mitä voi tehdä. Groups Komento groups kertoo mihin kaikkiin ryhmiin pi kuuluu, kuten näet, vaikka mihin: Käyttäjä pi kuuluu ryhmään sudo, joten hänellä on oikeus väliaikaisesti olla pääkäyttäjä. Uusi käyttäjä Pääkäyttäjä voi luoda uusia tunnuksia. Huomaa, että pi-käyttäjä ei saa luotua uusia käyttäjiä suoraan, mutta kun hän kuuluu ryhmään sudo, sekin onnistuu (väliaikaisesti). 4
Vain root-pääkäyttäjä tai väliaikainen sudo voi luoda uusia käyttäjiä. Anna komento: sudo adduser <uusi nimi> siis esimerkiksi: sudo adduser pena Prosessi etenee näin: Uusi käyttäjätunnus tulee voimaan vastaa uudelleen-käynnistyksen, reboot, jälkeen. Anna komento: sudo reboot Oletuksena uusi käyttäjä kuuluu vain omaan ryhmäänsä. Siksi käyttäjälle määritetään ryhmä ja siten myös oikeudet mitä hän saapi tehdä. Lisätään käyttäjätunnus ainakin sudo- ja gpio-ryhmiin. Anna pi-käyttäjänä komento: sudo gpasswd a pena sudo Pääkäyttäjä root. Vaihda root-käyttäjän salasana: anna komento: sudo passwd root Anna sellainen jonka muistat, omassa koneessa se voi olla vaikka... 5
Nyt meillä on käytössä root-käyttäjä, joka kuluu root-ryhmään ja voi siten tehdä mitä vain. Opiskeltaessa Linuxia ja ohjelmointia Raspin avulla, useasti on mielekästä työskennellä roottunnuksella. Se tosin on vaarallista jos/kun et vielä tunne järjestelmää kunnolla. Siispä älä milloinkaan työskentele työasema-linux-koneessa root-tunnuksella, mutta Raspin kanssa tuosta määräyksestä voi joustaa. Voit liittää käyttäjän root-ryhmään, jolloin hän saa root-oikeudet. Mikäli olet kirjautunut Puttyn avulla ja pi-tunnuksella, tai joku muu käyttäjä joka kuuluu sudoryhmään, voit vaihtaa käyttäjän kesken kaiken rootiksi komennolla: sudo su root Sudoers-tiedoston muokkausta ei pidä tehdä millä tahansa editorilla, visudo on ohjelma sudoersasetustiedoston muokkaamiseen. Ohjelma huolehtii /etc/sudoers-tiedoston lukitsemisesta samanaikaisten muokkausten varalta sekä tarkastaa annettujen syötteiden oikeellisuuden. Anna komento: sudo visudo sudoerin konfiguriointitiedosto avautuu. Etsi rivi jossa on #User priviledge specification ja lisää sinne kuvan mukainen rivi, tunnus tietenkin omasi. # User privilege specification root ALL=(ALL:ALL) ALL pena ALL = NOPASSWD: ALL Talleta CTRL+o ja lopeta nano CTRL+x. Tulevat voimaan rebootin jälkeen. 6
Testaus käyttäjä pi kuuluu sudoers-ryhmään, joten hänellä on oikeus luoda uusi käyttäjätunnus. Pirjo loggautuu Raspiin ja yrittää luoda käyttäjätunnusta jooselle. Kuten kuvasta näkyy, käyttäjä pirjo ei kuulu sudoers-ryhmään, joten hänellä ei ole oikeutta antaa käyttäjätunnuksia. 7
4. Bcm2835-kirjaston asentaminen Raspberry Pi:lle. Raspberry Pi-3:ssa on Broadcomin ARM-ohjain. Jotta GPIO-pinnit saadaan käyttöön C- ohjelmointikielellä, täytyy Raspbianiin asentaa bcm2835-ohjelmakirjasto. Kirjaston asentaminen: mene /home/pena-kansioon kirjoittamalla komentoriville komento: cd /home/pena. Seuraavaksi ladataan bcm2835-kirjasto komennolla: sudo wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.50.tar.gz. Tiedosto puretaan komennolla sudo tar zxvf bcm2835-1.50.tar.gz. Puretut tiedostot löytyvät kansiosta nimeltä /home/pena/bcm2835-1.50. Kansioon komennolla: cd bcm2835-1.50. Seuraavaksi aja komento: sudo./configure, sitten sudo make, ja vielä sudo make check, ja sudo make install jonka jälkeen kirjasto on käyttövalmis. Kirjasto otetaan käyttöön kirjoittamalla tiedoston alkuun: #include bcm2835.h. Mutta siitä lisää C-kielen ja NetBeans-ohjeiden myötä. Tähän koodi 5. Raspin sammutus Kun hommat on hoidettu, on aika valot sammuttaa. Et saa lopettaa koneen käyttöä noin vain katkaisemalla sähköt. Raspissa oleva SD-muisti (jossa on käyttöjärjestelmä) ei siitä tykkää, vaan Linuxista on kirjauduttava oikeaoppisesti ulos. Jos sinulla on auki monta terminaalia, kaikista täytyy ensin tulla pois. Myös NetBeans tulee sammuttaa, koska se on SSH-yhteydessä Raspiin. Sammutus root käyttäjä: shutdown h now pi käyttäjä: sudo shutdown h now Sitten voi katkaista virrat koneesta irroittamalla mikro-usb-virtaliittimen. Odota lupaa tehdä se. Tietokoneen sammutus viiden minuutin kuluttua: shutdown h +5 Tietokoneen boottaus, uudelleenkäynnistys, heti: shutdown r now 8
6. Virtalähde Raspi 3:n virtalähteen tulisi olla 5V/2,5 A, max total USB peripheral current draw 1,2 A. Mieluusti CPU:lle jäähdytyslevy. 9