สารบัญ:

Arduino WiFi Wireless Weather Station Wunderground: 10 ขั้นตอน (พร้อมรูปภาพ)
Arduino WiFi Wireless Weather Station Wunderground: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino WiFi Wireless Weather Station Wunderground: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino WiFi Wireless Weather Station Wunderground: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ESP8266 weather station 2024, กรกฎาคม
Anonim
สถานีตรวจอากาศไร้สาย Arduino WiFi Wunderground
สถานีตรวจอากาศไร้สาย Arduino WiFi Wunderground

ในคำแนะนำนี้ ฉันจะแสดงวิธีสร้างสถานีตรวจอากาศไร้สายส่วนบุคคลโดยใช้ Arduino

สถานีตรวจอากาศเป็นอุปกรณ์ที่รวบรวมข้อมูลที่เกี่ยวข้องกับสภาพอากาศและสิ่งแวดล้อมโดยใช้เซ็นเซอร์ต่างๆ เราสามารถวัดได้หลายอย่างเช่น:

  • อุณหภูมิ
  • ความชื้น
  • ลม
  • ความดันบรรยากาศ
  • ดัชนีรังสียูวี
  • ฝน

แรงบันดาลใจของฉันในการสร้างสถานีตรวจอากาศนี้คือ Greg จาก www.cactus.io Davis เครื่องวัดความเร็วลม, เครื่องวัดความเร็วลมและเครื่องวัดฝน Arduino ลิขสิทธิ์โค้ดลิขสิทธิ์เป็นของเขา

ฉันใช้ Arduino Uno เป็นเมนบอร์ด

โมดูล ESP8266 WiFi จะส่งข้อมูลไปที่ www.wunderground.com

Weather Underground เป็นบริการสภาพอากาศเชิงพาณิชย์ที่ให้ข้อมูลสภาพอากาศแบบเรียลไทม์ผ่านทางอินเทอร์เน็ต

ฉันจะใช้เซ็นเซอร์เหล่านี้:

  • อุณหภูมิ - ดัลลาส DS18B20
  • ความชื้น ความดัน - BME280
  • ยูวี พลังงานแสงอาทิตย์ - ML8511
  • เครื่องวัดความเร็วลมและทิศทางลม - Davis 6410
  • เกจวัดปริมาณน้ำฝน - Ventus W174

ขั้นตอนที่ 1: อะไหล่

อะไหล่
อะไหล่
อะไหล่
อะไหล่
อะไหล่
อะไหล่

ชิ้นส่วนที่จำเป็นในการสร้างโครงการนี้มีดังต่อไปนี้:

  1. Arduino Uno
  2. ESP8266 ESP-01 หรือ ESP-12
  3. BME280
  4. ML8511
  5. เดวิส 6410
  6. เวนตุส W174

ขั้นตอนที่ 2: แผนผังและแผนภาพการเดินสายไฟ

แผนผังและแผนผังสายไฟ
แผนผังและแผนผังสายไฟ

ขั้นตอนที่ 3: PCB Arduino Uno Weather Station Shield

PCB Arduino Uno สถานีตรวจอากาศ ชิลด์
PCB Arduino Uno สถานีตรวจอากาศ ชิลด์
PCB Arduino Uno สถานีตรวจอากาศ ชิลด์
PCB Arduino Uno สถานีตรวจอากาศ ชิลด์
PCB Arduino Uno สถานีตรวจอากาศ ชิลด์
PCB Arduino Uno สถานีตรวจอากาศ ชิลด์

ออกแบบแผงวงจรพิมพ์ (PCB) ผมใช้,, Sprint-Layout ซอฟต์แวร์ ส่งออกเป็นไฟล์ Gerber

ในการสร้างโล่สถานีตรวจอากาศ Arduino Uno คุณจะต้อง:

  1. ML8511 UVB UV Rays Sensor Breakout UV Light Sensor เอาต์พุตแบบอะนาล็อกสำหรับ Arduino Ebay
  2. โพรบความร้อนดิจิตอลกันน้ำหรือเซ็นเซอร์ DS18B20 เซ็นเซอร์ Arduino Ebay
  3. JST-XH Kit 4Pin 2.54mm Terminal Housing PCB Header Wire Connectors Ebay
  4. เซ็นเซอร์ความดันบรรยากาศ เซ็นเซอร์ความชื้นอุณหภูมิ Breakout BME280Ebay
  5. 1x ESP8266 ESP12F อีเบย์
  6. 1x 1k 0805 ตัวต้านทาน
  7. 1x 120R 0805 ตัวต้านทาน
  8. 8x 0R 1206 จัมเปอร์ (ตัวต้านทาน)
  9. กระดานทองแดง
  10. ตัวต้านทาน 2x 4.7K
  11. ตัวต้านทาน 1x 10k
  12. 1x3mm led
  13. 1x RJ45 ซ็อกเก็ต Ebay
  14. 1x 47uF ตัวเก็บประจุด้วยไฟฟ้า
  15. 1x 40pins ส่วนหัวของหมุด Ebay
  16. 1x ตัวควบคุมแรงดันไฟฟ้า Sot-223 Ams1117 Ams117-3.3 3.3V 1A Ebay
  17. 1x2.54mm Pitch Switch DIP 2 Ebay

ขั้นตอนที่ 4: Arduino Sensors Libraries, คู่มือและข้อมูลอื่นๆ

1) โครงการสถานีตรวจอากาศ Arduino www.cactus.io

2) คู่มือเครื่องวัดความเร็วลม Davis 6410

3) ไลบรารี่ Adafruit BME280 Driver (Barometric Pressure Sensor)

4) ห้องสมุด ML8511 UV Sensor

5) Arduino Library สำหรับวงจรรวมอุณหภูมิสูงสุด DS18B20 DS18S20 - โปรดทราบว่าซีรีส์นี้มีปัญหา DS1822 DS1820 MAX31820

6) ห้องสมุดสำหรับชิป Dallas/Maxim 1-Wire

7) Wunderground (โปรโตคอลอัปโหลดสถานีตรวจอากาศส่วนบุคคล)

feedback.weather.com/customer/en/portal/articles/2924682-pws-upload-protocol?b_id=17298&fbclid=IwAR3KTp6uTCxjdVCiXmoIvPpYdJHAtREcrRUaH41NJSM4k-LqnDaybckqxu8

8) สถานีตรวจอากาศ NodeMCU

ขั้นตอนที่ 5: การบัดกรี PCB

การบัดกรี PCB
การบัดกรี PCB
การบัดกรี PCB
การบัดกรี PCB
การบัดกรี PCB
การบัดกรี PCB

โล่สถานีตรวจอากาศ ฉันถูกโฆษณาในกรณี Raspberry Pi ฉันคิดว่ามันดูดีขึ้น

ขั้นตอนที่ 6: การติดตั้งสถานีตรวจอากาศส่วนบุคคล

การติดตั้งสถานีตรวจอากาศส่วนบุคคล
การติดตั้งสถานีตรวจอากาศส่วนบุคคล
การติดตั้งสถานีตรวจอากาศส่วนบุคคล
การติดตั้งสถานีตรวจอากาศส่วนบุคคล
การติดตั้งสถานีตรวจอากาศส่วนบุคคล
การติดตั้งสถานีตรวจอากาศส่วนบุคคล

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

การวัดลมมาตรฐานควรทำที่ความสูง 10 เมตรเหนือพื้นดิน หลังคาทำงานได้ดีที่สุดสำหรับฉัน

สถานีตรวจอากาศใช้พลังงานจากแผงโซลาร์เซลล์ ดังนั้นจึงเป็นอิสระ

ข้อผิดพลาดที่พบบ่อยที่สุดในการติดตั้งสถานีตรวจอากาศเกี่ยวข้องกับการวางเซ็นเซอร์เทอร์โมมิเตอร์ผิดตำแหน่ง นักอุตุนิยมวิทยากำหนดอุณหภูมิเป็นอุณหภูมิในร่มที่มีการระบายอากาศมาก เมื่อวางสถานีตรวจอากาศ ตรวจสอบให้แน่ใจว่า:

  • เซ็นเซอร์วัดอุณหภูมิจะไม่โดนแสงแดดโดยตรง
  • เทอร์โมมิเตอร์ได้รับการระบายอากาศอย่างเพียงพอและไม่ถูกปิดกั้นจากลม
  • หากวางเทอร์โมมิเตอร์ไว้บนหลังคา ตรวจสอบให้แน่ใจว่าอยู่เหนือหลังคาอย่างน้อย 1.5 เมตร
  • หากวางเทอร์โมมิเตอร์ไว้เหนือหญ้า อีกครั้ง ควรอยู่เหนือพื้นหญ้าอย่างน้อย 1.5 เมตร
  • เทอร์โมมิเตอร์อยู่ห่างจากพื้นผิวปูกระเบื้องที่ใกล้ที่สุดอย่างน้อย 15 เมตร

ดังนั้นฉันจึงใช้ที่พักพิงสภาพอากาศ ฉันทำจากท่อพีวีซี วิธีนี้จะทำให้สถานีตรวจอากาศถูกแสงแดดส่องถึงโดยตรง โดยมีเทอร์โมมิเตอร์อยู่ภายในที่พักพิง

ข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งสถานีตรวจอากาศที่นี่

ขั้นตอนที่ 7: คำสั่ง ESP8266 AT

ESP8266 คำสั่ง AT
ESP8266 คำสั่ง AT
ESP8266 คำสั่ง AT
ESP8266 คำสั่ง AT
ESP8266 คำสั่ง AT
ESP8266 คำสั่ง AT

ก่อนอื่นต้องเตรียมโมดูล wifi ESP8266 wifi เปลี่ยน CWMODE เป็น 1 = โหมดสถานี (ไคลเอนต์) และเชื่อมต่อ ESP8266 กับเราเตอร์ WiFi ของคุณ ฉันใช้อะแดปเตอร์อนุกรม usb เป็น ttl ต้องการเพียงเชื่อมต่อ 4 สาย (+3.3V, GND TX, RX)

หรือคุณสามารถใช้ Arduino เพื่อส่งคำสั่ง AT ไปยัง ESP8266

คำสั่ง AT:

ที่

AT+CWMODE?

AT+CWMODE=1

AT+CWJAP="ssd ของคุณ", "รหัสผ่าน"

คำสั่ง AT เพิ่มเติมที่นี่

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

1. ก่อนอัปโหลดโค้ดลงใน Arduino Uno ของคุณ ให้ลงทะเบียนใน wunderground.com เพื่อรับรหัสสถานี WU และคีย์/รหัสผ่าน

2. เปลี่ยน ID และคีย์ / รหัสผ่านนี้เป็นรหัส Arduino ของสถานีตรวจอากาศ

  • รหัสถ่าน = "xxxxxxxx"; // สถานีตรวจอากาศ wunderground ID
  • รหัสผ่านสตริง = "xxxxxxxx"; // รหัสผ่านสถานีตรวจอากาศ wunderground

3. เปลี่ยนระดับความสูงเพื่อให้ได้เครื่องวัดความดันสัมพัทธ์ (ม.)

4. #define DEBUG 1 // หากคุณตรวจสอบข้อมูลเซ็นเซอร์เท่านั้น

5. ฉันใช้เวลาวนรอบ 30 วินาทีในการส่งข้อมูลไปยัง Wunderground.com 25 วินาที ฉันจะใช้วัดความเร็วลม เวลาอื่นใช้สำหรับอ่านข้อมูลเซ็นเซอร์

ขั้นตอนที่ 9: ผลลัพธ์

ผลลัพธ์
ผลลัพธ์

มันทำงานและส่งข้อมูลเซ็นเซอร์ไปที่ Wunderground.com ฉันมีความสุขมาก;)

ขั้นตอนที่ 10: IoT Personal NodeMCU ESP12 WiFi สถานีตรวจอากาศไร้สาย V2

IoT ส่วนบุคคล NodeMCU ESP12 WiFi สถานีอากาศไร้สาย V2
IoT ส่วนบุคคล NodeMCU ESP12 WiFi สถานีอากาศไร้สาย V2

สถานีตรวจอากาศใหม่ เวอร์ชั่น v2 คลิก

แนะนำ: