LoginSignup
1
1

More than 5 years have passed since last update.

照明をrubyから制御

Last updated at Posted at 2017-11-09

目的

照明(Mi-Light)をRubyから制御できるようにしたいと思います。

経緯

なぜMi-Lightなのか

一般には「Hue」がよく知られていますが、Hueは値段が高く僕みたいな庶民はとても買えないものです。それで比較的に値段がやすいMi-Lightを制御してみようと思います。

Mi-Light・White(2色)タイプ:¥1299
Mi-Light・Colorタイプ:¥3880
Hue・White(2色)タイプ:¥3672
HueColorタイプ:¥7992

Mi-Lightやすい!最高!

なぜRubyで制御したいのか

一言でいえば一つのWEBページでエアコン・テレビ・照明などを全部制御したいからです。
うちには赤外線学習リモコンがあり、それを使って電子機器を制御しています。

Mi-Light用アプリも赤外線学習リモコンアプリも出ていますが、
エアコン使用する時はリモコンアプリを、照明制御する時はMi-Lightアプリを、蛍光灯はリモコンアプリを起動するのがめっちゃ嫌でした。
まとめて一つのWEBページで制御したい!

以下はうちで実際使用している家電製品・照明を制御するためのWEBページです。
(嫁がすごく喜んで使っています。)
スクリーンショット 2017-11-09 22.00.31.png

準備物

Mi-Light・White(2色)タイプ

Mi-Light・Colorタイプ

無線LANコントローラ

https://item.rakuten.co.jp/illumica/it_m005/
https://www.amazon.co.jp/gp/product/B00SMFRSLE/ref=od_aui_detailpages00?ie=UTF8&psc=1

基本的な使い方

アプリからの使い方やペアリングする方法はここでは省略します。
※「無線LANコントローラ」の説明書に書いてあります。

コーディング

Gem追加

Gemfile
gem "limitless-led", git: 'git@github.com:begaborn/limitless-led.git'

実装例

Whiteタイプ
light = LimitlessLed::White.new(host: "10.0.1.4", port: 8899)

# 1番目に登録してした電球をオンにする
light.group_1_on

# 2番目に登録してした電球をオフにする
light.group_2_warm

# 1段階昼白色にする
light.group_1_cool

# 1段階電球色にする
light.group_2_warm

# 明るくする
light.group_1_brightness_up

# 暗くする
light.group_1_brightness_down

# 一番明るくてする
light.group_1_brightness_max

# 一番暗くする
light.group_1_brightness_min

# 1番目〜4番目の電球全部をオンにする
light.all_on
Colorタイプ
light = LimitlessLed::White.new(host: "10.0.1.4", port: 8899)

# 全照明制御
# ペアリングされたすべてのLEDを点灯
light.all_on
# ペアリングされたすべてのLEDを消灯   
light.all_off  
# 色情報は Color::RGB オブジェクトで渡す
light.color(Color::RGB::Red)  
# 明るさ最小
light.brightness(2)   
# 明るさ最大
light.brightness(27)  

# グループの個別制御
group = bridge.group(1) 
# 色情報は Color::RGB オブジェクトで渡す
group.color(Color::RGB::Blue)
# 明るさ最大
group.brightness(2)

参考したページ

以上となります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1