目的of目的

技術的な事とか趣味な事を書いて日本語の練習

avahiを導入してcliでIRKitを使用するまで

前のブログでも紹介しましたが、IRKitを購入しております。

moyashiki.hateblo.jp

とりあえず、おうちサーバから使えるか試してみようというログです。

実行環境

  • ArchLinux 4.1.6-1-ARCH
    • avahi 0.6.32rc-4 [installed: 0.6.32rc-1]

アドレスを調べる

IRKitはBonjourが動作しているので、ホスト名を調べてそのホスト名からアドレスを辿るという流れです。

sonoda moyashiki% avahi-browse "_irkit._tcp" 
+ enp3s0 IPv4 irkitXXXX                                     _irkit._tcp          local

このコマンドから得られた[irkitXXXX]がホスト名となるわけですね。 ホスト名からアドレスを取得するためには以下のコマンドです。

sonoda moyashiki% avahi-resolve-address -n iRKitXXXX.local                           [~]
irkitXXXX.local 192.168.2.255

これでIPアドレスが判明したので、APIを叩いてみます。 受信した赤外線信号を出力するAPIは、GET /messages です。 ちなみにAPIを叩くと受信した信号は消えてしまうのでもう一度送る必要があります。

sonoda moyashiki% curl "http://192.168.2.255/messages" -H "X-Requested-With: curl"   [~]
{"format":"raw","freq":38,"data":[17421,8755,1111,1111,1111,3341,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,3341,1111,3341,1111,1111,1111,1111,1111,1111,1111,1111,1111,3341,1111,1111,1111,1111,1111,3341,1111,3341,1111,3341,1111,3341,1111,3341,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,3341,1111,3341,1111,3341,1111,65535,0,23743,17421,4400,1111]}%    

何故か自分の環境ではruby-irkitが動作しなかったのでcliで叩く方法を紹介しました… 一応DNS-SDのライブラリは動作しているので動くはずの想定なんですがね…

ライブラリが動作しているようなログが出てくるスクリプトを置いておきます。

gist.github.com

IRKitを買ってスマホで一括管理をしたかった

表題の通り、IRKitを買いました。IRKitの詳しい説明は以下のリンクを見てもらえればわかりますが、一言で言うと「スマホ版学習リモコン」です。

IRKit - Open Source WiFi Connected Infrared Remote Controller

特徴としては、以下の通りです。

  • 赤外線リモコンの信号を学習させることが出来る
  • ネットワークと接続して、スマートフォンアプリから学習した信号を送ることが出来る(テレビのチャンネル変更など)
  • APIが提供されていて、自分でリモコンアプリを作ることが出来る

セットアップ等も簡単で、MicroUSBを接続するだけで終了です。後は、スマホアプリからWifiの設定などを行う必要があります。自分は色も合っていたのでこちらのUSBケーブルを購入して使用しています。

自分的には3番目の機能をメインで使いたいので買った次第です。自分で同じような機器は作ろうと思えば作れますが、3ヶ月ぐらいかかりそうです…

実際にアプリとして叩く場合はライブラリがあるのでそちらを使うと簡単そうです。

このIRKitですが、受信した赤外線信号は機器では保持しません。なので、複数スマホを使い分けている場合は都度信号の登録が必要ですね。そのあたりを上手く出来るアプリを作りたいなと考えています。

SinatraとActiveRecordとSQLiteを組み合わせて使うアプリを作る

業務でDBを使った軽いWebアプリを作りたいと感じましたので、作るまでの軌跡です。

なぜSinatra+ActiveRecordなのか

Railsだったら全部乗りで考えなくて作れるじゃないですか!!と思ったんですが、あまり動作に必要なモノを増やしたくなったからSinatraを選択しました。 DB周りもDataMapperとかSequelがシンプルで楽だと思われたんですが、自分がSQLをちゃんと理解していないのと、詰まったときにActiveRecordならknowledgeを見つけやすいかなと思いました。

やったこと

とりあえず作ったのでGistだけ書いておきます、詳細な解説は自分がもう一度見る機会があれば作りたいと思います。

  • DBを直接叩いてTableを作るのが面倒くさかったので、rake db:migrateみたいなのを作る(migration.rb)

  • sinatraでのフロントエンド(sinatra_main.rb)

  • database周りの接続

内田彩 2nd LIVE 『Bloming!〜咲き誇れみんな〜』に参加してきて将来の希望が見えた

先週ぐらいに1.5公演に参加してきて、やっとこの日がやってきました。 一言で表すと、内田彩様の広い曲の幅が生で聞けて最高でした。

後から見返すと良かったしか書いてないので小学生の作文レベルですね…

開演前

Tシャツ等は1.5公演で購入してるので今回は見送る形で… 開演30分前に到着して、2ndうっちーブレードだけ購入しました。売り切れもニット帽な位だけだったので、一般的なのが欲しい方は入場前でも十分間に合う形みたいだったです。 会場限定くじも3等だったのでステッカーだけもらって入場しましたとさ。

今回は有料会員先行で当選したのですが、場所がアリーナB2だったのでうっちーが最高に近かったです!!(だいたい黄色のあたり) f:id:moyashiki:20151206223558p:plain

これからも日々徳を積んで良い席が当たるように努力したいですね。

開演してから

セットリストはいろいろなニュースサイトに掲載されていますのでそちらから引用させていただきます。

内田彩 2ndLIVE「Blooming! ~咲き誇れみんな~」@有明コロシアム - セットリスト

M-01    Blooming!
M-02    スニーカーフューチャーガール
M-03    Like a bird
M-04    最後の花火
M-05    Go! My Cruising!
M-06    Let it shine
M-07    ハルカカナタ
M-08    いざゆけ!ペガサス号
M-09    妄想ストーリーテラー
M-10    Daydream
M-11    泣きべそパンダはどこへ行った
M-12    キックとパンチどっちがいい?
M-13    Merry Go
M-14    with you
【ENCORE】
En-01   ONE WAY
En-02   Sweet Rain
En-03   Growing Going
En-04   アップルミント
【DOUBLE ENCORE】
En-05   Breezin’
En-06   Blooming!

news.mynavi.jp

Blooming!

2ndアルバムといったらこの曲ですよね。内田彩様のMCを聞いてからこの曲を聴くといろいろとこみ上げてくる物があります。

最後の花火

前回はペンライトが青色だった気がするんですが今回は赤色ばっかりな気がします。 サビに後ろの電飾が花火のように動作していたのがすごいマッチしていて見とれてしまいました。

Go! My Crusing!

ここで花道に内田彩様が進出してきました。テンポも高く、コールもいっぱいある曲でテンションアゲアゲマックスでしたね。 この歌は聴いていると、よーしやるぞい!!みたいな感じになりますよね。

いざゆけ!ペガサス号

まさかの自転車で登場ですよ。嘘でしょって良いながら爆笑してました。 うっちーのビール飲みながら歌う伝説と方を並べる感じでしたね。

途中花道にも自転車で突撃してきたんですが、ステージから花道は傾斜があるのでスピードが出てそのまま落ちちゃうんじゃ無いかとひやひやしました…

しかも、帰るときに傾斜を乗り越えるのもふらふらしてヤバかったです。内田彩様最高ですね。

妄想ストリーテラー & Daydream

初披露の曲でした。妄想ストリーテラーはステージ上を動きながら、歌われていたのでカワイイし幻想的な曲調とも相まって良かったですね。

Daydreamで一番スゴいなーと思ったところが、後半で輪唱みたいになるところがあったんですが、そこを綺麗に歌えているところですね。

終演後

体力を使い果たして今日の内田綾様に感謝しながら電車で感動してました。 もともと文章力がない自分が酷くなるとこうなるのがよくわかる発言一覧です。

ぜひ内田彩様の曲を聴いたことない人も聞いてみると自分に合う一曲がみるかるかもしれますよ

Blooming! 初回限定盤A(CD+Blu-ray)

Blooming! 初回限定盤A(CD+Blu-ray)

内田彩 2nd LIVE Blooming! 追加公演 (1.5 Live) 参加して最高

2015年11月23日(月)に開催された【内田彩 2nd LIVE Blooming! 追加公演 】に参加してきました。通称、1.5ライブですね。感謝祭と違うのは当然ですが、やっぱり内田彩様ソロの曲はいろんなタイプがあって最高ですね!!!!

はじめに

自分が内田彩様のイベントに行くようになったのは、1st Liveのアップルミントからです。軽い気持ちで応募したメール会員先行に当たって新人研修中の金曜日にこっそりいった感じでしたね。 そこから、BDイベントやリリイベ、感謝祭に行くようになって、内田彩様の虜になりつつあるのです。

公演まで

物販

本当にお金が無くて*1物販は最低限度で押さえるつもりでした。それに、物販待機列がえげつない事がTwitter経由で流れてきたからです... とりあえず14時付近に現地到着して、Tシャツとタオルだけ買う形で望みました。1時間半ぐらいして無事に購入する事ができたのです。

三森すずこ様ほど押しているつもりはないので、缶バッチやパンフは見送りましたが正直パンフもうっちーブレードも欲しかったです。

会場

Tokyo Dome City HALLは初めて経験した会場ですが、なかなかにステージが近くて良かったです。 自分が見ていた席は、第一バルコニーの3列目付近でしたが普通に内田彩様の表情が見えたのでこれからもこの会場でやっていただきたいですね。

あと、水道橋の付近で自分的に行きやすさが抜群なので交通費がほぼかからない形で行けるのも最高でしたね。 ご飯や軽食系も沢山ありますし最高の立地だと思います。

公演について

セトリは以下の様な感じでした。

  1. Go! My Crusing!
  2. Breezin'
  3. スニーカーフューチャーガール
  4. Let it shine
  5. ハルカカナタ
  6. ONE WAY
  7. 最後の花火
  8. Like a Bird
  9. Growing Going
  10. ドーナツ
  11. ピンクマゼンタ
  12. オレンジ
  13. キックとパンチどっちがいい?
  14. いざゆけ!ペガサス号
  15. Merry Go
  16. with you
  17. アップルミント
  18. Blooming

特に最高だったのは、いきなりGo! My Crusing!から来たことですかね。コールも入って盛り上がる曲でとっても良かったです。

最初にどっかんどっかん盛り上げてきて、中盤は格好いい系からかわいい系で生バンドと内田彩様の声をしっかり聞かせていただいて最高でした。 特にLike a birdと最後の花火は自分も歌詞とメロディが好きなので大興奮ですよ!!

内田彩様の衣装も、はじめからライブTシャツを着ておられて非常に素晴らしかったですね。 そして、合間合間にあるトークが最高ですよ。のどに良い一人焼肉の話や、体育会系のお返事の話、Merry Goの所で新うっちーブレードの機能を知らなかった話などなど,,,

自分もお金が心配でBloomingブレードを買っておりませんでしたので、終演後に物販列に並びましたよ。 これを買ったら本当にお金回るか心配になって、そっと物販列から逃げてしまって内田彩様ごめんなさい。

最後に

BD先行やFC先行に全外れしましたが、チケットを譲ってくださった方本当にありがとうございました。 絶対に2nd LIVEも楽しくて素晴らしいライブな感じがしますので、体調を整えて行きたい所存であります。

感謝祭ほど近くありませんでしたが、内田彩様を感じられたのでこれからのお仕事頑張って行けそうな感じがします。

*1:出張やらBDなど

Philips Hueを使って降水確率から傘が必要か教えてくれるシステム作った

5月に初任給で買ったPhilips Hueがやっと有効活用されるようです。 今までは、ムーディーな雰囲気を出したり、疑似ラブホチックにするぐらいしか日の目を見ていなかったので多いな進歩です。

とりあえず動作するコードはこちらです。

moyashiki/wealight · GitHub

本当は、RGBを入力して良い感じに変えたりしたかったんですが、Philips hueに渡すためにHSBに変換する必要があります。

そこで上手く色が出てくれなかったので、決め打ちでオレンジとパープルっぽい色を出しています。

晴れ(降水確率が50%以下の時)は下のような感じで光ります。 f:id:moyashiki:20151119001524j:plain

雨(降水確率が50%より大きい時)は下のような感じで光ります。 f:id:moyashiki:20151119001551j:plain

もっとアホらしくて面白いものを作りたいんですが、最近感性が死んでいる気がしますので山ごもりして鍛えていきたいですね。

RubyでJSONPを読み込む

降水確率を知りたくてこちらのWebAPIを触っています。

気象庁の天気予報情報を XML で配信 - drk7jp

提供されるjsonの形式がcallback();が付与されている形式なので、JSONPとなっています。

自分の実行環境だと、JSONPの形式はJSON.loadではパースできないです。

irb(main):004:0> json_data = JSON.load res.body
JSON::ParserError: 795: unexpected token at 'drk7jpweather.callback({"link":"http://www.drk7.jp/weather/xml/13.xml","pref":{"area":{"伊豆諸

なのでcallback部分を削除して、JSONの形式にします。

# JSONP parse
res.body.gsub!(/^\w+\.callback\(/i,"")
res.body.gsub!(/\);/,"")

もしかしたら自分の環境が悪いのかもしれませんが、参考までに