スマホ充電しっぱなしを防ぐ【Automate, ESP8266】
使わなくなったスマホを常時点灯しっぱなしでディスプレイとして、使用することを考えています。
給電のため、USBケーブルを差しっぱなしにすると、スマホのバッテリーが常に満充電となってしまいます。
満充電のままだと、バッテリーの劣化がしやすいため、残量50%付近を維持できる方法を考え実施してみました。
方法
AutomateというAndroidアプリとESP8266モジュールの開発ボードを組み合わせる方法を使用しました。
AutomateはAndroid自動化アプリの一つで、いろいろなことができるようですが、今回はスマホのバッテリー残量を取得して、データ送信をします。
ESP8266はWiFi付きのマイコン開発ボードで、今回はWiFiでデータを受信し、IOピンでMOSFETをOn/Offすることで、スマホへの給電を制御します。
スマホとESP8266はどちらも家庭のWiFiに接続してデータ送信できるようにします。
今回は、スマホバッテリー残量が50%未満なら給電し、50%以上になったら給電をストップするようにします。
実施
Automateでスマホバッテリー残量が50%以上なら、ESP8266にIOピンをOnにするHttpリクエストを送信し、50%未満ならoffにするリクエストを送信するプログラムを作成しました。
Automateはブロックプログラミングというのでしょうか、下のスクリーンショットのようにブロックをつなげていってプログラミングします。プログラムのことをFlowというようです。
機能がたくさんあり、分かりにくかったですが、何度か試行錯誤してプログラムを作成しました。
ESP8266はHttpリクエストを受信し、IOピンをOn/OffするスケッチをArduino IDEで書き込みました。
WebサーバーでLチカするプログラムのサンプルをほぼそのまま使用しました。
ESP8266とMOSFETをUSB充電器とスマホの間のUSBケーブルに組み込み動かしてみました。
できたものは、スマホからOn/OffできるスマートUSBケーブルですね。市販品は探せばありそう。
Automateと組み合わせることで問題なく動作し、スマホのバッテリー残量が50%付近を維持することができました。
しかし、給電ONの時の充電電流が小さいです。
MOSFETの配線が細かったことやMOSFETが抵抗になってしまったためと思います。
スマホに入力される電圧は4.5V以下になっています。
常に充電していれば少しずつ充電はできるので、問題はありません。
充電電流が大きければ、普段使いのスマホでも、90%まで充電するなどの使い方ができそうですが、今回の方法だと難しいのかも。