สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
รับการอัปเดตสภาพอากาศโดยตรงไปยังอุปกรณ์มือถือของคุณจากสถานีตรวจอากาศของคุณเอง! สร้างได้ง่ายและรวดเร็วอย่างน่าอัศจรรย์ด้วย xChips
ขั้นตอนที่ 1: สิ่งที่ใช้ในโครงการนี้
ส่วนประกอบฮาร์ดแวร์
- XinaBox CW01 x 1
- XinaBox SW01 x 1
- XinaBox SL01 x 1
- XinaBox OD01 x 1
- XinaBox IP01 x 1
- XinaBox XC10 x 1
แอพซอฟต์แวร์และบริการออนไลน์
- Arduino IDE
- Blynk
ขั้นตอนที่ 2: เรื่องราว
บทนำ
ฉันสร้างโปรเจ็กต์นี้โดยใช้ XinaBox xChips และ Arduino IDE เป็นโปรเจ็กต์ 5 นาที ที่ให้คุณรับข้อมูลสภาพอากาศบนโทรศัพท์ของคุณผ่านแอพ Blynk และบนหน้าจอ OLED ของ OD01 โปรเจ็กต์นี้มีประโยชน์มากเพราะคุณสามารถติดตามสภาพอากาศได้ทุกที่ที่คุณเลือกและรับการอัปเดตโดยตรงบนโทรศัพท์ของคุณผ่านแอพ ฉันเลือกใช้ xChips เนื่องจากเป็นมิตรกับผู้ใช้ และยังขจัดความจำเป็นในการบัดกรีและการออกแบบวงจรที่จริงจัง การใช้ Arduino IDE ฉันสามารถตั้งโปรแกรม xChips ได้อย่างง่ายดาย
ขั้นตอนที่ 3: การดาวน์โหลดไลบรารี่
- ไปที่ Github.xinabox
- ดาวน์โหลด xCore ZIP
- ติดตั้งลงใน Arduino IDE โดยไปที่ "Sketch", "Include Library" จากนั้น "Add. ZIP Library" ตามที่เห็นด้านล่าง
รูปที่ 1: การเพิ่มไลบรารี่ ZIP
- ดาวน์โหลด xSW01 ZIP
- เพิ่มไลบรารีในลักษณะเดียวกับที่คุณทำกับ xCore
- ทำซ้ำสำหรับ xSL01 และ xOD01
- คุณต้องติดตั้งไลบรารี Blynk เพื่อให้คุณสามารถใช้แอพได้ สามารถพบได้ที่นี่
- ก่อนที่คุณจะสามารถตั้งโปรแกรมได้ คุณต้องแน่ใจว่าคุณใช้บอร์ดที่ถูกต้องเสียก่อน ในโครงการนี้ ฉันใช้ประโยชน์จาก Generic ESP8266 ซึ่งอยู่ใน CW01 xChip คุณสามารถดาวน์โหลดห้องสมุดบอร์ดได้ที่นี่
ขั้นตอนที่ 4: การเขียนโปรแกรม
เชื่อมต่อ IP01, CW01, SW01, SL01 และ OD01 โดยใช้ตัวเชื่อมต่อ xBUS ตรวจสอบให้แน่ใจว่าชื่อของ xChips มีทิศทางที่ถูกต้อง
รูปที่ 2: xChips ที่เชื่อมต่ออยู่
- ตอนนี้ใส่ IP01 และเชื่อมต่อ xChips เข้ากับพอร์ต USB ที่มีอยู่
- ดาวน์โหลดหรือคัดลอกและวางโค้ดจากหัวข้อ "CODE" ลงใน Arduino IDE ของคุณ ป้อนโทเค็นการตรวจสอบสิทธิ์ ชื่อ WiFi และรหัสผ่านตามที่ระบุไว้
- หรือคุณสามารถสร้างรหัสของคุณเองโดยใช้หลักการที่เกี่ยวข้องเพื่อให้บรรลุวัตถุประสงค์เดียวกัน
- เพื่อให้แน่ใจว่าไม่มีข้อผิดพลาดในการรวบรวมรหัส
ขั้นตอนที่ 5: การตั้งค่า Blynk
- หลังจากติดตั้งแอป Blynk ฟรีจาก App Store ของคุณแล้ว ก็ถึงเวลาที่ต้องทำการตั้งค่าโครงการ
- ก่อนคลิก "เข้าสู่ระบบ" หลังจากป้อนที่อยู่อีเมลและรหัสผ่าน ตรวจสอบให้แน่ใจว่า "การตั้งค่าเซิร์ฟเวอร์" ของคุณได้รับการตั้งค่าเป็น "BLYNK"
รูปที่ 3: การตั้งค่าเซิร์ฟเวอร์
- เข้าสู่ระบบ.
- สร้างโครงการใหม่
- เลือกอุปกรณ์ "ESP8266"
รูปที่ 4: การเลือกอุปกรณ์/บอร์ด
- กำหนดชื่อโครงการ
- รับการแจ้งเตือน "Auth Token" และอีเมลที่มี "Auth Token"
รูปที่ 5: การแจ้งเตือนโทเค็นการตรวจสอบสิทธิ์
ไปที่ "กล่องวิดเจ็ต"
รูปที่ 6: กล่องวิดเจ็ต
- เพิ่ม 4 "ปุ่ม" และ 4 "การแสดงค่า"
- กำหนด "ปุ่ม" และ "การแสดงค่า" ตามลำดับของพินเสมือนตามที่ระบุไว้ใน "โค้ด" ฉันใช้เลขคู่สำหรับ "ปุ่ม" และเลขคี่ที่เกี่ยวข้องสำหรับ "การแสดงค่า"
- การตั้งค่านี้สามารถปรับให้เหมาะกับความต้องการของคุณในขณะที่คุณปรับโค้ดของคุณ
รูปที่ 7: แดชบอร์ดโครงการ (ข้อจำกัดความรับผิดชอบ: ไม่ต้องสนใจค่า นี่คือภาพหน้าจอหลังจากที่ฉันทดสอบสถานีตรวจอากาศ คุณควรจะคล้ายกัน เพียงมีใบหน้าว่างเปล่าเช่น V7)
ขั้นตอนที่ 6: การอัปโหลดรหัส
- หลังจากคอมไพล์สำเร็จในขั้นตอนที่ 2 (ไม่พบข้อผิดพลาด) คุณสามารถอัปโหลดโค้ดไปยัง xChips ของคุณได้ ตรวจสอบให้แน่ใจว่าสวิตช์หันไปทาง "B" และ "DCE" ตามลำดับก่อนอัปโหลด
- เมื่ออัปโหลดสำเร็จแล้ว ให้เปิดแอป Blynk บนอุปกรณ์มือถือของคุณ
- เปิดโครงการของคุณจากขั้นตอนที่ 3
รูปที่ 8
- กดเล่นและกด "ปุ่ม" ตามลำดับเพื่อให้สามารถแสดงข้อมูลในแอปของคุณและบนหน้าจอ OLED
- ตอนนี้สถานีตรวจอากาศ Blynk ของคุณพร้อมแล้ว!
ขั้นตอนที่ 7: รหัส
Blynk_Weather_Station.ino รหัส Arduino Arduino สำหรับ Weather Station พร้อม Blynk และ xCHIPS รหัสนี้ช่วยให้คุณควบคุมสถานีตรวจอากาศแบบไร้สายจากอุปกรณ์มือถือของคุณ และรับการอัปเดตข้อมูลสภาพอากาศตรงไปยังอุปกรณ์มือถือของคุณจากสถานีตรวจอากาศ xCHIP
#include // รวมไลบรารีหลัก
#include // รวมไลบรารีเซ็นเซอร์สภาพอากาศ #include // รวมไลบรารีเซ็นเซอร์วัดแสง #include // รวมไลบรารี ESP8266 สำหรับ WiFi #include // รวมไลบรารี Blynk สำหรับใช้กับ ESP8266 #include // รวมไลบรารี OLEDxSW01 SW01; //xSL01 SL01; ลอยอุณหภูมิ C; ลอยความชื้น; ยูวีเอลอย; ลอย UV_Index; // โทเค็นการพิสูจน์ตัวตนที่ส่งถึงคุณทางอีเมล // คัดลอกและวางโทเค็นระหว่างเครื่องหมายคำพูดคู่ char auth = "your auth token"; // ข้อมูลรับรอง wifi ของคุณ char WIFI_SSID = "ชื่อ WiFi ของคุณ"; // ป้อนชื่อ wifi ของคุณระหว่างเครื่องหมายคำพูดคู่ char WIFI_PASS = "รหัสผ่าน WiFi ของคุณ"; // ป้อนรหัสผ่าน wifi ของคุณระหว่างตัวจับเวลา BlynkTimer เครื่องหมายคำพูดคู่; // VirtualPin สำหรับอุณหภูมิ BLYNK_WRITE (V2) { int pinValue = param.asInt (); // กำหนดค่าขาเข้าจากพิน V1 ให้กับตัวแปร if (pinValue == 1) { Blynk.virtualWrite (V1, TempC); OD01.println("Temp_C:"); OD01.println (อุณหภูมิ); } อื่น{ } } // VirtualPin สำหรับความชื้น BLYNK_WRITE (V4) { int pin_value = param.asInt (); // กำหนดค่าขาเข้าจากพิน V3 ให้กับตัวแปร if (pin_value == 1) { Blynk.virtualWrite (V3, ความชื้น); OD01.println("ความชื้น:"); OD01.println(ความชื้น); } อื่น ๆ { } } // VirtualPin สำหรับ UVA BLYNK_WRITE (V6) { int pinvalue = param.asInt (); // กำหนดค่าขาเข้าจากพิน V5 ให้กับตัวแปร if(pinvalue == 1) { Blynk.virtualWrite (V5, UVA); OD01.println("ยูวีเอ:"); OD01.println (ยูวีเอ); } อื่น{ } } // VirtualPin สำหรับ UV_Index BLYNK_WRITE (V8) { int pin_Value = param.asInt (); // กำหนดค่าขาเข้าจากพิน V7 ให้กับตัวแปร if(pin_Value == 1) { Blynk.virtualWrite (V7, UV_Index); OD01.println("UV_Index:"); OD01.println(UV_Index); } else{ } } การตั้งค่าเป็นโมฆะ () { // Debug console TempC = 0; Serial.begin(115200); Wire.begin(2, 14); SW01.begin(); OLED.begin(); SL01.begin(); Blynk.begin(รับรองความถูกต้อง, WIFI_SSID, WIFI_PASS); ล่าช้า (2000); } วงเป็นโมฆะ () { SW01.poll (); อุณหภูมิ C = SW01.getTempC(); ความชื้น = SW01.getHumidity(); SL01.โพล(); ยูวีเอ = SL01.getUVA(); UV_Index = SL01.getUV ดัชนี(); Blynk.run(); }