การแสดงภาพพยากรณ์อากาศผ่านภาพทิวทัศน์
(github.com/lds133)-
แสดงภาพสภาพอากาศเป็นทิวทัศน์
-
สถานีตรวจอากาศแบบดั้งเดิมจะแสดงข้อมูลจากเซ็นเซอร์เป็นตัวเลข
-
การสำรวจแดชบอร์ดลักษณะนี้ต้องใช้ความพยายามมากในการค้นหา ตีความ และแสดงผลพารามิเตอร์เฉพาะอย่างมีประสิทธิภาพ
-
การมองดูภาพทิวทัศน์เป็นสิ่งที่เป็นธรรมชาติ ช่วยลดความเครียด และมอบประสบการณ์การมองเห็นที่สบายตาด้วยความพยายามเพียงเล็กน้อย
-
วิธีการด้านล่างอธิบายวิธีเข้ารหัสข้อมูลสภาพอากาศไว้ภายในภาพทิวทัศน์โดยไม่ต้องพึ่งพาข้อมูลตัวเลข
-
หลักการเข้ารหัส
-
ทิวทัศน์นี้พรรณนาถึงบ้านหลังเล็กในป่า
-
แกนนอนของภาพแทนไทม์ไลน์ 24 ชั่วโมงที่เริ่มจากช่วงเวลาปัจจุบันและยาวไปจนถึงสภาพอากาศของวันถัดไป
-
องค์ประกอบต่างๆ ของทิวทัศน์ที่กระจายตามแกนตั้งเป็นสัญลักษณ์ของเหตุการณ์และสภาพอากาศ
-
ยิ่งเป็นเหตุการณ์ที่ห่างจากปัจจุบันมากเท่าไร ก็จะยิ่งอยู่ทางด้านขวาของภาพมากขึ้น
-
ข้อมูลต่อไปนี้สามารถเข้ารหัสไว้ภายในภาพทิวทัศน์ได้:
- เครื่องหมายเวลาที่ช่วยให้การดูไทม์ไลน์ง่ายขึ้น:
- เวลาพระอาทิตย์ขึ้นและพระอาทิตย์ตก
- เที่ยงวันและเที่ยงคืน
- ข้อมูลพยากรณ์อากาศ:
- ทิศทางและความแรงลม
- การเปลี่ยนแปลงของอุณหภูมิ
- ค่าอุณหภูมิสูงสุดและต่ำสุด
- ปริมาณเมฆปกคลุม
- ปริมาณฝน
- สภาพอากาศปัจจุบัน:
- อุณหภูมิ
- ความกดอากาศ
- เหตุการณ์ที่ไม่ใช่สภาพอากาศ:
- วันเกิด
- วันหยุด
- เครื่องหมายเวลาที่ช่วยให้การดูไทม์ไลน์ง่ายขึ้น:
-
การนำไปใช้
-
โค้ดสร้างภาพเขียนด้วยไลบรารี Pillow ของ Python และอ้างอิงข้อมูลจาก OpenWeather
-
ภาพถูกออกแบบมาเพื่อใช้งานบนจอ E-Ink ขนาด 296x128
-
โค้ดได้รับการทดสอบบน Python 3.9
-
ภาพเหตุการณ์ | คำอธิบาย
- | พระอาทิตย์ขึ้น
- | พระอาทิตย์ตก
- | ปริมาณเมฆปกคลุม
- | ตำแหน่งเวลาปัจจุบัน
- | เที่ยงคืน
- | เที่ยงวัน
- | ลมใต้
- | ลมตะวันออก
- | ลมตะวันตก
- | ลมเหนือ
- | ฝน
-
ตัวอย่าง
-
ภาพทิวทัศน์ | คำอธิบาย
- | ตอนนี้ใกล้เที่ยงวัน และคาดว่าจะมีท้องฟ้าแจ่มใสพร้อมเมฆเล็กน้อย คาดว่าลมเหนือจะพัดตลอดคืน อุณหภูมิกำลังสูงขึ้นในขณะนี้ จากนั้นจะลดลงหลังพระอาทิตย์ตก และแตะจุดต่ำสุดก่อนพระอาทิตย์ขึ้น ในช่วงเวลานี้ทิศลมจะเปลี่ยนเป็นตะวันออกเฉียงเหนือ
- | พระอาทิตย์กำลังขึ้น และจะเป็นวันที่อากาศร้อนแจ่มใสพร้อมลมตะวันออกเฉียงใต้เบาๆ หลังพระอาทิตย์ตกอุณหภูมิจะยังคงสูงอยู่ และลมจะเปลี่ยนเป็นทิศตะวันออกพร้อมแรงขึ้นตลอดช่วงเย็น
- | จะมีฝนเย็นตกตลอดทั้งวัน ลมใต้จะเปลี่ยนเป็นตะวันออกเฉียงเหนือตลอดคืน
-
การรันโค้ด
-
การเตรียมสภาพแวดล้อม
- Linux
- ./makevenv.sh
- source .venv/bin/activate
- Windows
- makevenv.bat
- .venv/Scripts/Activate
- Linux
-
ทดสอบการสร้างภาพ
- อัปเดตตัวแปร OWM_KEY ในไฟล์ weather_landscape.py ด้วย OpenWeather API key
- python run_test.py
-
รันเซิร์ฟเวอร์
- python run_server.py
-
ฮาร์ดแวร์
-
การตั้งค่าฮาร์ดแวร์ประกอบด้วยบอร์ดพัฒนา ESP32 และโมดูลจอ E-Ink ขนาด 2.9 นิ้ว
-
การตั้งค่าปัจจุบันจะดึงซอร์สจากอินเทอร์เน็ตและอัปเดตรูปภาพทุก 15 นาที
-
ยังไม่แน่ชัดว่าโค้ดสร้างภาพจะสามารถนำไปใช้บน ESP32 ด้วย MicroPython ได้หรือไม่
-
สรุปโดย GN⁺
-
บทความนี้อธิบายวิธีเข้ารหัสข้อมูลสภาพอากาศเป็นภาพทิวทัศน์เพื่อให้เข้าใจข้อมูลเชิงภาพได้ง่ายขึ้น
-
การสื่อสารข้อมูลสภาพอากาศผ่านภาพทิวทัศน์ช่วยให้ผู้ใช้เครียดน้อยลงและเข้าใจข้อมูลได้อย่างเป็นธรรมชาติมากขึ้น
-
มีการสร้างภาพด้วย Python และไลบรารี Pillow โดยดึงข้อมูลผ่าน OpenWeather API
-
ยังสำรวจความเป็นไปได้ในการนำไปใช้กับฮาร์ดแวร์โดยใช้บอร์ดพัฒนา ESP32 และจอ E-Ink
-
โปรเจ็กต์ที่มีฟังก์ชันคล้ายกัน ได้แก่ WeatherFlow, Netatmo Weather Station เป็นต้น
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ดูเหมือนว่าโปรเจ็กต์นี้จะใช้งานได้จริงด้วยการปรับเล็กน้อย
เมื่อหลายปีก่อนเคยลองทำโปรเจ็กต์ที่เลือกงานศิลปะตามสภาพอากาศ
โปรเจ็กต์นี้สนุกมาก
เคยเชื่อมกรอบรูปเก่าเข้ากับตัวสร้างภาพ DALL-E ของ OpenAI
ทำให้นึกถึงหน้าหลักของแอป Yr.no
กำลังใช้แนวคิดคล้ายกันเป็นวอลเปเปอร์แอนดรอยด์
ในแง่ UX, windy.com มอบประสบการณ์การดูรายงานอากาศที่ดีที่สุด
ไอเดียนี้เจ๋งมาก
ทำให้นึกถึงซีรีส์ Otherland ของ Tad Williams
เป็นไอเดียที่น่าสนใจ แต่มีบางส่วนที่ความหมายของภาพผิดไปอย่างแปลก ๆ