Slide 1

Slide 1 text

© 2024 Wantedly, Inc. Rubyで家電をスマートに操作しよう! Omotesando.rb #103 Nov. 9 2024 - Kojiro Tominaga

Slide 2

Slide 2 text

© 2024 Wantedly, Inc. 自己紹介 所属: ウォンテッドリー株式会社 職業: バックエンドエンジニア X: @kou_tominaga 経歴: ● 2022/9 ソフトウェアエンジニアに転職 ● 2024/7 現職 冨永 康二郎

Slide 3

Slide 3 text

© 2024 Wantedly, Inc. 1. 話す事 2. モチベーション 3. Rubyで家電を操作する 4. まとめ 目次

Slide 4

Slide 4 text

© 2024 Wantedly, Inc. 話す事 Slackからスマートリモコンを操作する方法を話します!

Slide 5

Slide 5 text

© 2024 Wantedly, Inc. モチベーション ● 家電(スマートリモコン)の操作をチャットに残したい ○ スマートリモコンは通信が一方向の場合がある。なので複数人で利用する場合、現在家 電がどうなっているか分からない。チャットに操作が残ると嬉しい。 ● チャットから家電を操作したい ○ 慣れたUIから操作できる。 ○ 複数のリモコンを意識せずに操作できる。

Slide 6

Slide 6 text

© 2024 Wantedly, Inc. 使用するツールと技術

Slide 7

Slide 7 text

© 2024 Wantedly, Inc. Rubyで家電を操作する ● Ruby on Rails ○ 連携を仲介するバックエンドに利用します。 簡単なAPIを構築してSlackとNature Remoをつなぎます。 ○ 爆速でサーバを作成できるので利用しました。 ● Slack API ○ Slackからリクエストを受け取って家電を操作します。 ○ LINEやDiscordに変更してもOK。 ● Nature Remo API ○ Nature Remoにコマンドを送り家電を操作します。 使用するツールと技術

Slide 8

Slide 8 text

© 2024 Wantedly, Inc. Nature Remo APIを利用する理由 Rubyで家電を操作する Nature Remo APIを利用する理由

Slide 9

Slide 9 text

© 2024 Wantedly, Inc. ● IFTTTでSlack -> Alexa連携 ○ IFTTTでのAlexa連携廃止。Web hookの有料化。 ● Slack -> Rails -> Alexa操作 ○ Alexa -> Railsは可能だが、Rails -> Alexaは難しそう。 ■ Railsから音声デバイスを操作して物理的に Alexaを操作する事はできそう。。。 ● 直接スマートリモコン(Nature Remo)を操作する! Rubyで家電を操作する Nature Remo APIを利用する理由

Slide 10

Slide 10 text

© 2024 Wantedly, Inc. Rubyで家電を操作する 構成

Slide 11

Slide 11 text

© 2024 Wantedly, Inc. Rubyで家電を操作する 必要な作業 1. Nature Remo APIのtokenを取得 2. バックエンドの作成 3. Slackのスラッシュコマンドの設定 必要な作業

Slide 12

Slide 12 text

© 2024 Wantedly, Inc. Nature Remoの開発者向けサイトにアクセスしてtokenを発行する https://home.nature.global Rubyで家電を操作する Nature Remo APIのtokenを取得

Slide 13

Slide 13 text

© 2024 Wantedly, Inc. エンドポイントの実装 Nature Remoのtoken 家電に対応するID Rubyで家電を操作する バックエンドの作成

Slide 14

Slide 14 text

© 2024 Wantedly, Inc. API docがあるので参考 https://swagger.nature.global/ #/default/get_1_echonetlite_a ppliances Rubyで家電を操作する バックエンドの作成

Slide 15

Slide 15 text

© 2024 Wantedly, Inc. 注意! リクエスト制限が5分で30回なので無駄なリクエストが飛ばないようにしま しょう。 キャッシュするなどの工夫が必要です。 https://developer.nature.global/#%e3%83%aa%e3%82%af% e3%82%a8%e3%82%b9%e3%83%88%e5%88%b6%e9%99%90 Rubyで家電を操作する バックエンドの作成

Slide 16

Slide 16 text

© 2024 Wantedly, Inc. 手軽に検証したかったのでngrok(エングロック)を利用してアプリを公 開しました。 ※ngrokの会員登録が必要です Rubyで家電を操作する バックエンドの作成

Slide 17

Slide 17 text

© 2024 Wantedly, Inc. コマンド名 Rubyで家電を操作する Slackのスラッシュコマンドの設定 コマンドを設定する サーバーのURL

Slide 18

Slide 18 text

© 2024 Wantedly, Inc. Rubyで家電を操作する 実際に家電を操作する 🎉照明がついた

Slide 19

Slide 19 text

© 2024 Wantedly, Inc. まとめ

Slide 20

Slide 20 text

© 2024 Wantedly, Inc. まとめ Slack -> Rails -> スマートリモコンの連携はとても簡単! Slackから簡単に家電を操作できるだけでなく、他のAPIやデバイ スとの連携も可能でスマートホームの拡張が期待できます。

Slide 21

Slide 21 text

© 2024 Wantedly, Inc. まとめ 何よりコードで家電を操作する事は楽しい!

Slide 22

Slide 22 text

© 2024 Wantedly, Inc. ご清聴ありがとうございました!