فهرست مطالب:

Omnik Inverter Off It's Cloud و در MQTT من: 3 مرحله (همراه با تصاویر)
Omnik Inverter Off It's Cloud و در MQTT من: 3 مرحله (همراه با تصاویر)

تصویری: Omnik Inverter Off It's Cloud و در MQTT من: 3 مرحله (همراه با تصاویر)

تصویری: Omnik Inverter Off It's Cloud و در MQTT من: 3 مرحله (همراه با تصاویر)
تصویری: Omnik solar grid inverter 2024, جولای
Anonim
Omnik Inverter Off It's Cloud و در My MQTT
Omnik Inverter Off It's Cloud و در My MQTT
Omnik Inverter Off It's Cloud و در My MQTT
Omnik Inverter Off It's Cloud و در My MQTT

من یک نصب برق خورشیدی با استفاده از اینورتر رشته Omnik دارم. Omnik یک تولید کننده اینورتر PV در چین است و دستگاه های بسیار کارآمد می سازد. به صورت اختیاری ، می توانید یک ماژول WiFi را نصب کنید تا "متصل" شود. من بسیار خوشحالم از دستگاه ، به استثنای دو مورد قابل توجه.

  1. این تلفن به یک سرویس ابری مبتنی بر چین تلفن می دهد و تا زمانی که دستگاه به اینترنت متصل است ، نمی توان آن را خاموش کرد. من این را دوست ندارم.
  2. اینورتر هیچ API مستند (و نه سرویس ابری) ندارد. از آنجا که اتوماسیون خانگی و دستگاه های اینترنت اشیا به سمت پیام های 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 ایجاد می کنید قبل از اعمال بررسی می شود. به جای پرش از طریق حلقه هایی مانند تغییر رمز رمزگذاری روتر و اینورتر ، و سپس تغییر روتر ، تصمیم گرفتم روش تمیزتری انجام دهم و از ابتدا شروع کنم.

به اینورتر بروید و اقدامات زیر را انجام دهید:

  • دکمه پایین را فشار دهید تا تنظیم شود ، سپس Enter را فشار دهید
  • دکمه پایین را فشار دهید تا WiFi چشمک بزند ، سپس Enter را فشار دهید
  • دکمه Up را فشار دهید تا Yes چشمک بزند ، سپس Enter را فشار دهید

به اینورتر وصل شوید

رایانه خود را باز کنید و یک شبکه WiFi به نام AP_xxxxxxxx ، ارقام ارائه کننده x را پیدا کنید. به آن متصل شوید. بسته به سیستم عامل ، ممکن است ابتدا مجبور شوید آن شبکه را "فراموش" کنید ، اگر قبلاً به آن وصل شده اید ، زیرا در حال حاضر رمز عبور WiFi ذخیره شده از بین رفته است.

نقطه دسترسی اینورتر را ایمن کنید

پس از اتصال ، مرورگر خود را باز کنید ، 10.10.100.254 را وارد کرده و Enter را فشار دهید. پنجره ورود به سیستم ظاهر می شود. برای ورود به سیستم ، سرپرست را در هر دو قسمت وارد کنید. از جادوگر پیروی نکنید و نقطه دسترسی را پیکربندی کنید. در منوی سمت چپ روی Advanced کلیک کنید ، سپس زیرمنوی Wireless point.

تغییرات زیر را انجام دهید:

  • روش رمزگذاری به WPA2PSK
  • نوع رمزگذاری در TKIP
  • رمز عبور WiFi را وارد کنید رمز عبور را بنویسید ، برای اتصال به اینورتر به زودی به آن نیاز خواهید داشت.

روی ذخیره کلیک کنید و ماژول WiFi راه اندازی مجدد می شود. اتصال را قطع خواهید کرد زیرا اکنون به رمز عبور نیاز دارد. دوباره وصل شوید و رمز WiFi را وارد کنید. باز هم ، ممکن است لازم باشد ابتدا کامپیوتر خود را "فراموش کنید" شبکه AP_xxxxxxxx. اکنون باید دوباره از طریق پیوند ایمن WiFi به اینورتر متصل شوید.

صفحات پیکربندی اینورتر را ایمن کنید

مرورگر خود را باز کنید ، 10.10.100.254 را وارد کنید و دوباره Enter را فشار دهید. پنجره ورود به سیستم ظاهر می شود. مجدداً برای ورود به سیستم ، سرپرست را در هر دو قسمت وارد کنید. روی حساب در منوی سمت چپ کلیک کنید. نام کاربری و رمز عبور را به دو رشته منحصر به فرد و بی اهمیت تغییر دهید. شما باید هر دو مورد را دوبار وارد کنید. یادداشت بر داشتن. روی ذخیره کلیک کنید و ماژول WiFi راه اندازی مجدد می شود. چند ثانیه صبر کنید و صفحه را دوباره بارگیری کنید. تأیید کنید که اکنون برای باز کردن صفحات پیکربندی به نام کاربری و رمز عبور جدید نیاز دارید. اینورتر شما اکنون دارای یک لایه امنیتی اضافی در برابر تغییرات ایجاد شده توسط افراد خارجی است.

با این کار تمام کارهایی که باید روی اینورتر انجام شود به پایان می رسد. در حال حاضر از اینترنت قطع شده است ، به طور منطقی ایمن شده است ، اما همچنان به عنوان یک نقطه دسترسی WiFi عمل می کند که می توانیم از آن برای پرس و جو استفاده کنیم.

مرحله 2: نرم افزار Wemos D1 را بارگیری و پیکربندی کنید

نرم افزار Wemos D1 را بارگیری و پیکربندی کنید
نرم افزار Wemos D1 را بارگیری و پیکربندی کنید

نرم افزار Wemos را بارگیری کنید. در اینجا می توانید کد را بیابید. برای پیکربندی آن برای شبکه خانگی و اینورتر خود ، باید چند تغییر ایجاد کنید

  • homeSsid: نام شبکه وای فای خانگی شما
  • homePassword: رمز شبکه وای فای خانگی شما
  • omnikSsid: نام شبکه WiFi Omnik شما. باید شبیه AP_xxxxxxxxx باشد
  • omnikPassword: رمز عبور شبکه WiFi Omnik خود که در مرحله قبل اختصاص داده اید
  • 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 مخصوص اینورتر شما است. من یک ابزار کوچک را به عنوان صفحه گسترده Google برای محاسبه رشته منتشر کردم. شما باید شماره سریال (حدود 10 رقم اعشاری) را در سلول B1 وارد کرده و از رشته محاسبه شده در سلول B4 در طرح خود استفاده کنید.

برای کامپایل موفقیت آمیز کد نیز به کتابخانه PubSubClient.h نیاز دارید. مطمئن شوید که برد مناسب (Wemos D1) و پورت انتخاب شده است ، سپس طرح را روی برد بارگذاری کنید. برای محافظت می توانید تخته کوچک Wemos را در یک ظرف پلاستیکی کوچک قرار داده و آن را به منبع تغذیه USB وصل کنید. آن را در مکانی نه چندان دور از اینورتر و روتر WiFi خود قرار دهید و آماده هستید!

حلقه اصلی در نرم افزار به وای فای اینورتر متصل می شود ، سپس یک اتصال TCP به آن برقرار می کند ، داده ها را می خواند ، قطع می شود ، به شبکه WiFi خانگی متصل می شود ، سپس به کارگزار MQTT متصل می شود و داده های دوباره قالب بندی شده را در آنجا منتشر می کند. انجام این همه اتصال و قطع اتصال ، فقط کمتر از 15 ثانیه طول می کشد. پس از آن ، 20 ثانیه تأخیر وجود دارد ، بنابراین داده ها باید تقریباً هر 35 ثانیه منتشر شوند.

مرحله 3: چند کلمه در مورد پیامها ، کارگزار و آزمایش

چند کلمه در مورد پیامها ، کارگزار و آزمایش
چند کلمه در مورد پیامها ، کارگزار و آزمایش
چند کلمه در مورد پیامها ، کارگزار و آزمایش
چند کلمه در مورد پیامها ، کارگزار و آزمایش
چند کلمه در مورد پیامها ، کارگزار و آزمایش
چند کلمه در مورد پیامها ، کارگزار و آزمایش

کد کمی از اشکال زدایی داده را خارج می کند ، بنابراین اگر چیزی کار نمی کند ، به سادگی WeMos را دوباره به رایانه خود وصل کنید ، Arduino IDE را راه اندازی کنید و CTRL+SHFT+M را فشار دهید تا یک کنسول سریال شروع شود. مطمئن شوید که سرعت روی 115200 تنظیم شده باشد.

شما می توانید از کارگزار خود استفاده کنید یا از یک سرویس مبتنی بر ابر استفاده کنید. من خودم ، Mosquitto را که روی NAS Synology من نصب شده است ، اجرا می کنم. اگر با سرویس ابری مشکلی ندارید ، می توانید از Adafruit یا Amazon AWS یا هر سرویس دیگری استفاده کنید.

رشته های JSON به صورت زیر قالب بندی شده اند:

در بوت پیام زیر منتشر می شود:

این می تواند برای تشخیص راه اندازی مجدد غیر منتظره استفاده شود.

پیامهای معمولی به این شکل هستند:

قدرت در وات ، ولتاژ در ولت ، جریان در آمپر ، فرکانس در هرتز ، انرژی در کیلو ساعت و دما در درجه سانتیگراد.

من از mosquitto_sub برای بررسی پیام ها استفاده می کنم.

mosquitto_sub -h hostname -t "Solar/Omnik" -u user -P password -p 1883 -v

برای مشاهده نتایج ، صفحه نمایش را ببینید. همه پیامها با پرچم حفظ شده روی true منتشر می شوند.

در تلفن من از برنامه ای به نام MQTT Dash استفاده می کنم و یک چاپ روی صفحه و مواردی که باید وارد کنید را نشان می دهم تا صفحه شماره گیری سبز نشان داده شود.

توصیه شده: