📱

延命したIRKitをiPhoneから操作する

2022/12/29に公開

IRKitを延命する の続きで、同じWifiに接続したiPhoneからIRKitを操作する手順です。

目的

IRKitを延命する の記事でIRKitを延命できました。
そもそも自分がIRKitを使っている目的は、冬の朝に起きるのが辛いので、自分が起きる時間よりちょっと早くエアコンをつけたいというものでした。
エアコンにもタイマーはありますが、使いづらいので。

今回は延命したIRKitを使用し、iPhoneから操作できるところまでを紹介します。

環境

  • Macbook Air 2020 (Apple M1)
  • macOS: Ventura 13.1

準備するもの

  • IRKit(延命済み)
  • USB Micro-Bケーブル

手順

IRKitのホスト名を取得

IRKitのホスト名を取得します。
IRKitがWifiに接続された状態にします。

macであればターミナルから dns-sd コマンドを使用します。(Linuxなら avahi-browse _irkit._tcp で同等のことができるはず)

$ dns-sd -B _irkit._tcp
Browsing for _irkit._tcp
DATE: ---Wed 28 Dec 2022---
20:40:34.883  ...STARTING...
Timestamp     A/R    Flags  if Domain               Service Type         Instance Name
20:40:35.145  Add        2  12 local.               _irkit._tcp.         iRKit8044

自分のところではIRKit iRKit8044 が見つかりました。この場合、ホスト名は irkit8044.local になります。

リモコンの赤外線情報を読み出し

IRKitを使用してエアコンの赤外線情報を読み出します。

エアコンのリモコンをIRKitの前方にある透明のLEDに向け、運転ボタンを押します。
その後、ターミナルから以下のコマンドを実行します。
ホスト名は各自変更してください。

$ curl 'http://irkit8044.local/messages' -H 'X-Requested-With: curl' -v
*   Trying 192.168.1.179:80...
* Connected to irkit8044.local (192.168.1.179) port 80 (#0)
> GET /messages HTTP/1.1
> Host: irkit8044.local
> User-Agent: curl/7.85.0
> Accept: */*
> X-Requested-With: curl
>
* Mark bundle as not supporting multiuse
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Access-Control-Allow-Origin: *
< Server: IRKit/3.0.0.0.g85190b1
< Content-Type: text/plain
<
* Closing connection 0
{"format":"raw","freq":38,"data":[8755,8755,1190,3119,1190,3119,1190,3119,1190,3119,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,935,1190,935,1190,935,1190,3119,1190,3119,1190,935,1190,3119,1190,935,1190,935,1190,935,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,3119,1190,3119,1190,3119,1190,3119,1190,3119,1190,935,1190,3119,1190,3119,1190,935,1190,935,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,3119,1190,3119,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,935,1190,3119,1190,3119,1190,935,1190,3119,1190,3119,1190,10047,8755,8755,1190,3119,1190,3119,1190,3119,1190,3119,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,935,1190,935,1190,935,1190,3119,1190,3119,1190,935,1190,3119,1190,935,1190,935,1190,935,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,3119,1190,3119,1190,3119,1190,3119,1190,3119,1190,935,1190,3119,1190,3119,1190,935,1190,935,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,3119,1190,3119,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,935,1190,3119,1190,935,1190,935,1190,935,1190,3119,1190,3119,1190,935,1190,3119,1190,3119,1190]}%

中括弧で囲まれた部分が送信するリモコンの赤外線情報です。
あとで使うのでメモしておきます。

ショートカットアプリを起動

iPhoneから操作する際には、「ショートカット」アプリを使用します。
「ショートカット」アプリはiCloudで連携がされているため、macで作成したものがiPhoneに連携されます。
今回はmacで作成します。

ショートカットを作成

「ファイル→新規ショートカットを作成」で新しいショートカットを作成します。

「テキスト」を作成

画面右側の検索バーに「テキスト」と入力します。
検索結果から「テキスト」をクリックし、画面左側に表示されるようにします。
テキストの中身に先ほどのリモコンの赤外線情報をコピペします。その際、中括弧をシングルクォート ('')で囲います。

「URLの内容を取得」を作成

画面右側の検索バーに「URL」と入力します。
検索結果から「URLの内容を取得」をクリックし、画面左側に表示されるようにします。
以下の通り入力します。

  • URL: http://irkit8044.local/messages (ホスト名は各自変更してください)
  • ヘッダ
    • キー: X-Requested-With
    • 値: curl
  • 本文を要求: ファイル
  • ファイル; テキスト

ショートカットのテスト

ショートカットを作成したらテストします。
再生ボタンを押して、エアコンがONになることを確認します。

名前やアイコンの変更

ウィンドウを閉じるとショートカットが作成されました。

名前やアイコンは作成したショートカットを右クリックすることで変更できます。

まとめ

iPhoneからIRKitを操作する方法を紹介しました。

Discussion