สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ย้อนกลับไปเมื่อปลายเดือนกุมภาพันธ์ ฉันเห็นโพสต์นี้ในไซต์ Raspberry Pi
www.raspberrypi.org/school-weather-station-…
พวกเขาได้สร้างสถานีตรวจอากาศ Raspberry Pi สำหรับโรงเรียน ฉันต้องการอย่างใดอย่างหนึ่ง! แต่ในขณะนั้น (และฉันเชื่อว่าในขณะที่เขียนสิ่งนี้) พวกเขาไม่เปิดเผยต่อสาธารณะ (คุณต้องอยู่ในกลุ่มผู้ทดสอบที่ได้รับการคัดเลือก) ฉันต้องการและฉันไม่รู้สึกว่าต้องใช้เงินหลายร้อยดอลลาร์สำหรับระบบของบุคคลที่สามที่มีอยู่
ดังนั้น เช่นเดียวกับผู้ใช้ที่สอนได้ดี ฉันจึงตัดสินใจทำด้วยตัวเอง!!!
ฉันได้ค้นคว้าเพียงเล็กน้อยและพบว่ามีระบบการค้าที่ดีที่สามารถนำไปใช้ได้ ฉันพบคำแนะนำที่ดีบางอย่างเพื่อช่วยในแนวคิดของ Sensor หรือ Raspberry PI ฉันยังพบไซต์นี้ซึ่งจ่ายสกปรก พวกเขาต้องทำลายระบบ Maplin ที่มีอยู่:
www.philpot.me/weatherinsider.html
กรอไปข้างหน้าประมาณหนึ่งเดือนและฉันมีระบบการทำงานพื้นฐาน นี่คือระบบ Raspberry Pi Weather ที่สมบูรณ์โดยมีเพียงฮาร์ดแวร์กล้อง Raspberry Pi พื้นฐานและเซ็นเซอร์อนาล็อกและดิจิตอลบางตัวเพื่อทำการวัดของเรา ไม่ต้องซื้อเครื่องวัดความเร็วลมหรือเครื่องวัดปริมาณน้ำฝน เรากำลังผลิตขึ้นเอง! นี่คือคุณสมบัติ:
- บันทึกข้อมูลไปยัง RRD และ CSV จึงสามารถจัดการหรือส่งออก/นำเข้าไปยังรูปแบบอื่นได้
- ใช้ Weather Underground API เพื่อรับข้อมูลที่น่าสนใจ เช่น จุดสูงสุดและต่ำสุดในอดีต ข้างขึ้นข้างแรม และพระอาทิตย์ขึ้น/พระอาทิตย์ตก
- ใช้กล้อง Raspberry Pi เพื่อถ่ายภาพนาทีละครั้ง (จากนั้นคุณสามารถใช้เพื่อสร้างไทม์แลปส์ได้)
- มีหน้าเว็บที่แสดงข้อมูลสำหรับสภาวะปัจจุบันและประวัติบางส่วน (ชั่วโมง, วัน, 7 วัน, เดือน, ปีล่าสุด) ธีมของเว็บไซต์จะเปลี่ยนไปตามช่วงเวลาของวัน (4 ตัวเลือก: พระอาทิตย์ขึ้น พระอาทิตย์ตก กลางวันและกลางคืน)
ซอฟต์แวร์ทั้งหมดสำหรับบันทึกและแสดงข้อมูลอยู่ใน Github ฉันได้ทำการติดตามจุดบกพร่อง คำขอคุณสมบัติในนั้นด้วย:
github.com/kmkingsbury/raspberrypi-weather…
โครงการนี้เป็นประสบการณ์การเรียนรู้ที่ยอดเยี่ยมสำหรับฉัน ฉันต้องดำดิ่งสู่ความสามารถของ Raspberry Pi โดยเฉพาะอย่างยิ่งกับ GPIO และฉันก็พบกับจุดที่เจ็บปวดเช่นกัน ฉันหวังว่าคุณผู้อ่านจะได้เรียนรู้จากการทดลองและความยากลำบากบางอย่างของฉัน
ขั้นตอนที่ 1: วัสดุ
อิเล็กทรอนิกส์:
- สวิตช์กก 9 อัน (8 สำหรับทิศทางลม 1 สำหรับมาตรวัดปริมาณน้ำฝน หรือ 1 สำหรับความเร็วลมแทนเซ็นเซอร์ฮอลล์) ฉันใช้สิ่งเหล่านี้:
- 1 Hall Sensor (สำหรับความเร็วลมเรียกว่าเครื่องวัดความเร็วลม) -
- อุณหภูมิ (https://amzn.to/2RIHf6H)
- ความชื้น (เซ็นเซอร์ความชื้นจำนวนมากมาพร้อมกับเซ็นเซอร์อุณหภูมิ) ฉันใช้ DHT11:
- ความดัน (BMP มาพร้อมกับเซ็นเซอร์อุณหภูมิด้วย) ฉันใช้ BMP180 https://www.adafruit.com/product/1603 ผลิตภัณฑ์นี้เลิกผลิตแล้ว แต่มีเทียบเท่ากับ BMP280 (https://amzn.to/2E8nmhi)
- โฟโตรีซีสเตอร์ (https://amzn.to/2seQFwd)
- ชิป GPS หรือ USB GPS (https://amzn.to/36tZZv3)
- แม่เหล็กแรงสูง 4 อัน (2 สำหรับเครื่องวัดความเร็วลม 1 สำหรับทิศทาง 1 สำหรับมาตรวัดปริมาณน้ำฝน) ฉันใช้แม่เหล็กหายาก ขอแนะนำ) (https://amzn.to/2LHBoKZ)
- ตัวต้านทานสารพันจำนวนหนึ่ง ฉันมีชุดนี้ซึ่งพิสูจน์แล้วว่ามีประโยชน์อย่างยิ่งเมื่อเวลาผ่านไป:
-
MCP3008 - เพื่อแปลงอินพุตอนาล็อกเป็นดิจิตอลสำหรับ Raspberry Pi -
ฮาร์ดแวร์
- Raspberry Pi - เดิมทีฉันใช้ 2 ตัวกับอแดปเตอร์ไร้สาย ตอนนี้ได้ 3 B+ kit พร้อมอแดปเตอร์มาด้วย (https://amzn.to/2P76Mop)
- กล้อง Pi
- อะแดปเตอร์แปลงไฟขนาด 5V ที่ทนทาน (กลายเป็นว่าน่ารำคาญมาก ในที่สุดฉันก็ได้ Adafruit มา มิฉะนั้น กล้องจะดึงน้ำมากเกินไปและ/จะแขวน Pi ได้ที่นี่: https://www.adafruit.com/products /501)
วัสดุ:
- ตลับลูกปืนกันรุน 2 อัน (หรือตลับลูกปืนสเก็ตบอร์ดหรือโรลเลอร์สเก็ตก็ใช้ได้เช่นกัน) ฉันได้รับใน Amazon:
- ตู้กันน้ำ 2 ตู้ (ฉันใช้ตู้ไฟฟ้าจากร้านกล่องใหญ่ในท้องที่) ไม่สำคัญหรอก แค่ต้องหาตู้ขนาดพอเหมาะที่จะมีพื้นที่เพียงพอและปกป้องทุกอย่างได้)
- ท่อพีวีซีและฝาท้ายบางรุ่น (หลายขนาด)
- ขายึดพีวีซี
- แผ่นลูกแก้วบาง ๆ สองสามแผ่น (ไม่มีอะไรหรูหราเกินไป)
- พลาสติกขัดแย้ง
- สกรูขนาดเล็ก (ฉันใช้สลักเกลียวและน็อต #4)
- เครื่องประดับต้นคริสต์มาสพลาสติก 2 ชิ้น - ใช้สำหรับเครื่องวัดความเร็วลม ฉันได้ของฉันที่ล็อบบี้งานอดิเรกในท้องถิ่น
- เดือยขนาดเล็ก
- ไม้อัดชิ้นเล็ก.
เครื่องมือ:
- เดรเมล
- ปืนกาว
- หัวแร้ง
- มัลติมิเตอร์
- เจาะ
ขั้นตอนที่ 2: สิ่งที่แนบมาหลัก - Pi, GPS, กล้อง, Light
ตู้หลักประกอบด้วย PI, กล้อง, GPS และเซ็นเซอร์วัดแสง ได้รับการออกแบบมาให้กันน้ำได้เนื่องจากมีส่วนประกอบที่สำคัญทั้งหมด การวัดใช้จากตัวเครื่องระยะไกล และส่วนประกอบได้รับการออกแบบให้เปิดเผย/เปิดออกสู่องค์ประกอบต่างๆ
ขั้นตอน:
เลือกตู้ ฉันใช้กล่องรวมสัญญาณไฟฟ้า กล่องโปรเจ็กต์ต่างๆ และเคสกันน้ำก็ใช้ได้เช่นกัน ประเด็นสำคัญคือมีพื้นที่เพียงพอสำหรับเก็บทุกอย่าง
เอกสารแนบของฉันประกอบด้วย:
- The raspberry pi (บน standoffs) - ต้องการชิป WIFI ไม่ต้องการใช้ Cat5e เข้าไปในสนามหลังบ้าน!
- กล้อง (ยังขัดแย้ง)
- ชิป GPS เชื่อมต่อผ่าน USB (โดยใช้สาย sparkfun FTDI: https://www.sparkfun.com/products/9718) - GPS ให้ละติจูดและลองจิจูดซึ่งก็ดี แต่ที่สำคัญกว่านั้นคือได้เวลาที่แม่นยำจาก จีพีเอส!
- แจ็คอีเทอร์เน็ต/cat 5 สองตัวเพื่อเชื่อมต่อกล่องหุ้มหลักกับกล่องหุ้มอื่นที่มีเซ็นเซอร์ตัวอื่น นี่เป็นเพียงวิธีที่สะดวกในการใช้สายเคเบิลระหว่างกล่องทั้งสอง ฉันมีสายไฟประมาณ 12 เส้น และ cat5 สองตัวมีการเชื่อมต่อที่เป็นไปได้ 16 เส้น ดังนั้นฉันจึงมีพื้นที่สำหรับขยาย/เปลี่ยนแปลงสิ่งต่างๆ
มีหน้าต่างอยู่ด้านหน้าตู้ของฉันเพื่อให้กล้องมองออกไป เคสที่มีหน้าต่างนี้ช่วยปกป้องกล้อง แต่ฉันมีปัญหาที่ไฟ LED สีแดงบนกล้อง (เมื่อถ่ายภาพ) สะท้อนจากลูกแก้วและปรากฏขึ้นในภาพถ่าย ฉันใช้เทปสีดำเพื่อบรรเทาปัญหานี้และพยายามบล็อกมัน (และไฟ LED อื่นๆ จาก Pi และ GPS) แต่ยังไม่ 100%
ขั้นตอนที่ 3: 'กล่องควบคุมระยะไกล' สำหรับอุณหภูมิ ความชื้น ความดัน
นี่คือที่ที่ฉันจัดเก็บเซ็นเซอร์อุณหภูมิ ความชื้น และความดัน รวมถึง "ส่วนต่อ" สำหรับมาตรวัดปริมาณน้ำฝน ทิศทางลม และเซ็นเซอร์ความเร็วลม
ทุกอย่างตรงไปตรงมามาก หมุดที่นี่เชื่อมต่อผ่านสายอีเธอร์เน็ตกับหมุดที่จำเป็นบน Raspberry Pi
ฉันพยายามใช้เซ็นเซอร์ดิจิทัลในจุดที่ฉันทำได้ จากนั้นเพิ่มอะนาล็อกใดๆ ลงใน MCP 3008 ซึ่งใช้อะนาล็อกสูงสุด 8 ตัว ซึ่งมากเกินพอสำหรับความต้องการของฉัน แต่ให้พื้นที่ในการปรับปรุง/ขยาย
ตู้นี้เปิดสู่อากาศ (ต้องมีอุณหภูมิ ความชื้น และความดันที่ถูกต้อง) รูด้านล่างโผล่ออกมา ดังนั้นฉันจึงให้สเปรย์เคลือบซิลิโคน Conformal Coating ให้กับวงจรบางส่วน (คุณสามารถสั่งซื้อทางออนไลน์หรือที่อื่นเช่น Fry's Electronics) หวังว่ามันจะป้องกันโลหะจากความชื้นได้ แม้ว่าคุณจะต้องระวังและอย่าใช้กับเซ็นเซอร์บางตัว
ด้านบนของกล่องหุ้มยังเป็นตำแหน่งที่เซ็นเซอร์วัดความเร็วลมพอดี มันเป็นการโยนทิ้ง ฉันสามารถใส่ความเร็วลมหรือทิศทางลมไว้ด้านบนได้ ฉันไม่เห็นข้อดีที่สำคัญของข้อใดข้อหนึ่งเหนือสิ่งอื่นใด โดยรวมแล้ว คุณต้องการให้เซ็นเซอร์ทั้งสอง (ไดร์ลมและความเร็ว) สูงพอที่อาคาร รั้ว สิ่งกีดขวางจะไม่รบกวนการวัด
ขั้นตอนที่ 4: เกจวัดปริมาณน้ำฝน
ฉันทำตามคำแนะนำนี้เป็นหลักเพื่อสร้างมาตรวัดจริง:
www.instructables.com/id/Arduino-Weather-St…
ฉันทำสิ่งนี้จากลูกแก้วเพื่อที่ฉันจะได้เห็นว่าเกิดอะไรขึ้นและฉันคิดว่ามันจะเจ๋ง โดยรวมแล้วลูกแก้วใช้งานได้ปกติ แต่เมื่อรวมกับปืนกาว น้ำยาเคลือบหลุมร่องฟัน การตัดและการเจาะโดยรวม ก็ไม่ได้ดูไร้ที่ติ แม้จะติดฟิล์มกันรอยก็ตาม
ประเด็นสำคัญ:
- เซ็นเซอร์เป็นสวิตช์กกอย่างง่ายและแม่เหล็กเหมือนการกดปุ่มในรหัส RaspberryPi ฉันนับถังอย่างง่าย ๆ เมื่อเวลาผ่านไปแล้วทำการแปลงเป็น "นิ้วของฝน" ในภายหลัง
- ทำให้ใหญ่พอที่จะเก็บน้ำได้มากพอที่จะทิปได้ แต่ไม่มากจนต้องใช้มากจึงจะให้ทิป รอบแรกของฉัน ฉันทำให้แต่ละถาดไม่ใหญ่พอที่จะเติมและเริ่มระบายออกทางขอบก่อนที่จะพลิกคว่ำ
- ฉันยังพบว่าน้ำที่เหลือสามารถเพิ่มข้อผิดพลาดในการวัดได้ ความหมายคือ แห้งสนิทต้องใช้ X หยดเพื่อเติมด้านหนึ่งและให้ทิป เมื่อเปียกแล้วจึงใช้ Y หยด (ซึ่งน้อยกว่า X) เพื่อเติมและให้ทิป มีไม่มากแต่ได้รับผลกระทบเมื่อพยายามสอบเทียบและรับการวัด "1 โหลดเท่ากับเท่าใด" ที่ดี
- ทำให้สมดุล คุณสามารถโกงได้โดยเพิ่มกาวปืนกาวที่ปลายด้านล่างหากด้านหนึ่งหนักกว่าอีกข้างมาก แต่คุณต้องการให้สมดุลที่สุดเท่าที่จะทำได้
- คุณสามารถเห็นในภาพที่ฉันติดตั้งอุปกรณ์ทดสอบขนาดเล็กโดยใช้ฟองน้ำและที่ยึดไม้เพื่อทดสอบและปรับสมดุลให้เหมาะสมก่อนทำการติดตั้ง
ขั้นตอนที่ 5: ทิศทางลม
นี่เป็นใบพัดสภาพอากาศที่เรียบง่าย ฉันใช้อุปกรณ์อิเล็กทรอนิกส์จากระบบ Maplin:
www.philpot.me/weatherinsider.html
ประเด็นสำคัญ:
นี่คือเซ็นเซอร์อะนาล็อก สวิตช์กกแปดตัวที่รวมกับตัวต้านทานต่างๆ แบ่งเอาต์พุตออกเป็นชิ้นๆ เพื่อให้ฉันสามารถระบุพิกัดที่เซ็นเซอร์อยู่ในค่าได้ (แนวคิดอธิบายไว้ในคำแนะนำนี้:
- หลังจากขันสกรูเข้ากับส่วนใบพัดสภาพอากาศแล้ว คุณต้องปรับเทียบเพื่อให้ "ทิศทางนี้ชี้ไปทางทิศเหนือ"
- ฉันสร้างแท่นทดสอบด้วยไม้เพื่อที่ฉันจะได้เปลี่ยนตัวต้านทานเข้าและออกได้อย่างง่ายดายซึ่งครอบคลุมค่าต่างๆ ทั้งหมดสำหรับฉัน ซึ่งมีประโยชน์มาก!
- ฉันใช้ตลับลูกปืนกันรุน มันใช้งานได้ดี ฉันแน่ใจว่าตลับลูกปืนสเก็ตบอร์ดหรือโรลเลอร์สเกตทั่วไปก็ใช้ได้ดีเช่นเดียวกัน
ขั้นตอนที่ 6: ความเร็วลม
อันนี้ฉันหันไปหาชุมชนที่สอนได้อีกครั้งและพบและปฏิบัติตามคำแนะนำนี้:
www.instructables.com/id/Data-Logging-Anemo…
ประเด็นสำคัญ:
- คุณสามารถใช้เซ็นเซอร์ฮอลล์หรือเปลี่ยนเป็นเซ็นเซอร์รีดได้เช่นกัน เซ็นเซอร์ Hall เป็นเซ็นเซอร์อะนาล็อกมากกว่า ดังนั้นหากคุณใช้งานในรูปแบบดิจิทัล เช่น การกดปุ่ม คุณต้องแน่ใจว่าค่าที่อ่าน/แรงดันไฟฟ้าสูงพอที่จะทำหน้าที่เหมือนการกดปุ่มจริง มากกว่าไม่เพียงพอ.
- ขนาดของถ้วยก็สำคัญ ความยาวของไม้ก็เช่นกัน! เดิมทีฉันใช้ลูกปิงปองและมันเล็กเกินไป ฉันยังใส่มันไว้บนแท่งยาวซึ่งใช้งานไม่ได้เช่นกัน ฉันหงุดหงิดมากและเจอคำแนะนำนั้น Ptorelli อธิบายได้ดีมาก และมันช่วยฉันได้เมื่อการออกแบบดั้งเดิมของฉันไม่ได้ผลเช่นกัน
ขั้นตอนที่ 7: ซอฟต์แวร์
ซอฟต์แวร์เขียนด้วยภาษา Python เพื่อบันทึกข้อมูลจากเซ็นเซอร์ ฉันใช้ไลบรารี Git ของบุคคลที่สามจาก Adafruit และอื่นๆ เพื่อรับข้อมูลจากเซ็นเซอร์และ GPS นอกจากนี้ยังมีงาน cron ที่ดึงข้อมูล API บางส่วนเช่นกัน ส่วนใหญ่จะอธิบาย/อธิบายไว้ในเอกสารประกอบ Git ที่ docs/install_notes.txt
ซอฟต์แวร์เว็บอยู่ใน PHP เพื่อแสดงบนเว็บเพจในขณะที่ใช้ YAML สำหรับไฟล์ปรับแต่งและแน่นอนว่าเครื่องมือ RRD เพื่อจัดเก็บและสร้างกราฟข้อมูล
มันใช้ Weather Underground API เพื่อรับข้อมูลที่น่าสนใจบางอย่างที่เซ็นเซอร์ไม่สามารถดึงได้: บันทึก Hi's และ Lows, Phase of the Moon, Sunset และ Sunrise นอกจากนี้ยังมี Tides ที่มีอยู่ใน API ซึ่งฉันคิดว่าเรียบร้อยมาก แต่ฉันอาศัยอยู่ในออสติน เท็กซัส ซึ่งอยู่ไกลจากน้ำมาก
ทั้งหมดนี้มีอยู่ใน Github และได้รับการดูแลอย่างแข็งขันและกำลังถูกใช้ในขณะที่ฉันปรับแต่งและปรับเทียบระบบของฉันเองเพิ่มเติม ดังนั้นคุณจึงสามารถส่งคำขอคุณลักษณะและรายงานข้อบกพร่องได้เช่นกัน
ซอฟต์แวร์จะผ่านการเปลี่ยนธีมขึ้นอยู่กับช่วงเวลาของวัน มี 4 ขั้นตอน หากเวลาปัจจุบันคือ + หรือ - 2 ชั่วโมงนับจากพระอาทิตย์ขึ้นหรือพระอาทิตย์ตก คุณจะได้รับธีมพระอาทิตย์ขึ้นและพระอาทิตย์ตกตามลำดับ (ตอนนี้เป็นเพียงพื้นหลังที่แตกต่างกัน ฉันอาจจะใช้สีแบบอักษร/เส้นขอบที่แตกต่างกันในอนาคต) ในทำนองเดียวกันนอกช่วงเหล่านั้นจะให้ธีมกลางวันหรือกลางคืน
ขอบคุณสำหรับการอ่าน หากคุณต้องการดูรูปภาพและวิดีโอเพิ่มเติมเกี่ยวกับโครงการของฉัน ให้ลองดูช่อง Instagram และ YouTube ของฉัน
รางวัลที่สามในการประกวด Pi/e Day