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.
Con nuestro servidor MQTT funcionando, es hora de hacer pruebas de envios y recepcion de mensajes.
#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.