Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rubyで家電をスマートに操作しよう!
Search
kojiro tominaga
November 07, 2024
Technology
1
140
Rubyで家電をスマートに操作しよう!
kojiro tominaga
November 07, 2024
Tweet
Share
More Decks by kojiro tominaga
See All by kojiro tominaga
マネージャーとエンジニアが効果的に協力するために意識した方が良い事
kotominaga
2
290
Other Decks in Technology
See All in Technology
令和最新版TypeScriptでのnpmパッケージ開発
lycorptech_jp
PRO
0
110
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
740
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
810
從開發到架構設計的可觀測性實踐
philipz
0
110
GitHub Coding Agent 概要
kkamegawa
1
1.7k
JNation 2025 - Quarkus for Spring Developers
edeandrea
PRO
0
110
Cursor Meetup Tokyo
iamshunta
2
610
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.5k
AIの電力問題を概観する
rmaruy
1
210
Swiftは最高だよの話
yuukiw00w
2
290
ゴリラ.vim #36 ~ Vim x SNS ~ スポンサーセッション
yasunori0418
1
350
ローカル環境でAIを動かそう!
falken
PRO
1
170
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Why Our Code Smells
bkeepers
PRO
336
57k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Thoughts on Productivity
jonyablonski
69
4.7k
Building Applications with DynamoDB
mza
95
6.4k
It's Worth the Effort
3n
184
28k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Transcript
© 2024 Wantedly, Inc. Rubyで家電をスマートに操作しよう! Omotesando.rb #103 Nov. 9 2024
- Kojiro Tominaga
© 2024 Wantedly, Inc. 自己紹介 所属: ウォンテッドリー株式会社 職業: バックエンドエンジニア X:
@kou_tominaga 経歴: • 2022/9 ソフトウェアエンジニアに転職 • 2024/7 現職 冨永 康二郎
© 2024 Wantedly, Inc. 1. 話す事 2. モチベーション 3. Rubyで家電を操作する
4. まとめ 目次
© 2024 Wantedly, Inc. 話す事 Slackからスマートリモコンを操作する方法を話します!
© 2024 Wantedly, Inc. モチベーション • 家電(スマートリモコン)の操作をチャットに残したい ◦ スマートリモコンは通信が一方向の場合がある。なので複数人で利用する場合、現在家 電がどうなっているか分からない。チャットに操作が残ると嬉しい。
• チャットから家電を操作したい ◦ 慣れたUIから操作できる。 ◦ 複数のリモコンを意識せずに操作できる。
© 2024 Wantedly, Inc. 使用するツールと技術
© 2024 Wantedly, Inc. Rubyで家電を操作する • Ruby on Rails ◦
連携を仲介するバックエンドに利用します。 簡単なAPIを構築してSlackとNature Remoをつなぎます。 ◦ 爆速でサーバを作成できるので利用しました。 • Slack API ◦ Slackからリクエストを受け取って家電を操作します。 ◦ LINEやDiscordに変更してもOK。 • Nature Remo API ◦ Nature Remoにコマンドを送り家電を操作します。 使用するツールと技術
© 2024 Wantedly, Inc. Nature Remo APIを利用する理由 Rubyで家電を操作する Nature Remo
APIを利用する理由
© 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を利用する理由
© 2024 Wantedly, Inc. Rubyで家電を操作する 構成
© 2024 Wantedly, Inc. Rubyで家電を操作する 必要な作業 1. Nature Remo APIのtokenを取得
2. バックエンドの作成 3. Slackのスラッシュコマンドの設定 必要な作業
© 2024 Wantedly, Inc. Nature Remoの開発者向けサイトにアクセスしてtokenを発行する https://home.nature.global Rubyで家電を操作する Nature Remo
APIのtokenを取得
© 2024 Wantedly, Inc. エンドポイントの実装 Nature Remoのtoken 家電に対応するID Rubyで家電を操作する バックエンドの作成
© 2024 Wantedly, Inc. API docがあるので参考 https://swagger.nature.global/ #/default/get_1_echonetlite_a ppliances Rubyで家電を操作する
バックエンドの作成
© 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で家電を操作する バックエンドの作成
© 2024 Wantedly, Inc. 手軽に検証したかったのでngrok(エングロック)を利用してアプリを公 開しました。 ※ngrokの会員登録が必要です Rubyで家電を操作する バックエンドの作成
© 2024 Wantedly, Inc. コマンド名 Rubyで家電を操作する Slackのスラッシュコマンドの設定 コマンドを設定する サーバーのURL
© 2024 Wantedly, Inc. Rubyで家電を操作する 実際に家電を操作する 🎉照明がついた
© 2024 Wantedly, Inc. まとめ
© 2024 Wantedly, Inc. まとめ Slack -> Rails -> スマートリモコンの連携はとても簡単!
Slackから簡単に家電を操作できるだけでなく、他のAPIやデバイ スとの連携も可能でスマートホームの拡張が期待できます。
© 2024 Wantedly, Inc. まとめ 何よりコードで家電を操作する事は楽しい!
© 2024 Wantedly, Inc. ご清聴ありがとうございました!