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
100
Rubyで家電をスマートに操作しよう!
kojiro tominaga
November 07, 2024
Tweet
Share
More Decks by kojiro tominaga
See All by kojiro tominaga
マネージャーとエンジニアが効果的に協力するために意識した方が良い事
kotominaga
2
250
Other Decks in Technology
See All in Technology
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
1
5k
12 Days of OpenAIから読み解く、生成AI 2025年のトレンド
shunsukeono_am
0
1.1k
カップ麺の待ち時間(3分)でわかるPartyRockアップデート
ryutakondo
0
110
機械学習を「社会実装」するということ 2025年版 / Social Implementation of Machine Learning 2025 Version
moepy_stats
3
470
デジタルアイデンティティ技術 認可・ID連携・認証 応用 / 20250114-OIDF-J-EduWG-TechSWG
oidfj
2
480
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
160
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
kenichirokimura
1
170
20240522 - 躍遷創作理念 @ PicCollage Workshop
dpys
0
310
「隙間家具OSS」に至る道/Fujiwara Tech Conference 2025
fujiwara3
6
3.4k
生成AI × 旅行 LLMを活用した旅行プラン生成・チャットボット
kominet_ava
0
130
ZOZOTOWN の推薦における KPI モニタリング/KPI monitoring for ZOZOTOWN recommendations
rayuron
1
1.1k
Azureの開発で辛いところ
re3turn
0
220
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
34
1.6k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
What's in a price? How to price your products and services
michaelherold
244
12k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
860
Designing Experiences People Love
moore
139
23k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
2
160
KATA
mclloyd
29
14k
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. ご清聴ありがとうございました!