Projekti: Raspberry Pi
Johdanto
Raspberry Pi (tai tuttavallisemmin ilmaistuna “Raspi”) on oikea tietokone, jolla on oma käyttöjärjestelmä (Raspbian) ja johon voit yhdistää näytön ja näppäimistösi. Toisin kuin omassa kannettavassa tietokoneessasi, Raspberry Pi:ssa on Arduinon tapaan paljon portteja, joihin voit kytkeä elektronisia komponentteja. Rasperry Pi on tietokoneeksi myös huomattavan halpa, sillä useimpien mallien hinnat pyörivät muutamissa kymmenissä euroissa.
Sinun ei tarvitse ohjelmoida Raspberry Pi:ta Arduinon tapaan oman tietokoneesi kautta, koska Raspberry Pi on tietokone itsessään. Suurin osa Raspin ohjelmoinnista kannattaa hoitaa python-kielellä.
Tässä ohjeessa otetaan käyttöön Raspberry Pi Zero W ja opastetaan ensimmäisten python-ohjelmien tekemisessä. Sitten kytketään mukaan ledi ja ohjelmoidaan sitä. Lopulta luodaan virtuaalinen työpöytä, minkä jälkeen voit käyttää Raspia etänä oman tietokoneesi kautta!
Jos sinulla on käytössä jokin muu Raspberry Pi:n malli, saat näistä ohjeista silti hyviä suuntaviivoja aloittamiselle.
Mutta mikä ihmeen Raspberry Pi? Katso alta video johdannoksi!
What can you do with a Raspberry Pi?
Tarvikkeet
Tässä projektiohjeessa opastetaan erityisesti wifi-vastaanottimen sisältävän Raspberry Pi Zero W:n käyttöönotossa. Tietoa eri mallien eroista löydät täältä.
Tarvitset käyttöönottoon seuraavat tarvikkeet. Osa tarvikkeista tulee starter-paketin mukana, jollainen on saatavissa esimerkiksi Pi-Hutista
- Raspberry Pi Zero W -board
- Raspbian käyttöjärjestelmä Micro SD-kortilla
- Micro USB-johto, jonka kautta Raspi saa virtaa
- Micro USB/USB adapteri näppäimistön tai hiiren yhdistämistä varten
- USB-näppäimistö
- Langallinen USB-hiiri
- Mini HDMI/HDMI adapteri ulkoiseen näyttöön yhdistämistä varten
- HDMI-johto sekä näyttö (tietokoneen ulkoinen näyttö tai TV), johon saat HDMI-johdon kiinni
Tässä ohjeessa harjoitellaan elektroniikan ohjelmointia pienen harjoituksen kautta. Sitä varten tarvitset vielä seuraavat tarvikkeet.
- Led
- 220-330 ohmin vastus
- Sähköjohtimia
Käyttöönotto
Löydät yksityiskohtaisemman ohjeen Raspberry Pi Zero W:n käyttöönotosta englannniksi alla olevan linkin kautta.
Paina Micro SD -kortti kiinni sille varattuun metallinväriseen aukkoon.
Kytke hiiri kiinni Micro USB/USB adapterin avulla Raspin porttiin, jossa lukee USB. Älä siis kytke hiirtä porttiin, jossa lukee PWR - tämä on varattu virtajohdolle.
Kytke ulkoinen näyttö kiinni HDMI-johdolla HDMI/Micro HDMI -adapterin avulla.
Kytke lopuksi virajohtona toimiva Micro USB-johto kiinni Raspin porttiin, jonka vieressä lukee PWR. Kytke toinen pää tietokoneeseen tai muuhun USB-virtalähteeseen.
Raspin pitäisi käynnistyä automaattisesti, kun se saa virtaa! Ensimmäisellä käynnistyskerralla täytyy asentaa Raspbian-käyttöjärjestelmä, joka vie aikaa 15-30 minuuttia.
Seuraa kytkemältäsi näytöltä prosessin etenemistä ja asenuusohjeita. Muista, että voit klikata painikkeita Raspiin kiinnitetyn hiiren avulla.
Asennusprosessin aikana kysytään kieliasetuksista sekä Wifi:n nimestä ja salasanasta. Voit asettaa tässä kohtaa yleensä käyttämäsi wifi:n ja salasanan - jatkossa tähän verkkoon yhdistetään automaattisesti. Tarvitset kirjoittamista varten näppäimistöä, joten kytke se hiiren tilalle.
Valitettavasti Raspberry Pi Zero:ssa on vain yksi USB-portti, joten hiirtä ja näppäimistöä ei voi käyttää samanaikaisesti (ellei sinulla ole USB-hubia tai näppäimistöä, johon on integroitu hiiri). Tämä ei kuitenkaan ole suuri ongelma, koska pääset käyttämään Raspia myöhemmin tietokoneesi kautta langattomasti. Tällöin voit siis käyttää oman tietokoneesi hiirtä ja näppäimistöä.
Kun asennus on valmis, pyydetään sinulta vielä lupaa käynnistää laite uudestaan. Tee tämä ja siirry eteenpäin ohjeissa!
Ensimmäinen Python-ohjelma
Raspberry Pi:lla ohjelmointi tapahtuu pääasiassa Pythonia käyttäen. Python on hyvin helposti lähestyttävä ja suosittu ohjelmointikieli, johon oletkin saattanut joskus törmätä. Sen harjoittelusta ei varmasti ole haittaa tulevaisuuden kannalta!
Tutustu alla linkattuun ohjeeseen, joka opastaa käyttämään Raspin Python IDLE:a (Integrated Development and Learning Environment).
Hello World! on klassinen esimerkki ensimmäisestä ohjelmasta, joka tehdään uuteen ohjelmointikieleen tutustuttaessa. Tavoitteena on siis vain, että tietokone tervehtii maailmaa viestillä “Hello World!".
Mutta eikö olisi hauskaa kytkeä mukaan komponentteja ja ohjelmoida niitä, kuten Arduinon kanssa? Tähän päästään aivan pian, mutta seuraavaksi hajroitellaan vielä hieman Raspin kanssa kommunikointia.
Terminalin käyttö
Avaa työpöydän vasemmasta yläkulmasta valikko klikkaamalla vadelmasymbolia. Avaa Apuohjelmat > LXTerminal.
Terminal tai CLI (Command Line Interface) on ympäristö, jossa voit käyttää tietokonetta kirjoittamalla komentoja teskstimuodossa. Alun perin tietokoneita käytettiin juuri tällä tavalla, ja Windowsin tapaiset työpöydän sisältävät graafiset käyttöliittymät (GUI, Graphical User Interface) tulivat käyttöön paljon myöhemmin.
Voit käyttää Raspberry Pi:ta myös työpöydän katta, mutta on paljon asioita, joita on mahdollsita tehdä vain Terminalin kautta. Siksi sitä on hyvä harjoitella! Kirjoita Terminaliin seuraava käsky ja paina enteriä. Sinulle pitäisi aueta Raspberry Pi:n asetusvalikko
sudo raspi-config
sudo tulee sanoista “superuser do” - se tarkoittaa, että komento raspi-config suoritetaan laajemmilla käyttöoikeuksilla. Ilman sudo-lisäystä komennot suoritetaan tavallisena käyttäjänä ja monien komentojen suorittaminen ei onnistu.
Tutki valikon sisältöä hetki. Täältä löydät Raspin asetukset. Pääset takaisin Terminaliin painamalla ESC-nappia. Kirjoita vielä seuraava komento, ja paina Enteriä.
pinout
Terminaliin pitäisi ilmestyä kaaviokuva Raspin eri porttien tarkoituksista.
Terminalin pariin palataan vielä. Siirry kuitenkin nyt eteenpäin!
Elektroniikan yhdistäminen
Raspberry Pi Zerossa ei ole koloja, joihin johtoja voisi suoraan painaa, kuten esimerkiksi Arduino UNO:ssa. Pyöreisiin reikiin on mahdollista kiinnittää tällaiset kolot juottamalla. Kokeiluvaiheessa kuitenkin riittää, että saat johdot asetettua reikiin kevyesti ilman erillistä liitintä. Kunhan johdon pää koskee reiän kultaisenväristä reunaa, siirtyy sähkö johdosta Raspille.
Raspberry Pi Zerossa porttien nimiä ei ole erikseen kirjoitettu boardiin. Löydät porttien tarkoitukset esimerkiksi alla olevan linkin kautta tai käyttämällä Terminalissa pinout-komentoa edellisen kohdan ohjeiden mukaan.
Tee alla kuvattu kytkentä.
- Ledin pidempi jalka (+) on kiinnitetty porttiin 2 ja lyhyempi jalka on kiinnitetty vastuksen kautta mustalla johtimella maahan (GND).
- Voit käyttää 220-330 omin vastusta kuten Arduinonkin kanssa.
Elektroniikan ohjelmointi
Kun olet saanut ledin kiinnitettyä Raspiin, pitäisi sitä päästä ohjelmoimaan!
Ensin sinun tulee asentaa GPIO Zero -kirjasto Raspillesi. Kirjasto mahdollistaa porttien ohjelmoimisen python-ympäristössä. Kirjaston asentaminen on kätevintä hoitaa terminalin puolella. Ohjeet löydät täältä:
Avaa sitten vasemman yläkulman vadelmakuvakkeesta Python 3 IDLE (Ohjelmointi > Python 3).
Valitse File > New File. Kopioi ruutuun seuraava python-koodi.
# Tämä on kommentti. Python-kielessä kommentit on kirjoitettu risuaita-symbolin perään.
from gpiozero import LED
from time import sleep
led = LED(2) # Ledi on kiinnitetty porttiin 2
while True: # Tästä alkaa tämän ohjelman loop.
led.on() # Näillä komennoilla laitetaan ledi päälle ja pois päältä, sekunnin välein.
sleep(1)
led.off()
sleep(1)
Paina sitten File > Save As ja tallenna koodi. Tiedostoon tulee automaattisesti .py -pääte, mikä on merkki python-ohjelmasta.
Suorita koodi klikkaamalla Run > Run Module. Ledisi pitäisi nyt vilkkua sekunnin välein!
Jos ledi ei vilku, tarkista että johdot koskevat Raspin oikeisiin portteihin (portti 2 ja GND). Tarkista myös, että ledi on oikein päin (pidempi jalka porttiin 2 ja lyhyempi maahan). Tarkista porttien 2 ja GND paikat edellisen sivun virtapirikaaviosta tai Terminalissa pinout-komennolla.
Löydät lisää perustason ohjelmointivinkkejä täältä:
Virtuaalisen työpöydän luominen
Useimmissa IOT-projekteissa on hyötyä siitä, että pystyt käyttämään laitetta etänä. Kaikista parasta olisi, jos pystyisit koko ajan näkemään laitteen sisään - tästä on apua varsinkin silloin, kun asiat eivät toimi niin kuin pitäisi. Raspberry Pi:ta voi käyttää monien yhteyksien kautta.
Helppo ja todella monipuolinen tapa on luoda tietokoneelle, puhelimelle tai tabletille Raspberry Pi:n virtuaalinen työpöytä (VNC, Virtual Network Computing). Tällöin pääset käyttämään Raspberry Pi:ta suoraan miltä tahansa laitteelta, etkä siis tarvitse erillistä näppäimistöä, näyttöä tai hiirtä Raspin käyttämiseen!
Tämä ohje mukailee alla olevan linkin takaa löytyvää englanninkielistä ohjetta, jossa opastetaan ottamaan käyttöön Raspilta löytyvä RealVNC-ympäristö.
Ohjeessa pompitaan hieman Raspin ja tietokoneen välillä, mutta juuri tästä pomppimisesta pääset lopulta eroon käyttäessäsi raspia omalta tietokoneeltasi.
Aloitetaan tietokoneeltasi.
Tietokoneella
Mene ensin osoitteeseen
Klikkaa Sign Up for a free VNC-account ja luo ohjatusti ilmainen tili RealVNC-palveluun. RealVNC-tilin saa ilmaiseksi, kunhan sitä ei käytä kaupallisiin tarkoituksiin.
VNC-yhteys muodostetaan kahden ohjelman avulla. Raspberry Pi:lla pyörivä VNC Server -sovellus lähettää virtuaalisen työpöydän, jota voit sitten käyttää tietokoneeltasi VNC Viewer -sovelluksen avulla. VNC Server on asennettuna Raspberry Pi:lle jo valmiiksi. Sinun tulee kuitenkin ladata VNC Viewer -sovellus tietokoneellesi täältä:
Raspberry Pi:lla
Aivan ensin sinun tulisi tarkistaa, että Raspillasi on pääsy internetiin. Klikkaa yläpaneelista oikealta verkkokuvaketta, jolloin näet saatavilla olevat langattomat verkot. Katso, että olet yhteydessä johonkin näistä verkoista.
Kirjoita sitten Raspberry Pi:n terminaaliin seuraava komento, ja paina Enter.
sudo raspi-config
Mene valikossa kohtaan Interfacing Options. Täältä valikosta löydät monenlaisia kirjainyhdistelmiä, joista kaikki tarkoittavat erilaisia rajapintoja tai yhteyksiä. Valitse tästä valikosta VNC. Vastaa myöntävästi kysymykseen Would you like VNC Server to be Enabled?. Nyt VNC Server on mahdollista käynnistää Raspilla.
Käynnistä Raspillasi VNC Server. Voit tehdä sen kilikkaamalla käyttöjärjestelmän yläpaneelista oikealta löytyvää sinistä VNC-symbolia.
Jos yläpaneelissa ei näy yllä olevaa symbolia, tarkista vielä, että varmasti olet mahdollistanut VNC Serverin toiminnan yllä ohjeistetulla tavalla.
VNC Server -ympäristössä, klikkaa oikean yläkulman hampurilaisvalikosta Licensing ja syötä luomasi RealVNC-tilin tiedot.
Tietokoneella
Avaa tämän jälkeen tietokoneellasi VNC Viewer, ja kirjaudu sisään samoilla tunnuksilla. Olet nyt kirjautunut tunnuksillasi sekä Rasperry Pi:n että tietokoneen puolella, ja yhteyden voi siis muodostaa! Voit klikata VNC Viewerin puolella raspberrypi-laatikkoa, joka on siis juuri sinun yksilöllinen laitteesi.
Ensimmäisellä kerralla sinun tulee yhteyden muodostuksen yhteydessä vielä tunnistautua kijoittamalla Raspisi käyttäjätunnus ja salasana. Jos et ole muuttanut näitä, käyttäjätunnus on oletuksena pi ja salasana raspberrypi.
Nyt yhteyden pitäisi toimia, eli VNC Viewer -ohjelman pitäisi avata tietokoneesi ruudulle Raspberry pi:n työpöytä! Voit kytkeä Raspberry Pi:n irti näytöstä ja näppäimistöstä/hiirestä, sillä voit käyttää sitä nyt tietokoneeltasi.
Huomaa, että vaatimuksena ei ole USB-yhteys tai edes yhteinen langaton verkko. Yhteys on muodostettu pilvipalvelun kautta, eli voit käyttää vaikka kotonasi olevaa Raspberry Pi:ta tällä tapaa ollessasi koulussa. Ainoana vaatimuksena on, että molemmat laitteet ovat yhteydessä johonkin verkkoon.
Voisit siis käynnistää esimerkiksi tämän harjoituksen aikana Raspiin kiinnittämäsi ledin etänä mistä tahansa!
Lopuksi
Käynnistit tämän sivun ohjeissa VNC Serverin Raspillasi klikkaamalla yläpaneelista löytyvää symbolia. Sinun tuli siis aluksi kiinnittää näyttösi ja hiiresi Raspiin, että sait serverin luotua. Vasta tämän jälkeen saatoit käynnistää tietokoneeltasi VNC Viewerin ja alkaa käyttämään Raspia tätä kautta.
VNC Server on mahdollista käynnistää myös Raspin terminalin kautta oikealla komennolla. Tätäkin varten sinun tulee kuitenkin kytkeä Raspiisi näyttö ja näppäimistö. Eikö olisi kätevää, jos voisit käynnistää serverin suoraan oman tietokoneesi kautta? Tällöin sinun ei periaatteessa koskaan tarvitsisi kytkeä näyttöä, hiirtä tai näppäimistöä Raspiin.
Tarvitsisit tätä varten etäyhteyden Raspin terminaliin. Tämän mahdollistaa SSH-yhteys (Secure Shell). Taas yksi kirjainyhdistelmä, mutta ei hätää, näet tuota pikaa mitä apua siitä on. Ohjeet SSH-yhteyden muodostamiseen Windowsilla löydät täältä:
Macille ja Linuxille löydät ohjeet täältä:
Kun olet saanut SSH-yhteyden muodostettua, voit käyttää Raspin terminalia oman tietokoneesi kautta. Kirjoita terminaliin seuraava komento. VNC Serverin pitäisi käynnistyä.
systemctl start vncserver-x11-serviced.service
Et näe VNC Serverin käynnistymistä mistään, koska sinulla ei ole vielä pääsyä Raspisi työpöydälle. Koita nyt käynnistää tietokoneeltasi VNC Viewer ja muodostaa yhteys Raspiin. Yhteyden pitäisi onnistua.
Lisätietoa VNC:n käytöstä terminalin kautta löydät täältä:
Mitä seuraavaksi?
Tässä projektissa ohjeistettiin seuraavat asiat:
- Ensimmäinen käyttöönotto ja Raspbian-käyttöjärjestelmän asennus
- Ensimmäinen Python-ohjelma Hello World!
- Ledin ohjelmointi vilkkumaan
- Terminalin eli CLI:n käyttö
- Raspberry Pi:n käyttö virtuaalisen työpöydän kautta.
Jos olet saanut nämä jutut tehtyä, voit siirtyä huoletta suunnittelemaan ensimmäistä Raspberry Pi -projektiasi! Googlaa esimerkiksi Raspberry Pi Zero W Projects.
Muutamia esimerkkejä löydät alla olevan linkin kautta.