Raspbery Pi

Nabavil sem RP2 z namenom, da bi ga uporabil za krmiljenje nekaterih stvari v stanovanju. Ideja je bila, da spišem program, ki bo omogočil RP2 da vključi predvajanje glasbe, ko pridem domov.
Detekcija naj bi se vršila preko Blue-tooth modula, ki bi prepoznal telefon.

Dobil sem Raspbery PI 2 Model B V1.1. Ta model ima malce močnejšo strojno opremo - 4 jedrni procesor, ki lahko teče do 900Mhz, in 1GB rama. Ima vgrajene tudi 4 USB priključke, lan, audio out in slot za micro SD kartico.

In potem mi je odpovedal disk, ki sem ga uporabljal za backup in predvajanje multimedijskih vsebin. Disk je priklopljen na Router, in bil tako dostopen preko mreže po celotnem stanovanju. Žal Router nima podpore za zrcaljenje diska... Tako je padla odločitev, da poizkusim RPI najprej uporabiti iza strežniški računalnik - mini NAS.

Seveda pa lahko RPI opravlja več nalog, zato bo ta del razdeljen na več projektov:
Raspberry PI - NAS
Raspberry PI - Merjenje temperature

Namestitev programske opreme na Malino

Za uporabo Raspberry PI je potrebno uporabiti micro SD kartico velikosti vsaj nekaj GB, na katero namestimo programsko opremo.

Programska oprema je Raspbian PI - Linux ki je prilagojen za Raspbery PI. Najprej snamemo z interneta Namestilni program, ki ga dobimo tule: http://www.raspberrypi.org/downloads/

Izberemo operacijski sistem, ki je kompatibilen z našo malino. Prenesemo Zip datoteko in jo razširimo na disk računalnika, ki ga uporabljamo, potem pa rezširjeno vsebino prekopiramo na microSD kartico. Sam sem že za projekt Cubie kupil večnamenski čitalec kartic (Canyon), ki povsem zadovoljivo opravlja svojo nalogo.

Ko prenesemo vsebino na kartico, kartico odklopimo in vstavimo v RPI.
Da raspbery PI prižgemo potrebujemo ustrezen 5V napajalnik. Predviden je priklop preko micro USB vhoda (Vsaj pri mojem modelu) Napajalnik pa naj ima okoli 1000mA zmoglivosti. Lahko tudi manj. Za priklop 2,5" diska pa je 1000mA minimum.

Slika 1: Priklop napajalnika. Nad belo žico je 2A varovalka za celoten RPI - USB, ker sem vezje modificiral. Zato tudi bela žica.


Da vidimo sliko lahko priklopimo RPI na TV ki ima HDMI priključek, sam sem pa nabavil kabel HDMI-DVI, tako da vsaj za čas programiranja in nameščanja programske opreme RPI priključim na monitor.

Za namestitev moramo RPI priključiti na LAN, da lahko sname z interneta potrebne datoteke. RPI prižgemo. Pričaka nas mavrični zaslon in prične se namestitev.
Nastaviti je potrebno jezik in nekaj drugih parametrov. Tu pazimo, da izberemo Slovensko tipkovnico, ker bo drugače tipkanje oteženo.

Namestitev skupaj s prenosom poteka kar kakšno uro. (Odvisno od hitrosti mreže in SD kartice)
Na koncu nas pričaka RPI namizje.
Nameščena programska oprema je precej špartanska. Osnovni brskalnik, nekaj razvojnih okolij za Pyton ....

Uporaba okenskega okolja nikomur nebi smela predstavljati problemov. Zatakne se pri nameščanju programo in drugih nalog, če nismo navajeni uporabe Linux-a.

Nastavitev časa

RPi uporablja za nastavitev ure kar internet. Odvisno od konfiguracije ob namestitvi lahko naša malina kaže napačen čas. Za prikazovanje pravilnega časa moramo izbrati ustrezno lokacijo, kjer se nahajamo. V konzolo vpišemo:
sudo dpkg-reconfigure tzdata

Nastavitev Maline

Za generalne nastavitve maline v konzolo vpišemo:
sudo raspi-config
Izberemo Expand Filesystem, če hočemo, da kartica na kateri je nameščena slika Raspbian OS celotna lahko porabi za OS Izberemo Internatialisation Options (4)
Change locale precej na dnu izberemo sl_SI.UTF-8 UTF-8

Izberemo tudi Change keyboard layout, ker želimo nastaviti tudi slovensko tipkovnico
Izberemo splošno tipkovnico s 105 tipkami (mednarodno), nakar moramo izbrati še jezik tipkovnice izberemo slovenska

Izberemo Enable Boot to Desktop / Scratch (3).... V kolikor hočemo, da se ob zagonu prikaže namizje moramo v tej nastavitvi izbrati Desktop Log in as user ...

Zamenjava gesla za izboljšanje varnosti:

Privzeto geslo je: raspbian
passwd pi

Vklop SSH strežnika za uporabo oddaljenega dostopa

V konzolo pišemo ukaz:
sudo raspi-config
Nato s kurzorskimi tipkami izberemo opcijo 8 - Advanced options, nato pa A4 SSH, ter izberemo ENABLE.

Za uporabo konzole na drugem računalniku, na katerem poganjamo Okna je najenostavneje uporabiti programček Putty, ki je na voljo tule: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.phpl

Nastavitve so opisane tule:
https://www.raspberrypi.org/documentation/remote-access/ssh/windows.md

Ko program zaženemo moramo vpisati IP številko v polje Host name, v polje Saved Sessions napišemo poljubno ime in kliknemo na gumb Save. V drevesni strukturi pod kategorijo Connection izberemo Data in v Auto-login username vpišemo ime uporabnika za malino, ki je privzeto "pi". Vrnemo se na kategorijo Session in ponovno shranimo. Kliknemo na gumb Open in odpre se konzola. Za priklop moramo vpisati še geslo. V kolikor smo ga pozabili ga lahko ponovno nastavimo tako da v konzolo na malini vpišemo:
sudo raspi-config
In izberemo Change user password. V konzolo nato vpišemo geslo 2x, da se zamenja.

Uporaba putty konzole na drugem računalniku je potem popolnoma enaka, kot bi tipkali na konzolo na sami Malini. Zelo uporabno, če malina ni dostopna drugače kot preko mreže.

V primeru uporabe odddaljenega dostopa z računalnika, na katerem teče Linux ali celo IOS pa samo odpremo konzolo in vanjo vpišemo
ssh pi@192.168.1.168
Pri čemer mora biti naslov - v mojem primeru 192.168.1.168 ip naslov maline.
Naslov maline lahko poizvemo z ukazom:
ifconfig
Seveda mora biti malina prej priklopljena na mrežo. IP številka maline je vpisana v drugi vrstici izpisa:
"inet addr:xxx.xxx.x.xx"

Pri prvem priklopu nas pričaka vprašanje če smo prepričani, da želimo naslov dodati med prepoznane.
Na vprašanje odgovorino z "yes", nakar moramo še vpisati geslo, ki smo ga nastavili na malini.

Namestitev LCD zaslona

Namestitev LCD zaslona s senzorjem dotika 3.2inch RPi LCD (B), 320×240 WaveShare SpotPear Waveshare LCD samo nataknemo na 40 pinski IO konektor na malni RPi 2. Poravnati moramo pine na levi strani maline (če so USB in LAN na desni strani).
Če hočemo, da zaslon deluje pa je potrebno namestiti gonilnik oziroma kernel driver.
Prikazovalnik prejema podatke preko SPI vodila, za kar potrebuje malina programsko opremo.

Docker

Kaj sploh je Docker?

Docker je aplikacija, ki omogoča uporabo aplikacij, ki so prednameščene v kontejenerje. To omogoča enostavno nameščanje brez skrbi za odvisnosti med paketi, ki jih posamezne aplikacije potrebujejo.

Namestitev Docker aplikacije:

Namestitev Docker aplikacije: Navodila kako namestiti Docker na malino lahko najdemo tule: Docker internetna stran
V času pisanja je bilo potrebno vpisati naslednji ukaz:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
V kolikor želimo poganjati aplikacije brez root privilegijev moramo uporabnika privzet je "pi" in ga dodati med skupino, ki lahko uporablja Docker aplikacije z ukazom:
sudo usermod -aG docker pi
V nasprotnem primeru moramo pri uporabi docker ukazov vedno pisati "sudo" Po ponovni prijavi v malino lahko preverimo ali docker deluje z vpisom ukaza:
docker info

Dodajanje uporabnikov, da lahko uporabljajo Docker brez Sudo ukaza

Kontejnerje najdemo na spodnjem naslovu: Docker HUB. Izberemo ARM arhitekturo in nato pobrskamo po množici možnih kontejnerjev. Če najdemo kaj uporabnega Lahko pregledamo nameščene kontejnerje:
docker contaner ls

Nameščanje kontejnerjev

Uporabni kontejnerji:

Formatiranje in priklop zunanjega diska

Po priklopu diska pregledamo ali je disk priključen:
lsblk -f
Ukaz izpiše Ime, Tip datotečnega sistema, Oznako, in UUID oznako
Ime: oznaka diska v datotečnem sistemu
Tip datotečnega sistema: vfat / ext4... tip datotečnega sistema na katerega je formatiran disk
Oznaka: Uporabniku berljiva oznaka diska - ime, ki ga disku izbere uporabnik
UUID: edinstvena oznaka diska

Če je disk formatiran v NTFS ali kak drug format, ga sistem ne more direktno uporabiti. En izmed načinov, da ga prepričamo v upora bo je formatiranje, seveda to pobriše podatke. Zato previdno!

Formatiranje izvedemo z:
sudo mkfs -t ext4 /dev/sda1
Disk lahko poimenujemo z:
sudo e2label /dev/sda1 "ime_diska"

Namestitev Apache

Namestitev:
sudo apt-get install apache2
Lokacija datotek strežnika: /var/www/html/

Reštart strežnika:
sudo service apache2 restart

Urejanje konfiguracijske datoteke:
sudo nano /etc/apache2/apache2.conf

Urejanje lokacije WEB strani:
sudo nano /etc/apache2/sites-enabled/000-default.conf
Ker je lokacija strani na disku, ki je priklopljen na /mnt/Data vpišemo v datoteko:
DocumentRoot /mnt/Data/Web

Če kaj ne deluje lahko pogledamo v log datoteko strežnika:
nano /var/log/apache2/error.log

Namestitev PHP

Namestitev:
sudo apt-get install php

Namestitev MySql

Namestitev:
sudo apt-get install mariadb-server php-mysql

Vklop zaščite
sudo mysql_secure_installation

Namestitev PHP myadmin

PHP myadmin je orodje za urejanje MYSql baze preko brskalnika. sudo apt-get install phpmyadmin Enable mysqli dodatek
sudo phpenmod mysqli sudo service apache2 restart
Izdelava linka, da phpmyamin dela sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin Nekaj več informacij: https://pimylifeup.com/raspberry-pi-mysql/

Kopiranje datoteke na malino preko SSH povezave (linux)

Kopiranje je enostavno s pomočjo ukaza SCP.
V konzolo vpišemo:
scp LCD-show-161112.tar.gz pi@192.168.3.80:
Pri čemer je LCD-show-161112.tar.gz ime datoteke.
Če datoteka ni na mestu priklopa konzole (pogledamo z ls) moramo napisati celotno pot do datoteke.
pi@192.168.3.80 pa je ime uporabnika in ip številka maline. NE pozabiti na ":" na koncu ukaza.
Seveda nas računalnik potem vpraša za geslo uporabnika.
Datoteka se prekopira na osnovno mapo uporabnika.
V kolikor želimo, da se prekopira kam drugam moramo za ":" namesti pot do mesta kamor hočemo prekopirati datoteko.
Več tule: Raspberry

Prikaz temperature maline

Temperaturo lahko preverimo z vpisom spodnjega ukaza v knzolo:
/opt/vc/bin/vcgencmd measure_temp

Da si delo malce olajšamo naredimo "alias", torej ukaz, ki preko konzole sistemu pošlje želen dolg ukaz, da si prihranimo tipkanje.
Ustvarimo dototeko ".bash_aliases", in vanjo vpišemo naše "aliase" za začetek:
nano /home/pi/.bash_aliases
Nato pa v urejevalnik vpišemo:
alias temp='/opt/vc/bin/vcgencmd measure_temp'
Shranimo, z CTRL+X in pordimo shranjevanje.
Da ukaz "temp" lahko uporabimo moramo ponovno odpreti konzolo, nato pa v ukazno vrstico vpišemo "temp", nakar sistem izpiše temperaturo.

P&P© 22.9.2020
Get Firefox Linux Mint