El servicio se puede llamar de cualquier forma, hemos usado indistintamente nombres como:
- AIS-catcher (finalmente no lo usamos)
- rtl-ais.service (AIS)
- autorx.service (radiosondas)
- aprs-igate.service (APRS VHF)
- ...
Dar permisos de escritura
Algunas veces los sericios que hemos instalados no arrancan si solo estan como (ro) y no como (rw)
- rpi-rw
Configurar un servicio tras crearlo con un editor como nano p.e. ais-rx.service en /usr/local/bin/
- sudo systemctl daemon-reload
Servicios disponibles en una Raspberry Pi
- systemctl list-unit-files --state=enabled --type=service --no-pager
Servicios que se arancan en un boot de una Raspberry Pi
- systemd-analyze blame --no-pager
Habilitar un servicio
- sudo systemctl enable ais-rx.service
Deshabilitar el servicio
- sudo systemctl disable ais-rx.service
Arrancar un servicio (Comprobar que estan los servicios parados)
- sudo systemctl start ais-rx.service
- ...
- sudo systemctl start autorx.service
Parar un servicio
- sudo systemctl stop ais-rx.service
- ...
- sudo systemctl stop autorx.service
Parar y arrancar
- sudo systemctl restart autorx.service
Ver como arranca el servicio
- sudo systemctl status autorx.service --no-pager -l
tambien
- sudo journalctl -u autorx.service -n 20 --no-pager
Borrar los ficheros creados para un servicio (limpieza)
- sudo rm /usr/local/bin/ais-rx.service.sh
- sudo systemctl daemon-reload
Matar todos los procesos asociados al servicio
- sudo killall AIS-catcher 2>/dev/null
- sudo killall -9 AIS-catcher rtl_fm
Reiniciar la raspberry pi cuando nada va como queremos
- sudo reboot
Quién usa un puerto determinado p.e. 8081
- sudo netstat -tulpn | grep 8081
Quién usa el USB
- sudo fuser -k /dev/bus/usb/001/*
Qué se arranca con un servicio
- ps -ef | grep AIS-catcher
pi-star 12887 12337 0 16:49 pts/0 00:00:00 grep --color=auto AIS-catcher
- ps -ef | grep autorx
Comprobar un servidor web en local
- curl -I http://127.0.0.1:8081
- curl -I http://127.0.0.1:5000
Comprobar con navegador
- http://[LA_IP_DE_TU_PI]:8081
Radiosonde
- http://[LA_IP_DE_TU_PI]:5000
Con pi-star
- http://pi-star.local:5000
Compatibilidad con otros servicios con los que se comparten recursos (p.e.SDR-USB)
- APRS-igate tendrá: Conflicts=autorx.service rtl-ais.service
- Autorx tendrá: Conflicts=aprs-igate.service rtl-ais.service
- rtl-ais tendrá: Conflicts=aprs-igate.service autorx.service
Bloqueo en el arranque
Si fallara el arranque del servicio en un reboot podria la Raspberry no dar el control a través de Wi-Fi, en ese caso hay que proceder de la siguiente manera:
- Conectarla con cable ethernet a nuestra red lcoal 8en logar de WiFi
- Comprobar la IP asignada con un scan de IP (p.e. angry IP)
- conectarse
- Parar los servicios y dejarlos no disponibles
- sudo systemctl stop rtl-ais.service
- sudo systemctl disable rtl-ais.service
- sudo systemctl stop autorx.service
- sudo systemctl disable autorx.service
- Mover los ficheros para que no intente el sistema rearrancarlos, ojo que se borran de temp igual mejor a otros sitio
- sudo mv /etc/systemd/system/rtl-ais.service /tmp/
- sudo mv /etc/systemd/system/autorx.service /tmp/
- rearrancar
- sudo reboot
COmprobación conexiones a RED
- ifconfig
- sudo wpa_cli reconfigure
- Selected interface 'wlan0'
- OK
ABRIR PUERTOS PARA CADA IP:PUERTO NUEVO
Conexión a un servidor externo
- sudo iptables -A OUTPUT -p udp -d 195.201.71.220 --dport 6518 -j ACCEPT
- sudo iptables -A INPUT -p udp -s 195.201.71.220 --sport 6518 -j ACCEPT
- sudo iptables -I INPUT 1 -p tcp --dport 8081 -j ACCEPT
- sudo /sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
- sudo /sbin/iptables -I INPUT 1 -p tcp --dport 8081 -j ACCEPT
- autorx.service
- sudo iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT
- sudo iptables -L -n -v
- sudo /sbin/iptables-save > /etc/iptables/rules.v4
- rpi-rw
- sudo nano /etc/rc.local
CAMBIO DE SERVICIOS
Para cambiar a AIS: sudo systemctl stop autorx.service && sudo systemctl start rtl-ais.service
Para cambiar a Sondas: sudo systemctl stop rtl-ais.service && sudo systemctl start autorx.service
Limpiar espacio si sytemctl se queja
sudo systemctl daemon-reload
Failed to reload daemon: Refusing to reload, not enough space available on /run/
systemd. Currently, 15.8M are free, but a safety buffer of 16.0M is enforced.
# Limpiar logs de hace más de 1 minuto (libera espacio inmediato)
sudo journalctl --vacuum-time=1m
# Si eso no es suficiente, limpia archivos temporales de servicios que ya no corren
sudo rm -rf /run/systemd/generator/*
Los 3 errores mas frecuentes
- Se cuelga en el arranque la Raspberry Pi, cuando se conecta o aleatoriamente en el tiempo, normalmente sobre las 00:00 (Tareas programadas del sistema - Cron jobs, se puede ver con grep "CRON" /var/log/syslog | tail -n 20)
- La fuente de alimentación no es suficiente para el consumo de la rasberry pi + RTL-SDR
- No arranca el servicio (error 3)
- No tiene permisos de escrtitura, basta con darlos rpi-rw
- No se puede conectar al web del servicio
- Estan los puertos cerrados y hay que abrirlos
Advertencia importante
Las modificaciones, configuraciones y procedimientos descritos en este sitio pueden implicar riesgos técnicos, legales o de seguridad. El autor no se responsabiliza del mal funcionamiento de los equipos, daños permanentes, pérdida de garantía ni de posibles infracciones legales derivadas del uso de esta información.
El lector asume plena responsabilidad por cualquier acción que decida realizar basándose en el contenido de este blog.
© 2026 EA5JTT. Queda prohibida la reproducción total o parcial sin autorización expresa del autor.
No hay comentarios:
Publicar un comentario