一発で Android を 再起動する USB ボタン を作ってみた


Overview

家の中にAndroid deviceが増えてきました。

Androidは、Low memory killerとかにより、メモリーを一定量確保する仕組みがあり、常に使い続けていてもちゃんと動き続けくれます。

そうはいっても、ソフトウェア。たまに再起動してあげると、キビキビ動くのも事実。

設定→再起動とかするのも面倒なので、ボタン一発で再起動するボタンを作ってみた。

用意するもの

ハードウェア

AtmelのATtiny85を搭載したDigiSparkは、V-USBを利用しているようで、ArduinoからUSB一発で焼くことができる (ISPなど不要).

ピンも少ないので、今回のような用途には非常に役に立ちます。

DigiSparkやその互換品 (ATtiny85などでAmazonとかでも売っています) 200円くらい。

Pin2を、10kΩぐらい経由でTact SWが押されたときにGNDに落ちるようにします。

ソフトウェア

DigiSparkは、USB HIDを作るのに非常に適した環境を用意してくれています。

#include <DigiKeyboard.h>

しておけば、

#define KEY_DELETE 76

DigiKeyboard.update();
DigiKeyboard.sendKeyStroke(KEY_DELETE, MOD_ALT_LEFT | MOD_CONTROL_LEFT);

これだけで、Ctrl+Alt+Deleteを発行できます。

はい、そうです。Androidは、なんと、Ctrl+Alt+Delで再起動するのです。

というわけで、USB HID deviceを作って、これを送信してやろうというのが今回の試みです。

というわけで、つくりました。

Happy Android Life!

Appendix