สารบัญ:

ESP8266 Weather Widget: 9 ขั้นตอน (พร้อมรูปภาพ)
ESP8266 Weather Widget: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ESP8266 Weather Widget: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ESP8266 Weather Widget: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: EP.7 การใช้ฟังก์ชั่น วัน-เวลา จาก NTP กับ NodeMCU - แบบเรียนรู้ออนไลน์รายวิชา IoT 2024, พฤศจิกายน
Anonim
Image
Image

[เล่นวีดีโอ]

ยินดีต้อนรับสู่โครงการ Weather Widget ใหม่ของฉัน

คุณสามารถค้นหาโครงการทั้งหมดของฉันได้ที่:

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

นี่คือหน่วยแสดงผลสภาพอากาศที่ใช้ ESP8266 ซึ่งดึงข้อมูลสภาพอากาศที่แปลจาก https://www.wunderground.com/ โดย WLAN และแสดงบนจอแสดงผล OLED ขนาด 128x64

วิดเจ็ตแสดงสิ่งต่อไปนี้

1. เวลาปัจจุบันกับวันที่

2. ข้อมูลสภาพอากาศในปัจจุบัน เช่น อุณหภูมิ ความดัน ความชื้น และปริมาณน้ำฝน

3. พยากรณ์อนาคต 3 วัน

ฉันขอยกเครดิตให้เพื่อนของฉัน Dani Eichhorn ที่ทำส่วนการเขียนโปรแกรมทั้งหมด เขากำลังอัปเดตซอฟต์แวร์บนหน้า Github ของเขาเป็นประจำด้วยคุณสมบัติใหม่ คุณสามารถเยี่ยมชม SquixTechBlog เพื่อดูโครงการเพิ่มเติมใน ESP8266

ขั้นตอนที่ 1: อะไหล่และเครื่องมือที่จำเป็น

ชิ้นส่วนและเครื่องมือที่จำเป็น
ชิ้นส่วนและเครื่องมือที่จำเป็น

AmazonParts ที่ต้องการ:

1. ESP8266 -01 (อเมซอน)

2. ตัวเลือก NodeMCU ESP8266-12 (Amazon)

3. จอแสดงผล OLED (อเมซอน)

4. ตัวควบคุมแรงดันไฟฟ้า AMS1117 (Amazon)

5.แทคไทล์สวิตซ์ (อเมซอน)

6.สไลด์สวิตช์ (อเมซอน)

7.ตัวต้านทาน (10K และ 330R)

8.หัวเข็มตรงสองแถวตัวเมีย (Amazon)

9. หัวเข็มหมุดมุมขวาชาย (Amazon)

9.สายจัมเปอร์ (อเมซอน)

10.บอร์ดต้นแบบ (อเมซอน)

เครื่องมือที่จำเป็น:

1. หัวแร้ง (อเมซอน)

2.เครื่องตัดลวด (อเมซอน)

3.เครื่องปอกสายไฟ (อเมซอน)

ขั้นตอนที่ 2: การสร้างวงจร

การทำวงจร
การทำวงจร
การทำวงจร
การทำวงจร
การทำวงจร
การทำวงจร

ทำวงจรบนบอร์ดต้นแบบตามแผนผังที่แสดงด้านบน

สิ่งสำคัญคือบอร์ดนี้สามารถใช้สำหรับการเขียนโปรแกรมโมดูล ESP8266 -01 จาก Arduino IDE คุณสามารถใช้มันสำหรับโครงการของคุณ

วงจรทั้งหมดประกอบด้วยโมดูล ESP8266-01, จอแสดงผล OLED และส่วนประกอบอื่นๆ อีกเล็กน้อย

1. AMS1117: นี่คือตัวควบคุมแรงดันไฟฟ้าที่แปลง 5V เป็น 3.3V ที่จำเป็นสำหรับโมดูล ESP8266

2. Tactile Switch (S1): ใช้สำหรับรีเซ็ต ESP8266

3. Slide Switch (S2): ใช้สำหรับเปลี่ยนโหมดของ ESP8266 มีสองโหมด Normal และ Program Mode

4. ตัวต้านทาน: R1 เป็นตัวต้านทานแบบดึงขึ้น และ R2 เป็นตัวต้านทานจำกัดกระแส

5. Header CP2102: ใช้สำหรับตั้งโปรแกรม

6. Header Power: จ่ายไฟจากแบตเตอรี่ LiPo นี่เป็นทางเลือกหรือไม่ก็ได้ เนื่องจากคุณสามารถใช้พินสองพินของพอร์ตการเขียนโปรแกรมเพื่อจ่ายไฟได้

7. Header OLED: การเชื่อมต่อสำหรับ OLED Display

อัปเดตเมื่อ 2016-03-13: ไฟล์ PCB ใหม่

ขอบคุณเพื่อนของฉัน spilz ที่พยายามทำ PCB ที่ดีนี้ ตอนนี้คุณทำได้ด้วยการดาวน์โหลดไฟล์ Gerber ที่แนบมาด้านล่าง

ส่วนประกอบ PCB:

1. AMS: AMS1117-3.3

2. C1: 100nF

3. C2: 10uF

4. C3: 100nF

5. C4: 10uF

6. C5: 100nF

หมายเหตุ: มีการเพิ่มตัวต้านทาน R2 เพิ่มเติมใน PCB เพื่อป้องกัน ESP8266

สำหรับการปรับปรุงใด ๆ โปรดแนะนำ

ขั้นตอนที่ 3: ดาวน์โหลดและติดตั้งโปรแกรม

1. รหัส Arduino

ESP8266 สถานีตรวจอากาศ

2. ห้องสมุด:

Json Streaming Parser

ESP8266 Oled Driver สำหรับจอแสดงผล SSD1306

หลังจากดาวน์โหลดไลบรารี่ unzip และติดตั้งด้วย Arduino Library Manager ใน

ร่าง > รวมไลบรารี > จัดการไลบรารี…

3. บอร์ด ESP8266 บน Arduino IDE:

ในการติดตั้งบอร์ด ESP8266 บน Arduino IDE ของคุณ ให้ทำตามลิงก์ต่อไปนี้

github.com/esp8266/Arduino

Update เมื่อ 2/1/2559:

ตามความคิดเห็น ผู้คนจำนวนมากประสบปัญหาในการคอมไพล์โค้ด ฉันคิดว่าควรแชร์โค้ดในสิ่งที่ฉันใช้ดีกว่า คุณสามารถดาวน์โหลดไฟล์.zip ที่แนบมาด้านล่าง

ขั้นตอนที่ 4: รับคีย์ Weather API

รับคีย์ API ของสภาพอากาศ
รับคีย์ API ของสภาพอากาศ
รับคีย์ API ของสภาพอากาศ
รับคีย์ API ของสภาพอากาศ
รับคีย์ API ของสภาพอากาศ
รับคีย์ API ของสภาพอากาศ

ข้อมูลเรียลไทม์ของ Weather Station ที่ได้รับจากเว็บไซต์ Weather Underground (https://www.wunderground.com) ดังนั้นคุณต้องได้รับคีย์ Wunderground API ไม่มีค่าใช้จ่ายในการสมัครคีย์พื้นฐาน ซึ่งเพียงพอสำหรับความต้องการของเรา

ทำตามขั้นตอนด้านล่าง:

1. ไปที่ https://www.wunderground.com/weather/api/d/login.h… บัญชี Weather Underground ฟรี

2. ป้อนที่อยู่อีเมล รหัสผ่าน และหมายเลขอ้างอิง (ชื่อผู้ใช้) จากนั้นคลิกปุ่ม "ลงทะเบียน"

3. Weather Underground จะส่งอีเมลพร้อมลิงค์เปิดใช้งานให้คุณทันที คุณต้องคลิกลิงก์นี้ภายในอีเมลเพื่อเปิดใช้งานบัญชีของคุณ (คุณจะถูกนำกลับไปที่หน้าจอเข้าสู่ระบบ)

4. เข้าสู่ระบบ Weather Underground โดยใช้บัญชีที่คุณเพิ่งสร้างและเปิดใช้งาน

5. คลิกที่ปุ่ม "สำรวจตัวเลือกของฉัน" คลิกปุ่ม "ซื้อคีย์" ที่ด้านบนหรือด้านล่างของหน้า (ระบบจะไม่ถามวิธีการชำระเงิน)

6. Weather Underground จะขอให้คุณกรอกแบบฟอร์มง่ายๆ เพื่อดำเนินการตามคำขอของคุณ

เมื่อถูกถามว่าจะใช้ API ที่ไหน ให้ตอบว่า “อื่นๆ”

เมื่อถูกถามว่า API นั้นใช้เพื่อการค้าหรือไม่ ให้ตอบว่า “ไม่”

เมื่อถูกถามว่า API นั้นใช้สำหรับการประมวลผลชิปหรือไม่ ให้ตอบว่า “ไม่”

ขั้นตอนที่ 5: ตั้งค่าซอฟต์แวร์

ตั้งค่าซอฟต์แวร์
ตั้งค่าซอฟต์แวร์
ตั้งค่าซอฟต์แวร์
ตั้งค่าซอฟต์แวร์
ตั้งค่าซอฟต์แวร์
ตั้งค่าซอฟต์แวร์
ตั้งค่าซอฟต์แวร์
ตั้งค่าซอฟต์แวร์

หลังจากดาวน์โหลด Arduino Code แล้ว คุณต้องเปลี่ยนสิ่งต่อไปนี้

1.เปิดภาพร่างใน Arduino IDE

2.ป้อนคีย์ API ของ Wunderground

3. ป้อนข้อมูลรับรอง Wifi ของคุณ

4.ปรับตำแหน่งตาม Wunderground API เช่น อินเดีย กัลกัตตา

5. ปรับ UTC offset

ขั้นตอนที่ 6: อัปโหลดรหัส

อัพโหลดโค้ด
อัพโหลดโค้ด

เชื่อมต่อโปรแกรมเมอร์ FTDI ดังนี้

ESP8266 CP2102

Vcc Vcc

GND GND

Tx Rx

Rx Tx

เลื่อนสวิตช์ไปทางโหมดการเขียนโปรแกรม

ใน Arduino IDE ให้เลือกบอร์ดเป็น "Generic ESP8266 Module"

จากนั้นอัปโหลดรหัส

ขั้นตอนที่ 7: การทดสอบ

Image
Image
การทดสอบ
การทดสอบ
การทดสอบ
การทดสอบ
การทดสอบ
การทดสอบ

ตอนนี้ลบโปรแกรมเมอร์และการเชื่อมต่อ

เลื่อนสวิตช์ไปที่ตำแหน่งปกติ

เชื่อมต่อพาวเวอร์ซัพพลาย ฉันใช้แบตเตอรี่ LiPo สำหรับมัน

หลังจากนั้นไม่กี่วินาที OLED จะแสดงพารามิเตอร์สภาพอากาศทั้งหมด

ขั้นตอนที่ 8: สร้างด้วย Node MCU

Image
Image
สร้างด้วยโหนด MCU
สร้างด้วยโหนด MCU
สร้างด้วยโหนด MCU
สร้างด้วยโหนด MCU

หากคุณไม่สนใจที่จะสร้างวงจรโดยใช้โมดูล ESP8266-01 นี่เป็นอีกทางเลือกหนึ่งสำหรับคุณ คุณสามารถสร้าง Weather Widget เดียวกันได้โดยใช้บอร์ด Node MCU NodeMCU เป็นแพลตฟอร์มโอเพ่นซอร์ส IoT ซึ่งรวมถึงเฟิร์มแวร์ที่ทำงานบน ESP8266 Wi-Fi SoC และฮาร์ดแวร์ที่ใช้โมดูล ESP-12 คุณยังคงสามารถใช้ Arduino IDE และรหัส Arduino ที่คุณชื่นชอบเพื่อตั้งโปรแกรมได้ ข้อดีอีกประการหนึ่ง คือคุณไม่จำเป็นต้องมีโปรแกรมเมอร์ FTDI แยกต่างหากในการเขียนโปรแกรม สายไมโคร USB ก็เพียงพอแล้ว คุณสามารถใช้สายชาร์จสมาร์ทโฟน/แท็บเล็ตได้

ทำตามขั้นตอน:

ขั้นแรกให้อัปเดต NodeMCU เป็นเฟิร์มแวร์เวอร์ชันล่าสุด คุณสามารถดูวิดีโอที่สร้างโดย TornTech เพื่อใช้อ้างอิงได้

1. ทำวงจรบนกระดานขนมปัง

โหนด MCU OLED

3.3V -Vcc

GND GND

D5-- SDA

D6-- SCL

2. ต่อสายไมโคร USB

3.เสียบเข้ากับพอร์ต USB ของแล็ปท็อป/พีซี

4.ตั้งค่าซอฟต์แวร์ตามที่ระบุไว้ในขั้นตอนก่อนหน้า

5.ตั้งค่าบอร์ดเป็น "NodeMCU 1.0 (โมดูล ESP-12E)"

6.อัปโหลดรหัส

เสร็จแล้ว!!!

ขั้นตอนที่ 9: สร้างสิ่งที่แนบมา

ทำสิ่งที่แนบมา
ทำสิ่งที่แนบมา
ทำสิ่งที่แนบมา
ทำสิ่งที่แนบมา
ทำสิ่งที่แนบมา
ทำสิ่งที่แนบมา
ทำสิ่งที่แนบมา
ทำสิ่งที่แนบมา

คุณสามารถสร้างตู้ของคุณเองด้วยตัวเลือกของคุณเอง

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

ดาวน์โหลดไฟล์. STL จาก Thingiverse

ทำตามคำแนะนำเพื่อพิมพ์สิ่งที่ส่งมาด้วย

จากนั้นใส่ส่วนประกอบทั้งหมดเข้าไปข้างใน ตอนนี้ Weather Widget พร้อมแล้ว !!!

หากคุณชอบบทความนี้ อย่าลืมส่งต่อ!

ติดตามฉันสำหรับโครงการ DIY และแนวคิดเพิ่มเติม ขอขอบคุณ !!!

แนะนำ: