Cześć Habr.
Raspberry Pi prawdopodobnie znajduje się w domu prawie każdego, i odważę się założyć, że wielu z nich leży bezczynnie. A przecież Raspberry to nie tylko cenny gadżet, ale także dość mocny komputer bez wentylatora z systemem Linux. Dziś przyjrzymy się przydatnym możliwościom Raspberry Pi, do których nie trzeba będzie pisać kodu.

Dla tych, którzy są zainteresowani, szczegóły poniżej. Artykuł jest przeznaczony dla początkujących.
Uwaga: artykuł jest przeznaczony dla początkujących, ale mających przynajmniej podstawowe pojęcie o tym, czym jest adres IP, jak połączyć się z Raspberry Pi przez SSH przy pomocy putty lub innego terminala oraz jak edytować pliki za pomocą edytora nano. Jako eksperyment, tym razem nie zamierzam „obciążać” czytelników kodem Pythona, nie będzie tu programowania. Do wszystkiego poniżej wystarczy tylko wiersz poleceń. Jak bardzo taki format jest pożądany, będę sprawdzać na podstawie ocen tekstu.
Oczywiście, nie będę rozważać zupełnie oczywistych rzeczy jak serwer FTP czy udostępnianie plików w sieci. Poniżej starałem się wyróżnić coś bardziej użytecznego i oryginalnego.
Zanim zainstalujemy jakiekolwiek komponenty, ważna rada: odpowiedni zasilacz (lepszy oryginalny na 2,5 A, a nie noname z telefonu) oraz radiator na procesor są niezwykle ważne dla stabilnej pracy Raspberry Pi. Bez tego Raspberry może się zawieszać, mogą pojawiać się błędy podczas kopiowania plików itp. Zjadliwość takich błędów polega na tym, że ujawniają się one tylko sporadycznie, na przykład przy szczytowym obciążeniu procesora lub w momencie zapisywania dużych plików na karcie SD.
Przed instalacją jakichkolwiek komponentów warto zaktualizować system, inaczej stare adresy dla polecenia apt mogą nie działać:
sudo apt-get updateTeraz można przystąpić do instalacji i konfiguracji.
1. Punkt dostępu WiFi
Raspberry Pi łatwo przekształcić w bezprzewodowy punkt dostępu, a przy tym nic nie trzeba dokupywać, WiFi „na pokładzie” już jest. W tym celu należy zainstalować 2 komponenty: hostapd (Host access point daemon, usługa punktu dostępu) i dnsmasq (serwer DNS/DHCP).
Instalujemy dnsmasq i hostapd:
sudo apt-get install dnsmasq hostapdUstawiamy statyczny adres IP, który będzie miał Raspberry Pi w sieci WiFi. W tym celu trzeba edytować plik dhcpcd.conf, wpisując polecenie sudo nano /etc/dhcpcd.conf. Do pliku należy dodać następujące linijki:
interface wlan0
static ip_address=198.51.100.100/24
nohook wpa_supplicant
Jak widać, w sieci WiFi nasza Raspberry Pi będzie miała adres 198.51.100.100 (to ważne do zapamiętania, jeśli na niej będzie działał jakiś serwer, którego adres trzeba będzie wpisać w przeglądarce).
Następnie musimy aktywować przekazywanie IP, w tym celu wykonujemy polecenie sudo nano /etc/sysctl.conf i usuwamy komentarz w linii net.ipv4.ip_forward=1.
Teraz musimy skonfigurować serwer DHCP — będzie on przydzielał adresy IP podłączonym urządzeniom. Wprowadzamy polecenie sudo nano /etc/dnsmasq.conf i dodajemy następujące linie:
interface=wlan0
dhcp-range=198.51.100.1,198.51.100.99,255.255.255.0,24h
Jak widać, podłączone urządzenia będą miały adresy IP w zakresie 198.51.100.1… 198.51.100.99.
Na koniec nadszedł czas, aby skonfigurować Wi-Fi. Edytujemy plik /etc/default/hostapd i wprowadzamy tam linię DAEMON_CONF="/etc/hostapd/hostapd.conf". Teraz edytujemy plik hostapd.conf, wpisując polecenie sudo nano /etc/hostapd/hostapd.conf.
Wprowadzamy parametry punktu dostępu:
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=CCMPTutaj ważne jest, aby zwrócić uwagę na parametry "ssid" (nazwa punktu dostępu), "wpa_passphrase" (hasło), "channel" (numer kanału) oraz "hw_mode" (tryb pracy, a = IEEE 802.11a, 5 GHz, b = IEEE 802.11b, 2.4 GHz, g = IEEE 802.11g, 2.4 GHz). Niestety, automatycznego wyboru kanału nie ma, więc najmniej zatłoczony kanał WiFi trzeba wybrać samodzielnie.
Ważne: w tym teście podano hasło 12345678, na prawdziwym punkcie dostępu należy użyć czegoś bardziej skomplikowanego. Istnieją programy, które przeszukują hasła w słownikach, i punkt dostępu z prostym hasłem może zostać złamany. A udostępnianie internetu obcym w obecnych czasach może być ryzykowne.
Wszystko gotowe, można aktywować wszystkie usługi.
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
sudo systemctl reload dnsmasqTeraz powinniśmy już widzieć nowy punkt dostępu WiFi na liście sieci. Ale aby miał dostęp do internetu, należy aktywować przekazywanie pakietów z Ethernet do WLAN, wprowadzając polecenie sudo nano /etc/rc.local i dodajemy linię konfiguracji iptables:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Teraz wszystko. Restartujemy Raspberry Pi, a jeśli wszystko przebiegło poprawnie, możemy zobaczyć punkt dostępu i połączyć się z nim.

Jak widać, prędkość nie jest zła, a korzystanie z takiego WiFi jest zupełnie możliwe.
A propos, niewielka rada: zmienić nazwę sieci Raspberry Pi można, wykonując polecenie sudo raspi-config. Domyślnie jest to (niespodzianka:) raspberrypi. To jest chyba powszechnie znane. Jednak nie wszyscy wiedzą, że ta nazwa jest dostępna również w sieci lokalnej, ale trzeba dodać „.local”. Na przykład, aby połączyć się z Raspberry Pi przez SSH, można wpisać polecenie putty pi@raspberrypi.local. Jest tu jednak jeden szczegół: to działa w Windows i Linux, ale nie działa w Androidzie — tam wciąż trzeba ręcznie wprowadzić adres IP.
2. Serwer multimedialny
Istnieje 1001 sposobów na stworzenie serwera multimedialnego na Raspberry Pi, omówię tylko najprostszy. Załóżmy, że mamy ulubioną kolekcję plików MP3 i chcemy, aby była dostępna w sieci lokalnej dla wszystkich urządzeń multimedialnych. Zainstalujemy na Raspberry Pi serwer MiniDLNA, który może to dla nas zrobić.
Aby zainstalować, wpiszemy polecenie sudo apt-get install minidlna. Następnie należy skonfigurować plik, wpisując polecenie sudo nano /etc/minidlna.conf. Tam wystarczy dodać jeden wiersz, który wskazuje ścieżkę do naszych plików: media_dir=/home/pi/MP3 (ścieżka oczywiście może być inna). Po zamknięciu pliku, restartujemy serwis:
sudo systemctl restart minidlna
Jeśli zrobiliśmy wszystko poprawnie, otrzymamy gotowy serwer multimedialny w sieci lokalnej, z którego można odtwarzać muzykę przez stacjonarne radio WiFi lub przez VLC-Player w Androidzie:

Rada: bardzo wygodnie jest przesyłać pliki na Raspberry Pi za pomocą WinSCP — ten program umożliwia łatwą pracę z folderami RPi, tak samo jak z lokalnymi.

3. Odbiornik SDR
Jeśli mamy odbiornik RTL-SDR lub SDRPlay, możemy go używać na Raspberry Pi za pomocą programów GQRX lub CubicSDR. Umożliwi to stworzenie autonomicznego i cichego odbiornika SDR, który może działać nawet przez całą dobę.
Przepraszam za jakość zrzutu ekranu z telewizora:

Dzięki RTL-SDR lub SDRPlay możliwe jest odbieranie różnych sygnałów radiowych w częstotliwości do 1GHz (nawet trochę wyżej). Na przykład, można słuchać nie tylko zwykłego radia FM, ale także rozmów pilotów lub innych służb. Tak przy okazji, radiomaniacy mogą z łatwością odbierać, dekodować i wysyłać na serwer sygnały .
Szczegółowe omówienie radia SDR wykracza poza ramy tego artykułu, można poczytać więcej .
4. Serwer dla „inteligentnego domu”
Dla tych, którzy chcą uczynić swój dom „inteligentniejszym”, warto skorzystać z darmowego oprogramowania OpenHAB.

To nie jest tylko program, to cały framework z różnymi wtyczkami i skryptami, który pozwala zarządzać różnymi urządzeniami (Z-Wave, Philips Hue i inne). Osoby zainteresowane mogą zapoznać się ze szczegółami na oficjalnej stronie. .
Swoją drogą, skoro mówimy o „inteligentnym domu”, na Raspberry Pi z powodzeniem może działać serwer MQTT, który może być wykorzystywany przez różne urządzenia lokalne.
5. Klient dla FlightRadar24
Jeśli interesujesz się lotnictwem i mieszkasz w regionie, gdzie pokrycie FlightRadar pozostawia wiele do życzenia, możesz pomóc społeczności oraz wszystkim podróżnym, instalując odbiornik u siebie. Wystarczy tylko odbiornik RTL-SDR i Raspberry Pi. Jako bonus, otrzymasz bezpłatny dostęp do Pro-konta FlightRadar24.

Szczegółowa instrukcja na Habrze.
Podsumowanie
Oczywiście, to nie wszystko. Raspberry Pi ma całkiem niezłą moc obliczeniową i może być wykorzystywane w różnych zadaniach, od retro konsoli do gier, przez monitoring wideo, po rozpoznawanie numerów rejestracyjnych, a nawet jako usługa dla astronomów. do obserwacji meteorów.
Przy okazji, to, co napisano, dotyczy nie tylko Raspberry Pi, ale także różnych „klonów” (Asus Tinkerboard, Nano Pi itd.), wszystkie programy prawdopodobnie zadziałają również tam.
Jeśli publiczność będzie zainteresowana (co określi liczba ocen dla artykułu), temat można będzie kontynuować.
I jak zwykle, życzę wszystkim udanych eksperymentów.
Źródło: habr.com
