Ciao Habr.
Raspberry Pi è probabilmente presente in quasi tutte le case, e oso supporre che in molti casi venga lasciato inutilizzato. Eppure, Raspberry non è solo un prezioso gadget, ma anche un potente computer senza ventola con Linux. Oggi esploreremo le utili funzionalità di Raspberry Pi, per le quali non sarà necessario scrivere codice.

Per chi è interessato, i dettagli sono sotto. Questo articolo è destinato ai principianti.
Nota: l'articolo è concepito per i principianti, ma che hanno almeno una conoscenza di base di cosa sia un indirizzo IP, come accedere a Raspberry Pi tramite SSH utilizzando putty o qualsiasi altro terminale, e come modificare i file con l'editor nano. Come esperimento, questa volta non caricherò i lettori con codice Python, non ci sarà programmazione. Per tutto ciò che segue sarà sufficiente solo la linea di comando. Valuterò quanto questo formato sia richiesto in base alle valutazioni del testo.
Naturalmente, non considererò cose ovvie come un server FTP o una condivisione di rete. Di seguito ho cercato di evidenziare qualcosa di più o meno utile e originale.
Prima di installare qualsiasi componente, è importante un consiglio: un alimentatore adeguato (meglio se originale da 2,5A, piuttosto che un caricatore generico per telefono) e un dissipatore per il processore sono estremamente importanti per un funzionamento stabile di Raspberry Pi. Senza questi, Raspberry potrebbe bloccarsi, potrebbero verificarsi errori nel copia dei file, ecc. La particolarità di questi errori è che si manifestano solo raramente, ad esempio durante il carico massimo della CPU o nel momento in cui si scrivono file di grandi dimensioni sulla scheda SD.
Prima di installare qualsiasi componente, è consigliabile aggiornare il sistema, altrimenti i vecchi indirizzi per il comando apt potrebbero non funzionare:
sudo apt-get updateOra possiamo procedere con l'installazione e la configurazione.
1. Punto di accesso WiFi
Raspberry Pi può facilmente essere trasformato in un punto di accesso wireless, e non è necessario acquistare nulla, il WiFi è già integrato. Per fare ciò è necessario installare 2 componenti: hostapd (Host access point daemon, servizio punto di accesso) e dnsmasq (server DNS/DHCP).
Installa dnsmasq e hostapd:
sudo apt-get install dnsmasq hostapdImpostare un indirizzo IP statico che avrà Raspberry Pi nella rete WiFi. Per questo, è necessario modificare il file dhcpcd.conf, inserendo il comando sudo nano /etc/dhcpcd.conf. Nel file è necessario aggiungere le seguenti righe:
interface wlan0
static ip_address=198.51.100.100/24
nohook wpa_supplicant
Come si può vedere, nella rete WiFi la nostra Raspberry Pi avrà l'indirizzo 198.51.100.100 (è importante ricordarlo se su di essa dovesse funzionare un server di cui è necessario inserire l'indirizzo nel browser).
Ora dobbiamo attivare l'inoltro IP, per cui eseguiamo il comando sudo nano /etc/sysctl.conf e decommentiamo la riga net.ipv4.ip_forward=1.
Adesso dobbiamo configurare il server DHCP, che assegnerà indirizzi IP ai dispositivi collegati. Inseriamo il comando sudo nano /etc/dnsmasq.conf e aggiungiamo le seguenti righe:
interface=wlan0
dhcp-range=198.51.100.1,198.51.100.99,255.255.255.0,24h
Come si può vedere, i dispositivi collegati avranno indirizzi IP nell'intervallo 198.51.100.1… 198.51.100.99.
Infine, è giunto il momento di configurare il Wi-Fi. Modifichiamo il file /etc/default/hostapd e inseriamo la seguente riga DAEMON_CONF="/etc/hostapd/hostapd.conf". Ora modifichiamo il file hostapd.conf, inserendo il comando sudo nano /etc/hostapd/hostapd.conf.
Inseriamo i parametri del punto di accesso:
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=CCMPÈ importante prestare attenzione ai parametri «ssid» (nome del punto di accesso), «wpa_passphrase» (password), «channel» (numero del canale) e «hw_mode» (modalità operativa, a = IEEE 802.11a, 5 GHz, b = IEEE 802.11b, 2.4 GHz, g = IEEE 802.11g, 2.4 GHz). Purtroppo, non esiste un'opzione per la selezione automatica del canale, quindi dovrai scegliere manualmente il canale WiFi meno affollato.
Importante: in questo esempio di prova, la password è 12345678, ma nel punto di accesso reale è necessario utilizzare qualcosa di più complesso. Esistono programmi che effettuano tentativi di accesso mediante attacchi a dizionario, quindi un punto di accesso con una password semplice può essere compromesso. Inoltre, condividere internet con estranei, secondo le leggi attuali, può avere delle conseguenze.
Tutto è pronto, possiamo attivare tutti i servizi.
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
sudo systemctl reload dnsmasqOra dovremmo già vedere il nuovo punto di accesso WiFi nell'elenco delle reti. Ma affinché ci sia internet, è necessario attivare l'inoltro dei pacchetti da Ethernet a WLAN, per cui inseriamo il comando sudo nano /etc/rc.local e aggiungiamo la riga di configurazione iptables:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Ora è tutto. Riavviamo la Raspberry Pi e, se tutto è stato fatto correttamente, possiamo vedere il punto di accesso e collegarci ad esso.

Come si può vedere, la velocità non è affatto male e utilizzare un WiFi del genere è perfettamente possibile.
A proposito, un piccolo un consiglio: per cambiare il nome della rete della Raspberry Pi, è possibile eseguire il comando sudo raspi-config. Per impostazione predefinita è uguale a (sorpresa:) raspberrypi. Questo è probabilmente noto a tutti. Tuttavia, non tutti sanno che questo nome è disponibile anche nella rete locale, ma bisogna aggiungere «.local». Ad esempio, per accedere al Raspberry Pi via SSH, è possibile utilizzare il comando putty pi@raspberrypi.local. Qui c'è però un piccolo dettaglio: funziona su Windows e Linux, ma non funziona su Android — lì sarà comunque necessario inserire l'indirizzo IP manualmente.
2. Server multimediale
Ci sono 1001 modi per creare un server multimediale su Raspberry Pi, ma io esaminerò solo il più semplice. Supponiamo di avere una collezione di file MP3 che vogliamo rendere disponibile nella rete locale per tutti i dispositivi multimediali. Installeremo sul Raspberry Pi un server MiniDLNA, che può fare questo per noi.
Per installarlo, utilizziamo il comando sudo apt-get install minidlna. Dopodiché dobbiamo configurare il file di configurazione, eseguendo il comando sudo nano /etc/minidlna.conf. Qui è necessario aggiungere solo una riga, che indica il percorso ai nostri file: media_dir=/home/pi/MP3 (il percorso, ovviamente, può essere diverso). Chiudendo il file, riavviamo il servizio:
sudo systemctl restart minidlna
Se abbiamo fatto tutto correttamente, otterremo un server multimediale pronto nella rete locale, dal quale è possibile riprodurre musica tramite una radio WiFi da tavolo o tramite VLC-Player su Android:

Consiglio: caricare file sul Raspberry Pi è molto comodo con WinSCP — questo programma consente di lavorare con le cartelle di RPi altrettanto facilmente quanto con quelle locali.

3. Ricevitore SDR
Se abbiamo un ricevitore RTL-SDR o SDRPlay, possiamo utilizzarlo su Raspberry Pi tramite il programma GQRX o CubicSDR. Questo ci permetterà di avere un ricevitore SDR autonomo e silenzioso, che può funzionare anche 24 ore su 24.
Mi scuso per la qualità dello screenshot dal televisore:

Con RTL-SDR o SDRPlay è possibile ricevere vari segnali radio con frequenze fino a 1 GHz (anche un po' oltre). Ad esempio, possiamo ascoltare non solo la radio FM normale, ma anche le conversazioni dei piloti o di altri servizi. A proposito, gli radioamatori possono ricevere, decodificare e inviare al server i segnali .
Un'analisi dettagliata della radio SDR esula dallo scopo di questo articolo, si può leggere di più .
4. Server per la «smart home»
Chi desidera rendere la propria casa più «intelligente» può utilizzare il programma gratuito OpenHAB.

Non si tratta solo di un semplice programma, ma di un vero e proprio framework con vari plug-in e script che consentono di gestire diversi dispositivi (Z-Wave, Philips Hue, ecc.). Gli interessati possono approfondire sul sito ufficiale. .
A proposito, dal momento che si parla di "smart home", su Raspberry Pi può funzionare un server MQTT, che può essere utilizzato da vari dispositivi locali.
5. Client per FlightRadar24
Se sei un appassionato di aviazione e vivi in una regione in cui la copertura di FlightRadar lascia a desiderare, puoi aiutare la comunità e tutti i viaggiatori installando un ricevitore a casa. Per questo è sufficiente un ricevitore RTL-SDR e un Raspberry Pi. Come bonus, otterrai accesso gratuito a un account Pro di FlightRadar24.

Istruzioni dettagliate È essenzialmente vero che le persone hanno capito che il modello relazionale completo non è necessario per risolvere molti problemi, specialmente per quelli dove, ad esempio, le prestazioni sono fondamentali e dominano determinate semplici interrogazioni con aggregazione — è critico calcolare rapidamente le metriche e scriverle nel database, mentre la maggior parte delle funzionalità relazionali si è rivelata non necessaria e, anzi, dannosa — perché normalizzare qualcosa se questo compromettere l'aspetto più importante per noi (per un determinato compito) — le prestazioni?
Conclusione
Naturalmente, qui non è elencato tutto. Raspberry Pi ha una buona potenza di calcolo e può essere utilizzato in compiti assolutamente diversi, da una console di gioco retro o videosorveglianza, al riconoscimento delle targhe automobilistiche o addirittura come servizio per l'astronomia. per osservare le meteore.
A proposito, quanto scritto è valido non solo per Raspberry Pi, ma anche per vari "cloni" (Asus Tinkerboard, Nano Pi, ecc.), e tutte le applicazioni funzioneranno probabilmente anche lì.
Se il pubblico sarà interessato (cosa che sarà determinata dalle valutazioni dell'articolo), si potrà approfondire l'argomento.
E come al solito, buon esperimento a tutti.
Fonte: habr.com
