Ruby MQTT Client

The Losant Ruby MQTT Client is a gem for Ruby compatible IoT modules (such as the Raspberry Pi or Edison). The library is open source and available on GitHub.

Installation

The latest stable version is available in RubyGems and can be installed using

gem install losant_mqtt

Ruby MQTT Example

Below is a basic example demonstrating how to connect, send state, and subscribe to commands.

require "losant_mqtt"

EventMachine.run do

  # Construct device
  device = LosantMqtt::Device.new(
    device_id: "my-device-id"
    key: "my-app-access-key",
    secret: "my-app-access-secret")

  # Connect to Losant.
  device.connect

  # Listen for commands.
  device.on(:command) do |d, command|
    puts "#{d.device_id}: Command received."
    puts command["name"]
    puts command["payload"]
  end

  # Send temperature once every second.
  EventMachine::PeriodicTimer.new(1) do
    temp = call_out_to_your_sensor_here()
    device.send_state({ temperature: temp })
  end

end

Please refer to the repository for detailed documentation and examples.