Raspberry Pi osa 1

Raspberry Pi on pangakaardi mõõdus väikene arvuti. Ühelt poolt nagu päris arvuti – HDMi, USB, juhtmega võrk, WiFi ja Bluetooth. Samuti töötab siin täisvöörtuslik Linux. Teisalt nagu väike mikrokontroller – tal on sarnased klemmid nagu ESP32-l. Tegelikult saab kõiki ESP32 jaoks mõeldud andureid ja mooduleid ühendada ka Raspberry Pi-ga. ESP32 programmeerimine käib spetsiaalse C++ keele versiooni abil. Rasbeperry Pi-l on kasutusel programmeerimisekeel Python.

Sul on vaja:

  • Raspberry Pi (meil on kasutusel ver 3B).
  • Micro-USB otsaga toiteplokk, vähemalt 2A.
  • USB otsaga klaviatuur (ja hiir).
  • HDMI adapter või HDMI sisendiga monitor.
  • 8GB mahuga kiire MicroSD mälukaart.
  • MicroSD-> SD adapter või sobilik USB kaardiluger.

1. osa. Mälukaardi ettevalmistamine

https://www.raspberrypi.com/software/ saad alla laadida programmi Raspberry Pi Imager. Selle abil lood spetsiaalse mälukaardi mille pealt Raspberry Pi käima läheb. Raspberry Pi Imager eeliseks on võimalus kohe luua kasutajakonto, määrata WiFi-ga ühenduse parameetrid, lülitada sisse SSH jne. Põhimõtteliselt saad luua MicroSD kaardi millega Raspberry Pi käivitub klaviatuuri/hiirt/monitori vajamata.

Kooli saad juhendajalt ettevalmistatud MicroSD kaardi ja võimaluse kõik parameetrid ise oma käega paika panna. Puuduseks on vajadus klaviatuuri ja monitori järele.

2. osa. Ühendame

  1. Micro-USB laadija pesa. Vähemalt 2A laadija.
  2. HDMI väljund. HDMI adapter või sobiv monitor.
  3. Juhtmega võrgu pesa. Sellel Raspberry Pi versioonil WiFi samuti olemas.
  4. USB pesad 4tk. Klaviatuur, hiir, mälupulk jne.
  5. GPIO klemmid. Erinevad andurid, nt DHT22.
  6. MicroSD kaardi pesa (alumisel küljel).

3. osa. Esmane käivitus ja häälestus

  1. Ühenda monitor, klaviatuur ja hiir.
  2. Veendu, et monitor oleks sisse lülitatud ja õige sisend valitud.
  3. Sisesta mälukaart.
  4. Ühenda laadija. Raspberry Pi käivitub koheselt laadija ühendamisel!

Jälgi ekraanil toimuvat

  1. Toimub mälukaardi suuruse automaatne seadistamine.
  2. Toimub SSH võtmete automaatne genereerimine.
  3. Automaatne restart.
  4. Please enter new username: vali oma kasutajanimi, nt eesnimi väikese tähega, täpitähti kasutada ei saa. Kirjuta üles!
  5. Please set a password for kasutajanimi/Please confirm the password: määra oma kasutajale salasõna, kindlasti kirjuta üles. Pane tähele! Klaviatuur on inglise asetusega (veel)! Kirjuta üles!
  6. raspberry pi login: kirjuta oma kasutajanimi ja vajuta Enter.
  7. Password: kirjuta oma salasõnaja vajuta Enter.
  8. kasutajanimi@raspberrypi:~ $ – see on käsurida, nagu Windows-is cmd.

Olulised käsud

Pane tähele! Vaikimisi töötad tavakasutaja õigustes! Osade käskude sisestamiseks pead olema juurkasutaja õigustes. Esimesel tavakasutajal on ka juurkasutaja õigused, mis aktiveeritakse käskudel eesliitega sudo mis tähendab superuser do

  • df -h – kõvaketta kasutuse vaatamine.
  • ls – kuvad kaustad ja failid.
  • cd kasutanimi – liigub kaustanimi kausta.
  • cd / – liigub juurkausta.
  • pwd – kuvab selle kausta kus praegu asud.
  • ifconfig – kuvab arvutivõrgu parameetrid.
  • exit – lõpetad töö käsureal ja sulgeb ühenduse või logib välja.

Häälestame klaviatuuri, ajavööndi ja WiFi

  1. sudo raspi-config – avab juurkasutaja õigustes spetsiaalse raspberry pi häälestusprogrammi. Menüüd ja muppude vahel liigu nooleklahvide ja tab-klahvi abil, valiku kinnitab Enter.
    • System Options -> Wireless LAN – WiFi võrgu häälestamine.
      • Esimesel korral küsitakse maa koodi, se eon vajalik WiFi regionaalsete piirangute seadmiseks. Otsi EE Estonia ja <Ok> ja >Ok>.
      • Please enter SSID – sisesta leviala nimi.
      • Please enter passphrase – sisesta leviala parool.
    • System Options -> Hostname – arvuti nime määramine, nt kasutajanimi-pi
    • Interface Options -> SSH – saab sisse/välja lülitada SSH serverit. Vali <Yes>. SSH server võimaldab hiljem pöörduda raspberry pi poole üle võrgu kasutades vastavat käsurea töövahendit. Tulemus ja võimalused on samad, mis monitori ja klavaitauuri/hiirt kasutades.
    • Localisation Options -> Timezone – määrame ajavööndi. Täpne ajaarvestus on väga oluline. Vali Europe -> Tallinn.
    • Localisation Options -> Keyboard – klaviatuuri asetuse ja keele valimine. Keyboard model: Generic 105-key PC (intl.). Keyboard layout: Other -> Estonian -> Estonian. AltGr: The default for the keyboard layout. Compose key: No compose key.
    • Vali <Finish>. Vajadusel luba teha taaskäivitus.
  2. Kontrolli käsuda ifconfig, kas raspberry pi on saanud WiFi kaudu IP-aadressi. Kirjuta üles!
    wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.4.1  netmask 255.255.255.0  broadcast 192.168.0.255
            inet6 fe80::10cc:947d:c2e:a3b6  prefixlen 64  scopeid 0x20<link>
            ether b8:27:eb:aa:6d:1c  txqueuelen 1000  (Ethernet)
            RX packets 4495  bytes 262020 (255.8 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 103  bytes 15446 (15.0 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    inet 192.168.4.1 on IP-aadress, ether b8:27:eb:aa:6d:1c on Raspberry Pi WiFi kaardi MAC-aadress.

Ühendame sülearvutist SSH kaudu Rapsberry Pi-ga

Edasi käib töö üle SSH ainult.

Kasuta Windows-i käsurida:

  • Start -> cmd
  • Käsureale kirjuta ssh kasutajanimi@ip-aadress ja vajuta Enter. Nt ssh andrus@192.168.4.1. 
  • Are you sure you want to continue connecting (yes/no/[fingerprint])? kirjuta yes ja vajuta Enter.
  • kasutajanimi@ip-aadress’s password: kirjuta oma salasõna javajuta Enter.
  • kasutajanimi@raspberrypi:~ $ – see on käsurida, kus hakkad toimetama.

Kasuta Windows-i rakendust nimega putty:

  • Aadressilt https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html tõmba alla putty.exe (64-bit x86).
  • Käivita ja sisesta lahtrisse Host name (or IP address): Raspberry Pi IP-aadress ja vajuta nuppu Open.
  • PuTTY Security Alert aknal vajuta nuppu Yes. “Turvaviga” on isegenereeritud SSH võtmed.
  • Logi sisse …

4. osa. Tarkvara paigaldamine ja uuendamine

Uuendame tarkvara

  • Sisesta juurõigustes käsk sudo apt update – see uuendab teadmist tarkvarauuenduste kohta. apt on programm teiste programmide lisamiseks, eemaldamiseks ja uuendamiseks. 99% vajaminevast tarkvarast on keskses hoidlas ehk repositooriumis.
  • Käsk sudo apt dist-upgrade – alustab tarkvara uuendamist uusimale operatsioonisüsteemi versioonile. Saad nimekirja uuendatavatest programmidest. Viimasel real küsitaks esinu nõusolekut. Sisesta Y ja vajuta Enter. Jälgi olukorda…
  • Kui uuendus on lõppenud, siis näed taas tühja käsurida.

Paigaldame Midnight Commender-i

  • Sisesta juurõigustes käsk sudo apt install mc – mc on lühend Midnight Commender-ist, see on mugav programm failisüsteemis liikumiseks, failide sisu vaatamiseks ja muutmiseks. Pane tähele, et lisaks mc-le endale paigaldatakse ka vajalikku lisatarkvara. apt oskab järge pidada, mida on veel vaja.
  • Sisesta käsk mc – see käivitab Midnight Commender-i. Kaustapuus likkumiseks ksuta nooleklahve, kausta siseneb/väljub Enter klahviga. Jälgi kuva alumist riba, seal jooksvalt muutub F-klahvide tähedus.
  • Klahv F10 lõpetab mc töö.

5. osa. Paigaldame andmebaasi serveri

Andmebaasiks kasutame MariaDB-d. See on MySQL-i üks harudest ja selle kasutamine on lihtne. Lisaks suudab MariaDB teha väga kiireid päringuid väga suurest andmekogust.

Server tähendab tõlkes teenindajat. MariaDB teenindab kasutajaid. See laialivalguv mõiste võib tähendada nii serveriks mõeldud arvutit ennast koos kõige vajaliku tarkvaraga ja samuti ühte kindlat programmi. Tuleb aru saada mis teemas jutt on.

Pane tähele! Andmebaasil saavad olla eraldi kasutajad (sh õigustega) kui Raspberry Pi-l.

  • Sisesta juurõigustes käsk sudo apt install mariadb-server – see alsutab MariaDB paigaldust.
  • Sisesta juurõigustes käsk sudo mysql_secure_installation – see alustab paigaldatud andmebaasi häälestust. Loe ekraanile kuvatavat väga hoolega!
    • Enter current password for root – Andebaasil peab olema eraldi spetsiaalse juurkasutaja (root) parool. Praegu seda veel pole, vajuta Enter.
    • Switch to unix_socket authentication – Andmebaasiga suhtlemise protokoll. Kasutame traditsioonilist viisi ning sisesta siin n ja Enter.
    • Change the root password? – Siin määrame andmebaasi andmebaasi juurkasutaja parooli. Sisesta see ja Enter. Parool kirjuta üles!
    • Remove anonymous users? – Andmebaasi külaliskontode eemaldamine. Sisesta y ja Enter.
    • Disallow root login remotely? – Keelame andmebaasi juurkasutajal pöörduda väljastpoolt Raspberry Pi-d. Sisesta y ja Enter.
    • Remove test database and access to it? – Eemaldame näidisandmed ja sellega soetud kasutajad. Sisesta y ja Enter.
    • Reload privilege tables now? – Taaslaema õiguste nimekirja mällu. Sisesta y ja Enter. Sest me muutsime kasutajatega seotud infot.
  • Sisesta käsk mariadb -u root -p – see avab käsureal mariadb haldusliidese, küsib parooli mille just määrasid.
    • Olles edukalt sisenenud haldusliidesesse, kirjuta show databases; ja Enter.  Tulemuseks peab olema kolm andmebaasi. Kui ei, konsulteeri juhendajaga.
    • mariadb haldusliidesest pääsed välja käsuga exit.

6. osa. Paigaldame veebiserveri ja PHP

Veebiserveriks kasutame Nginx-i. See on väike, kiire, võimalusterohke ja lihtne häälestada.

PHP on programmeerimiskeel, mida paljud veebilehed oma töös kasutadad. Erinevalt JavaScript-ist käivitatakse PHP veebiserveris.

  • Sisesta juurõigustes käsk sudo apt install nginx – see paigaldab veebiserveri ja lisad.
  • Kontrolli serveri tööd sisestades oma sülearvutis veebilehitsejasse aadressi http://raspberryy-pi-ip-aadress, nt http://192.168.4.1.
  • Sisesta juurõigustes käsk sudo apt install php7.4-fpm php7.4-mysql php7.4-mbstring – see paigaldab PHP Nginx-ile sobiliku versiooni. Pane tähele, siin paigaldatakse mitu programmi korraga tühikutega üksteisest eraldatult.
  • php7.4-fpm on samuti serverirakendus. Kontrolli selle tööd!
  • Käivita mc juurkasutaja õigustes sudo mc.
      • Leia fail /etc/nginx/sites-available/default ja muuda seda klahviga F4 (esimesel korral vali mcedit).
      • Leia rida: index index.html index.htm… ja muuda kujule: index index.php index.html index.htm…
      • Samuti tee järgmine parandus (vaata hoolega milliste ridade eest on kommentaarid ehk # eemaldatud)
        # pass PHP scripts to FastCGI server
        #
        location ~ \.php$ {
               include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
               fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        }
        
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
               deny all;
        }
        
  • Teeme Nginx-ile taaskäivituse sudo systemctl restart nginx
  • Käivitame mc juurkasutaja õigustega sudo mc
  • Liigume kausta /var/www/html
  • Kustutame olemasoleva faili ja loome uue nimega index.php, selleks kirjutan mc käsureale > index.php
  • Sisuks kirjutame <?php phpinfo(); ?>
  • Värskendame veebilehte http://192.168.4.1

7. osa. Paigaldame veebirakenduse phpMyAdmin

See on mugav veebiliides MariaDB andmebaaside haldamiseks.

  • Ava veebileht https://www.phpmyadmin.net/downloads/ ja leia fail phpMyAdmin-X.X.X-english.zip. Kopeeri faili aadress mällu.
  • Sule mc, kui see on avatud.
  • Liigu kausta /var/www/html/
  • Sisesta käsk sudo wget ja eelnevalt kopeeritud aadress (lihtsalt tee parempoolse hiirenupuga klikk). Tulemus oleks umbes selline sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-english.zip. wget on programm veebist faili allalaadimiseks.
  • Olles samas kaustas, anna käsk sudo unzip ja allalaetud faili nimi (teksti kopeerimiseks lohista vastav tekstiosa plokki). Tulemus oleks umbes selline sudo unzip phpMyAdmin-5.2.1-english.zip. unzip on programm zip-iga kokkupakitud faili lahtipakkimiseks.
  • Käivita juurkasutaja õigustes mc.
  • Kustuta ära allalaetud zip-fail ja muuda ümbes kaust phpMyAdmin-5.2.1-english kujule phpma.
  • Liigu phpma kausta sisse ja numeta ümber fail config.sample.inc.php kujule config.inc.php.
  • Mine aadressile https://www.motorsportdiesel.com/tools/blowfish-salt/pma/. Värskenda paar korda ja kopeeri rida $cfg[‘blowfish…. Nüüd asenda config.inc.php sees vastav rida sellega. See on vajalik turvaliste küpsiste genereerimiseks veebirakenduse phpMyAdmin jaoks.
  • Ava oma sülearvutis veebileht http://192.168.4.1/phpma. Logi sisse kasutajaga root ja parooliga, mida määrasid 5. osas.