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
Spotify物理リモコンがほしい v0.2
Search
田中みそ
May 26, 2022
Technology
0
190
Spotify物理リモコンがほしい v0.2
2022/5/26 Music LT Vol.2 登壇スライド
田中みそ
May 26, 2022
Tweet
Share
More Decks by 田中みそ
See All by 田中みそ
ngrokを使ったLINE Bot開発を超絶楽ちんにする「linegrok」のご紹介
miso
0
87
opnizのご紹介
miso
0
570
ルービックキューブスクランブラーが欲しかったので作ってみた
miso
0
370
MineCraftのレッドストーンを現実世界まで拡張してみた
miso
0
67
TypeScriptでIoT開発できるらしいDeviceScriptのご紹介
miso
0
380
ngrokを使ったLINE Bot開発を超快適にする「linegrok」のご紹介
miso
0
330
ひとりopniz Meetup vol.1「opnizとは(迫真)」
miso
0
340
M5Unified版opnizがリリースされてほとんどのM5Stackデバイスで使えるようになった🎉
miso
0
430
MineCraftのレッドストーンを現実世界まで拡張してみた
miso
0
230
Other Decks in Technology
See All in Technology
エンタープライズ環境下での Active Directory の運用 TIPS
tamaiyutaro
1
1.3k
PHP"オレ"カンファレンスの告知
ysknsid25
0
240
メールセキュリティの DMARC周りの設定を少しずつ設定してみたお話
miu_crescent
1
260
疲弊しない!AWSセキュリティ統制の考え方 #devio_osakaday1
masahirokawahara
6
5.7k
Tableau事例紹介 / Tableau Case Study of Eureka
kazuya_araki_tokyo
1
170
SREとその組織類型
tatsuo48
8
1.4k
日本におけるデータエンジニアリングのこれまでとこれから
foursue
8
1.4k
Pedestrian-Centric大規模交通安全映像解析向けWoven Traffic Safety (WTS) データセットの紹介
kbuster
0
140
WebアプリケーションにおけるPDOの使い方入門 / phpcon odawara 2024
meihei3
2
420
4年前、あるじゃん老害エンジニアLT合戦に登壇、米国西海岸コンピュータ歴史博物館体験記の続編
toshi_atsumi
0
180
Microsoft Cloudで開発ライフサイクルを保護する
kkamegawa
0
140
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
190
Featured
See All Featured
Web Components: a chance to create the future
zenorocha
304
41k
Web development in the modern age
philhawksworth
201
10k
Faster Mobile Websites
deanohume
296
30k
Ruby is Unlike a Banana
tanoku
95
10k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
A Philosophy of Restraint
colly
195
16k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2.1k
How to train your dragon (web standard)
notwaldorf
71
5.1k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Fontdeck: Realign not Redesign
paulrobertlloyd
75
4.9k
Stop Working from a Prison Cell
hatefulcrawdad
265
19k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Transcript
Spotify物理リモコンがほしい v0.2 田中みそ 2022/5/26 Music LT Vol. 2
自己紹介 田中 みそ (田中 大樹) Qiita: miso_develop Twitter: miso_develop Facebook:
田中みそ Music LT主催 LINE API Expert IoT界隈やスマートスピーカー界隈に よくいます
Spotify物理リモコンがほしい背景 • 普段スマートスピーカーからSpotifyで音楽を流すけど、 曲選択や音量調整といった操作は音声ではやりづらい • なのでWeb Playerを使ってPCから操作してるけど、 PCのあるところに行かないといけなかったり、 ウインドウ切り替えたりと地味にめんどくさい
コンポのリモコンみたいなので操作したい 理想はコンポ(死語?)のリモコン感覚で物理ボタンを ポチポチしてSpotifyをコントロールできたらいいな
(余談)こんなのもあるらしい https://www.itmedia.co.jp/news/articles/2202/23/news041.html より
ソフトウェア実装
Spotify Web API https://developer.spotify.com/documentation/web-api/reference/#/operations/transfer-a-users-playback より
Spotify Web API • シンプルなREST API • Spotify for Developersにログインするとプロジェクト
(APP)を作成でき、Client ID/Secretが発行される • 曲情報やアルバム情報取得APIなんかがあり、 Player APIも一通り揃ってる • ただし無料プランだとPlayer APIは動かない…
(余談)初回3ヶ月無料キャンペーン中! https://www.spotifypremium.jp/ より
Web Consoleがとても便利 https://developer.spotify.com/console/get-user-player/?market=ES&additional_types= より
Web Consoleがとても便利 https://developer.spotify.com/console/get-user-player/?market=ES&additional_types= より
Web Consoleがとても便利 https://developer.spotify.com/documentation/general/guides/authorization/code-flow/ より
Use Caseに合わせたクラスを作成 Use Case • 再生/停止 • 次の曲へ • 前の曲へ
• 音量アップ • 音量ダウン • リピート • シャッフル https://github.com/thelinmichael/spotify-web-api-node より
ハードウェア実装
物理コントローラーどうするか • ひとまずM5Stackでプロトタイプ実装 • 3ボタンあるので組み合わせでUse Caseは網羅できる • 前の曲へ A •
再生/停止 B • 次の曲へ C • 音量ダウン A B • 音量アップ B C • リピート A C • シャッフル A B C
物理コントローラーどうするか
プロトタイプのシステム構成 Web API JavaScriptでマイコンを制御できるIoTフレームワーク。 M5Stackから直接Web API叩けるけど、Cで実装し たくなかったのでopnizを使ってTypeScriptで実装。 ボタン信号
本番構成 マイコン: M5ATOM or M5Stamp ソフトウェア実装:Spotify Web API & opniz
物理ボタン:どうしよう… https://www.switch-science.com/catalog/7360/ より
物理ボタン案その1 • 4x3キーパッド作成キット • 350円 • 小さすぎるかも? https://akizukidenshi.com/catalog/g/gK-12229/ より
物理ボタン案その2 • 100均のUSBテンキーボード • 330円! https://note.com/tomorrow56/n/n9e9a02586d76 より https://lang-ship.com/blog/work/usb-numeric-keypad/ より
物理ボタン案その3 • 謎の赤外線リモコン • 多分昔買った電子パーツ詰め合わ せみたいのについてきたやつ • ボタンいっぱいあるし最適解かも
物理ボタン案その3 https://lang-ship.com/blog/work/m5sitckc-daiso-remote-led/ より https://akizukidenshi.com/catalog/g/gM-07245/ より