กลับไปหน้ารวมไฟล์
loadmaster-online-dashboard-and-data-logging-on-ubidots-0a5ef1.md

Loadmaster - แดชบอร์ดออนไลน์และการบันทึกข้อมูลบน Ubidots

ระบบ Loadmaster มอบวิธีที่มีประสิทธิภาพและประสิทธิผลอย่างแท้จริงในการทำให้น้ำหรือโหลดความต้านทานอื่นๆ ร้อนขึ้นโดยใช้พลังงานแสงอาทิตย์ PV และทำงานร่วมกับ MPPT (Maximum Power Point Tracking)

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

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

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

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

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

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

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

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

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

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

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

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

ในการจัดวางข้างต้น โมดูล WiFi ควรจะอยู่นอกกล่องโลหะของ Loadmaster และใช้สายเคเบิลหุ้มฉนวนความยาวน้อยกว่า 1 เมตร

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

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

การติดตั้งไลบรารีและการโหลดเฟิร์มแวร์

ข้อกำหนด:
  • NodeMCU / Wemos D1
  • Arduino IDE 1.8.2 หรือสูงกว่า - แนะนำให้ดาวน์โหลดจาก Arduino - ไม่ใช่เวอร์ชันแอปจาก Microsoft Storeเข้าสู่ระบบ Ubidots และสร้างบัญชี STEM ฟรีของคุณ
  • ตั้งค่า Arduino IDE ด้วยไลบรารีที่เหมาะสมและตัวจัดการบอร์ดฮาร์ดแวร์
  • การติดตั้งไลบรารี PubSubClient โดย Nick Oleary 2.8.0- ติดตั้งจากเมนู Arduino IDE Tools | Manage libraries
  • การติดตั้งไลบรารี UbidotsMQTTESP
  • หากต้องการใช้แพลตฟอร์ม NodeMCU, WemosESP8266 ใน 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 สำหรับคำอธิบายโดยละเอียดเกี่ยวกับวิธีการติดตั้งไลบรารีโดยใช้ Arduino IDE โปรดดู คู่มือนี้

    เปิด Arduino IDE และวางโค้ด LoadMaster Ubidots Interface ด้านล่าง

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

    สร้างแดชบอร์ดของคุณเอง

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

    'Line Chart' แสดงอุณหภูมิ - ใช้ widget แบบ Line Chart และเพิ่มตัวแปรระดับอุณหภูมิ Bottom, Middle และ Top

    ข้อมูล Frontmatter ดั้งเดิม

    title: "Loadmaster - Online Dashboard and Data Logging on Ubidots"
    description: "LoadMaster's serial output stream (in Nextion display format) is decoded and values published to Ubidots MQTT broker. (Wemos D1 NodeMCU)"
    author: "stevetearle"
    category: ""
    tags:
      - "solar"
      - "loadmaster"
      - "hot water"
      - "mqtt"
      - "pv"
      - "dashboard"
      - "ubidots"
    views: 1270
    likes: 0
    price: 2450
    difficulty: "Intermediate"
    components:
      - "1x Arduino Nano R3"
      - "1x NodeMCU ESP8266 Breakout Board"
      - "1x Wemos D1 Mini"
    tools: []
    apps:
      - "1x Ubidots"
      - "1x Arduino IDE"
    downloadableFiles:
      - "https://projects.arduinocontent.cc/c9cb40a6-4738-442f-b3c5-973e9ddbccdc.ino"
    documentationLinks: []
    passwordHash: "171588ec078844d32400c03611f2d987c6748a860aed124e9315b5e30cab62b1"
    encryptedPayload: "U2FsdGVkX18gqlULkK9Fluf653ACd75eASe5stn0nc6FHZM58nsIk/KZcyRQZNQvzmjYU5bcA6xxtb/XXaBqoFco4A6y71JOVnUy37r8KZk="
    seoDescription: "Create an Online Dashboard and Data Logging for LoadMaster on Ubidots using Wemos D1 NodeMCU and MQTT broker."
    videoLinks: []
    heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/loadmaster-online-dashboard-and-data-logging-on-ubidots-0a5ef1_cover.jpg"
    lang: "th"