สารบัญ:

WIFI Weather Station พร้อม Magicbit (Arduino): 6 ขั้นตอน
WIFI Weather Station พร้อม Magicbit (Arduino): 6 ขั้นตอน

วีดีโอ: WIFI Weather Station พร้อม Magicbit (Arduino): 6 ขั้นตอน

วีดีโอ: WIFI Weather Station พร้อม Magicbit (Arduino): 6 ขั้นตอน
วีดีโอ: WIFI Weather Station From Magicbit[Arduino] 2024, กรกฎาคม
Anonim
Image
Image

บทช่วยสอนนี้แสดงวิธีสร้างสถานีตรวจอากาศจาก Magicbit โดยใช้ Arduino ซึ่งสามารถดูรายละเอียดจากสมาร์ทโฟนของคุณได้

เสบียง

  • Magicbit
  • สาย USB-A เป็น Micro-USB
  • โมดูลเซ็นเซอร์ Magicbit DHT11

ขั้นตอนที่ 1: เรื่องราว

ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีสร้างสถานีตรวจอากาศแบบพกพาโดยใช้บอร์ด Magicbit dev พร้อมโมดูลเซ็นเซอร์ DHT11 โดยใช้สมาร์ทโฟน เราสามารถดูรายละเอียดเกี่ยวกับสภาพอากาศที่ Magicbit ตั้งอยู่ได้

ขั้นตอนที่ 2: ทฤษฎีและระเบียบวิธี

ในสถานีตรวจอากาศนี้ เราหวังว่าจะได้รับข้อมูลเกี่ยวกับอุณหภูมิและความชื้นในที่ที่เราต้องการ อันดับแรก เราต้องดึงข้อมูลจากเซนเซอร์ที่ไวต่ออุณหภูมิและความชื้น จากนั้นสัญญาณเอาท์พุตของเซ็นเซอร์นั้นจะถูกส่งไปยังไมโครคอนโทรลเลอร์ที่มีอแด็ปเตอร์ WIFI เพื่อเชื่อมต่อกับอินเทอร์เน็ต สำหรับสิ่งเหล่านี้ เราเพียงแค่ใช้บอร์ดหลัก Magicbit และโมดูลเซ็นเซอร์ DHT11 ซึ่งสามารถเสียบเข้ากับ Magicbit ได้โดยตรง Magicbit มีโปรเซสเซอร์ ESP32 ดังนั้นจึงมีการเชื่อมต่อ WIFI ในตัวเพื่อเชื่อมต่อกับอินเทอร์เน็ต จากนั้นเราถ่ายโอนข้อมูลเซ็นเซอร์ของเราไปยังแพลตฟอร์มคลาวด์ และด้วยการใช้แอพเฉพาะ เราจึงออกแบบอินเทอร์เฟซที่กำหนดเองของเราและแสดงรายละเอียดนั้นที่ใช้ เพื่อจุดประสงค์นั้นเราใช้แอปพลิเคชั่น Blynk แอพนี้เป็นแอพที่ใช้ IOT แต่มันง่ายมากและเราสามารถทำโครงการได้มากมาย นอกจากนี้ยังรองรับโปรเซสเซอร์หลายประเภทเช่น Arduino, Esp32 เป็นต้น คุณสามารถรับรายละเอียดเพิ่มเติมเกี่ยวกับแอพนี้และบน / ine แพลตฟอร์มโดยไปที่ลิงค์ต่อไปนี้

blynk.io/en/getting-started

ขั้นตอนที่ 3: การตั้งค่าฮาร์ดแวร์

การติดตั้งซอฟต์แวร์
การติดตั้งซอฟต์แวร์

นี้เป็นเรื่องง่ายมาก เสียบโมดูลเซ็นเซอร์เข้ากับ Magicbit จากนั้นเชื่อมต่อ Magicbit กับคอมพิวเตอร์โดยใช้สายไมโคร USB

ขั้นตอนที่ 4: การติดตั้งซอฟต์แวร์

การติดตั้งซอฟต์แวร์
การติดตั้งซอฟต์แวร์
การติดตั้งซอฟต์แวร์
การติดตั้งซอฟต์แวร์

ส่วนใหญ่ของโครงการนี้จะทำในการตั้งค่าซอฟต์แวร์ ในส่วนทฤษฎีและระเบียบวิธี เรากล่าวว่าเราใช้แอปพลิเคชัน Blynk เพื่อแสดงข้อมูลของเรา ดังนั้นให้ตั้งค่าที่

ก่อนอื่นคุณต้องดาวน์โหลดและติดตั้งแอพ Blynk จาก play store ไปยังโทรศัพท์ Android หรือจาก app store ไปยัง ios ของคุณ จากนั้นเปิดมัน ตอนนี้กำลังขอลงทะเบียนหรือเข้าสู่ระบบ นั่นเป็นเรื่องง่ายมาก หากคุณใช้แอพนี้เป็นครั้งแรก ให้ระบุที่อยู่อีเมลของคุณและพิมพ์รหัสผ่านที่คุณต้องการและสมัครใช้งาน

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

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

docs.blynk.cc/#:~:text=Now%20imagine%3A%2… a%20blynk%20of%20an%20eye.

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

ตอนนี้เรามีส่วนที่ต้องนำเข้ามากพอสมควร นั่นคือกำหนดค่าวิดเจ็ตเหล่านี้อย่างเหมาะสม สำหรับการทำเช่นนั้นคุณสามารถเข้าสู่การตั้งค่าของทุกวิดเจ็ต โดยคลิกที่วิดเจ็ตใด ๆ คุณสามารถเข้าสู่การตั้งค่าที่เกี่ยวข้องของวิดเจ็ตที่คุณคลิก ให้เปลี่ยนการตั้งค่าของแต่ละวิดเจ็ต เนื่องจากเราใช้วิดเจ็ตด้านซ้ายเพื่อแสดงรายละเอียดความชื้นและวิดเจ็ตด้านขวาสำหรับรายละเอียดอุณหภูมิ ขั้นแรกให้เข้าสู่การตั้งค่าวิดเจ็ตมาตรวัดด้านซ้ายโดยคลิก ตั้งค่าที่ต้องการและชื่อที่จะวัดและเลือกสีที่คุณต้องการเพื่อแสดงข้อมูลความชื้นของคุณจากมาตรวัด ตั้งค่าอินพุตเป็น V5 และช่วงเป็น 0 ถึง 100. V5 หมายถึง 5 พินที่มองเห็นได้ ซึ่งหมายความว่าแอปรับข้อมูลจากวิชวล 5 พิน ไม่ใช่พินที่ห้าจาก ESP32 Visual 5 pin ใช้สำหรับสื่อสารระหว่างบอร์ดและแอพผ่านอินเทอร์เน็ตเท่านั้น มันไม่ใช่พินจริง ความชื้นจะแสดงระหว่าง 0 ถึง 100 ตั้งค่าอัตราการอ่านเป็น 1 ด้วย ดังนั้นการอ่านข้อมูลจะอัปเดตในทุก ๆ วินาที คุณสามารถเปลี่ยนจากอัตราใดก็ได้ แต่ในหลายกรณี 1s นั้นดีสำหรับการรับข้อมูลโดยไม่ชักช้า

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

ไปที่การตั้งค่า Super Chart และตั้งชื่อและสีที่เหมาะสม จากนั้นเพิ่มสองสตรีมข้อมูล อันแรกสำหรับความชื้นและอันที่สองสำหรับอุณหภูมิ จากนั้นไปที่การตั้งค่าสตรีมข้อมูลโดยคลิกเครื่องหมายอีควอไลเซอร์ที่ด้านขวา หลังจากนั้นเลือกรูปแบบกราฟ ในกรณีนี้เรากำหนดให้เป็นรูปแบบต่อเนื่อง จากนั้นตั้งค่าอินพุตเป็น V5 และ V6 สำหรับสองสตรีมข้อมูล ในการตั้งค่าสตรีมข้อมูลอุณหภูมิ เราตั้งค่าต่อท้ายเป็นเซลเซียส และในการตั้งค่าความชื้น เราตั้งค่าเป็น % คุณสามารถเปลี่ยนการตั้งค่าอื่นๆ ได้ตามต้องการ

ตอนนี้เราทำส่วนของแอพเสร็จแล้ว แต่ถ้าไม่มีการอัปโหลดซอร์สโค้ดที่ถูกต้องไปยัง Magicbit เราไม่สามารถเชื่อมต่อกับแอพนี้ได้ เรามาดูวิธีการทำกัน

ในขั้นแรก เราได้รวมไลบรารีเฉพาะสำหรับสร้างการเชื่อมต่ออินเทอร์เน็ตโดยใช้ WIFI ไลบรารีได้รับการติดตั้งกับบอร์ด Magicbit ใน Arduino แล้ว ยกเว้นไลบรารี Blynk ไปที่ Sketch>Include Library> Manage Libraries และค้นหา Blynk library และติดตั้งเวอร์ชันล่าสุด คุณสามารถดาวน์โหลดห้องสมุดได้จากลิงค์นี้

github.com/blynkkk/blynk-library

หลังจากดาวน์โหลดแล้ว ให้ไปที่ Sketch >Include Library >add zip library และเลือกไฟล์ zip ที่คุณดาวน์โหลด

ถัดไป คุณต้องตั้งชื่อ WIFI และรหัสผ่านของเราในรหัสเพื่อเชื่อมต่ออินเทอร์เน็ต ตอนนี้คัดลอกและวางรหัส Auth Token ที่คุณได้รับทางอีเมล ตรวจสอบว่าเซ็นเซอร์ของเราเชื่อมต่อกับ Magicbit ที่ใด ในกรณีนี้ พินที่เชื่อมต่อคือ 33 ในการตั้งค่า คุณจะเห็นว่ามีพินเสมือนสองพิน ตั้งค่าพินเหล่านั้นเป็น V5 และ V6 หากคุณใช้พินที่แตกต่างกันในแอป ให้เปลี่ยนพินนั้นในโค้ด เมื่อโค้ดทำงานในโปรเซสเซอร์ ขั้นแรกให้เชื่อมต่อกับ WIFI จากนั้นส่งข้อมูลผ่านอินเทอร์เน็ตผ่าน V5 และ V6 นี่คือกระบวนการวนรอบ ตอนนี้เลือกพอร์ต com ที่ถูกต้องและเลือกประเภทบอร์ดเป็น magicbit ตอนนี้ได้เวลาอัปโหลดแล้ว

หลังจากอัปโหลดรหัสสำเร็จแล้ว บอร์ด Magicbit จะเชื่อมต่อกับ WIFI ของคุณโดยอัตโนมัติ ขึ้นอยู่กับสภาพแวดล้อมของคุณ กระบวนการอาจช้าหรือเร็วกว่า

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

ขั้นตอนที่ 5: การแก้ไขปัญหา

หากคุณคลิกปุ่มเล่นโปรเจ็กต์และหากไม่มีการตอบสนอง แล้ว,

  • รอหน่อยนะครับ. เพราะบางครั้งบอร์ดก็ยากที่จะค้นพบ WIFI ของคุณตามสภาพแวดล้อมของคุณ การเชื่อมต่ออินเทอร์เน็ตที่ช้าอาจเป็นสาเหตุได้เช่นกัน
  • ตรวจสอบรหัสรับรองความถูกต้องและรายละเอียด WIFI ในรหัสที่คุณป้อนถูกต้อง
  • เปลี่ยนการเชื่อมต่อ WiFi

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

/*************************************************************

ดาวน์โหลดไลบรารี Blynk ล่าสุดที่นี่:

github.com/blynkkk/blynk-library/releases/latest Blynk เป็นแพลตฟอร์มที่มีแอป iOS และ Android เพื่อควบคุม Arduino, Raspberry Pi และไลค์บนอินเทอร์เน็ต คุณสามารถสร้างส่วนต่อประสานกราฟิกสำหรับโครงการทั้งหมดของคุณได้อย่างง่ายดายเพียงแค่ลากและวางวิดเจ็ต ดาวน์โหลด เอกสาร บทช่วยสอน: https://www.blynk.cc Sketch generator: https://examples.blynk.cc ชุมชน Blynk: https://community.blynk.cc ติดตามเรา: https://www.fb. com/blynkapp ห้องสมุด Blynk ได้รับอนุญาตภายใต้ใบอนุญาต MIT รหัสตัวอย่างนี้เป็นสาธารณสมบัติ ******************************************************** *********** ตัวอย่างนี้แสดงให้เห็นว่าสามารถผลักค่าจาก Arduino ไปยังแอพ Blynk ได้อย่างไร คำเตือน: สำหรับตัวอย่างนี้ คุณจะต้องใช้ไลบรารีเซ็นเซอร์ Adafruit DHT: https://github.com/adafruit/Adafruit_Sensor https://github.com/adafruit/DHT-sensor-library การตั้งค่าโปรเจ็กต์แอป: วิดเจ็ตแสดงค่าที่แนบมากับ V5 วิดเจ็ตแสดงค่าที่แนบมากับ V6 ******************************************** *****************/ /* แสดงความคิดเห็นเพื่อปิดใช้งานการพิมพ์และประหยัดพื้นที่ */ #define BLYNK_PRINT Serial #include #include #include #include "DHT.h" // คุณควรได้รับ Auth Token ในแอป Blynk // ไปที่การตั้งค่าโครงการ (ไอคอนน็อต) char auth = "****************";//auth token ได้รับคุณทางอีเมล // ข้อมูลรับรอง WiFi ของคุณ // ตั้งรหัสผ่านเป็น "" สำหรับเครือข่ายที่เปิดอยู่ char ssid = "**********";/// ชื่อ wifi ของคุณ char pass = "************";// รหัสผ่าน wifi #define DHTPIN 33 // พินดิจิตอลอะไรที่เราเชื่อมต่อกับ // ยกเลิกการแสดงความคิดเห็นที่คุณใช้อยู่! #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321 //#define DHTTYPE DHT21 // DHT 21, AM2301 DHT dht (DHTPIN, DHTTYPE); ตัวจับเวลา BlynkTimer; // ฟังก์ชันนี้จะส่งเวลาการทำงานของ Arduino ทุกวินาทีไปยัง Virtual Pin (5) // ในแอพ ความถี่ในการอ่านของ Widget ควรตั้งไว้ที่ PUSH ซึ่งหมายความว่า // คุณกำหนดความถี่ในการส่งข้อมูลไปยัง Blynk App เป็นโมฆะ sendSensor () { float h = dht.readHumidity (); float t = dht.readTemperature(); // หรือ dht.readTemperature (จริง) สำหรับฟาเรนไฮต์ถ้า (isnan (h) || isnan (t)) { Serial.println ("ไม่สามารถอ่านจากเซ็นเซอร์ DHT!"); กลับ; } // คุณสามารถส่งค่าใดๆ ได้ตลอดเวลา // กรุณาอย่าส่งมากกว่า 10 ค่าต่อวินาที Blynk.virtualWrite(V5, ชั่วโมง); Blynk.virtualWrite(V6, เสื้อ); } การตั้งค่าเป็นโมฆะ () {// คอนโซลดีบัก Serial.begin (115200); ล่าช้า (1000); Blynk.begin(รับรองความถูกต้อง, ssid, ผ่าน); // คุณยังสามารถระบุเซิร์ฟเวอร์: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 100), 8080); dht.begin(); // ตั้งค่าฟังก์ชันที่จะเรียกทุก ๆ วินาที timer.setInterval(1000L, sendSensor); } วงเป็นโมฆะ () { Blynk.run (); timer.run(); }

แนะนำ: