SMSテキストメッセージを送信してPCを自動化できるかどうか疑問に思いました。
これが計画です:
これはもちろん簡単な例ですが、私が達成しようとしていること、つまり、コンピューター上でsmsコマンドを使用して特定のプログラムを起動することを示すのに十分であることを願っています。
Windowsである必要はなく、LinuxPCも使用できます。
Windowsの場合は MWconn 、Ubuntuの場合は ixconn というフリーソフトウェアを使用します。
それはいくつかの驚くべき機能を持っており、インストールが簡単です。 PCの起動時に自動的にダイヤルアップできるだけでなく、モデムと通信することもできます。組み込みのSMSマネージャー、SMSによるPCリモートコントロールおよび着信コール、SMSバッチジョブによる送信)セットアップへのシンプルなインターフェースで、すべてバッチまたはexeファイルを実行します。
ユニットが自動的に更新されない場合は、バッチファイルを実行してユニットを更新するために使用します。または、コンピューターまたは接続を再起動します。可能性は比較的無限大です。
私はこれを自分で試したことはありませんが、 pygooglevoice のようなものを使用して、Google Voice番号に送信されたテキストメッセージを受信できる可能性があります(持っているか、取得できると仮定します)。次に、スクリプトは、テキストメッセージの内容を解釈するコマンドプロセッサを実装します。
私はこれを試していませんが、ユーザーのフィードバックによると、これはあなたにとって価値があると思います。記事 電子メールまたはSMSを使用してWindows PCをリモートコントロールする方法 ソフトウェアを見つけました TweetMyPC PCに魔法をかけると主張しています。
リモートコンピュータにコマンドを送信する方法
電子メールで:Twitterアカウントを Posterous (auto-post)および[email protected]
に送信されるすべての電子メールメッセージに関連付けますしたがって、リモートコンピュータのコマンドになります。
(参照: メールでTwitterに投稿 )
SMSで:米国、英国、カナダ、インド、ドイツ、スウェーデン、またはニュージーランドに住んでいる場合は、携帯電話でアソシエイトTwitterを送信できます( 番号のリスト )を参照してから、SMSテキストメッセージ)を介してリモートコンピュータを制御します。
IM:Twitterボット– [email protected]
–を Googleトーク仲間 のリストに追加すると、次のことができます。インスタントメッセージを介してコマンドを送信します。
Web経由:休暇中でインターネットに接続されたラップトップにアクセスできる場合は、Twitter Webサイトにログインして、コマンド(shutdownやlogoffなど)を発行するだけです。 )別のツイートと同じように。
ファイルのダウンロード、リモートスクリーンショットのキャプチャなど..
TweetMyPCは、リモートコンピューターをシャットダウンするのに非常に適していますが、さらにすばらしいことを実行することもできます。たとえば、自宅で作業できるように、未完成のプレゼンテーションをオフィスのコンピュータからダウンロードする必要があります。
PCをリモートコントロールするために使用できるコマンドの一部を次に示します。これらは大文字と小文字を区別せず、前述のように、メール、SMS、IM、またはWeb経由でTwitterに送信できます。
スクリーンショット:これは、shutdownコマンドの後に出くわした最も便利なコマンドの1つです。あなたがいないときにPCの範囲内で何が起こっているのか知りたいですか?スクリーンショットをツイートするだけで、TweetMyPCはデスクトップのスクリーンショットを撮り、それをWebに投稿します(例を参照)。
ShutDown、LogOff、Reboot、Lock:これらの便利なコマンドの機能は、その名前から明らかです。
スタンバイ、休止状態:リモートPCをシャットダウンしたくないですか?このコマンドでスタンバイモードに入ると、電力を節約できます。または、ツイートでPCを休止状態にして、さらに電力を節約します。
ダウンロード:downloadコマンドを使用して、インターネットからリモートコンピューターに任意のファイルをダウンロードできます。たとえば、download http://bit.ly/tCJ9Y のようなコマンドは、CIAハンドブックをダウンロードするので、翌日仕事を再開するときにドキュメントを準備できます。
GetFile:Downloadコマンドは、インターネットからリモートコンピューターにファイルをダウンロードするためのものでした。ただし、リモートコンピューターから現在のコンピューターにファイルを転送する場合は、GetFileコマンドを使用します。ダウンロードしたいファイルの全ページを取得し、電子メールの添付ファイルとして送信します。ファイルページがわからない場合は、コマンドGetFileList <drivename>
を使用して、そのドライブ上のファイルフォルダのリストを取得します。
GetProcessList:これはリモートタスクマネージャーのようなものです。リモートコンピュータで現在実行されているプログラムのリストとそのプロセスIDが表示されます。別のコマンドkill <process id>
を送信して、疑わしい、または不要と思われるプログラムを終了します。
電子メールまたはSMSを使用してWindows PCをリモートコントロールする方法 からコピーされたすべての情報。
#!/bin/bash
gammu="/usr/bin/gammu"
$gammu getallsms | /bin/grep -B 1 -A 2 "UnRead" > /home/gammu.txt
checkWord=$(/usr/bin/awk 'c&&!--c;/UnRead/{c=2}' /home/gammu.txt)
servX=$(/usr/bin/awk 'c&&!--c;/UnRead/{c=2}' /home/gammu.txt | sed 's/^\(.\{1\}\).*/\1/')
commX=$(/usr/bin/awk 'c&&!--c;/UnRead/{c=2}' /home/gammu.txt | sed 's/^..//')
number=$(grep "+" /home/gammu.txt | sed 's/[^+0-9]*//g' | sed 's/^..//')
numberPlus=$(grep "+" /home/gammu.txt | sed 's/[^+0-9]*//g')
if [ "$number" = "0123456789" ] || [ "$number" = "0111111111" ] && [[ "$checkWord" =~ [0-9]* ]]
then
if [ $servX -eq 0 ]
then
ssh -p 20022 [email protected] $commX > /home/stdout.txt
cat /home/stdout.txt | $gammu --sendsms TEXT $numberPlus
exit 0
fi
if [ $servX -eq 1 ]
then
ssh [email protected] $commX > /home/stdout.txt
cat /home/stdout.txt | $gammu --sendsms TEXT $numberPlus
exit 0
fi
fi
このような何か?このためにgammuをセットアップする必要があります。そして、1分または30秒ごとにスクリプトをcronタブします。また、安全上の理由から、ファイアウォールの背後で使用してください(複数のサーバーでこれを行う場合は、公開鍵を設定する必要があります)。
「0uname-a」にテキストメッセージを送信している場合は、特定のサーバーに対するそのコマンドの出力を含むテキストメッセージが返されます。電話をなくさないように注意してください:)
モデムを搭載した電話は、シリアルポートを介してATコマンドに応答します(少なくとも、そうでないモデルは見たことがありません)。USB経由でコンピューターに接続すると、シリアルポートが開きます。たとえば、Device::SerialPort
モジュールを使用してPerlスクリプトに接続し、新しいメッセージをリッスンできます(Pythonなどにも同様のモジュールが存在すると確信しています)。新しいメッセージ信号が表示されたら、最新のメッセージを読んでから、その内容に基づいて行動します。
これは、自分で実行するコードの行数が多くないようにする必要があります(10〜20行のオーダーで実行できる可能性があります)。調査はおそらく正しいATコマンドを見つけることですが、運が良ければ、Googleでそれらを見つけることができます。
電話と通信する大規模な汎用プログラムは、ほぼ排他的にATコマンドと、さまざまな電話の変換テーブルを使用します。
このパスが好きで、詳細を知りたい場合は、minicomまたはその他のシリアルコンソールプログラムを使用して、電話とそれに使用できるコマンドを調べることから始めます。