e-天気予報紙
仕様
電子ペーパーに天気の情報が表示される
• 現在の気温
• 最高気温
• 最低気温
• 天気予報
• 降水確率
• 明日・明後日の天気予報
などを表示させる。
システム図
今回の結果
うっすらと電子ペーパーを点けることができたが文字やシステム図を表示できず作品を完成させることができなかった。まだコンテストの後も開発できるので精進していきたい。
使用機材・言語
-
RaspberryPi 4
-
Micro SDカード(16GB)
-
電子ペーパー(7.5 inch ePaper H
-
Python
ソースコード
import time
import requests
from waveshare_epd import epd7in5_V2
from PIL import Image, ImageDraw, ImageFont
# OpenWeatherMapのAPIキーと都市名
API_KEY = ""
CITY = "KOCHI" # 例: Tokyo, New Yorkなど
def get_weather_data(api_key, city):
"""OpenWeatherMapから天気データを取得する関数"""
url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric"
response = requests.get(url)
if response.status_code == 200:
return response.json()
else:
print("Failed to retrieve data")
return None
def display_weather(epd, weather_data):
"""天気情報を電子ペーパーに表示する関数"""
epd.init()
epd.Clear()
# 天気情報のフォント設定
font = ImageFont.load_default()
# 画像を作成
image = Image.new('1', (epd.width, epd.height), 255) # 白背景
draw = ImageDraw.Draw(image)
# 天気情報を描画
draw.text((10, 10), f"City: {weather_data['name']}", font=font, fill=0)
draw.text((10, 30), f"Temperature: {weather_data['main']['temp']} °C", font=font, fill=0)
draw.text((10, 50), f"Weather: {weather_data['weather'][0]['description']}", font=font, fill=0)
# 画像を電子ペーパーに表示
epd.display(epd.getbuffer(image))
epd.sleep()
def main():
epd = epd7in5_V2.EPD()
weather_data = get_weather_data(API_KEY, CITY)
if weather_data:
display_weather(epd, weather_data)
if __name__ == "__main__":
main()
考察
全く知識がないところから始めましたが、電子ペーパーは予想していたよりも難しく初心者の自分には大変な開発でした。
自分で一から作ることが難しいと改めて感じました。
将来的には、小型化にし持ち運びを可能にしてどこでも現在の天気や気温、湿度などを確認することができる作品にしたいです。
参考文献
Raspberry Pi × 電子ペーパーで最新のお天気情報を表示する電子版を作ってみた
https://zenn.dev/yutafujiwara/articles/2d568f168c2e65
オープンウェザー
https://openweathermap.org/
ESP32 電子ペーパー天気ディスプレイ
https://hackaday.io/project/189708-esp32-e-paper-weather-display
-
3manenhosii3
さんが
2024/09/20
に
編集
をしました。
(メッセージ: 初版)
-
3manenhosii3
さんが
2024/09/20
に
編集
をしました。
-
3manenhosii3
さんが
2024/09/20
に
編集
をしました。
-
3manenhosii3
さんが
2024/09/20
に
編集
をしました。
-
3manenhosii3
さんが
2024/09/20
に
編集
をしました。
-
3manenhosii3
さんが
2024/09/20
に
編集
をしました。
-
3manenhosii3
さんが
2024/09/20
に
編集
をしました。
-
3manenhosii3
さんが
2024/09/30
に
編集
をしました。
-
yuukii
さんが
2024/09/30
に送った
編集リクエスト
が受理されました。
-
yuukii
さんが
2024/10/23
に
編集
をしました。
-
3manenhosii3
さんが
2024/10/23
に
編集
をしました。
-
3manenhosii3
さんが
2024/10/30
に
編集
をしました。
-
3manenhosii3
さんが
2024/10/30
に
編集
をしました。
-
3manenhosii3
さんが
2024/10/30
に
編集
をしました。
-
3manenhosii3
さんが
2024/10/30
に
編集
をしました。
ログインしてコメントを投稿する