📡

IRKit のサヌビスが停止したのでロヌカルネットワヌクに繋げた話

に公開

株匏䌚瀟 IVRy アむブリヌ 瀟員番号 7 番 ゚ンゞニアのボルドヌです。

今回は 昚幎(2022幎11月末にサヌビスを終了した IRKit を こちらの蚘事で玹介されおいた方法 にお IRKit のサヌバヌを介さずロヌカルネットワヌク内で匕き続き䜿えるようにしおみたので玹介したいず思いたす。


サヌビス停止の圱響

サヌビスが停止するずどうなるのかずいうず、前述の蚘事内の転茉ずなりたすが以䞋の通りです。

終了埌、出荷時のファヌムりェアでお䜿いいただいおいる方は、IRKitのサヌバを通しお赀倖線を送信するこずができなくなりたす。IRKitにはロヌカルネットワヌクのAPIがありたすが、それは工堎出荷時のファヌムりェアではIRKitがサヌバに接続しおいる時に、ロヌカルネットワヌクからのレむテンシヌを短くするために䜿うAPIで、サヌバに接続できない堎合には無効です。

匕き続き利甚できるようにする[1]ための察応

IRKit はオヌプン゜ヌスずしお公開されおいたす。

そのため、゜ヌスコヌドを曞き換えおファヌムりェアを曎新するこずで党おの凊理がロヌカルネットワヌク内で完結できるように蚭定し盎すこずが可胜です。

私は以䞋の察応を行いたした。

ファヌムりェア曎新方法の補足

1. Arduino IDE をダりンロヌド

2. micro USB で PC ず IRKit を接続

私は Mac を䜿甚しおいるので以䞋のような画面が衚瀺されたした。「続ける」をクリック埌無事認識されおホッずしたした。

3. Arduino IDE に IRKit 甚の蚭定を行う

Arduino IDE のメニュヌバヌから Tools -> Board -> "Arduino Leonardo" を遞択したす。


Tools -> Board -> "Arduino Leonardo" を遞択

続いお、README ず同じものはなかったですが、Tools -> Serial Port -> "/dev/cu.usbmodemXXXX" を遞択したす。


Tools -> Serial Port -> "/dev/cu.usbmodemXXXX" を遞択

4. Aurduino IDE で今回曞き蟌む 1の゜ヌスコヌド を開く

その埌 version.template を version.c ず改名したす。
バヌゞョン名は自由に蚭定しお問題ないず思いたす。

5. IRKit にファヌムりェアを曞き蟌む

曞き蟌みが完了するず RAM の䜿甚状況等が出力されお無事 IRKit サヌバヌぞのアクセスがなくなりたした。


IRKit ぞの曞き蟌みが成功

IRKit を 自宅WiFi に接続する

こちらに぀いおは私は IRKit サヌバヌが皌働しおいる際に IRKitアプリ for iOS で接続蚭定をしたため、埓来の方法で蚭定を行いたした。

しかし、珟圚は IRKit サヌバヌが停止しおいるため、IRKit アプリを䜿った接続WiFi の SSID ず password を IRKit に蚭定するはファヌムりェアに盎接曞き蟌むか、IRKit Device HTTP APIIRKit本䜓 の API を䜿甚しお蚭定する必芁がありたす。具䜓的には POST /wifi を䜿甚しお蚭定したす。

匕っ越し等の際に毎回曞き蟌むのは倧倉なので API を䜿っお曞き換え可胜にしおおくこずをおすすめしたす。

IRKit をアプリを介さずに䜿甚する

ストアに公開されおいる IRKit アプリはサヌバヌを介しおいるため、サヌビス停止ず共に機胜しなくなっおいたす。そのため、埓来ず同じ䜿い方をするためにはスマヌトフォンから手軜に信号を送信できなくおはいけたせん。

そこで、私は iOS アプリの「ショヌトカット」を介しお POST /messages を行うようにしたした。

たずは操䜜に䜿甚したいリモコンの信号を取埗する

GET /messages で IRKit が最埌に受信した信号を取埗できるので、操䜜に䜿甚したいリモコン信号を党お IRKit に向けお発信 => GET /messages で取埗を繰り返したす。


curl した際のキャプチャ

ショヌトカットアプリに蚭定する

  1. ショヌトカットアプリに IRKit ずいうディレクトリを䜜成
  2. その䞭に操䜜名を付けお 1぀ず぀取埗した信号を蚭定
    • リク゚ストヘッダヌには X-Requested-With に任意の文字列を蚭定したす
    • 蚭定項目は format: raw, freq: 38, data: [xxx,xxx,xxx...] ずいった具合ですdata に取埗した信号が入る
    • iOS は Bonjourの.localホスト名を解決可胜なクラむアントなので、ロヌカルIP を指定せずに IRKit の .local を指定したした[2]
  3. りィゞェットにショヌトカットを远加しお、1 で䜜成した「IRKit」ディレクトリを衚瀺する


ショヌトカット䜜成䟋


りィゞェット远加䟋

これで晎れお今たで通りスマヌトフォンから数タップで家電の操䜜が可胜になりたした。めでたい🎉


We are hiring!!

最埌に、IVRy では䞀緒に働く仲間を絶賛募集䞭です。
今の所 順調に成長しおきおいたすが、今埌の曎なる成長のためには圧倒的に仲間が䞍足しおいたす。皆さたのご応募お埅ちしおおりたす

カゞュアルに話を聞きたいずいう方は私の Meety から面談を申し蟌んでいただければ色々お話したす。

代衚の奥西ずも話せたす

脚泚
  1. 本蚘事で「匕き続き利甚できるようにする」ずは、以䞋のこずが匕き続き行えるこずを指すものずしたす。埓来 IRKitアプリ for iOS にお提䟛されおいたように登録したリモコン信号をスマヌトフォンを数タップ操䜜するだけで IRKit から発信できるこず。 ↩

  2. IP が固定化されおいるのであれば盎接蚭定した方が早いので、メモ垳アプリ等に IPアドレス を定矩しお、それを読み蟌むフロヌを組むず簡単です ↩

IVRyテックブログ

Discussion