Presentamos aquí la idea o proyecto de combinar el trabajo entre raspberry y Esp32, inicialmente, ya que podremos añadir multitud de dispositivos, tanto domóticos como industriales.
Raspberry nos permite utilizar Node – red, que a su vez posibilita trabajar con varios servidores (brokers) mqtt. Esto significa que podemos trabajar con un gran volumen de datos en un servidor en nuestro domicilio (también en local e instalado también en la propia raspberry), como por ejemplo Mosquitto, y además, sacar ciertos datos de especial interés al exterior, o igualmente, recibir ciertos datos u órdenes, desde el exterior, es decir en remoto.
Por tanto, ya para este proyecto ejemplo, vamos a trabajar inicialmente con dos servidcores mqtt. Uno local, Mosquitto, y otro remoto, en su versión gratuita: io.adadruit.
Intalación del sistema operativo #
Se va a instalar un sistema operativo de línea de comandos (no gráfico) para ahorrar potencia en el dispositivo, aunque no sería necesario. Se verán otros tutoriales realizando el proceso de forma mas “amable” y gráfica.
Acudimos a la web oficial: https://www.raspberrypi.com/software/
Y tras descargar el grabador de imagen propio de Raspberry Pi, introducimos una tarjeta SD en el PC, ya sea directamente si tiene ranura para ello o mediante un adaptador.
Abrimos Raspberry Pi Imager y tenemos que realizar tres acciones:

- Como vemos en la imagen anterior, en la flecha roja seleccionamos el SO que se quiere instalar. En este caso va a ser el Rapsberry Pi OS LITE, porque pesa poco y nos vale para el uso que se le va a dar.
- En el icono en el que hay una flecha azul, seleccionamos la tarjeta SD en la que se va a grabar el archivo.
- En la flecha verde podemos desde hace poco tiempo ya, por fin, hacer algunas configuraciones que antes obligaban a editar archivos a mano. Vamos a habilitar la comunicación SSH para poder trabajar con la RB desde un ordenador, y vamos a meter ya una red Wifi, para que pueda descargarse automáticamente los programas que vamos a instalar.
En este tercer paso, al abrir la rueda, nos aparecen las casillas para rellenar los anteriores datos mencionados. Tras seleccionarlo como está en la imagen:

Podemos darle a nuestra raspberry un nombre identificativo propio. Vamos a dejar uno similar al que se suele poner, raspberrypi, con clave, raspberry. Se puede poner lo que se quiera aquí, pero hay que recordarlo para acceder a la placa posteriormente.
Además, como decíamos, indicamos la red wifi y su clave:

Tras esto ya se puede dar a Write para que se cree la SD completa. Al finalizar, introdúcela en la RB y enchúfala a corriente para que se cargue el sistema.
Conexión desde un pc #
Con la tarjeta ya preparada, conectada y la placa encendida, descargamos el programa “putty”, y tras instalarlo y abrirlo, ya se pueden introducir los datos de la raspberry para conectar con ella. y meto el nombre (raspberrypi), y le doy a aceptar al mensaje de peligro. Luego meto ya en consola de nuevo el nombre (raspberrypi) y tras esto, la contraseña (raspberry)


Y ahora introducimos nuevamente el nombre de la placa, hacemos intro, y tras esto, la clave.

Cuidado porque al introducir la clave no aparecen caracteres ni se mueve el cursor, lo que resulta poco intuitivo y en ocasiones parece que no se está haciendo nada, pero tras meter la clave, hacer clic en intro.

Y ya tenemos acceso a la placa:

Instalación de node-red #
Fuente principal: https://nodered.org/docs/getting-started/raspberrypi
Se trabaja con comandos, lo que puede resultar diferente al principio, pero es muy fácil y rápido si se hace paso por paso. Simplemente copia el comando y haz clic derecho sobre la consola de raspberry para que se pegue. Luego, intro.
- Con esta línea habilitamos la descarga de software de git:
sudo apt install build-essential git curl
- Y con la siguiente, la instalación de node-red
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Al finalizar la instalación pregunta si se quieren configurar parámetros mas concretos, pero de momento no se va a realizar este proceso.
Antes de abrir el programa, necesitamos saber la IP de la raspberry, para poder acceder a node-red desde otro PC. Desde la propia raspberry podríamos acceder con la dirección típica 127.0.0.0: :1880, pero es algo que aquí no tiene lugar.
- Consulta la ip de la raspberry con el comando:
hostname -I
Anota la IP que aparezca en pantalla. Como ejemplo vamos a tomar 192.168.1.58
- Para abrir node red, introduce el siguiente comando:
node-red
- La dirección para el ejemplo anterior, una vez abierto node red, será 192.168.1.58:1880. Si pones la dirección en un navegador de un ordenador, accederás al node red que está ejecutando raspberry.
- Con la tecla Ctrl+C salimos de Node red.
- Si se quiere que node red se encienda por defecto cada vez que se enciende la raspberry, entonces introduce el siguiente comando:
sudo systemctl enable nodered.service
- Si quieres desactivar lo anterior, simplemente introduce el siguiente comando:
sudo systemctl disable nodered.service
Instalación del servidor MQTT Mosquitto #
Fuente principal: https://randomnerdtutorials.com/how-to-install-mosquitto-broker-on-raspberry-pi/
Cuando se va a instalar algo nuevo en Raspberry, primero conviene comprobar si hay actualizaciones del sistema e instalarlas. Aunque este paso puede ser evitable si te lo acabas de instalar. Los comandos son:
sudo apt update
y a continuación:
sudo apt upgrade
- Para instalar mosquitto, solo hay que ejecutar lo siguiente:
sudo apt install -y mosquitto mosquitto-clients
- Para que se abra automáticamente al arrancar la placa:
sudo systemctl enable mosquitto.service
- Para testear si el servidor está activo:
mosquitto -v
Si todo ha ido bien, aparecerá que los puertos están abiertos y ocupados.
Finalmente, hay que abrir Mosquitto para que pueda accederse sin usuario ni contraseña. Para ello:
- Se ha de abrir el archivo mosquitto.conf como se hace al trabajar desde Windows. Introduce el siguiente comando:
sudo nano /etc/mosquitto/mosquitto.conf
- A continuación, muévete al final de la pantalla con las flechas del teclado, para llegar al final del documento y pegar las siguientes dos líneaqs:
listener 1883
allow_anonymous true

Y para guardar y cerrar, pulsar CTRL-X. Al presionar la tecla Y and darle a Enter, el proceso habrá finalizado.
- No olvides reiniciar mosquito para que entre en funcionamiento con los cambios aplicados. Lo puedes hacer mediante el comando:
sudo systemctl restart mosquitto