SH51Aのバッテリーに寿命が来たので、以下の動作をするスマホアプリをChatGPTに作ってもらったのだが…
#スマホの電池パックの充電率を取得
#任意の充電率以下になったら充電を開始する
#任意の充電率以上であれば充電アダプターからの電源を遮断する
#スマホ使用中(画面のタップやボタンなどの操作を検知した場合)は充電アダプターからの電源を遮断する
以上の動作をするスマホアプリのPythonプログラムをkivyライブラリーを使って書いて
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.clock import Clock
from kivy.uix.button import Button
from kivy.uix.switch import Switch
class ChargingApp(App):
def build(self):
self.layout = BoxLayout(orientation='vertical')
# バッテリー充電率を表示するラベル
self.battery_label = Label(text="充電率: 0%", font_size='20sp')
self.layout.add_widget(self.battery_label)
# 充電の設定
self.charge_threshold = 30 # 任意の充電率の閾値(30%と仮定)
self.is_charging = False
# チャージスイッチ
self.charge_switch = Switch(active=self.is_charging)
self.charge_switch.bind(active=self.toggle_charge)
self.layout.add_widget(self.charge_switch)
# スマホ使用中かどうかを判定するフラグ
self.is_in_use = False
# バッテリー充電率の更新を定期的に行う
Clock.schedule_interval(self.update_battery_status, 5) # 5秒ごとに更新
return self.layout
def update_battery_status(self, dt):
# ここで実際のバッテリー充電率を取得するロジックを追加
battery_percentage = 50 # 仮の値
self.battery_label.text = "充電率: {}%".format(battery_percentage)
if self.is_in_use:
# スマホ使用中は充電を停止
self.stop_charge()
elif battery_percentage <= self.charge_threshold:
# バッテリーが指定の閾値以下になったら充電を開始
self.start_charge()
elif battery_percentage > self.charge_threshold:
# バッテリーが指定の閾値以上で、充電中であれば充電を停止
self.stop_charge()
def toggle_charge(self, instance, value):
# スイッチの状態に応じて充電を開始または停止
if value:
self.start_charge()
else:
self.stop_charge()
def start_charge(self):
# 充電を開始するロジックをここに追加
self.is_charging = True
self.charge_switch.active = self.is_charging
print("充電を開始しました")
def stop_charge(self):
# 充電を停止するロジックをここに追加
self.is_charging = False
self.charge_switch.active = self.is_charging
print("充電を停止しました")
if __name__ == '__main__':
ChargingApp().run()
battery_percentage = 50 # 仮の値
を
battery_percentage = 90 # 仮の値
に変更してみた。
果たして機能しているのだろうか?
※誰も手動でON-OFFするボタンを付けろとは言っとらんがな、何で要らんことするんだか?
P.S.
どうやら機能していないらしいwww
しかも目茶苦茶リソースを喰っているようだ。
スマホは充電しながら使うとバッテリー(電池パック)の劣化が急加速するようだ。
所謂妊娠という現象が起き、本体のカバーが剥離し、音が出なくなったり、ボタンを押しても反応しなくなったり、いろいろ不具合が出てきて仕舞には使えなくなる。
以前は、電池パックを買ってきて裏フタを開けて簡単に交換できたが、今は内蔵式になって一体化しているようで、いちいち修理に出して分解してもらわないと電池パックの交換すらできない有り様になってしまった。
電池パック長持ちアプリなるものも出回っているようだが、俺の求めている機能があるのだろうか?