ブログ

Armadillo-IoT: rubyでmqttを使ってみる

at_ito
2015年8月31日 8時52分

M2MやIoTの実現に適したシンプルで軽量なプロトコルとしてMQTTというものがあります。MQTTはセンサー等のデバイスからデータを送受信する用途に使われることを想定しています。

Armadillo-IoTには、Rubyから簡単にMQTTが扱えますので、Armadillo-IoTの内部温度センサーの値を送信するサンプルプログラムを紹介します。

ソースコードは以下の通りです。

#!/usr/bin/env ruby
 
require 'mqtt'
 
host = ''
port = 1883
username = ''
password = ‘'
topic = ''
temp = `cat /sys/devices/platform/i2c-gpio.3/i2c-3/3-0048/temp1_input`
msg = temp.to_f / 1000
 
client = MQTT::Client.connect(:remote_host => host, :remote_port => port,
                     :username => username, :password => password)
loop do
    client.publish(topic, msg, retain=false)
    sleep(1)
end

MQTTはブローカーに接続する必要があるため、上記スクリプトの「host」、「port」、「username」、「password」、「topic」を適切に設定してお使いください。