สารบัญ:

Dark Sky API PyPortal & แดชบอร์ดสภาพอากาศ: 6 ขั้นตอน
Dark Sky API PyPortal & แดชบอร์ดสภาพอากาศ: 6 ขั้นตอน

วีดีโอ: Dark Sky API PyPortal & แดชบอร์ดสภาพอากาศ: 6 ขั้นตอน

วีดีโอ: Dark Sky API PyPortal & แดชบอร์ดสภาพอากาศ: 6 ขั้นตอน
วีดีโอ: PyPortal Review and Tutorial | GIT TECH'D 2024, กรกฎาคม
Anonim
Image
Image

โปรเจ็กต์นี้เป็นสิ่งที่เราเคยทำมาก่อน นั่นคือ Dark Sky API Weather Dashboard คราวนี้แทนที่จะเป็น Raspberry Pi เราจะใช้ Adafruit PyPortal เพื่อแสดงข้อมูลสภาพอากาศและส่งข้อมูลนั้นไปยังสถานะเริ่มต้น สองแดชบอร์ดสำหรับการทำงานของหนึ่ง!

เสบียง

  • Adafruit PyPortal
  • บัญชี Adafruit IO (ฟรี)
  • บัญชี Dark Sky API (ฟรี)
  • บัญชีของรัฐเริ่มต้น

ขั้นตอนที่ 1: สถานะเริ่มต้น

สถานะเริ่มต้น
สถานะเริ่มต้น

Initial State เป็นแพลตฟอร์มการแสดงข้อมูล เราจะส่งข้อมูลจาก Dark Sky API และ PyPortal ไปยังสถานะเริ่มต้น ซึ่งจะทำให้เราสามารถบันทึกข้อมูลสภาพอากาศและดูแนวโน้มสภาพอากาศได้

คุณจะต้องลงทะเบียนและสร้างบัญชีใหม่ คุณได้รับการทดลองใช้ฟรี 14 วัน และทุกคนที่มีที่อยู่อีเมลสำหรับการศึกษาสามารถลงทะเบียนแผนสำหรับนักเรียนได้ฟรี

คุณจะต้องใช้ Initial State Access Key เพื่อส่งข้อมูลจาก Dark Sky API และ PyPortal ไปยัง Initial State เลื่อนไปที่ชื่อผู้ใช้ของคุณที่ด้านบนขวาแล้วคลิกการตั้งค่าของฉัน คุณจะเห็นรายการ Streaming Access Keys เลือกหนึ่งรายการเพื่อใช้หรือสร้างใหม่ เราต้องการสิ่งนี้ในภายหลังสำหรับรหัส

ขั้นตอนที่ 2: Dark Sky API

Dark Sky API
Dark Sky API

Dark Sky เชี่ยวชาญในการพยากรณ์อากาศและการแสดงภาพ แง่มุมที่ยอดเยี่ยมที่สุดของ Dark Sky คือ Weather API ที่เราสามารถใช้เพื่อดึงข้อมูลสภาพอากาศจากเกือบทุกที่ในโลก ไม่ใช่แค่สภาพอากาศที่มีฝนตกหรือแดดจ้าเท่านั้น แต่ยังมีอุณหภูมิ จุดน้ำค้าง ลมกระโชกแรง ความชื้น ปริมาณน้ำฝน ความกดอากาศ ดัชนี UV และอื่นๆ ทั้งหมดนี้ใช้ได้อย่างง่ายดายในทุกที่ที่คุณต้องการ ทุกเวลาที่คุณต้องการ

ในการใช้ Dark Sky API คุณต้องมีคีย์ API ของคุณเองก่อน ไม่ต้องกังวล การรับคีย์ API นั้นรวดเร็วและฟรี สิ่งที่คุณต้องทำคือไปที่เว็บไซต์และคลิก "ทดลองใช้ฟรี" เพื่อสร้างบัญชี

คุณได้รับ 1, 000 การเรียก API ฟรีในแต่ละวัน ทุกคำขอ API ที่เกินขีดจำกัดรายวันฟรีมีค่าใช้จ่าย $0.0001 ขีดจำกัดนี้จะรีเซ็ตโดยอัตโนมัติในแต่ละวันตอนเที่ยงคืน UTC คำขอพยากรณ์จะส่งกลับการพยากรณ์อากาศปัจจุบันสำหรับสัปดาห์ถัดไป คำขอ Time Machine ส่งคืนสภาพอากาศที่สังเกตหรือคาดการณ์สำหรับวันที่ใน อดีตหรืออนาคต

คีย์ Dark Sky API ลับของคุณจะมีลักษณะดังนี้:

0123456789abcdef9876543210fedcba.

เราจะใช้สิ่งนี้ในภายหลังในรหัส

ขั้นตอนที่ 3: Adafruit IO & PyPortal

Adafruit IO เป็นบริการที่ Adafruit เสนอเพื่อเสริมฮาร์ดแวร์ เราจะใช้บริการนี้สำหรับส่วนนาฬิกาของรหัสของเรา ลงทะเบียนสำหรับบัญชีฟรี คลิกดูคีย์ AIO ทางด้านซ้ายเพื่อดูชื่อผู้ใช้และรหัสของคุณ เราจะใช้ทั้งสองสิ่งนี้ในภายหลังในรหัสของเราในภายหลัง

Adafruit PyPortal เป็นอุปกรณ์ IoT ล่าสุดที่ขับเคลื่อนโดย Circuit Python สิ่งที่ยอดเยี่ยมเกี่ยวกับ PyPortal คือคุณสามารถโต้ตอบกับ API และ JSON เพื่อแสดงเกือบทุกอย่าง เราจะใช้มันเพื่อรับข้อมูลจาก Dark Sky API แสดงข้อมูลนั้นบน PyPortal และส่งข้อมูลนั้นไปยังสถานะเริ่มต้น

หากนี่เป็นโครงการแรกของคุณใน PyPortal คุณจะต้องทำตามบทช่วยสอนนี้เพื่อดาวน์โหลดเฟิร์มแวร์ เชื่อมต่อ PyPortal กับ WiFi และเตรียมพร้อม เมื่อคุณทำสิ่งนี้เสร็จแล้ว เราจะพร้อมสำหรับรหัส Dark Sky API

ขั้นตอนที่ 4: รหัส

สามารถดาวน์โหลดรหัสนี้ลงในคอมพิวเตอร์ของคุณได้ที่นี่ โอนไฟล์ทั้งหมดยกเว้นไฟล์ README.md ไปยัง PyPortal ของคุณ คุณเพียงแค่ลากและวางบน PyPortal ซึ่งควรแสดงเป็น CIRCUITPYTHON ในรายการ USB ของคุณ เอกสารเดียวที่คุณควรแก้ไขคือ secrets.py มันจะดึงข้อมูลส่วนตัวของคุณทั้งหมดลงในรหัส ดังนั้นเราจึงไม่ต้องเปิดเผยข้อมูลให้ชัดเจน

ฉันขอแนะนำให้ใช้ Mu Editor เพื่อแก้ไขและดูโค้ดของคุณ มีจอภาพแบบอนุกรมเพื่อการดีบักที่ง่ายดายในขณะที่คุณทำการเปลี่ยนแปลง ตัวแก้ไขรหัสใด ๆ จะใช้งานได้

ฉันต้องการพูดคุยเกี่ยวกับสิ่งที่โค้ด ไลบรารี และโฟลเดอร์แต่ละส่วนทำ เพื่อให้การเปลี่ยนแปลงทำได้ง่ายขึ้นและ

code.py

นี่คือไฟล์หลักของเราที่เริ่มต้นบน PyPortal เนื่องจากมันมีชื่อว่า code.py ที่นี่ คุณจะเห็นการเชื่อมต่อ WiFi การเรียก Dark Sky API และการตั้งค่าสำหรับการแสดงผล PyPortal ไม่มีการแก้ไขใด ๆ ที่คุณต้องทำกับไฟล์นี้

darksky.py

สคริปต์นี้เรียกจากรหัสหลัก นี่คือที่ที่เราแยกวิเคราะห์การเรียก Dark Sky API ตั้งค่าตำแหน่งข้อความบนจอแสดงผล PyPortal กำหนดไอคอนที่จะแสดง และส่งข้อมูล API ไปยังสถานะเริ่มต้น ไม่มีการปรับเปลี่ยนใด ๆ ที่คุณต้องทำที่นี่

secrets.py

นี้จะเก็บรหัสผ่านและคีย์การเข้าถึงทั้งหมดของคุณ คุณจะต้องอัปเดตรายการเกือบทั้งหมดในเอกสารนี้ คุณจะต้องป้อนชื่อ WiFi, รหัสผ่าน WiFi, เขตเวลา, คีย์ Dark Sky API, คีย์การเข้าถึงสถานะเริ่มต้น, ลองจิจูดและละติจูด, ชื่อเมืองและรัฐ, ชื่อผู้ใช้ Adafruit IO และคีย์ Adafruit IO เมื่อคุณป้อนและบันทึกรหัสทั้งหมดแล้วควรทำงานโดยไม่มีข้อผิดพลาด

ห้องสมุด

นี่คือไลบรารีที่จำเป็นในการรัน PyPortal และโมดูล

แบบอักษร

นี่คือแบบอักษรที่ใช้แสดงข้อมูลสภาพอากาศบน PyPortal

ไอคอน

นี่คือไอคอนต่างๆ ที่แสดงเป็นรูปภาพบน PyPortal ตามสภาพอากาศปัจจุบัน

ขั้นตอนที่ 5: PyPortal

PyPortal
PyPortal

เมื่อโค้ดของคุณทำงานแล้ว PyPortal ของคุณจะแสดงเมืองและรัฐ เวลา สรุปสภาพอากาศปัจจุบันและไอคอนที่จะจับคู่ และอุณหภูมิในฟาเรนไฮต์

คุณสามารถปรับขนาดและตำแหน่งของข้อความที่แสดงในสคริปต์ Dark Sky หากคุณต้องการใช้ไอคอนต่างๆ คุณจะต้องบันทึกเป็นชื่อที่ถูกต้องและใส่ไว้ในโฟลเดอร์ไอคอน รายการแสดงผลใด ๆ สามารถปรับได้ คุณยังสามารถเปลี่ยนสิ่งที่คุณแสดงได้อีกด้วย สิ่งที่คุณต้องทำคือแยกวิเคราะห์ส่วนอื่นของการเรียก Dark Sky API และจะแสดงแทนการสรุปอุณหภูมิหรือสภาพอากาศ

ขั้นตอนที่ 6: แดชบอร์ดสถานะเริ่มต้น

แดชบอร์ดสถานะเริ่มต้น
แดชบอร์ดสถานะเริ่มต้น

ไปที่บัญชี Initial State ของคุณและดูข้อมูลของคุณ ฉันจับคู่ไอคอนอุณหภูมิและสภาพอากาศกับอิโมจิ ทำค่าอุณหภูมิเป็นกราฟเกจเทอร์โมมิเตอร์ ทำความชื้นเป็นกราฟเกจระดับของเหลว ทำดัชนี UV เป็นกราฟแท่งที่มีเกณฑ์สี และสร้างกราฟเส้นของความชื้น อุณหภูมิ และดัชนียูวี.'

คุณสามารถเพิ่มภาพพื้นหลังลงในแดชบอร์ดสภาพอากาศเพื่อให้แดชบอร์ดมีลักษณะเฉพาะตัวมากขึ้น

หากคุณต้องการใช้เค้าโครงแดชบอร์ดจากการแชร์สาธารณะเป็นแดชบอร์ดของคุณ คุณสามารถนำเข้าเค้าโครงไปยังที่เก็บข้อมูลของคุณโดยทำตามคำแนะนำที่นี่

URL การแชร์สาธารณะสำหรับแดชบอร์ดของเราคือ

ตอนนี้คุณไม่เพียงมีแดชบอร์ดสภาพอากาศเพียงรายการเดียว แต่มีสองรายการและบันทึกข้อมูลสภาพอากาศ

แนะนำ: