ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

راه‌اندازی مبدل بی‌سیم ArtNet به DMX با برد ESP8266

آموزش و الکترونیک
۰ نظر
۲۸ نفر
کد ۴۳۶۹

کنترل نورپردازی حرفه‌ای تو سالن‌ها و استیج‌ها معمولا با پروتکل DMX انجام می‌شه. ولی کابل‌کشی‌های طولانی همیشه هم سخت و هم پردردسره. با استفاده از پروتکل ArtNet، این امکان فراهم می‌شه که دیتای DMX رو روی شبکه وای‌فای منتقل کنیم؛ روشی که هم سرعت بالایی داره و هم از شر سیم‌های اضافی راحتمون می‌کنه.

توی این پروژه اختصاصی از آیسی‌مدار، قصد داریم یه گره شبکه (Node) بسازیم که اطلاعات ArtNet رو به صورت بی‌سیم از طریق وای‌فای دریافت کنه و به سیگنال استاندارد DMX تبدیل کنه. مغز متفکر این مدار ماژول محبوب ESP8266 هست که در کنار تراشه‌های ساده‌ای مثل Max485 خروجی بسیار پایدار و دقیقی بهمون می‌ده.

با ساخت این گجت کوچیک، می‌تونی به راحتی نرم‌افزارهای نورپردازی حرفه‌ای رو به تجهیزات نوری خودت وصل کنی و اون‌ها رو به صورت وایرلس کنترل کنی. پس وسایلت رو آماده کن تا قدم‌به‌قدم این مدار کاربردی رو با هم بسازیم!

قطعات موردنیاز

  • ماژول ESP8266 (مدل 07 یا مدل‌های مشابه)
  • منبع تغذیه 5 ولت (مثل یه شارژر USB کوچک)
  • تراشه Max485 (دو عدد - برای خروجی‌های DMX)
  • رگولاتور ولتاژ 3.3 ولت
  • مقاومت (2 عدد 1 کیلواهم، 3 عدد 390 اهم، 1 عدد 750 اهم)
  • خازن 100 نانوفاراد (4 عدد)
  • سوکت XLR سه پین یا پنج پین
  • ال‌ای‌دی آبی کوچک (2 عدد)
  • برد سوراخ‌دار (Perf board)، سیم‌کشی، کانکتور و قاب پروژه
مرحله ۱

قطعات مورد نیاز برای ساخت مبدل DMX

برای شروع، اول به یه ماژول ESP8266 نیاز داریم. من از مدل 07 استفاده کردم ولی بقیه مدل‌ها هم تقریبا مشابه هستن. برای تأمین انرژی، یه آداپتور یا شارژر کوچیک USB عالیه. مقاومت‌ها شامل دو تا 1 کیلو، سه تا 390 اهم و یدونه 750 اهم می‌شن. 4 تا خازن 100 نانوفاراد هم باید دم دستت باشه.

چون ماژول ESP8266 با ولتاژ 3.3 کار می‌کنه، حتما به یه رگولاتور 3.3 ولتی هم نیاز داریم. مصرف جریانش خیلی بالا نیست، پس هر رگولاتور استانداردی جواب کارمون رو می‌ده.

برای تولید خروجی استاندارد DMX به آیسی Max485 نیاز داریم. ما دو تا از این تراشه می‌خوایم تا دو تا خروجی (یونیورس) مستقل داشته باشیم. این تراشه‌ها 5 ولتی هستن اما منطق 3.3 ولتی ESP رو بدون هیچ مشکلی می‌پذیرن.

البته نسخه 3.3 ولتی این تراشه هم تو بازار پیدا می‌شه، ولی اگه همین 5 ولتی رو تو کشوی قطعاتت داری، با خیال راحت از همون استفاده کن.

برای اتصال کابل‌های نوری، باید از سوکت‌های XLR استفاده کنی. استاندارد اصلی 5 پین هست، ولی من از نوع 3 پین استفاده کردم؛ چون هم پیدا کردنش راحت‌تره و هم اکثر تجهیزات نوری معمولی با 3 پین سازگارن.

دو تا ال‌ای‌دی آبی کوچیک هم برای نمایش وضعیت فعال بودن خروجی‌های DMX در نظر بگیر. داشتنشون الزامی نیست ولی برای عیب‌یابی خیلی به دردت می‌خوره.

در نهایت برای جمع‌وجور کردن پروژه، یه برد سوراخ‌دار (پرف‌بورد)، مقداری سیم جامپر، یه قاب پلاستیکی مناسب و سوکت ورودی برق نیاز داری تا کار کاملا تمیز و حرفه‌ای بشه.

مرحله ۲

بررسی شماتیک و مونتاژ قطعات روی برد

بهترین کار اینه که قبل از لحیم‌کاری، اول مدار رو روی بردبورد ببندی و تست کنی. مخصوصا اگه می‌خوای تغییراتی تو شماتیک اصلی بدی، این مرحله حسابی از اشتباهات جلوگیری می‌کنه. برای راحتی کار می‌تونی شماتیک رو با دقت بررسی کنی و قطعات رو قدم‌به‌قدم کنار هم بچینی. اتصالات رو بر اساس نقشه شماتیک برقرار کن. دقت کن که پایه‌های ماژول وای‌فای رو درست متصل کرده باشی.

وقتی خیالت از عملکرد مدار راحت شد، قطعات رو روی برد سوراخ‌دارت جابه‌جا کن تا به بهترین چیدمان برسی. من می‌خواستم دستگاه نهاییم تا حد ممکن کوچیک باشه، برای همین موقع لحیم‌کاری مدام ابعاد قاب پلاستیکی رو هم چک می‌کردم.

توی عکس می‌تونی سه تا هدر 4 پین رو ببینی. دو تای بالایی برای خروجی‌های DMX هستن و اون یکی که پایین قرار داره برای اتصال تغذیه و ال‌ای‌دی‌هاست. یه هدر 2 پین مشکی هم وسط مدار گذاشتم که برای پایه‌های RX و TX پروگرام کردن ESP8266 هست.

حواست باشه که روی پایه RX یه مقسم ولتاژ (متشکل از R5 و R6) گذاشتم. دلیلش اینه که مبدل سریال من 5 ولتیه و باید ولتاژش رو به 3.3 ولت برسونم تا ماژولم نسوزه. اگه مبدل 3.3 ولتی داری، می‌تونی این مقاومت‌ها رو حذف کنی.

برای صرفه‌جویی تو فضا، کلیدهای ریست و پروگرام رو روی برد نذاشتم. برای ریست کردن مدار خیلی راحت برقش رو قطع و وصل می‌کنم. برای ورود به حالت پروگرام هم از یه تیکه سیم جامپر روی پایه ریست استفاده می‌کنم.

با یه گیره سوسماری پایه مورد نظر رو به GND وصل می‌کنم. با اینکه یه کم دردسر داره، اما چون آپدیت‌های بعدی رو می‌شه از طریق وای‌فای (OTA) انجام داد، این کار رو فقط همون بار اول نیاز داری.

برای ساده‌تر شدن و ارزون تموم شدن پروژه، خطوط DMX رو ایزوله نکردم (چون مبدل‌های DC-DC گرونن). ولی اگه می‌خوای دستگات خیلی استاندارد و صنعتی باشه، پیشنهاد می‌کنم حتما از اپتوکوپلر و ایزولاتور استفاده کنی. فقط کافیه مدار ایزوله رو سر راه سیگنال قرار بدی؛ دقیقا به یه ایزولاتور نوری و یه مبدل DC-DC روی هر خروجی DMX نیاز پیدا می‌کنی.

مرحله ۳

ساخت قاب و جای‌گذاری مدار

طراحی قاب رو دقیقا متناسب با ابعاد برد و قطعات انجام دادم تا هیچ فضای اضافه‌ای هدر نره و دستگاه کاملا جمع‌وجور بشه. تصمیم گرفتم همه کانکتورها و پورت‌ها رو روی یه وجه از قاب قرار بدم تا ظاهر شیک‌تری داشته باشه و مدیریت کابل‌ها راحت‌تر بشه. برای همین اول از همه جای سوراخ‌های سوکت XLR، ال‌ای‌دی‌ها و آنتن رو با دریل درآوردم.

سوراخ مربوط به کانکتور برق رو هم با یه کاتر داغ درآوردم. البته ابعادش رو یه کم اشتباه بریدم و مجبور شدم برای محکم کردنش کلی چسب حرارتی دورش بریزم!

بعد از اینکه سوراخ‌ها آماده شد، شاخک‌های فلزی شارژر USB رو با سیم‌چین کوتاه کردم تا توی قاب جا بشه. به پایه‌های شارژر سیم لحیم کردم؛ قهوه‌ای برای فاز و آبی برای نول. سیم‌های آبی مربوط به سیگنال رو هم به سوکت‌های XLR وصل کردم.

سیم‌های ال‌ای‌دی و خطوط پاور رو به یه هدر 4 پین رسوندم (تو عکسا همون سیم‌های مشکی رنگ هستن). برای انتقال 5 ولت هم از یه کابل USB قدیمی کمک گرفتم.

با مولتی‌متر قطب‌های مثبت و منفی تغذیه رو چک کن. برای ال‌ای‌دی‌ها، پایه کوتاه (کاتد) به زمین و پایه بلند (آند) به پین‌های 2 یا 3 کانکتور وصل می‌شه. روی اتصالاتت وارنیش حرارتی بکش تا خطر اتصالی به صفر برسه.

حالا سوکت‌های XLR رو پیچ کن، کانکتور برق رو سر جاش چسب بزن و ال‌ای‌دی‌ها رو تو سوراخ‌هاشون محکم کن. برد اصلی رو با دقت بذار تو قاب و با یه پیچ کوچیک سر جاش فیکسش کن. اگه دوست داشتی می‌تونی به جای پیچ از چسب هم استفاده کنی تا مدار موقع جابه‌جایی تکون نخوره. در آخر کابل USB تغذیه رو وصل کن و روش چسب حرارتی بریز تا جدا نشه. سوکت‌های هدر و آنتن رو هم روی برد جا بزن.

کارهای سخت‌افزاری تموم شد؛ حالا وقتشه که بریم سراغ آپلود فریم‌ور...

مرحله ۴

برنامه‌نویسی و آپلود فریم‌ور روی ESP8266

اول مبدل USB به سریال خودت رو متصل کن. من از یه آردوینو مگا به عنوان پروگرامر استفاده کردم. کافیه پایه Reset آردوینو رو به GND وصل کنی و بعد پایه‌های TX، RX و GND آردوینو رو به پایه‌های مشابه تو ESP متصل کنی.

مطمئن شو که ارتباط سریال 3.3 ولتی هست. اگه پروگرامرت 5 ولتیه (مثل آردوینو مگا)، همون‌طور که قبلا گفتم از یه مقسم ولتاژ با مقاومت استفاده کن. حالا پایه 0 (GPIO0) رو به زمین وصل کن تا ماژول وارد حالت پروگرام بشه.

تو این وضعیت دستگاه برای دریافت کد آماده‌ست. نرم‌افزار Arduino IDE رو باز کن و کتابخونه‌های مربوط به ESP8266 رو روش نصب کن. ما از یه لایبرری اختصاصی به اسم espDMX استفاده می‌کنیم که وظیفه‌ش کنترل دقیق تایمینگ‌ها برای خروجی‌های DMX هست.

سرعت رفرش خروجی DMX حدودا 44 هرتز هست که برای کنترل کامل 512 کانال کاملا ایده‌آله. اگه سیگنال‌ها رو با اسیلوسکوپ ببینی، خروجی‌های هر دو پورت بی‌نقص و پایداره.

این کتابخونه بهینه‌شده هست تا از وقفه‌های سخت‌افزاری (Interrupts) بهترین استفاده رو ببره. کدهای مربوط به این پروژه (esp8266_artnetnode_dmx) رو روی سیستمت دانلود کن. می‌تونی از فایل کامپایل‌شده (bin) هم استفاده کنی و بعدا بدون نیاز به کابل، نرم‌افزارت رو از طریق وای‌فای (OTA) آپدیت کنی.

برای فلش کردن، فایل برنامه رو تو آردوینو باز کن. از منوی Tools برد رو روی Generic ESP8266 تنظیم کن. دقت کن که حافظه فلش رو دقیقا متناسب با مدل ماژولت انتخاب کرده باشی؛ می‌تونی از ابزار CheckFlashConfig تو مثال‌های پیش‌فرض آردوینو برای این کار کمک بگیری.

توی تنظیمات، اگه حافظه ماژولت کمه مقدار فضای SPIFFS رو پایین بیار تا حجم کافی برای برنامه اصلی باقی بمونه. پورت سریال مناسب رو انتخاب کن و دکمه آپلود رو بزن. اگه همه تنظیمات و کتابخونه‌ها درست باشن، کد بدون هیچ خطایی روی ماژول آپلود می‌شه. پایه‌های مربوط به ال‌ای‌دی تو خود کد تعریف شدن (پیش‌فرض روی پایه‌های 12 و 13 هستن) که می‌تونی تو سورس‌کد تغییرشون بدی.

برای عیب‌یابی، دو تا دستور خطایابی تو بالای کد کامنت شدن. با فعال کردن ماکروی VERBOSE، ماژول تمام وقایع رو تو پورت سریال چاپ می‌کنه (البته تو این حالت یکی از خروجی‌های DMX غیرفعال می‌شه و پسووردها مشخص می‌شن).

مرحله ۵

تنظیمات شبکه و رابط کاربری تحت وب

وقتی دستگاه روشن می‌شه، اول سعی می‌کنه به وای‌فای پیش‌فرضی که براش تعریف شده وصل بشه. اگه تا 30 ثانیه نتونه ارتباط برقرار کنه، خودش یه نقطه اتصال (Hotspot) روشن می‌کنه که اسمش به صورت پیش‌فرض با عبارت artNetNode شروع می‌شه. برای اتصال به این هات‌اسپات، باید پسووردی که بر اساس اسم شبکه ساخته می‌شه (مثلا artNodeXXXX) رو وارد کنی و وصل بشی.

حالا مروگرت رو باز کن. اگه به هات‌اسپات خود دستگاه وصل شدی باید آی‌پی 2.0.0.1 رو بزنی (در نسخه‌های قدیمی‌تر 192.168.4.1 بود). اگه دستگاه به وای‌فای مودم وصل شده، باید آی‌پی اختصاص‌یافته توسط مودم رو وارد کنی. بالای صفحه می‌تونی آدرس MAC ماژول رو هم ببینی.

یه بخش به اسم Node Name داریم که می‌تونی اسم دستگاه رو تغییر بدی تا تو نرم‌افزارهای نورپردازی راحت‌تر پیداش کنی. بخش بعدی هم برای وارد کردن اسم و رمز وای‌فای اصلی سالن یا خونه‌ست.

زمان‌بندی روشن شدن هات‌اسپات هم تو همین صفحه قابل تغییره. این زمان وقتی حساب می‌شه که ماژول نتونه تو لحظه روشن شدن شبکه‌ای پیدا کنه.

در بخش ArtNet می‌تونی آدرس‌های Subnet و Universe رو برای خروجی‌هات تنظیم کنی. اگه می‌خوای هر دو خروجی دقیقا یه فرمان رو دریافت کنن، کافیه اعدادشون رو شبیه هم وارد کنی.

معمولا شبکه‌های ArtNet تو رنج آی‌پی 10.0.0.0 یا 2.0.0.0 کار می‌کنن، اما با آی‌پی‌های دیگه هم مشکلی ندارن. بعضی از تنظیمات به محض ذخیره شدن اعمال می‌شن، ولی برای یه سری‌هاشون باید ماژول ریست بشه.

اون پایین هم یه باکس برای آپدیت فریم‌ور (OTA) داریم. از طریق این بخش می‌تونی فایل برنامه جدید رو روی ماژول بریزی، بدون اینکه نیاز به باز کردن قاب و اتصال کابل داشته باشی. موقع آپدیت، خروجی‌های DMX برای چند لحظه قطع می‌شن. اگه فرآیند آپدیت موفقیت‌آمیز بود، نسخه جدید جلوی ورژن نرم‌افزار نوشته می‌شه.

برای ساخت فایل باینری جهت آپدیت، باید از منوی Sketch تو آردوینو گزینه Export compiled Binary رو انتخاب کنی. اگه دیدی آپدیت وایرلس مدام با خطا مواجه می‌شه یا هات‌اسپات بالا نمیاد، احتمالا ظرفیت حافظه فلش رو تو تنظیمات آردوینو اشتباه وارد کردی. با ابزار CheckFlashConfig می‌تونی این مشکل رو برطرف کنی.

مرحله ۶

تست نهایی و روشن کردن تجهیزات نورپردازی

تا اینجای کار، دستگاهمون به وای‌فای وصل شده و به پنل تنظیماتش هم دسترسی داریم. حالا وقتشه که نرم‌افزار یا کنسول نورپردازی رو کانفیگ کنیم.

اول از همه مطمئن شو که لپ‌تاپ یا کنسولت تو همون رنج آی‌پی ماژول (مثل 10.0.0.0 یا 2.0.0.0) قرار داره تا بتونن هم‌دیگه رو تو شبکه ببینن.

نرم‌افزارهای نورپردازی روش‌های مختلفی برای تنظیم دارن، اما اصول همشون یکیه. باید مشخص کنی کدوم Universe قراره دیتاش رو به پورت ArtNet ما بفرسته. این ارسال اطلاعات می‌تونه به صورت Multicast (ارسال برای همه دستگاه‌های شبکه) یا Unicast (ارسال مستقیم به دستگاه ما) باشه.

من حالت Unicast رو پیشنهاد می‌کنم چون فشار کمتری به شبکه میاره و سرعتش بالاتره. گجت ما هم درخواست‌های شبکه رو خیلی سریع پاسخ می‌ده و تو نرم‌افزار نورپردازیت قابل شناسایی می‌شه. برای نمونه من از نرم‌افزار حرفه‌ای Jands Vista استفاده کردم. عکس‌های کانفیگ این برنامه رو برات گذاشتم تا متوجه روند کار بشی.

فرض می‌کنیم تجهیزات نوری خودت رو تو نرم‌افزار Patch کردی و آماده فرمان گرفتن هستن. برو تو قسمت Connect Universes. این بخش لیست تمام خروجی‌های شبکه و دستگاه‌های متصل رو بهت نشون می‌ده.

اینجا باید گره شبکه‌ای که ساختی (espArtnetNode) با دو تا پورت در دسترست دیده بشه. حالا دیتاهای مد نظرت رو به این پورت‌ها اختصاص بده تا اتصال بی‌سیم بین نرم‌افزار و ماژول برقرار بشه. به محض اینکه دیتا ارسال بشه، ال‌ای‌دی‌های روی ماژول شروع به چشمک زدن می‌کنن که نشون می‌ده سیگنال DMX در حال خروجیه.

در صورت نیاز می‌تونی یه ارتباط Broadcast هم از طریق گزینه Add Network Connection اضافه کنی. با تنظیم ساب‌نت و یونیورس روی حالت Broadcast، همه دستگاه‌های تو شبکه می‌تونن از این پورت اطلاعات نورپردازی رو دریافت کنن. حالا کابل‌های DMX تجهیزات نوریت رو به سوکت‌های XLR ماژول وصل کن و از بازی با نورها لذت ببر! این روش حتی برای کنترل ریسه‌های دیجیتال و پیکسلی هم فوق‌العاده کاربردیه.

مرحله ۷

مفهوم چشمک‌زدن ال‌ای‌دی‌های وضعیت

دو تا ال‌ای‌دی که روی قاب تعبیه کردیم هر کدوم پیام خاصی دارن. وقتی دستگاه رو روشن می‌کنی، هر دو لامپ روشن می‌شن تا نشون بدن مدار در حال بوت شدنه. تا زمانی که ماژول داره سعی می‌کنه به وای‌فای وصل بشه، این لامپ‌ها روشن می‌مونن.

اگه نتونه وصل بشه و به حالت هات‌اسپات بره، ال‌ای‌دی‌ها تقریبا ثانیه‌ای دو بار و به صورت یکی‌درمیون چشمک می‌زنن. این چشمک زدن تا زمانی که یه دیوایس بهش وصل نشه ادامه پیدا می‌کنه. اگه بعد از یه دقیقه هیچ وسیله‌ای به هات‌اسپات متصل نشه، سیستم ریست می‌شه تا دوباره شانس خودش رو برای اتصال امتحان کنه.

وقتی اتصال وای‌فای موفق باشه، هر دو ال‌ای‌دی خاموش می‌شن و منتظر دریافت دیتای ArtNet می‌مونن. به محض اینکه اولین بسته‌های اطلاعات بهش برسه، خروجی DMX فعال می‌شه و ال‌ای‌دی‌ها متناسب با جریان داده‌ها سوسو می‌زنن. یه استریم دیتای سالم باعث می‌شه لامپ‌ها بدون توقف پرپر بزنن.

اما اگه ال‌ای‌دی‌ها با سرعت پایین (تقریبا ثانیه‌ای یه بار) خاموش و روشن بشن، یعنی ارتباط با نرم‌افزار قطع شده یا شبکه افتاده. تو این حالت، ماژول آخرین دیتای دریافت شده رو همچنان رو خروجی می‌فرسته تا پروژکتورها ناگهان خاموش نشن و ثبات حفظ بشه.

مرحله ۸

عیب‌یابی و حل مشکلات احتمالی

این پروژه معمولا خیلی روون کار می‌کنه، اما اگه به مشکلی خوردی این موارد رو چک کن: اگه دستگاه به شبکه وصل نمی‌شه، یادت باشه که ماژول ESP8266 فقط روی باندهای 2.4 گیگاهرتز کار می‌کنه. اسم شبکه و رمزش رو سه بار چک کن که غلط املایی نداشته باشی. مطمئن شو که تنظیمات MAC Filter تو مودمت جلوی اتصال ماژول رو نگرفته باشه. حجم حافظه فلش هم موقع آپلود کد خیلی مهمه.

اگه هات‌اسپات فعال نمی‌شه، احتمالا زمان‌سنج (Timeout) رو تو تنظیمات خیلی بالا بردی. یه دلیل دیگه‌ش هم می‌تونه این باشه که دستگاه موفق شده به وای‌فای مودم وصل بشه؛ وقتی به مودم وصل بشه دیگه هات‌اسپات رو روشن نمی‌کنه. اگه تو آپدیت بی‌سیم (OTA) به مشکل خوردی، شک نکن که سایز حافظه فلش رو تو نرم‌افزار آردوینو اشتباه وارد کردی.

یه بار با دقت سایز حافظه رو با استفاده از کدهای تست بررسی کن. اگه تجهیزات نوری واکنشی نشون نمی‌دن، یادت باشه خروجی DMX زمانی فعال می‌شه که دستگاه دیتای معتبر ArtNet رو دریافت کرده باشه.

تنظیمات نرم‌افزار یا کنسول رو چک کن و مطمئن شو تنظیمات آی‌پی و ساب‌نت هر دو طرف دقیقا یکی باشن. ضمنا نرم‌افزارت باید لایسنس ارسال دیتای خروجی رو داشته باشه. مثلا بعضی نرم‌افزارها اگه کانال‌های نوری خریداری نشده باشن، خروجی رو قطع می‌کنن.

اگه ال‌ای‌دی‌ها چشمک می‌زنن ولی چراغ‌ها روشن نمی‌شن، ولتاژ تغذیه آیسی Max485 و سیم‌کشی‌های پایه‌ها رو یه بار با دقت چک کن. شاید سوکت‌های خروجی رو برعکس جا زدی!

مرحله ۹

ایده‌هایی برای توسعه و ارتقای پروژه

این پروژه جای پیشرفت زیادی داره. مثلا می‌شه رابط تحت وب رو به کمک تکنولوژی‌های AJAX و JSON بهینه‌تر کرد تا موقع ذخیره تنظیمات کل صفحه رفرش نشه.

یا می‌شه یه حالت مستقل (Stand Alone) براش ساخت تا بتونه بدون نیاز به مودم یا روتر خارجی، مستقیما به موبایل یا لپ‌تاپ وصل بشه و فرامین رو اجرا کنه.

حتی به کار بردن یه نمایشگر کوچیک OLED با چند تا دکمه فیزیکی، این گجت رو به یه دستگاه کاملا صنعتی تبدیل می‌کنه تا بدون موبایل هم بشه آدرس‌های آی‌پی رو تنظیم کرد.

تنها چالش دکمه‌های فیزیکی اینه که مدیریت پرش کلیدها (Debouncing) تو برنامه‌نویسی نباید به تایمینگ دقیق ارسال سیگنال‌های DMX لطمه بزنه.

برای حل این مشکل می‌شه از یه میکروکنترلر ارزون‌قیمت مثل AVR در کنار ESP8266 استفاده کرد تا مدیریت کلیدها و صفحه نمایش رو به عهده بگیره.

ذخیره کردن صحنه‌های نوری روی حافظه خود ماژول هم ایده خیلی جذابیه. این‌طوری می‌تونی افکت‌های پیش‌فرض رو تو ماژول ذخیره کنی تا اگه شبکه قطع شد، سناریوهای نوری متوقف نشن. با توجه به ظرفیت خوب حافظه، می‌شه چیزی بیشتر از 500 سناریو رو تو یه ماژول 1 مگابایتی ذخیره کرد. این یعنی می‌تونی برنامه‌های نوری متنوع و جذابی رو روی خودش رکورد کنی.

اضافه کردن قابلیت Captive Portal هم ایده خوبیه. با این ویژگی، وقتی کاربری به هات‌اسپات ماژول وصل می‌شه، خودش به صورت اتوماتیک صفحه تنظیمات رو باز می‌کنه و دیگه نیازی به وارد کردن دستی آی‌پی توی مرورگر نیست.

مرحله ۱۰

امکانات جدید در نسخه‌های به‌روزرسانی‌شده

همیشه سعی می‌شه کدهای این پروژه‌ها بهبود پیدا کنه. تو نسخه‌های جدیدتر، امکاناتی اضافه شده که خیلی از ایرادات قبلی رو برطرف کرده. تو نسخه‌های تازه، از لایبرری‌های بهینه‌تری مثل نسخه‌های دست‌کاری شده lwIP استفاده شده. اگه فایل کامپایل‌شده (bin) رو مستقیم از طریق پنل وب آپلود کنی، به راحتی می‌تونی از این امکانات بهره‌مند بشی.

تو نسخه‌های v1.1 به بعد، پایداری ارتباط شبکه‌ای به شدت بالا رفته. اما یه سری امکانات جذاب دیگه هم هست که بد نیست باهاشون آشنا بشی: سیستم ذخیره سناریو تو حافظه SPIFFS بالاخره پیاده‌سازی شده و الان دستگاه می‌تونه داده‌های ArtNet رو مستقیما تو خودش ضبط کنه.

فقط کافیه نورها رو تو نرم‌افزار تنظیم کنی، بری تو پنل تحت وب، یه اسم براش بذاری و ذخیره‌ش کنی. حالا هر زمان خواستی همون افکت رو از روی خود ماژول لود می‌کنی. روی یه ماژول با 1 مگابایت حافظه می‌شه تا 200 سناریو نوری ذخیره کرد که تو پنل وب میزان حافظه مصرفی هم نمایش داده می‌شه.

قابلیت جابه‌جایی بسته‌های اطلاعاتی (Packet forwarding) هم اضافه شده. یعنی می‌تونی یه ماژول رو به عنوان دستگاه مرجع تو حالت هات‌اسپات بذاری تا بقیه به اون وصل بشن. حالت استندالون (Stand alone mode) رو هم می‌تونی از پنل وب فعال کنی تا مستقیم به ماژول وصل بشی و دیتا رو ارسال کنی.

رابط کاربری یه دستی به سر و روش کشیده شده و الان می‌تونی پسوورد رو موقع تایپ کردن ببینی که اشتباهی رخ نده. تنظیمات آی‌پی‌ها هم خیلی استانداردتر شده؛ به طوری که تو حالت هات‌اسپات، دستگاه آی‌پی 2.0.0.1 رو می‌گیره که با شبکه‌های نوری سازگاری بهتری داره. اگه خودت برنامه‌نویس هستی و می‌خوای سورس‌کد رو ادیت کنی:

برای کامپایل صحیح کدهای جدید باید فایل‌های هسته ESP رو تو سیستمت متناسب با نیاز این پروژه ویرایش کنی تا با پروتکل‌های شبکه هماهنگ‌تر بشن. این تغییرات تو نسخه‌های جدیدتر هسته آردوینو معمولا به صورت پیش‌فرض ادغام می‌شن. موقع کامپایل یادت باشه نوع برد رو روی Core Development Module تنظیم کنی. بخش lwIP Variant رو هم روی حالت Open Source (gcc) بذار تا کامپایل با موفقیت انجام بشه.

این امکانات جدید واقعا یه ماژول ساده رو به یه مبدل فوق‌حرفه‌ای تبدیل کردن.

مرحله ۱۱

معرفی نسخه دوم و جمع‌بندی پروژه

خبر خوب اینه که با توسعه‌های جدید، قابلیت‌های خیلی بزرگ‌تری هم به این ساختار اضافه شده که اون رو برای استفاده‌های سنگین‌تر آماده می‌کنه. کتابخونه‌های جدید خیلی کار رو راحت‌تر کردن:

تو نسخه‌های خیلی پیشرفته، کدنویسی پروتکل ArtNet به صورت اختصاصی برای نسخه‌های جدید (v4) انجام شده تا هم تغییر پورت‌ها رو پشتیبانی کنه و هم هماهنگی بالاتری داشته باشه. بخش espDMX هم کاملا بهینه‌تر شده و می‌تونه به بهترین شکل ممکن سیگنال‌ها رو بدون تأخیر خروجی بده. پشتیبانی از ArtNet v4:

تو معماری‌های مدرن‌تر، ادغام دیتا با استانداردهای HTP و LTP خیلی روان‌تر انجام می‌شه و دستگاه می‌تونه بازخوردهای وضعیتی دقیقی رو به کنسول برگردونه. اضافه شدن پروتکل sACN: پروتکل پرطرفدار sACN هم که خیلیا دنبالش بودن، تو آپدیت‌های بتا فعال شده و عملکرد قابل قبولی داره.

حتی امکان ورود سیگنال (DMX In) هم پیش‌بینی شده تا بشه از یه دیوایس فیزیکی دیگه دیتا خوند و اون رو به شبکه وایرلس فرستاد. قابلیت RDM (Remote Device Management): این ویژگی بهت اجازه می‌ده بدون دست زدن به پروژکتورها و دیوایس‌ها، تنظیماتشون (مثل آدرس دادن بهشون) رو از راه دور کنترل کنی؛ قابلیتی که تو استیج‌های بزرگ معجزه می‌کنه. پشتیبانی از ریسه‌های WS2812:

جالبه بدونی با همین سخت‌افزار، امکان کنترل تا 1360 پیکسل ال‌ای‌دی آدرس‌پذیر (مدل WS2812) وجود داره. یعنی می‌تونی هم‌زمان هم خروجی DMX داشته باشی و هم یه پورت رو مستقیما وصل کنی به ریسه‌های نوری پیکسلی! افکت‌های پیکسلی پیش‌فرض:

با وجود یه موتور افکت سبک رو خود ماژول، می‌تونی صدها پیکسل رو فقط با اشغال کردن 12 کانال DMX کنترل کنی و بهشون انیمیشن‌های نوری جذابی بدی. رابط وب هم با سیستم AJAX خیلی سریع‌تر و بهینه‌تر از قبل شده و تو گوشی‌های موبایل کاملا ریسپانسیو و روان عمل می‌کنه. ذخیره‌سازی سناریوها حتی برای ریسه‌های پیکسلی هم تو آپدیت‌های بعدی این پروژه در دسترسه.

اگه می‌خوای پیکسل‌های دیگه‌ای غیر از WS2812 رو کنترل کنی، این ساختار قابلیت این رو داره که با کمی برنامه‌نویسی توسعه پیدا کنه. این پروژه نشون داد که چطور با یه ماژول وای‌فای ارزون می‌شه یه دستگاه صنعتی قدرتمند ساخت. امیدوارم از این آموزش حسابی لذت برده باشی و بتونی ایده‌های نورپردازی خفنی رو باهاش عملی کنی.

تیم آیسی‌مدار همیشه دنبال ارائه به‌روزترین و کاربردی‌ترین پروژه‌هاست. حتما این گجت خفن رو بساز و نتیجه رو به دوستای الکترونیکیت نشون بده. خسته نباشی و موفق باشی!

فایل‌های پیوست

ZIP ESP8266_ArtNetNode_v2-master.zip
ZIP ESP8266_ArtNetNode_DMX-v1.1.1.zip

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

این آموزش با استانداردهای اختصاصی آیسی‌مدار بازنویسی و بهینه‌سازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!