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
モンスターマシンを起こすBotを作った話 / wake up bot
Search
Nishimura Yuki
June 25, 2021
Technology
0
19
モンスターマシンを起こすBotを作った話 / wake up bot
家にあるデスクトップパソコンを遠隔操作で起動するBotを作った話です
Nishimura Yuki
June 25, 2021
Tweet
Share
More Decks by Nishimura Yuki
See All by Nishimura Yuki
特に作りたいものがない人のためのプログラミング入門
ni5h1
0
94
カリー化入門 / currying
ni5h1
0
36
Other Decks in Technology
See All in Technology
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.9k
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
370
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
Goで作って学ぶWebSocket
ryuichi1208
3
1.6k
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
150
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
20
8.1k
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
プロセス改善による品質向上事例
tomasagi
2
2.6k
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
1k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Facilitating Awesome Meetings
lara
52
6.2k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
How GitHub (no longer) Works
holman
314
140k
Designing for humans not robots
tammielis
250
25k
Transcript
モンスターマシンを起こすBot を作った話 家で寝てる
ゲーミングPC買いました
ゲーミングPC買いました とにかく動作が早い! 仮想マシンもサクサク! ストレージがでかいので仮想マシンをたくさん保存できる!
ゲーミングPC最高!!!
家の外でも使いたい
Chrome Remote Desktop インターネット越しでも使える NATの内側のパソコンでも操作可能 しかも直接通信している…… ただし、操作対象PCが起動していないとダメ スリープになっただけでもアウト
遠隔起動Bot作りました
遠隔起動Botの仕組み NAT 遠隔起動 DiscordBot 起きろ! WebSocket WoL Discord Raspberry Pi
遠隔起動Bot詳細 https://github.com/nishi-yuki/RaspizDBot1 DiscordBotはNATの内側でも動くので採用 Goで書きたかったのでライブラリはDiscordGoを使用 {bot名}wake を送信するとWoWLan スリープ or 休止状態(ハイバネーション)から復帰できる 現状シャットダウンしてしまうと詰む
現代のWoLはカオスでややこしい。 参考文献 :https://www.atmarkit.co.jp/ait/articles/2004/20/news021.html
デモ
おまけ 他に試したこと • ラズパイzeroでキー入力してスリープ解除 • 単にキーを入力するだけでは復帰しなかった (仕様らしい) • scapyでLayer2でWoL 今後時間があれば試したいこと
• 電源スイッチ直接制御 • ハードウェアの用意が面倒くさいだけで 難しくはないはず……