Ahora veremos como hacer la instalación de nuestro servidor MQTT con Mosquitto, este proceso lo realizare en linux Ubuntu.

sudo apt-get install mosquitto mosquitto-clients

El con este comando estaremos instalando el servidor y todo lo necesario para tambíen funcionar como cleinte.

Acontinuación creare dos archivos para iniciar y detener el servidor de una manera mas sencilla.

En la «carpeta personal» creare una carpeta llamada mosquitto, donde almacenare los archivos de inicio, detener, configuracion, pid, log y demás.

Archivo «iniciar»

! /bin/bash 


mosquitto -c /home/orange/mosquitto/file.conf -d -p 1884

Archivo «detener»

!/bin/bash
kill $(<file.pid)

Archivo file.conf

pid_file /home/orange/mosquitto/file.pid
allow_anonymous true
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /home/orange/mosquitto/mosquitto.log

Ahora aplicaremos algunos permisos de ejecusión:

chmod +x iniciar
chomod +x detener
Ahora ya tenemos todo listo, solo que iniciar nuestro servidor par lo cual ejecutamos:
./iniciar ó ./detener

En la carpeta que creamos de mosquitto, estamos trabajando con nuestro propio archivo de configuración, el cual esta bien, para fines de pruebas, aqui mismo tendremos dos archivos más , file.pid y mosquitto.log, los cuales se crean conforme se inicia el servicio.

Iniciando mosquitto y comprobando los puertos

Con nuestro servidor MQTT funcionando, es hora de hacer pruebas de envios y recepcion de mensajes.

En una consola envio mensaje y la otra esta como escucha.
#Codigo en Ruby para suscribirse a un canal (mqtt.rb).
require 'rubygems'
require 'mqtt'

# Suscribirse al canal test
MQTT::Client.connect('192.168.0.5', 1884) do |c|
  c.get('test') do |topic,message|
    puts "#{topic}: #{message}"
  end
end
# Codigo en Ruby parapublicar un mensaje (mqtt_pub.rb).
require 'rubygems'
require 'mqtt'

# Publicando mensaje
MQTT::Client.connect('192.168.0.5', 1884) do |c|
  c.publish('test', 'Hola, soyprogramador.liz.mx!')
end

Con esto tendremos nuestro servidor ya configurado y listo para trabajar con el.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *