使ったSwitchBotの温湿度計
半年前に買って、いまいち有効活用できていませんでした。
作ろうと思ったきっかけは、仕事でSwitchBotとかAI関連の仕事がありそうで最低限の知識付けたかったからです。
作り方
自分はPythonで作りました。
事前にやること
・SwitchBotAPIのトークンを取得
・OpenAI APIのAPIキーを取得
ChatGPTの有料プランに入ってたらOKだと思ってた時期がありました。
OpenAI APIからサインアップ
クレジットカードを登録して何ドルかチャージする必要があります。自分は最低金額の5ドルをチャージしました。
・SwitchBotAPIの機器一覧取得から温湿度計の機器IDを取得
https://api.switch-bot.com/
GET /v1.1/devices
あとはHTTPリクエストヘッダのAuthorizationにトークンをセットしてAPIを呼んでください。
プログラムの流れ
気温と湿度は自動取得→SwitchBotAPIが1日10000回制限で無料なので。
おすすめの服装ボタンを押す→OpenAIの画像生成APIが1回5円くらい掛かるので任意に。回数制限も設けたい。
OpenAI APIに投げたプロンプト
服装のアドバイスを取得するとき
prompt = f"""
私は{AGE}歳、{GENDER}です。{preference}が好きで、{style}スタイルを好みます。体質は{physical}です。
現在の気温{temperature}°C、湿度{humidity}%。靴は単色、上下の服は2色以上。
この条件に合う服装のアドバイスを100文字以内でお願いします
"""
使った言語モデルはgpt-4o-miniです。
料金がめちゃくちゃ安いみたいでした。
画像生成をお願いするとき
prompt = f"""
{advice}
アドバイスに沿った服装の画像を実写風カラーで生成してください。
1人の日本人{GENDER}、年齢は{AGE}歳です。
テキスト情報は画像に出力しないでください
"""
使ったモデルはdall-e-3
アドバイスに年齢と性別が特定できる情報がないので追加してます。
あとは、取得した気温、湿度、服装のアドバイスと画像を貼りつけてOK
完成した画面
起動時に気温と湿度だけ表示
おすすめの服装ボタンを押して、気候・個人の設定情報に適した服装を表示
(やや暑がりを設定しているので薄着になってます)
注意点
費用はちゃんと掛かる
先述していましたが、OpenAI APIの請求画面で確認すると1回の画像生成・アドバイス生成で0.04ドル(6円)掛かっていました。
ボタンの押下回数は制限必須だと思います。
画像生成が遅い
おすすめの服装ボタンを押してから結構なタイムラグがあります。
感想
仕事の前知識のために今回スマートホーム機器とAIを使ったミニアプリを作成しましたが、
やっぱり試してみるのは大事だなと思いました。
次は、GoogleMeetなどの音声を認識して、難しい単語の意味を表示するアプリとか考えてます。