Pozdrav, Habr.
Vjerojatno gotovo svatko ima Raspberry Pi kod kuće, a riskiram pretpostaviti da mnogi od njih leže neiskorišteni. No, Raspberry je ne samo vrijedan materijal, već i prilično moćan fanless računalnik s Linuxom. Danas ćemo pogledati korisne mogućnosti Raspberry Pi-a koje ne zahtijevaju pisanje koda.

Za one koje zanima, detalji su ispod. Članak je namijenjen početnicima.
Napomena: članak je namijenjen početnicima, ali koji imaju barem osnovno razumijevanje što je IP adresa, kako se povezati na Raspberry Pi putem SSH koristeći putty ili neki drugi terminal, i kako uređivati datoteke koristeći nano uređivač. Kao eksperiment, ovaj put neću "opterećivati" čitatelje Python kodom, programiranja ovdje neće biti. Za sve što slijedi bit će dovoljno koristiti samo naredbenu liniju. Koliko je takav format tražen, pratiti ću prema ocjenama teksta.
Naravno, neću razmatrati potpuno očite stvari poput FTP poslužitelja ili mrežnih dijeljenja. Ispod sam pokušao istaknuti nešto korisno i originalno.
Prije nego što počnemo s instalacijom, važan savjet: odgovarajuća napajanja (preporučljivo je koristiti originalno s 2.5A, a ne noname punjač od telefona) i hladnjak za procesor iznimno su važni za stabilan rad Raspberry Pi-a. Bez toga, Raspberry može zablokirati, mogu se pojaviti pogreške pri kopiranju datoteka itd. Opasnost od takvih pogrešaka je u tome što se pojavljuju samo povremeno, primjerice pri vrhunskom opterećenju CPU-a ili tijekom zapisivanja velikih datoteka na SD karticu.
Prije instalacije bilo kojih komponenti, poželjno je ažurirati sustav, inače stare adrese za apt naredbu možda neće raditi:
sudo apt-get updateSada možemo krenuti s instalacijom i postavljanjem.
1. WiFi pristupna točka
Raspberry Pi se lako može pretvoriti u bežičnu pristupnu točku, a ništa dodatno ne treba kupiti, WiFi je već "na brodu". Za to je potrebno instalirati 2 komponente: hostapd (daemon za pristupnu točku) i dnsmasq (DNS/DHCP poslužitelj).
Instaliramo dnsmasq i hostapd:
sudo apt-get install dnsmasq hostapdPostavljamo statičku IP adresu koju će Raspberry Pi imati u WiFi mreži. Za to trebate urediti datoteku dhcpcd.conf tako da upišete naredbu sudo nano /etc/dhcpcd.conf. U datoteku treba dodati sljedeće retke:
interface wlan0
static ip_address=198.51.100.100/24
nohook wpa_supplicant
Kao što se može vidjeti, u WiFi mreži naš Raspberry Pi će imati adresu 198.51.100.100 (to je važno zapamtiti ako na njemu bude radio neki poslužitelj čija adresa će trebati biti unesena u preglednik).
Sljedeće, moramo aktivirati IP prosljeđivanje, za što izvršavamo naredbu sudo nano /etc/sysctl.conf i otkomentiramo redak net.ipv4.ip_forward=1.
Sada je potrebno postaviti DHCP poslužitelj — on će dodjeljivati IP adrese povezanim uređajima. Unosimo naredbu sudo nano /etc/dnsmasq.conf i dodajemo sljedeće retke:
interface=wlan0
dhcp-range=198.51.100.1,198.51.100.99,255.255.255.0,24h
Kao što se može vidjeti, povezani uređaji će imati IP adrese u rasponu od 198.51.100.1 do 198.51.100.99.
Nap finally, vrijeme je za postavljanje Wi-Fi-a. Uređujemo datoteku /etc/default/hostapd i unosimo redak DAEMON_CONF="/etc/hostapd/hostapd.conf". Sada ćemo urediti datoteku hostapd.conf, unoseći naredbu sudo nano /etc/hostapd/hostapd.conf.
Unosimo parametre pristupne točke:
interface=wlan0
driver=nl80211
ssid=Raspberry Pi
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMPOvdje je važno obratiti pozornost na parametre „ssid“ (ime pristupne točke), „wpa_passphrase“ (lozinka), „channel“ (broj kanala) i „hw_mode“ (način rada, a = IEEE 802.11a, 5 GHz, b = IEEE 802.11b, 2.4 GHz, g = IEEE 802.11g, 2.4 GHz). Nažalost, automatskog izbora kanala nema, pa ćemo morati sami odabrati najmanje zauzeti WiFi kanal.
Važno: u ovom testnom primjeru navedena je lozinka 12345678, dok realna pristupna točka trebala bi koristiti nešto složenije. Postoje programi koji provode napad brute force na lozinke, a pristupnu točku sa jednostavnom lozinkom mogu hakirati. Također, dijeljenje interneta s neovlaštenim korisnicima može imati posljedice prema važećim zakonima.
Sve je spremno, možemo aktivirati sve usluge.
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
sudo systemctl reload dnsmasqSada bismo već trebali vidjeti novu WiFi pristupnu točku na popisu mreža. No kako bi se Internet pojavilo, potrebno je aktivirati prosljeđivanje paketa s Ethernet-a na WLAN, za što unosimo naredbu sudo nano /etc/rc.local i dodajemo redak za postavljanje iptables:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Sada je to sve. Ponovno pokrećemo Raspberry Pi, i ako je sve ispravno učinjeno, možemo vidjeti pristupnu točku i povezati se s njom.

Kao što se može vidjeti, brzina nije loša i korištenje ovakvog WiFi-a je sasvim podnošljivo.
Usput, mali savjet: promjena mrežnog imena Raspberry Pi može se izvršiti unosom naredbe sudo raspi-config. Po defaultu je to (iznenađenje:) raspberrypi. To je vjerojatno općenito poznato. Međutim, nisu svi svjesni da je to ime dostupno i u lokalnoj mreži, ali mu treba dodati «.local». Na primjer, možete se spojiti na Raspberry Pi putem SSH-a upisivanjem naredbe putty pi@raspberrypi.local. Ima jedan detalj: ovo radi na Windowsu i Linuxu, ali ne i na Androidu — tamo ćete još uvijek morati ručno upisivati IP adresu.
2. Medijski poslužitelj
Postoji 1001 način za izradu medijskog poslužitelja na Raspberry Pi, ali razmotrit ću samo najjednostavniji. Pretpostavimo da imamo svoju omiljenu kolekciju MP3 datoteka i želimo da ona bude dostupna u lokalnoj mreži za sve medijske uređaje. Instalirat ćemo MiniDLNA server na Raspberry Pi, koji to može učiniti za nas.
Za instalaciju upišite naredbu sudo apt-get install minidlna. Nakon toga potrebno je postaviti konfiguraciju unosom naredbe sudo nano /etc/minidlna.conf. Tamo je potrebno dodati samo jedan redak, koji pokazuje put do naših datoteka: media_dir=/home/pi/MP3 (put, naravno, može biti drugačiji). Nakon zatvaranja datoteke, ponovno pokrećemo servis:
sudo systemctl restart minidlna
Ako smo sve napravili ispravno, dobit ćemo gotov medijski poslužitelj u lokalnoj mreži, s kojeg možemo slušati glazbu putem stolnog WiFi radija ili putem VLC Player-a na Androidu:

Savjet: prenos datoteka na Raspberry Pi vrlo je jednostavan uz WinSCP — ovaj program omogućava rad s mapama RPi jednako lako kao i s lokalnim.

3. SDR prijemnik
Ako imamo RTL-SDR ili SDRPlay prijemnik, možemo ga koristiti s Raspberry Pi uz program GQRX ili CubicSDR. To će omogućiti autonomni i tihi SDR prijemnik, sposoban raditi čak 24 sata dnevno.
Ispričavam se zbog kvalitete snimke sa televizora:

Uz RTL-SDR ili SDRPlay moguće je primati različite radio signale s frekvencijom do 1 GHz (čak i malo više). Na primjer, možemo slušati ne samo običan FM radio, već i razgovore pilota ili drugih službi. Usput, radioamateri mogu s Raspberry Pi bez problema primati, dekodirati i slati na poslužitelj signale .
Detaljna analiza SDR radija nadilazi okvir ovog članka, više informacija možete pronaći .
4. Poslužitelj za 'pametnu kuću'
Oni koji žele učiniti svoj dom 'pametnijim' mogu iskoristiti besplatni program OpenHAB.

To nije samo program, već cijeli okvir s različitim plugin-ima i skriptama, koji omogućuje upravljanje raznim uređajima (Z-Wave, Philips Hue itd.). Željni mogu saznati više na službenoj stranici. .
Usput, kad smo već spomenuli "pametnu kuću", MQTT poslužitelj može raditi na Raspberry Pi, a koji mogu koristiti razni lokalni uređaji.
5. Klijent za FlightRadar24
Ako ste ljubitelj avijacije i živite u području gdje je pokrivenost FlightRadar-a nedostatna, možete pomoći zajednici i svim putnicima postavljanjem prijemnika kod sebe. Dovoljno je imati RTL-SDR prijemnik i Raspberry Pi. Kao bonus, dobit ćete besplatan pristup Pro računu FlightRadar24.

Detaljne upute na Habru.
Zaključak
Naravno, ovdje nije navedeno sve. Raspberry Pi ima priličnu računalnu moć i može se koristiti u raznim zadacima, od retro igračkih konzola ili videonadzora do prepoznavanja registarskih oznaka ili čak kao usluga za astronomiju. za promatranje meteorita.
Usput, napisana informacija je relevantna ne samo za Raspberry Pi, već i za razne "klonove" (Asus Tinkerboard, Nano Pi itd.), sve programe vjerojatno će raditi i tamo.
Ako će publika biti zainteresirana (što će se odrediti na temelju ocjena članka), temu će biti moguće nastaviti.
I kao obično, svima uspješne eksperimente.
Izvor: habr.com
