0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SwitchBotで気温と湿度を取得、AIに服装を聞くアプリ[Python]

Last updated at Posted at 2024-10-20

使ったSwitchBotの温湿度計

半年前に買って、いまいち有効活用できていませんでした。

image.png

作ろうと思ったきっかけは、仕事で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

完成した画面

起動時に気温と湿度だけ表示
image.png
 
おすすめの服装ボタンを押して、気候・個人の設定情報に適した服装を表示
(やや暑がりを設定しているので薄着になってます)
image.png

注意点

費用はちゃんと掛かる
先述していましたが、OpenAI APIの請求画面で確認すると1回の画像生成・アドバイス生成で0.04ドル(6円)掛かっていました。
ボタンの押下回数は制限必須だと思います。
image.png
 
画像生成が遅い
おすすめの服装ボタンを押してから結構なタイムラグがあります。

感想

仕事の前知識のために今回スマートホーム機器とAIを使ったミニアプリを作成しましたが、
やっぱり試してみるのは大事だなと思いました。
次は、GoogleMeetなどの音声を認識して、難しい単語の意味を表示するアプリとか考えてます。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?