ロマンスをあなたに

プログラミングで色々作りたい勢

WindowsでiRKitを使う

iRKit使います.
iRKitとは色んなものに組み込める学習リモコン,だと理解しています.
iPhoneとかiOS向けには簡単にセットアップできるアプリ?が公開されてるらしいです.
が,私はWindowsマンだけどiRKit使いたい.

やること

  1. iRKitをセットアップin Windows10
  2. やったね!電気がついたよ!

環境

  • Windows 10(インターネットに繋がってる必要あり)
  • iRKit

参考資料

このサイトに従っただけと言っても過言ではない qiita.com

これは公式のアプリを使わずに,iRKiTのInternetAPIからセットアップする方法です.
なので,赤外線送信するコマンドとかが公式アプリでセットアップした場合と若干違います.

基本的に上記サイトの内容に従って進めていき,
その中で私が初心者すぎて引っかかった部分に関してつらつら書いていきます.

APIキーの取得」~「DeviceKeyの取得」

参考資料で上げたサイトに従ってコマンドかたかたすれば大丈夫です.私でも大丈夫でした.大丈夫です.

Wifi接続先の指定」

第一の関門でした.
JSコードのリンクが貼られているけどどうしたら実行したことになるのか分からない.

以下にやったことを書きます.

  • リンク先の下のほうにDownloadボタン↓があったので丸ごとダウンロード. f:id:romasako:20170221164303p:plain

  • ダウンロードした中で,"index.js"を編集. ssidに使用するルータのSSID,passwordにルータのセキュリティキー,devicekeyでさっき得たdevicekeyを入れました.んで保存.

  • “index.html"をchromeで実行.するとポップアップウィンドウでそれっぽい文字列が表示されてる!
    デベロッパーツールから文字列をコピーしました.

これでリクエストボディのシリアライズとやらができたことになったらしい.

このあとは参考サイトに従えばなんとかなりました.

緑に点滅したあと(むっちゃ焦った),無事青く光ったときは感動で倒れそうになりました.

やったね電気がついたよ!

ここからは公式ページにしたがって,赤外線リモコン付きのデスクライトを操作したいと思います.

赤外線信号を学習

公式ページのIRKit Internet HTTP APIの項目を見ます.
その中で,GET/1/messagesの項目を見ます.このコマンドで赤外線信号が学習できるようです↓

curl -i "https://api.getirkit.com/1/messages?clientkey=XXXXXXXXXXXXXXXX&clear=1"

この,clear=1の役割がいまいちピンときてません. clearに対する公式ページの説明は以下で,5回くらい読み返したのですがよく分かってませんすみません.
前回保存した赤外線信号を消去するためにつけるという理解でいいのでしょうか・・・?

clear を指定すると、過去にIRKitデバイスがサーバに送信しサーバで保存している赤外線信号を消去し、 新しい赤外線信号がIRKitデバイスから届いたらただちにレスポンスを返します。

赤外線信号を学習するシーンでは、最初に clear=1 をつけてリクエストをした後、リクエストがタイムアウトしたら clear パラメータを付与せずに再度リクエストするとよいでしょう。

赤外線信号学習するためのコマンドを叩いたあと,iRKitに向けてリモコンのボタンを押してやると,iRKitの光が点滅して,「あ,学習したんだな~」となります.
私はデスクライトのリモコンをiRKitに向けましたお~

そして,コマンドプロンプトに受信した信号がJSON形式(JSONがまだなにかよくわからない^^)でぶわーーーーって表示されます.

赤外線信号を送信

いよいよiRKitを使って電気がつきますよ!!わくわくわく

先ほどのコマンドで得られたJSON形式の赤外線信号をコピー
そして以下のコマンドのmessage~~のところにに挿入.

curl -i "https://api.getirkit.com/1/messages" \
     -d "clientkey=XXXXXXXXXXXXXXXXXXXXXXXXXX" \
     -d "deviceid=XXXXXXXXXXXXXXXXXXXXXXXXXXX" \
     -d "message={\"format\":\"raw\",\"freq\":38,\"data\":[18031,8755,1190,1190,1190,3341,1190,3341,1190,3341,1190,1190,1190,3341,1190,3341,1190,3341,1190,3341,1190,3341,1190,3341,1190,1190,1190,1190,1190,1190,1190,1190,1190,3341,1190,3341,1190,1190,1190,3341,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,3341,1190,3341,1190,3341,1190,3341,1190,3341,1190,65535,0,9379,18031,4400,1190]}"

注※公式ページに載ってるコマンドには'(シングルクォーテーション)が混じってますが,これはWinのコマンドプロンプトで実行する前提なので全てダブルクオーテーションに変えてあります.
あと,message内のダブルクオーテーションをエスケープしてあります.

iRKitを赤外線受信する装置(私の場合はデスクライト)に向けていざ実行!!

ッターーーーーン
f:id:romasako:20170221173533p:plain
電気がつきましたよ!ほんと!
これはもう感動しましたね~

うっかりポイント

コマンドプロンプトの改行は^ !!

ふつうに,参考資料通りに改行を\で打ったら怒られまくったという話.

コマンドプロンプトは'(シングルクオーテーション)の代わりに"(ダブルクオーテーション) !!

これ,iRKit公式サイトにも書いてあったのに最初引っかかったよね.途中で思い出して解決.

おわり!

Bash on Ubuntu on Windows を使えるようにしてみたよ

えっWindows10からLinuxコマンドが使えるの?

先生「Windows10でbashがつかえるようになったらしい.」

私「(ちょっとよくわからない顔)」

先生「ざっくり言うと,Windows10からUbuntuが直接使えるようになったってことです.」

私「(*'▽')」

使えるようにしてみた

何番煎じだよって感じですが,やり方を記します.ちょっとつまづいた箇所もあったので忘備録も兼ねて.

案外時間かかります!途中再起動を挟みます!

インストールの前に

Windows10を最新版にアップデートします.

インストール

Bash on Ubuntu on Windowsをインストールします.

  1. "コントロールパネル>プログラム>プログラムの機能"を開き,このウインドウの左側にある「Windowsの機能の有効かまたは無効化」を選択します.

  2. 表示されたダイアログの中で,「Windows Substream for Linux(Beta)」のチェックボックスにチェック入れて「OK」を押します.すると,インストールが始まります.終わると再起動を促されるので再起動する.

  3. 再起動後,開発者モードを有効化します."設定>更新とセキュリティ"を開き,このウインドウの左側にある「開発者向け」を選択し「開発者モード」にチェック.

  4. スタートメニューで「bash」と検索すると,Bash on Ubuntu on Windowsが出てきます.クリック.

  5. 続行するには'y'を押してくださいと聞いてくるので,素直にyを押す.

  6. Linuxのユーザ名とパスワードの設定を求められるので適当なものを入力.

一応これで使えるようになりました.

若干躓いたところ

さあ使おう!と思ったら,いくつか困ったことが出てきたのでメモ.

  • sudoコマンドを打つと,「名前解決ができません」エラーが出てきたので,以下のサイトさんを参考に/etc/hostsを編集.

http://tooljp.com/qa/sudo-unable-to-resolve-host-hostname-5230.html

  • ホームディレクトリをWindowsと同じにしたかったので以下のサイトさんを参考に変更.

tadaoyamaoka.hatenablog.com

その他参考にしたサイトさん

お世話になりました.

Bash on Ubuntu on Windowsをインストールしてみよう! - Qiita

以上です!これで仮想マシンを使わなくて済むのか・・・?わくわく.