5 способів корисного використання Raspberry Pi

Привіт Хабр.

Raspberry Pi напевно є вдома майже у кожного, і ризикну припустити, що у багатьох вона валяється без діла. Адже Raspberry це не тільки цінне хутро, але і цілком потужний fanless-комп'ютер з Linux. Сьогодні ми розглянемо корисні можливості Raspberry Pi, для використання яких писати код не доведеться зовсім.
5 способів корисного використання Raspberry Pi
Для тих, кому цікаво, подробиці під катом. Стаття розрахована для початківців.

Примітка: стаття розрахована для початківців, але мають хоча б базові поняття про те, що таке IP-адреса, як зайти на Raspberry Pi по SSH за допомогою putty або будь-якого іншого терміналу, і як редагувати файли редактором nano. Як експеримент, цього разу я не «вантажитиму» читачів кодом для Python, програмування тут не буде зовсім. Для всього нижченаписаного буде достатньо лише командного рядка. Наскільки такий формат затребуваний, дивитимуся за оцінками тексту.

Зрозуміло, я не розглядатиму вже зовсім очевидні речі типу FTP-сервера або мережної кулі. Нижче я постарався виділити щось більш-менш корисне та оригінальне.

Перед тим, як ми щось встановлюватимемо, важливий рада: правильний блок живлення (краще фірмовий на 2.5А, а не зарядка noname від телефону) і радіатор на процесор вкрай важливі для стабільної роботи Raspberry Pi. Без цього Raspberry може зависати, можуть з'являтися помилки копіювання файлів та ін. Підступність таких помилок у тому, що виявляються вони лише зрідка, наприклад, при піковому завантаженні CPU або в момент запису великих файлів на SD-карту.

Перед встановленням будь-яких компонентів бажано оновити систему, інакше старі адреси для команди apt можуть не спрацювати:

sudo apt-get update

Тепер можна приступати до встановлення та налаштування.

1. WiFi точка доступу

Raspberry Pi легко перетворити на бездротову точку доступу, причому нічого докуповувати не доведеться, WiFi «на борту» вже є. Для цього необхідно встановити 2 компоненти: hostapd (Host access point daemon, сервіс точки доступу) та dnsmasq (DNS/DHCP-сервер).

Встановлюємо dnsmasq та hostapd:

sudo apt-get install dnsmasq hostapd

Задаємо статичну IP-адресу, яка буде мати Raspberry Pi у WiFi-мережі. Для цього потрібно відредагувати файл dhcpcd.conf, ввівши команду sudo nano /etc/dhcpcd.conf. У файл потрібно додати такі рядки:

interface wlan0
  static ip_address=198.51.100.100/24
  nohook wpa_supplicant

Як можна бачити, у WiFi-мережі наша Raspberry Pi буде мати адресу 198.51.100.100 (це важливо запам'ятати, якщо на ній працюватиме якийсь сервер, адресу якого потрібно буде ввести у браузері).

Далі ми повинні активувати IP forwarding, для чого виконуємо команду sudo nano /etc/sysctl.conf та розкоментуємо рядок net.ipv4.ip_forward = 1.

Тепер потрібно налаштувати DHCP-сервер — він роздаватиме IP-адреси пристроям, що підключаються. Вводимо команду sudo nano /etc/dnsmasq.conf і додаємо наступні рядки:

interface=wlan0
dhcp-range=198.51.100.1,198.51.100.99,255.255.255.0,24h

Як можна бачити, пристрої, що підключаються, матимуть IP-адреси в діапазоні 198.51.100.1… 198.51.100.99.

Нарешті настав час налаштувати Wi-Fi. Редагуємо файл /etc/default/hostapd і вводимо там рядок DAEMON_CONF="/etc/hostapd/hostapd.conf". Відредагуємо файл hostapd.conf, ввівши команду sudo nano /etc/hostapd/hostapd.conf.
Вводимо параметри точки доступу:

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

Тут важливо звернути увагу на параметри ssid (ім'я точки доступу), wpa_passphrase (пароль), channel (номер каналу) і hw_mode (режим роботи, a = IEEE 802.11a, 5 GHz, b = IEEE 802.11 b, 2.4 GHz, g = IEEE 802.11g, 2.4 GHz). На жаль, автоматичного вибору каналу немає, тому найменш зайнятий канал WiFi доведеться вибрати самостійно.

Важливо: у цьому тестовому прикладі вказано пароль 12345678, у реальній точці доступу потрібно використовувати щось складніше. Існують програми, що здійснюють перебір паролів за словником, і точку доступу із простим паролем можуть зламати. Ну а розшарувати інтернет стороннім за сучасних законів може загрожувати.

Все готове, можна активувати всі послуги.

sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
sudo systemctl reload dnsmasq

Тепер ми вже повинні побачити нову WiFi-точку доступу у списку мереж. Але щоб у ній з'явився інтернет, необхідно активувати перенаправлення пакетів з Ethernet на WLAN, для чого вводимо команду sudo nano /etc/rc.local і додаємо рядок налаштування iptables:

sudo iptables -t nat -A  POSTROUTING -o eth0 -j MASQUERADE

Тепер все. Перезавантажуємо Raspberry Pi, і якщо все було зроблено правильно, ми можемо побачити точку доступу та підключитись до неї.

5 способів корисного використання Raspberry Pi

Як можна бачити, швидкість не така вже й погана, і користуватися таким WiFi цілком можна.

До речі, невеликий рада: поміняти мережеве ім'я Raspberry Pi можна, виконавши команду sudo raspi-config. За умовчанням воно одно (сюрприз:) raspberrypi. Це, напевно, загальновідомо. Однак не всі знають, що це ім'я є доступним і в локальній мережі, але до нього потрібно додати «.local». Наприклад, зайти на Raspberry Pi SSH можна, ввівши команду шпаклівка [захищено електронною поштою]. Тут правда, є один нюанс: це працює в Windows і в Linux, але не працює в Android - там, як і раніше, доведеться вводити IP-адресу вручну.

2. Медіа-сервер

Існує 1001 спосіб зробити медіа-сервер на Raspberry Pi, я розгляну лише найпростіший. Припустимо, ми маємо улюблену колекцію MP3-файлів, і ми хочемо, щоб вона була доступна в локальній мережі для всіх медіа-пристроїв. Ми поставимо на Raspberry Pi сервер MiniDLNA, який може це зробити для нас.

Для встановлення введемо команду sudo apt-get install minidlna. Після цього потрібно налаштувати конфіг, ввівши команду sudo nano /etc/minidlna.conf. Там необхідно додати лише один рядок, який вказує шлях до наших файлів: media_dir=/home/pi/MP3 (шлях зрозуміло, можливо іншим). Закривши файл, перезапускаємо сервіс:

sudo systemctl restart minidlna

Якщо ми все зробили правильно, ми отримаємо готовий медіа-сервер у локальній мережі, з якого можна грати музику через настільне WiFi радіо або через VLC-Player в Android:

5 способів корисного використання Raspberry Pi

Порада: завантажувати файли на Raspberry Pi дуже зручно за допомогою WinSCP - ця програма дозволяє працювати з папками RPi так само легко, як і з локальними.

5 способів корисного використання Raspberry Pi

3. SDR приймач

Якщо ми маємо приймач RTL-SDR або SDRPlay, ми можемо використовувати його на Raspberry Pi за допомогою програми GQRX або CubicSDR. Це дозволить мати автономний та безшумний SDR-приймач, здатний працювати навіть цілодобово.

Перепрошую за якість скріншота з екрана телевізора:

5 способів корисного використання Raspberry Pi

За допомогою RTL-SDR або SDRPlay можна приймати різні радіосигнали з частотою до 1ГГц (навіть трохи вище). Наприклад, можна слухати не лише звичайне FM-радіо, а й переговори пілотів чи інших служб. До речі, радіоаматори за допомогою Raspberry Pi можуть приймати, декодувати і відправляти на сервер сигнали. WSPR та інших цифрових режимів.

Детальний розгляд SDR-радіо виходить за межі цієї статті, докладніше можна почитати тут.

4. Сервер для «розумного дому»

Тим, хто хоче зробити свій будинок «розумнішим», можна скористатися безкоштовною програмою OpenHAB.

5 способів корисного використання Raspberry Pi

Це навіть не просто програма, а цілий фреймворк, що має різні плагіни, скрипти, що дозволяє керувати різними пристроями (Z-Wave, Philips Hue та ін). Охочі можуть вивчити детальніше оф.сайт https://www.openhab.org.

До речі, якщо вже зайшла мова про "розумний будинок", на Raspberry Pi цілком може працювати MQTT-сервер, який може використовуватися різними локальними пристроями.

5. Клієнт для FlightRadar24

Якщо ви любитель авіації, і живете в регіоні, де покриття FlightRadar залишає бажати кращого, можна допомогти спільноті та всім мандрівникам, встановивши приймач у себе. Для цього достатньо лише RTL-SDR-приймача та Raspberry Pi. Як бонус, ви отримаєте безкоштовний доступ до Pro-акаунту FlightRadar24.

5 способів корисного використання Raspberry Pi

Докладна інструкція вже публікувалася на Хабрі.

Висновок

Зрозуміло, тут перераховано далеко ще не все. Raspberry Pi має непогану обчислювальну потужність, і може використовуватися в абсолютно різних завданнях, від ретро-ігрової консолі або відеоспостереження, до розпізнавання автомобільних номерів або навіть як астрономічний сервіс all-sky камери для нагляду за метеорами.

До речі, написане актуально не тільки для Raspberry Pi, а й для різних «клонів» (Asus Tinkerboard, Nano Pi тощо), всі програми, швидше за все, запрацюють і там.

Якщо аудиторія матиме інтерес (що визначатиметься за оцінками до статті), тему можна буде продовжити.

І як завжди, всім успішних експериментів.

Джерело: habr.com

Додати коментар або відгук