Pysmartweatherudp
โมดูล Python 2 และ 3 ในการโต้ตอบผ่าน UDP ด้วยสถานีอากาศอัจฉริยะจาก Weatherflow
โมดูลนี้สื่อสารกับสถานีอากาศบ้านอัจฉริยะจาก บริษัท Weatherflow โดยใช้ UDP API มันดึงข้อมูลสภาพอากาศในปัจจุบันจากหน่วยที่แนบมา ปัจจุบันมีสามประเภท:
- อากาศ - หน่วยนี้วัดอุณหภูมิความชื้นความดันและการโจมตีด้วยฟ้าผ่า
- Sky - หน่วยนี้วัดปริมาณน้ำฝนลมความสว่างและ UV
- Tempest - หน่วยนี้รวมหน่วยอากาศและท้องฟ้าเข้ากับอุปกรณ์เดียว
พวกเขาทั้งหมดถูกแนบไปกับศูนย์กลางกลางที่ถ่ายทอดข้อมูลผ่าน UDP และส่งข้อมูลไปยังฐานข้อมูลคลาวด์ที่จัดการโดย WeatherFlow โมดูลนี้ดึงข้อมูลโดยการฟังการออกอากาศ UDP บนเครือข่ายท้องถิ่น
มีการออกอากาศหลายครั้งที่ถูกส่งขึ้นอยู่กับสถานี โมดูลนี้ประมวลผลสี่รายการ:
- rapid_wind - นี่มีความเร็วลมและแบริ่งปัจจุบันและได้รับการปรับปรุงทุก 3 วินาที
- obs_air - ที่นี่เราได้รับอุณหภูมิความชื้นความดันและการโจมตีด้วยฟ้าผ่า สิ่งนี้จะส่งข้อมูลทุกนาที
- obs_sky - นี่คือที่ที่เราได้รับการเร่งรัดลมความส่องสว่างและ UV ยังออกอากาศทุกนาที
- obs_st - นี่คือ Tempest ใหม่ทั้งหมดในสถานีสภาพอากาศหนึ่งและรวมข้อมูลอากาศ/ท้องฟ้าเป็นข้อความเดียวที่ส่งออกทุกนาที
หมายเหตุ: หน่วย Tempest จะส่งคืนแรงดันแบตเตอรี่ทั้งในเซ็นเซอร์ SkyBattery และ Airbattery
ฟังก์ชั่นถูกสร้างขึ้นโดยเฉพาะเพื่อใช้กับผู้ช่วยที่บ้านดังนั้นข้อมูลจะถูกจัดรูปแบบให้เหมาะสม แต่มันอาจถูกแก้ไขได้อย่างง่ายดายสำหรับวัตถุประสงค์อื่น
ฟังก์ชั่น
โมดูลเปิดเผยฟังก์ชั่นต่อไปนี้:
swreceiver (โฮสต์, พอร์ต, หน่วย)
สิ่งนี้จะส่งคืนคลาสข้อมูลด้วยข้อมูลทั้งหมดที่รวบรวมจากสถานีเฉพาะ
เจ้าภาพ
(สตริง) (ไม่บังคับ) ที่อยู่ IP ที่จะฟัง
ค่าเริ่มต้น: 0.0.0.0 (ที่อยู่ IP ทั้งหมด)
ท่าเรือ
(จำนวนเต็ม) (ไม่บังคับ) พอร์ตการออกอากาศเพื่อฟัง WeatherFlow ส่งข้อมูลไปยังพอร์ต 50222 เท่านั้น
ค่าเริ่มต้น: 50222
หน่วย
(สตริง) (ไม่บังคับ) ระบบหน่วยที่จะใช้ เมตริกหรือจักรวรรดิ
ค่าเริ่มต้น: ตัวชี้วัด
คำจำกัดความของคลาสข้อมูล
- Timestamp - เวลาของการอัปเดตครั้งล่าสุดในช่วงเวลา
- อุณหภูมิ - อุณหภูมิปัจจุบัน หมายเหตุ: เนื่องจากโมดูลนี้ได้รับการออกแบบให้ใช้กับผู้ช่วยที่บ้านจะไม่มีการแปลงอุณหภูมิเกิดขึ้นแม้ว่า หน่วย จะถูกจัดส่งเมื่อโทรโมดูล อุณหภูมิมักจะเป็นเซลเซียส
- รู้สึกเหมือนอยู่ - อุณหภูมิรู้สึกอย่างไร การรวมกันของดัชนีความร้อนและความเย็นของลม
- Heat_index - การวัดอุณหภูมิรวมความชื้นและอุณหภูมิ รู้สึกร้อนแค่ไหน ใช้เฉพาะเมื่ออุณหภูมิสูงกว่า 26.67 ° C (80 ° F)
- Wind_chill - รู้สึกเย็นแค่ไหน ใช้เฉพาะเมื่ออุณหภูมิต่ำกว่า 10 ° C (50 ° F)
- DEWPOINT - DEWPOINT อุณหภูมิบรรยากาศ (แตกต่างกันไปตามความดันและความชื้น) ด้านล่างหยดน้ำที่เริ่มกลั่นตัวและน้ำค้างสามารถเกิดขึ้นได้
- wind_speed - ความเร็วลมเฉลี่ยสำหรับนาทีสุดท้าย
- wind_speed_rapid - ความเร็วลมปัจจุบัน
- Wind_Gust - ความเร็วลมสูงสุดในนาทีสุดท้าย
- wind_lull - ความเร็วลมต่ำที่สุดในนาทีสุดท้าย
- wind_bearing - แบริ่งลมเฉลี่ยในองศาในนาทีสุดท้าย (ตัวอย่าง: 287 °)
- wind_bearing_rapid - แบริ่งลมปัจจุบันในองศา (ตัวอย่าง: 287 °)
- wind_direction - แบริ่งลมเป็นข้อความทิศทาง (ตัวอย่าง: NNW)
- การเร่งรัด - การเร่งรัดตั้งแต่เที่ยงคืน เนื่องจากลักษณะของข้อมูล UDP ตัวเลขนี้จะถูกคำนวณในหน่วยความจำ ดังนั้นหากโมดูลรีสตาร์ทตัวนับกลับไปที่ 0 โชคไม่ดีที่ไม่สามารถติดตามข้อมูลได้หลังจากรีสตาร์ท
- precipitation_rate - อัตราการตกตะกอนในปัจจุบัน - 0 ถ้าไม่ตก
- ความชื้น - ความชื้นในปัจจุบันใน %
- ความดัน - แรงดันบารอมิเตอร์ในปัจจุบันเข้ามาในตำแหน่งของสถานี
- UV - ดัชนี UV
- SOLAR_RADIATION - รังสีพลังงานแสงอาทิตย์ในปัจจุบันที่วัดใน W/M2
- Illuminance - แสดงความสว่างใน Lux
- Lightning_count - แสดงจำนวนการโจมตีด้วยฟ้าผ่าในนาทีสุดท้าย
- Airbattery - แรงดันไฟฟ้าปัจจุบันของหน่วยอากาศ
- Skybattery - แรงดันไฟฟ้าปัจจุบันของหน่วยท้องฟ้า