สารบัญ:

Omnik Inverter Off It's Cloud และบน My MQTT: 3 ขั้นตอน (พร้อมรูปภาพ)
Omnik Inverter Off It's Cloud และบน My MQTT: 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Omnik Inverter Off It's Cloud และบน My MQTT: 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Omnik Inverter Off It's Cloud และบน My MQTT: 3 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Taiwan Goods Online Product Launch 2022(Session in Southeast Asia) - Day 2 2024, กรกฎาคม
Anonim
Omnik Inverter Off It's Cloud และบน MQTT. ของฉัน
Omnik Inverter Off It's Cloud และบน MQTT. ของฉัน
Omnik Inverter Off It's Cloud และบน MQTT. ของฉัน
Omnik Inverter Off It's Cloud และบน MQTT. ของฉัน

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

  1. มัน "โทรศัพท์กลับบ้าน" ไปยังบริการคลาวด์ของประเทศจีนและตราบใดที่อุปกรณ์เชื่อมต่อกับอินเทอร์เน็ตก็ไม่สามารถปิดได้ ฉันไม่ชอบสิ่งนั้น
  2. อินเวอร์เตอร์ไม่มีเอกสาร API ที่ดี (และบริการคลาวด์ด้วย) เนื่องจากระบบอัตโนมัติในบ้านและอุปกรณ์ IoT กำลังมุ่งไปที่ข้อความ MQTT ฉันจึงต้องการให้ระบบส่งข้อความ MQTT

สำหรับโครงการนี้ ซึ่งแก้ปัญหาทั้งสองนี้ได้ เราหันไปหาเพื่อนที่จู้จี้จุกจิกแต่ไว้ใจได้ของเราอย่าง ESP8266 ฉันใช้ Wemos D1 แต่ทุกชาติที่คุณชอบสามารถใช้ได้ แผนคือ:

  1. ไม่ให้ข้อมูลประจำตัวแก่โมดูล WiFi ของอินเวอร์เตอร์กับเครือข่าย WiFi ในบ้าน วิธีนี้ช่วยแก้ปัญหาที่ 1
  2. ให้ Wemos เชื่อมต่อกับจุดเข้าใช้งานของอินเวอร์เตอร์เป็นระยะๆ เพื่อรับข้อมูลที่เราต้องการ เราสามารถใช้โปรโตคอลที่ไม่ใช่เว็บที่ออกแบบย้อนกลับได้สำหรับสิ่งนั้น ฉันใช้รหัสนี้เป็นจุดเริ่มต้น
  3. จากนั้นยกเลิกการเชื่อมต่อ เชื่อมต่อกับเครือข่ายในบ้าน และเผยแพร่ข้อมูลดังกล่าวเป็นข้อความ MQTT

รายการวัสดุของเรานั้นง่ายมาก:

  • One Wemos D1 ที่จะซื้อผ่านเว็บไซต์ Wemos หรือเว็บไซต์ประมูลที่คุณชื่นชอบ
  • แหล่งจ่ายไฟ USB หนึ่งตัวพร้อมสาย USB-mini

ไม่จำเป็นต้องมีสายไฟเลย ค่าใช้จ่ายต่ำกว่า 10 ยูโร

ฉันถือว่าคุณมีอยู่แล้ว

  • อินเวอร์เตอร์ Omnik ที่ติดตั้งโมดูล WiFi
  • โครงสร้างพื้นฐาน MQTT (โบรกเกอร์ แดชบอร์ด);
  • Arduino IDE เวอร์ชันล่าสุดพร้อมรองรับโปรเซสเซอร์ ESP8266 ที่ติดตั้งไว้
  • ความคุ้นเคยบางอย่างกับข้างต้น

มีคำแนะนำเล็กน้อยเกี่ยวกับ MQTT และการใช้ Arduino IDE สำหรับโปรเซสเซอร์ ESP8266 แต่อย่าลังเลที่จะถามในส่วนความคิดเห็น

ขั้นตอนที่ 1: ตัดการเชื่อมต่อ Omnik จากอินเทอร์เน็ตอย่างถาวร

ตัดการเชื่อมต่อ Omnik จากอินเทอร์เน็ตอย่างถาวร
ตัดการเชื่อมต่อ Omnik จากอินเทอร์เน็ตอย่างถาวร

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

ไปที่อินเวอร์เตอร์และดำเนินการดังต่อไปนี้:

  • กดปุ่มลงจนกระทั่งตั้งกะพริบ จากนั้นกด Enter
  • กดปุ่มลงจนกว่า WiFi จะกะพริบ จากนั้นกด Enter
  • กดปุ่มขึ้นเพื่อให้ใช่กะพริบจากนั้นกด Enter

เชื่อมต่อกับอินเวอร์เตอร์

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

รักษาความปลอดภัยจุดเข้าใช้งานของอินเวอร์เตอร์

เมื่อเชื่อมต่อแล้ว ให้เปิดเบราว์เซอร์ของคุณ ป้อน 10.10.100.254 แล้วกด Enter ป๊อปอัปเข้าสู่ระบบจะปรากฏขึ้น ป้อนผู้ดูแลระบบในทั้งสองช่องเพื่อเข้าสู่ระบบ อย่าทำตามตัวช่วยสร้างและกำหนดค่าจุดเชื่อมต่อ คลิกที่ Advanced ในเมนูด้านซ้ายมือ จากนั้นไปที่เมนูย่อย Wireless point

ทำการเปลี่ยนแปลงต่อไปนี้:

  • วิธีการเข้ารหัสเป็น WPA2PSK
  • ประเภทการเข้ารหัสเป็น TKIP
  • ป้อนรหัสผ่าน WiFi จดรหัสผ่าน คุณจะต้องใช้มันเพื่อเชื่อมต่อกับอินเวอร์เตอร์ในไม่ช้า

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

รักษาความปลอดภัยหน้าการกำหนดค่าของอินเวอร์เตอร์

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

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

ขั้นตอนที่ 2: ดาวน์โหลดและกำหนดค่าซอฟต์แวร์สำหรับ Wemos D1

ดาวน์โหลดและกำหนดค่าซอฟต์แวร์สำหรับ Wemos D1
ดาวน์โหลดและกำหนดค่าซอฟต์แวร์สำหรับ Wemos D1

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

  • homeSsid: ชื่อเครือข่าย WiFi ในบ้านของคุณ
  • homePassword: รหัสผ่านของเครือข่าย WiFi ที่บ้านของคุณ
  • omnikSsid: ชื่อของเครือข่าย Omnik WiFi ของคุณ ควรมีลักษณะเหมือน AP_xxxxxxxxx
  • omnikPassword: รหัสผ่านของเครือข่าย Omnik WiFi ที่คุณกำหนดในขั้นตอนก่อนหน้า
  • omnikIP: ที่อยู่ IP ของอินเวอร์เตอร์ นี่คือ {10, 10, 100, 254} เสมอ
  • omnikCommand: สตริงไบต์ที่จำเป็นสำหรับการค้นหาอินเวอร์เตอร์ของคุณ ดูด้านล่าง
  • mqtt_server: ชื่อโฮสต์ของโบรกเกอร์ MQTT ของคุณ
  • mqtt_port: หมายเลขพอร์ต TCP โดยปกติคือ 1883 สำหรับการเชื่อมต่อที่ไม่ปลอดภัยหรือ 8883 สำหรับการเชื่อมต่อที่ปลอดภัย (SSL)
  • mqtt_username และ mqtt_password: ข้อมูลประจำตัวสำหรับโบรกเกอร์ MQTT ของคุณ
  • mqtt_clientID: ป้อนตัวเลขสุ่มที่นี่
  • mqtt_outTopic: หัวข้อของข้อความ MQTT

omnikCommand byte array นั้นมีไว้สำหรับอินเวอร์เตอร์ของคุณโดยเฉพาะ ฉันเผยแพร่เครื่องมือขนาดเล็กเป็น Google สเปรดชีตเพื่อคำนวณสตริง คุณต้องป้อนหมายเลขซีเรียล (ประมาณ 10 หลัก) ในเซลล์ B1 และใช้สตริงที่คำนวณในเซลล์ B4 ในแบบร่างของคุณ

ในการคอมไพล์โค้ดให้สำเร็จ คุณต้องมีไลบรารี PubSubClient.h ด้วย ตรวจสอบให้แน่ใจว่าได้เลือกบอร์ดที่เหมาะสม (Wemos D1) และพอร์ต จากนั้นอัปโหลดแบบร่างไปที่บอร์ด คุณสามารถใส่บอร์ด Wemos ขนาดเล็กในภาชนะพลาสติกขนาดเล็กเพื่อป้องกันและเชื่อมต่อกับแหล่งจ่ายไฟ USB วางไว้ที่ไหนสักแห่งที่ไม่ไกลจากอินเวอร์เตอร์และเราเตอร์ WiFi ของคุณ เท่านี้คุณก็พร้อมแล้ว!

ลูปหลักในซอฟต์แวร์เชื่อมต่อกับอินเวอร์เตอร์ WiFi จากนั้นทำการเชื่อมต่อ TCP อ่านข้อมูล ตัดการเชื่อมต่อ เชื่อมต่อกับเครือข่าย WiFi ในบ้าน จากนั้นไปยังโบรกเกอร์ MQTT และเผยแพร่ข้อมูลที่จัดรูปแบบใหม่ที่นั่น ใช้เวลาเพียงไม่ถึง 15 วินาทีในการเชื่อมต่อและยกเลิกการเชื่อมต่อทั้งหมดนี้ หลังจากนั้นจะมีความล่าช้า 20 วินาที ดังนั้นข้อมูลควรได้รับการเผยแพร่ทุกๆ 35 วินาทีโดยประมาณ

ขั้นตอนที่ 3: คำสองสามคำเกี่ยวกับข้อความ นายหน้า และการทดสอบ

คำสองสามคำเกี่ยวกับข้อความ นายหน้า และการทดสอบ
คำสองสามคำเกี่ยวกับข้อความ นายหน้า และการทดสอบ
คำสองสามคำเกี่ยวกับข้อความ นายหน้า และการทดสอบ
คำสองสามคำเกี่ยวกับข้อความ นายหน้า และการทดสอบ
คำสองสามคำเกี่ยวกับข้อความ นายหน้า และการทดสอบ
คำสองสามคำเกี่ยวกับข้อความ นายหน้า และการทดสอบ

รหัสจะส่งข้อมูลการดีบักเล็กน้อย ดังนั้นหากมีบางอย่างไม่ทำงาน เพียงแค่เชื่อมต่อ WeMos กับพีซีของคุณอีกครั้ง เริ่ม Arduino IDE แล้วกด CTRL+SHFT+M เพื่อเริ่มคอนโซลอนุกรม ตรวจสอบให้แน่ใจว่าได้ตั้งความเร็วไว้ที่ 115200

คุณสามารถใช้นายหน้าของคุณเองหรือใช้บริการบนคลาวด์ ฉันใช้ Mosquitto ของตัวเองที่ติดตั้งบน Synology NAS ของฉัน หากคุณพอใจกับบริการคลาวด์ คุณสามารถใช้ Adafruit หรือ Amazon AWS หรืออย่างอื่นก็ได้

ข้อความเป็นสตริง JSON ที่มีรูปแบบดังนี้:

เมื่อบูตข้อความต่อไปนี้จะถูกเผยแพร่:

สามารถใช้เพื่อตรวจหาการรีบูตที่ไม่คาดคิด

ข้อความปกติมีลักษณะดังนี้:

กำลังไฟฟ้าเป็นวัตต์ แรงดันไฟฟ้าเป็นโวลต์ กระแสเป็นแอมป์ ความถี่เป็นเฮิรตซ์ พลังงานเป็นกิโลวัตต์ชั่วโมง และอุณหภูมิเป็นองศาเซลเซียส

ฉันใช้ mosquitto_sub เพื่อตรวจสอบข้อความ

mosquitto_sub -h ชื่อโฮสต์ -t "Solar/Omnik" -u ผู้ใช้ -P รหัสผ่าน -p 1883 -v

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

บนโทรศัพท์ของฉัน ฉันใช้แอปที่ชื่อ MQTT Dash และฉันได้รวมการพิมพ์หน้าจอและสิ่งที่ต้องป้อนเพื่อแสดงปุ่มหมุนไฟสีเขียวนั้น

แนะนำ: