หน้าแรก ดูโปรเจกต์ทั้งหมด
Expert

โปรเจกต์ Loadmaster - Online Dashboard และ Data Logging บน Ubidots

Serial output stream ของ LoadMaster (ในรูปแบบ Nextion display format) จะถูก decoded และ values จะถูก published ไปยัง Ubidots MQTT broker (Wemos D1 NodeMCU)

โปรเจกต์ Loadmaster - Online Dashboard และ Data Logging บน Ubidots

รายการอุปกรณ์และเครื่องมือ

1x NodeMCU ESP8266 Breakout Board
🛒 สั่งซื้อ
}

รายละเอียดและวิธีทำ

ระบบ LoadMaster เป็นวิธีการที่มีประสิทธิภาพสูงในการทำน้ำร้อนหรือโหลดแบบ resistive อื่นๆ โดยใช้พลังงานแสงอาทิตย์ PV และทำงานด้วยระบบ MPPT (Maximum Power Point Tracking)

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

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

โปรเจกต์นี้พัฒนาการดูข้อมูลของ LoadMaster ไปอีกขั้น บริการ Ubidots MQTT broker ช่วยให้คุณเข้าถึง บันทึก และแสดงข้อมูลของ LoadMaster ในรูปแบบกราฟิกได้จากทุกที่ทั่วโลกผ่าน 'dashboard' ที่ปรับแต่งได้ (มีบริการที่คล้ายกันอย่าง Thingspeak ฯลฯ)

MQTT (Message Queuing Telemetry Transport) โดยพื้นฐานแล้วคือ protocol การรับส่งข้อความแบบ publish/subscribe ที่มีน้ำหนักเบา ซึ่งเป็นพื้นฐานของ Internet of Things (IoT)

Ubidots มีบัญชีฟรีสำหรับผู้ใช้งานที่ไม่ใช่เชิงพาณิชย์, STEM หรือผู้ที่ทำงานอดิเรก (ปัจจุบันรองรับ 4000 data points ต่อวัน, เก็บข้อมูลได้ 1 เดือน, ใช้งานได้ 3 อุปกรณ์)

โปรเจกต์นี้ทำงานอย่างไร?

โดยค่าเริ่มต้น Loadmaster จะมี software serial port ที่ส่งข้อมูลออกมาในรูปแบบของจอ Nextion ผ่านขา D17 (นั่นคือ Serial Tx) ส่วนช่องรับสัญญาณ software serial Rx จะอยู่ที่ขา D15 (โดยปกติจะไม่ค่อยได้ใช้ Rx เนื่องจาก 'การรับส่งข้อมูลของหน้าจอในปัจจุบันเป็นการสื่อสารทางเดียว เว้นแต่จะใช้สำหรับการกดปุ่ม ON/OFF แบบรีโมท)

ตัวแปร Nextion ที่ส่งออกมาจะมีลักษณะดังนี้:-

Status.val=1⸮⸮⸮Watts.val=671⸮⸮⸮Whrs.val=384⸮⸮⸮BotC.val=420⸮⸮⸮MidC.val=546⸮⸮⸮TopC.val=556⸮⸮⸮หมายเหตุ:- คำสั่ง Nextion ทั้งหมดจะลงท้ายด้วย 0xFF 0xFF 0xFF ซึ่งจะแสดงผลเป็น '⸮⸮⸮' นอกจากนี้ ค่าอุณหภูมิ จะถูกส่งเป็น Integer ซึ่งแทนค่า °C x 10

โปรเจกต์นี้ใช้พื้นฐานจากอุปกรณ์ WiFi ที่ใช้ชิป ESP8266 (เช่น Wemos D1 / NodeMCU ฯลฯ) เพื่อรับข้อมูลผ่าน serial, สกัดค่าข้อมูลออกมา และส่ง (publish) ข้อมูลเหล่านั้นไปยัง Ubidots

ขา Rx ของโมดูล WiFi บนขา D5 สามารถต่อสายตรงไปยังขา D17 (tx) ของ Loadmaster บนตัวเชื่อมต่อ CN6 ได้ หากคุณต้องการ subscribe หัวข้อ (เช่น ต้องการรับสถานะของการควบคุมสวิตช์) ก็สามารถเลือกต่อสายขา tx ของ Wemos บนขา D6 เข้ากับขา D15 ของ LoadMaster ได้ดังนี้:-

การเชื่อมต่อ Wemos D1 เข้ากับ Loadmaster

จากการจัดวางข้างต้น โมดูล WiFi ควรติดตั้งไว้นอกกล่องโลหะของ LoadMaster และใช้สาย screened cable ที่มีความยาวน้อยกว่า 1 เมตร

ในบางการติดตั้ง อาจจำเป็นต้องเพิ่มการเชื่อมต่อแบบไร้สายระหว่างชุดติดตั้ง LoadMaster กับจอ Nextion ที่อยู่ห่างออกไป และ/หรือโมดูล WiFi ที่เชื่อมต่อกับ Ubidots:-

แนวทางการเชื่อมต่อแบบไร้สาย - โมดูล Wifi สามารถอยู่ใกล้กับ WiFi Router ได้มากขึ้น

การติดตั้ง Libraries และการโหลด Firmware

สิ่งที่ต้องใช้:
  • NodeMCU / Memos D1
  • Arduino IDE 1.8.2 หรือสูงกว่า - แนะนำให้ดาวน์โหลดจากเว็บ Arduino โดยตรง ไม่ใช่เวอร์ชันจาก Microsoft store Appเข้าสู่ระบบ Ubidots และสร้างบัญชี STEM ฟรีสำหรับตัวคุณเอง
  • ตั้งค่า Arduino IDE พร้อมกับ libraries และ hardware board managers ที่เหมาะสม
  • ติดตั้ง PubSubClient library โดย Nick Oleary 2.8.0 ผ่านเมนู Tools | Manage libraries ใน Arduino IDE
  • ติดตั้ง UbidotsMQTTESP library
  • ในการใช้งานแพลตฟอร์ม NodeMCU, Wemos ESP8266 ใน Arduino IDE คุณจำเป็นต้องติดตั้งแพลตฟอร์ม ESP8266 โดยใช้ Arduino Board Manager หากคุณไม่คุ้นเคยกับการเพิ่มบอร์ดใน Arduino IDE สามารถศึกษาได้จากบทความนี้สำหรับคำแนะนำเพิ่มเติม

    เมื่อติดตั้งแพลตฟอร์ม ESP8266 ใน Arduino IDE ของคุณ โปรดตรวจสอบให้แน่ใจว่าได้ติดตั้งเวอร์ชัน v.2.7.4

    หลังจากติดตั้งแพลตฟอร์ม ESP8266 แล้ว ให้เลือกอุปกรณ์ ESP8266 ที่คุณกำลังใช้งานอยู่

    Tools > Board NodeMCU 1.0(ESP12E module) หรือ LOLIN (WEMOS) D1 R2 and Miniดาวน์โหลดและติดตั้ง UbidotsMQTTESP8266 libraryสำหรับคำอธิบายโดยละเอียดเกี่ยวกับวิธีการติดตั้ง libraries โดยใช้ Arduino IDE สามารถดูได้จาก คู่มือนี้

    เปิด Arduino IDE และคัดลอก Code สำหรับอินเทอร์เฟซ LoadMaster Ubidots ด้านล่างนี้ไปวาง

    เมื่อวาง Code แล้ว คุณจะต้องแก้ไขและกำหนด Ubidots TOKEN เฉพาะของคุณเอง, พร้อมระบุชื่อ 'SSID' ของเครือข่าย WiFi และ Password ที่เกี่ยวข้อง:- /***************************************** Define Constants****************************************/#define TOKEN "BBFF-lIabcd12yourUbidotstokengoeshere" // Ubidots TOKEN#define WIFINAME "YourWifinamehere" //Your WiFi SSID#define WIFIPASS "yourWiFipasswordhere" // Your Wifi PasswordVerify Code ของคุณใน Arduino IDE:- ที่มุมซ้ายบนของ Arduino IDE ให้กดไอคอน "เครื่องหมายถูก" เพื่อตรวจสอบ Code และ libraries ที่จำเป็น Upload Code ลงในโมดูล WiFi ของคุณ :- เลือกไอคอน "ลูกศรขวา" ที่อยู่ถัดจากไอคอนเครื่องหมายถูก เพื่อตรวจสอบการเชื่อมต่อของโมดูลและการส่งข้อมูลไปยัง Ubidots ให้ เปิด serial monitor โดยเลือกไอคอน "แว่นขยาย" ที่มุมขวาบนของ Arduino IDE เพื่อดูบันทึกการเชื่อมต่อ หากไม่มีการตอบสนองหรือพบปัญหา ให้ลองถอดปลั๊กโมดูล WiFi แล้วเชื่อมต่อใหม่ และตรวจสอบให้แน่ใจว่าตั้งค่า baud rate ของ Serial monitor เป็น 9600เข้าสู่ระบบบัญชี Ubidots ของคุณ ตอนนี้คุณควรจะเห็นข้อมูลที่ส่งมาแสดงอยู่ภายใต้อุปกรณ์ใหม่ที่ชื่อว่า "loadmaster"

    สร้าง Dashboard ของคุณเอง

    ส่วนใหญ่ควรจะเข้าใจได้ด้วยตัวเอง และ Ubidots ก็มีคู่มือแนะนำที่ยอดเยี่ยมเตรียมไว้ให้ อย่างไรก็ตาม นี่คือตัวอย่างบางส่วน:-

    กราฟเส้นแสดงอุณหภูมิ 'Line Chart' - ใช้ widget แบบ Line Chart และเพิ่มตัวแปรระดับอุณหภูมิ Bottom, Middle และ Top ตารางแสดงค่า Watts, Watthrs และสถานะ - สามารถสร้างได้โดยใช้ widget แบบ Values Tableหมายเหตุ; - ตัวแปร Status จะมีฟิลด์ 'context' รองรวมอยู่ด้วย ซึ่งเป็นส่วนของข้อความในตัวแปรที่ช่วยอธิบายสถานะการทำงานปัจจุบันอย่างละเอียด ตัวแปร DailyKWhrs ก็มีฟิลด์ context สำหรับค่าอุณหภูมิน้ำสูงสุดประจำวันเช่นกัน การใช้ฟิลด์ context นั้นเพื่อแก้ปัญหาข้อจำกัด 10 ตัวแปรเมื่อใช้บัญชี Ubidots แบบฟรี

    Code

    🔒 ปลดล็อก Code

    สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

    รหัสอ้างอิงโปรเจกต์: loadmaster-online-dashboard-and-data-logging-on-ubidots-0a5ef1
    2450 บาท
    PromptPay QR Code