Hola Habr.
Probablemente casi todos tengan en casa una Raspberry Pi, y me atrevería a suponer que muchos la tienen olvidada. Sin embargo, Raspberry no solo es un valioso dispositivo, sino también una computadora fanless bastante potente con Linux. Hoy revisaremos las útiles funcionalidades de Raspberry Pi, para las cuales no será necesario escribir código en absoluto.

Para quienes estén interesados, los detalles están a continuación. Este artículo está dirigido a principiantes.
Nota: el artículo está pensado para principiantes, pero que tengan al menos una noción básica de lo que es una dirección IP, cómo acceder a la Raspberry Pi mediante SSH usando putty o cualquier otro terminal, y cómo editar archivos con el editor nano. Como experimento, esta vez no cargaré a los lectores con código de Python, aquí no habrá programación en absoluto. Para todo lo que se escriba a continuación, será suficiente solo con la línea de comandos. Estaré atento a las valoraciones del texto para evaluar la demanda de este formato.
Por supuesto, no abordaré las cosas completamente evidentes como un servidor FTP o un recurso compartido de red. A continuación, he tratado de destacar algo más o menos útil y original.
Antes de que instalemos algo, es importante un consejo: es crucial contar con un bloque de alimentación adecuado (mejor uno original de 2.5A, en lugar de un cargador genérico de teléfono) y un disipador de calor en el procesador para el funcionamiento estable de la Raspberry Pi. Sin esto, la Raspberry puede colgarse, pueden aparecer errores al copiar archivos, etc. La dificultad de estos errores es que solo se manifiestan ocasionalmente, por ejemplo, durante picos de carga del CPU o al escribir archivos grandes en la tarjeta SD.
Antes de instalar cualquier componente, es recomendable actualizar el sistema, de lo contrario, las direcciones antiguas para el comando apt pueden no funcionar:
sudo apt-get updateAhora podemos proceder con la instalación y configuración.
1. Punto de acceso WiFi
Es fácil convertir la Raspberry Pi en un punto de acceso inalámbrico, además no es necesario comprar nada, ya que el WiFi 'está a bordo'. Para ello, es necesario instalar 2 componentes: hostapd (daemon de punto de acceso) y dnsmasq (servidor DNS/DHCP).
Instalamos dnsmasq y hostapd:
sudo apt-get install dnsmasq hostapdDefinimos una dirección IP estática que tendrá la Raspberry Pi en la red WiFi. Para ello, se debe editar el archivo dhcpcd.conf, ingresando el comando sudo nano /etc/dhcpcd.conf. Debemos agregar las siguientes líneas al archivo:
interface wlan0
static ip_address=198.51.100.100/24
nohook wpa_supplicant
Como se puede ver, en la red WiFi, nuestra Raspberry Pi tendrá la dirección 198.51.100.100 (esto es importante recordar, si en ella funcionará algún servidor, cuya dirección se deberá ingresar en el navegador).
A continuación, debemos activar el reenvío de IP, para lo cual ejecutamos el comando sudo nano /etc/sysctl.conf y descomentamos la línea net.ipv4.ip_forward=1.
Ahora es necesario configurar el servidor DHCP — será el encargado de asignar direcciones IP a los dispositivos conectados. Ingresamos el comando sudo nano /etc/dnsmasq.conf y añadimos las siguientes líneas:
interface=wlan0
dhcp-range=198.51.100.1,198.51.100.99,255.255.255.0,24h
Como se puede ver, los dispositivos conectados tendrán direcciones IP en el rango de 198.51.100.1… 198.51.100.99.
Finalmente, ha llegado el momento de configurar el Wi-Fi. Editamos el archivo /etc/default/hostapd y allí ingresamos la línea DAEMON_CONF="/etc/hostapd/hostapd.conf". Ahora editaremos el archivo hostapd.conf, ingresando el comando sudo nano /etc/hostapd/hostapd.conf.
Ingresamos los parámetros del punto de acceso:
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=CCMPEs importante prestar atención a los parámetros "ssid" (nombre del punto de acceso), "wpa_passphrase" (contraseña), "channel" (número de canal) y "hw_mode" (modo de operación, a = IEEE 802.11a, 5 GHz, b = IEEE 802.11b, 2.4 GHz, g = IEEE 802.11g, 2.4 GHz). Lamentablemente, no hay elección automática de canal, por lo que hay que elegir el canal WiFi menos congestionado de manera manual.
Importante: en este ejemplo de prueba se especifica la contraseña 12345678, pero en un punto de acceso real se debe utilizar algo más complejo. Existen programas que realizan ataques de diccionario para adivinar contraseñas, y un punto de acceso con una contraseña sencilla puede ser hackeado. Además, compartir Internet con extraños bajo las leyes actuales puede tener sus consecuencias.
Todo está listo, se pueden activar todos los servicios.
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
sudo systemctl reload dnsmasqAhora ya deberíamos ver el nuevo punto de acceso WiFi en la lista de redes. Pero para que tenga acceso a Internet, es necesario activar el reenvío de paquetes de Ethernet a WLAN, para lo cual ingresamos el comando sudo nano /etc/rc.local y añadimos la línea de configuración de iptables:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Eso es todo. Reiniciamos la Raspberry Pi, y si todo se hizo correctamente, podremos ver el punto de acceso y conectarnos a él.

Como se puede ver, la velocidad no es tan mala, y se puede usar este WiFi sin problemas.
Por cierto, un pequeño consejo: puedes cambiar el nombre de la red de la Raspberry Pi ejecutando el comando sudo raspi-config. Por defecto, es (sorpresa:) raspberrypi. Esto probablemente sea de conocimiento general. Sin embargo, no todos saben que este nombre también está disponible en la red local, pero hay que añadir «.local». Por ejemplo, para acceder a Raspberry Pi a través de SSH, puedes introducir el comando putty pi@raspberrypi.local. Aquí, sin embargo, hay un matiz: esto funciona en Windows y en Linux, pero no en Android, donde todavía tendrás que introducir la dirección IP manualmente.
2. Servidor de medios
Hay 1001 maneras de hacer un servidor de medios en Raspberry Pi, pero solo consideraré la más simple. Supongamos que tenemos nuestra colección favorita de archivos MP3 y queremos que esté disponible en la red local para todos los dispositivos multimedia. Instalaremos en Raspberry Pi el servidor MiniDLNA, que puede hacer esto por nosotros.
Para instalarlo, introduce el comando sudo apt-get install minidlna. Después, necesitas configurar el archivo, introduciendo el comando sudo nano /etc/minidlna.conf. Allí necesitas añadir solo una línea, indicando la ruta a nuestros archivos: media_dir=/home/pi/MP3 (la ruta, por supuesto, puede ser diferente). Cerramos el archivo y reiniciamos el servicio:
sudo systemctl restart minidlna
Si hemos hecho todo correctamente, obtendremos un servidor de medios listo en la red local, desde el cual se puede reproducir música a través de una radio WiFi de escritorio o mediante VLC-Player en Android:

Consejo: cargar archivos en Raspberry Pi es muy sencillo con WinSCP; este programa permite trabajar con las carpetas de RPi tan fácilmente como con las locales.

3. Receptor SDR
Si tenemos un receptor RTL-SDR o SDRPlay, podemos utilizarlo en Raspberry Pi con el programa GQRX o CubicSDR. Esto permitirá tener un receptor SDR autónomo y silencioso que puede funcionar incluso las 24 horas.
Perdón por la calidad de la captura de pantalla desde la televisión:

Con RTL-SDR o SDRPlay es posible recibir diversas señales de radio con una frecuencia de hasta 1 GHz (incluso un poco más). Por ejemplo, se puede escuchar no solo radio FM convencional, sino también conversaciones de pilotos u otros servicios. Por cierto, los aficionados a la radio pueden utilizar Raspberry Pi para recibir, decodificar y enviar señales .
Un análisis detallado de la radio SDR está más allá del alcance de este artículo; puedes leer más en .
4. Servidor para 'casa inteligente'
Aquellos que desean hacer su hogar más 'inteligente' pueden utilizar el programa gratuito OpenHAB.

Esto no es solo un programa, sino un marco completo con varios complementos y scripts que permiten gestionar diferentes dispositivos (Z-Wave, Philips Hue, etc.). Los interesados pueden obtener más información en la página oficial. .
Por cierto, ya que hablamos de 'hogar inteligente', es posible que un servidor MQTT funcione perfectamente en Raspberry Pi, que puede ser utilizado por varios dispositivos locales.
5. Cliente para FlightRadar24
Si eres aficionado a la aviación y vives en una región donde la cobertura de FlightRadar deja mucho que desear, puedes ayudar a la comunidad y a todos los viajeros instalando un receptor en tu casa. Solo necesitas un receptor RTL-SDR y una Raspberry Pi. Como bonus, recibirás acceso gratuito a una cuenta Pro de FlightRadar24.

Instrucciones detalladas en Habr.
Conclusión
Por supuesto, aquí no se enumera todo. Raspberry Pi tiene un buen poder de cálculo y puede utilizarse para tareas muy variadas, desde una consola de juegos retro o videovigilancia hasta el reconocimiento de matrículas de automóviles o incluso como servicio para astronomía. para la observación de meteoros.
Por cierto, lo que se ha escrito es aplicable no solo a Raspberry Pi, sino también a varios 'clones' (Asus Tinkerboard, Nano Pi, etc.), la mayoría de los programas funcionarán allí.
Si hay interés por parte de la audiencia (lo que se determinará por las calificaciones del artículo), se puede continuar con el tema.
Y como siempre, les deseo a todos experimentos exitosos.
Fuente: habr.com
