Hallo Habr.
Bijna iedere thuis heeft wel een Raspberry Pi, en ik durf te veronderstellen dat velen er zonder deze te gebruiken mee rondlopen. En dat terwijl de Raspberry Pi niet alleen een waardevolle hardware is, maar ook een behoorlijk krachtige fanless computer met Linux. Vandaag bekijken we de handige mogelijkheden van de Raspberry Pi, waarvoor je helemaal geen code hoeft te schrijven.

Voor degenen die geĆÆnteresseerd zijn, staan de details verderop. Dit artikel is bedoeld voor beginners.
Opmerking: het artikel is bedoeld voor beginners, maar met ten minste een basisbegrip van wat een IP-adres is, hoe je via SSH met putty of een andere terminal op de Raspberry Pi inlogt, en hoe je bestanden bewerkt met de nano-editor. Als experiment zal ik deze keer geen Python-code geven; er zal helemaal geen programmeren aan te pas komen. Voor alles wat hieronder staat, is het voldoende om alleen de commandoregel te gebruiken. Hoezeer dit formaat gewild is, zal ik aan de beoordelingen van de tekst zien.
Natuurlijk zal ik de echt voor de hand liggende dingen zoals een FTP-server of een netwerkshare niet behandelen. Hieronder heb ik geprobeerd om iets nuttigers en originelers te behouden.
Voordat we iets gaan installeren, is er een belangrijk advies: een juiste voeding (bij voorkeur een originele van 2.5A, en geen onbekende oplader van een telefoon) en een heatsink voor de processor zijn essentieel voor de stabiele werking van de Raspberry Pi. Zonder dit kan de Raspberry vastlopen, kunnen er fouten optreden bij het kopiƫren van bestanden, enzovoort. Het probleem met dergelijke fouten is dat ze alleen sporadisch optreden, bijvoorbeeld bij piekbelasting van de CPU of op het moment dat er grote bestanden naar de SD-kaart worden geschreven.
Voordat je enige componenten installeert, is het raadzaam om het systeem te updaten, anders kunnen oude adressen voor de apt-opdracht niet werken:
sudo apt-get updateNu kunnen we beginnen met de installatie en configuratie.
1. WiFi-toegangspunt
Je kunt de Raspberry Pi eenvoudig omtoveren tot een draadloos toegangspunt, en je hoeft hiervoor niets extra aan te schaffen, WiFi is al ingebouwd. Hiervoor moet je 2 componenten installeren: hostapd (Host Access Point Daemon, toegangspunt service) en dnsmasq (DNS/DHCP-server).
Installeer dnsmasq en hostapd:
sudo apt-get install dnsmasq hostapdStel een statisch IP-adres in dat de Raspberry Pi in het WiFi-netwerk zal hebben. Hiervoor moet je het bestand dhcpcd.conf bewerken door de opdracht in te voeren sudo nano /etc/dhcpcd.conf. Voeg de volgende regels toe aan het bestand:
interface wlan0
static ip_address=198.51.100.100/24
nohook wpa_supplicant
Zoals te zien is, zal onze Raspberry Pi in het WiFi-netwerk het adres 198.51.100.100 hebben (dit is belangrijk om te onthouden als er een server op draait waarvan we het adres in de browser moeten invoeren).
Vervolgens moeten we IP-forwarding inschakelen, waarvoor we het volgende commando uitvoeren sudo nano /etc/sysctl.conf en de regel ontcommentariƫren net.ipv4.ip_forward=1.
Nu moeten we de DHCP-server configureren - deze zal IP-adressen toekennen aan aangesloten apparaten. We voeren het commando in sudo nano /etc/dnsmasq.conf en voegen de volgende regels toe:
interface=wlan0
dhcp-range=198.51.100.1,198.51.100.99,255.255.255.0,24h
Zoals te zien is, zullen de aangesloten apparaten IP-adressen hebben in het bereik van 198.51.100.1⦠198.51.100.99.
Tot slot is het tijd om Wi-Fi in te stellen. We bewerken het bestand /etc/default/hostapd en voeren daar de regel in DAEMON_CONF="/etc/hostapd/hostapd.conf". Nu bewerken we het bestand hostapd.conf door het commando in te voeren sudo nano /etc/hostapd/hostapd.conf.
We voeren de parameters van het toegangspunt in:
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=CCMPHier is het belangrijk om op de parameters "ssid" (naam van het toegangspunt), "wpa_passphrase" (wachtwoord), "channel" (kanaalnummer) en "hw_mode" (werkmodus, a = IEEE 802.11a, 5 GHz, b = IEEE 802.11b, 2.4 GHz, g = IEEE 802.11g, 2.4 GHz) te letten. Helaas is er geen automatische kanaalselectie, dus het minst drukke WiFi-kanaal moet handmatig worden gekozen.
Belangrijk: in dit testvoorbeeld is het wachtwoord 12345678, bij een echt toegangspunt moet iets complexers worden gebruikt. Er zijn programma's die met een woordenboek wachtwoorden kunnen kraken, en een toegangspunt met een eenvoudig wachtwoord kan worden gehackt. Bovendien kan het delen van internet met derden conform de huidige wetgeving riskant zijn.
Alles is gereed, we kunnen alle services activeren.
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
sudo systemctl reload dnsmasqNu zouden we de nieuwe WiFi-toegangspunt al in de lijst van netwerken moeten zien. Maar om internet te hebben, moeten we het doorsturen van pakketten van Ethernet naar WLAN inschakelen, waarvoor we het commando invoeren sudo nano /etc/rc.local en voegen de regel voor iptables toe:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Dat is het. Herstart de Raspberry Pi en als alles goed is gedaan, zouden we het toegangspunt moeten kunnen zien en we kunnen verbinding maken.

Zoals te zien is, is de snelheid best goed en is het gebruik van deze WiFi heel goed mogelijk.
Trouwens, een kleine advies: je kunt de netwerkaam Raspberry Pi wijzigen door het commando uit te voeren sudo raspi-config. Standaard is het ingesteld op (verrassing:) raspberrypi. Dit is waarschijnlijk algemeen bekend. Maar niet iedereen weet dat deze naam ook beschikbaar is in het lokale netwerk, maar je moet '.local' toevoegen. Bijvoorbeeld, om verbinding te maken met de Raspberry Pi via SSH, typ je de opdracht putty pi@raspberrypi.local. Er is echter ƩƩn nuance: dit werkt op Windows en Linux, maar niet op Android ā daar moet je nog steeds het IP-adres handmatig invoeren.
2. Mediaserver
Er zijn 1001 manieren om een mediaserver op de Raspberry Pi te maken, ik zal slechts de eenvoudigste bespreken. Stel dat we een favoriete collectie MP3-bestanden hebben en we willen dat deze beschikbaar is in het lokale netwerk voor alle media-apparaten. We zullen op de Raspberry Pi de MiniDLNA-server installeren, die dit voor ons kan doen.
Voer de volgende opdracht in om het te installeren sudo apt-get install minidlna. Vervolgens moet je de configuratie instellen door de opdracht in te voeren sudo nano /etc/minidlna.conf. Daar moet je slechts ƩƩn regel toevoegen die het pad naar onze bestanden aangeeft: media_dir=/home/pi/MP3 (het pad kan uiteraard anders zijn). Sluit het bestand en herstart de dienst:
sudo systemctl restart minidlna
Als we alles juist hebben gedaan, hebben we een werkende mediaserver in het lokale netwerk, van waaruit we muziek kunnen afspelen via een desktop WiFi-radio of via VLC-Player op Android:

Tip: bestanden uploaden naar de Raspberry Pi is heel gemakkelijk met WinSCP ā dit programma maakt het mogelijk om met RPi-mappen even eenvoudig te werken als met lokale mappen.

3. SDR-ontvanger
Als we een RTL-SDR- of SDRPlay-ontvanger hebben, kunnen we deze gebruiken op de Raspberry Pi met behulp van het programma GQRX of CubicSDR. Dit stelt ons in staat om een autonome en stille SDR-ontvanger te hebben die zelfs 24 uur per dag kan werken.
Mijn excuses voor de kwaliteit van de screenshot van het televisiescherm:

Met RTL-SDR of SDRPlay is het mogelijk om verschillende radiosignalen te ontvangen met een frequentie tot 1 GHz (zelfs iets hoger). Je kunt bijvoorbeeld niet alleen gewoon FM-radio luisteren, maar ook de communicatie van piloten of andere diensten. Trouwens, radioamateurs kunnen met de Raspberry Pi signalen ontvangen, decoderen en naar de server verzenden van .
Een gedetailleerde behandeling van SDR-radio valt buiten het kader van dit artikel, meer hierover kun je lezen .
4. Server voor het 'slimme huis'
Voor degenen die hun huis slimmer willen maken, is er de gratis software OpenHAB beschikbaar.

Dit is niet alleen een programma, maar een geheel framework met verschillende plugins en scripts, waarmee je verschillende apparaten kunt beheren (zoals Z-Wave, Philips Hue, enzovoort). Geïnteresseerden kunnen meer details vinden op de officiële website. .
Overigens, aangezien we het hebben over 'slimme huizen', kan er op een Raspberry Pi een MQTT-server draaien die door verschillende lokale apparaten gebruikt kan worden.
5. Klant voor FlightRadar24
Als je een luchtvaartliefhebber bent en in een regio woont waar de dekking van FlightRadar niet optimaal is, kun je de gemeenschap en alle reizigers helpen door een ontvanger bij jezelf te installeren. Het enige dat je nodig hebt, is een RTL-SDR-ontvanger en een Raspberry Pi. Als bonus krijg je gratis toegang tot een Pro-account van FlightRadar24.

Gedetailleerde instructies op Habr.
Conclusie
Natuurlijk is hier niet alles opgesomd. De Raspberry Pi heeft een behoorlijke rekenkracht en kan voor verschillende taken worden gebruikt, van retro gaming consoles of videobewaking tot kentekenherkenning of zelfs als een service voor astronomisch onderzoek. voor het waarnemen van meteorieten.
Overigens is deze informatie niet alleen relevant voor de Raspberry Pi, maar ook voor verschillende 'clones' (Asus Tinkerboard, Nano Pi, enzovoort); alle programma's zullen daar waarschijnlijk ook werken.
Als er interesse is vanuit het publiek (wat bepaald zal worden door de beoordelingen van het artikel), kan het onderwerp verder worden uitgewerkt.
En zoals gewoonlijk, veel succes met experimenteren.
Bron: habr.com
