sinatraとautohotkeyでスマホからWindowsを遠隔操作する

    >

できること:
スマホのchromeなどのブラウザでURLにアクセスするとWindowsパソコンを操作する(具体例:スペースキーを一回押す)

やること:
sinatraでウェブサーバーを立てる。(たぶんnode.jsとかでもいけるけどsinatraが僕は好きです。)
autohotkeyスクリプトを書く。(書けるならJavaでもCでもVBSでも。)

成り行き:
普段寝る時はヘッドホンでASMR聴きながら寝てるのですが、スマホでyoutubeスタイルです。ただこれはデメリットがあって、広告が出てしまうこと。
スマホのYoutubeアプリはJavaScriptもなにもないので、広告非表示とかないですから、寝ようとしてるところに大音量で事故る事が多々あり。
しかし、だからといって、パソコンにつないでるヘッドホンを使ってしまうと、再生停止ができない。まぁ、リモートデスクトップするとか、Bluetoothキーボード使うとか考えたけど、なんか面倒。スマホからパソコン遠隔操作できたらなぁとずっと思っていました。

実装

rubyとかgemとかsinatraのインストールは割愛します。

app.rb

require 'sinatra'
require "open3"

get '/' do
  'hello'
end

# http://192.168.3.19:4567/youtube
get "/youtube" do
  Open3.popen3(%(cmd /c start "" "C:/pg/sinatra/_tmp/enterSpace.ahk")) do |i, o, e, w| ; end
  "/youtube"
end

C:/pg/sinatra/_tmp/enterSpace.ahk

send, {space}

できたらサーバーを開始します。

PS C:\pg\sinatra> ruby app.rb -o 0.0.0.0

ipconfigでローカルIPを確認して、スマホから192.168.3.19:4567/youtubeみたいなURLにアクセスします。

windowsでスペースキーが押されたでしょうか。?

これを応用すれば、スマホにキーボードを置いてどんな操作も基本的にできるようにとかできるかもしれない。ctrlとからへん実装面倒そうだけど。


お困りですか?この記事で紹介していることをマンツーマンで指導、解説、代行します。まずはお気軽にお問い合わせください。


関連するかもしれない記事

SSHで起動したsinatraが終了していない場合やうまく動かない場合の対処
sinatraにIPで接続出来ない場合の対処
sinatraでHTTPサーバー構築してPOSTリクエストしてみた
Ruby sinatra 使い方
PsSuspendでWindows上のプロセスをサスペンド
Ubuntu VPS -> WSL -> Windows X11フォワーディングでグラフィカルウィンドウアプリを開く
Windows 環境変数設定をコマンドから開く


Close Menu