2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

NFCタグで遠隔PC起動_スマホでWake on lan(ラズペリーパイ経由)

Posted at

#NFCタグで遠隔PC起動_スマホでWake on lan(ラズペリーパイ経由)
##作成背景
 ①NFCタグで何か便利にできることがないか?
 ②デスクトップPCをwifi経由でなくLAN接続に最近変えた

Wake on lan でPCを起動しよう。

##材料
①NFCタグ1枚100円
②NFC対応スマホ(android)
③NFC tools (アプリ)
④ラズベリーパイzero (☆wake on lan アプリでもOK)

##実践
###①デスクトップPCの設定(wake on lan)ができるようにする。
 マジックパケットをLANに流すことで、PCが起動できる。
 *マザーボード上で通電している状態にする、Wakeonlanを利用可能にする必要
 https://www.atmarkit.co.jp/ait/articles/2004/20/news021.html
☆macアドレスを取得しておきます。 ifconig/all

###②ラズベリーパイzeroからマジックパケットを出す
xx:xx:xx:xx:xx:xx ①で調べたMACアドレス

apt-get install wakeonlan
wakeonlan xx:xx:xx:xx:xx:xx 

wakeonlan.shを作成しておく(後で起動するよう)

vi wakeonlan.sh

wakeonlan xx:xx:xx:xx:xx:xx 

該当のPCの電源がonになることを確認する。

###③ラズベリーパイzeroをrestapiサーバーにする(flask利用)
材料④でラズベリーパイを利用している理由
・余計なアプリを入れたくない。
・違う起動方法にした際に、応用が利く
今回restapiサーバとしてURLをたたく形で実装

pip install Flask
cd 適当なフォルダーへ

index.pyという名前でpythonファイルを作成する。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from flask import Flask
import subprocess
app = Flask(__name__)

@app.route("/")
def hello():
    subprocess.call('./wakeonlan.sh',shell=True)
    return "wake on lan!"

if __name__ == "__main__":
    app.run('0.0.0.0', debug=True)

python起動する。ssh経由での接続後、切断しも切れないように下記コマンドを実行

nohup python index.py

http://xxx.xxx.xxx.xxx:5000/ にアクセスして、PCが起動することを確認する

###NFCタグに、http://xxx.xxx.xxx.xxx:5000/にアクセスする指示を書き込む

☆tasktoolsの方で、設定ができるので割愛

##最終結果
 ちょっとQoLが上がった気がします。
 NFCタグは、部屋中のあらゆる場所にスイッチがつけれる魔法の道具だと気付いたので、思いついたらやってみようと思います。
 * 自宅Iotはやりすぎると、かえって面倒なことが多発します。なのでほどほどが一番

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?