Lytko متحد

کچھ عرصہ پہلے ہم نے آپ کا تعارف کرایا تھا۔ سمارٹ ترموسٹیٹ. یہ مضمون اصل میں اس کے فرم ویئر اور کنٹرول سسٹم کے مظاہرے کے طور پر تھا۔ لیکن تھرموسٹیٹ کی منطق اور ہم نے جو کچھ لاگو کیا ہے اس کی وضاحت کرنے کے لیے، یہ ضروری ہے کہ مجموعی طور پر پورے تصور کا خاکہ پیش کیا جائے۔

Lytko متحد

آٹومیشن کے بارے میں

روایتی طور پر، تمام آٹومیشن کو تین اقسام میں تقسیم کیا جا سکتا ہے:
. 1 - علیحدہ "سمارٹ" آلات۔ آپ مختلف مینوفیکچررز سے لائٹ بلب، ٹی پاٹس وغیرہ خریدتے ہیں۔ فوائد: ہر آلہ صلاحیتوں کو بڑھاتا ہے اور آرام کو بڑھاتا ہے۔ نقصانات: ہر نئے کارخانہ دار کو اپنی درخواست کی ضرورت ہوتی ہے۔ مختلف مینوفیکچررز کے آلات کے پروٹوکول اکثر ایک دوسرے کے ساتھ مطابقت نہیں رکھتے ہیں۔

. 2 - سنگل بورڈ پی سی کی تنصیب یا x86 ہم آہنگ۔ اس سے کمپیوٹنگ پاور پر پابندیاں ہٹ جاتی ہیں، اور اس مشین پر میجر ڈومو یا سمارٹ ہوم کے انتظام کے لیے کوئی اور سرور کی تقسیم نصب ہے۔ اس طرح، زیادہ تر مینوفیکچررز کے آلات ایک ہی معلوماتی جگہ میں جڑے ہوتے ہیں۔ وہ. سمارٹ ہوم کے لیے آپ کا اپنا سرور ظاہر ہوتا ہے۔ پیشہ: ایک واحد مرکز کے تحت مطابقت، جو بہتر انتظامی صلاحیتیں فراہم کرتا ہے۔ نقصانات: اگر سرور ناکام ہوجاتا ہے، تو پورا سسٹم اسٹیج 1 پر واپس آجاتا ہے، یعنی بکھر جاتا ہے یا بیکار ہو جاتا ہے۔

. 3 - سب سے زیادہ کٹر آپشن۔ مرمت کے مرحلے پر، تمام مواصلات بچھا دیے جاتے ہیں اور تمام سسٹم ڈپلیکیٹ ہوتے ہیں۔ پیشہ: ہر چیز کو کمال تک پہنچایا جاتا ہے اور پھر گھر واقعی سمارٹ ہو جاتا ہے۔ نقصانات: زمرہ جات 1 اور 2 کے مقابلے میں انتہائی مہنگی، ہر چیز کے بارے میں پہلے سے سوچنے اور ہر چھوٹی چھوٹی تفصیل کو مدنظر رکھنے کی ضرورت۔

زیادہ تر صارفین آپشن ایک کا انتخاب کرتے ہیں اور پھر آسانی سے آپشن ٹو پر چلے جاتے ہیں۔ اور پھر سب سے زیادہ مستقل لوگ آپشن 3 تک پہنچ جاتے ہیں۔

لیکن ایک آپشن ہے جسے تقسیم شدہ نظام کہا جا سکتا ہے: ہر انفرادی ڈیوائس سرور اور کلائنٹ دونوں ہو گی۔ بنیادی طور پر، یہ آپشن 1 اور آپشن 2 کو لینے اور یکجا کرنے کی کوشش ہے۔ ان کے تمام فوائد کو لے کر نقصانات کو ختم کریں، سنہری مطلب کو پکڑنے کے لیے۔

شاید کوئی کہے گا کہ اس طرح کا آپشن پہلے ہی تیار ہو چکا ہے۔ لیکن ایسے فیصلوں پر توجہ مرکوز کی جاتی ہے۔ پروگرامنگ میں جاننے والے لوگوں کے لئے۔ ہمارا مقصد اس طرح کے تقسیم شدہ نظاموں میں داخلے کی رکاوٹ کو کم کرنا ہے، دونوں اختتامی آلات کی شکل میں اور موجودہ آلات کو ہمارے سسٹم میں ضم کرنے کی صورت میں۔ تھرموسٹیٹ کے معاملے میں، صارف صرف اپنے پرانے تھرموسٹیٹ کو ہٹاتا ہے، ایک سمارٹ انسٹال کرتا ہے، اور اپنے موجودہ سینسر کو اس سے جوڑتا ہے۔ بغیر کسی اضافی اقدامات کے۔

آئیے ایک مثال کا استعمال کرتے ہوئے اپنے سسٹم میں انضمام کو دیکھیں۔

آئیے تصور کریں کہ ہمارے نیٹ ورک پر 8 سون آف ماڈیولز ہیں۔ کچھ صارفین کے لیے، سونف کلاؤڈ (زمرہ 1) کے ذریعے کنٹرول کافی ہوگا۔ کچھ تھرڈ پارٹی فرم ویئر استعمال کرنا شروع کر دیں گے اور آسانی سے زمرہ 2 میں چلے جائیں گے۔ تھرڈ پارٹی فرم ویئر کا بڑا حصہ اسی اصول پر کام کرتا ہے: ڈیٹا کو MQTT سرور پر منتقل کرنا۔ OpenHub، Majordomo یا کوئی اور ایک مقصد پورا کرتا ہے - انٹرنیٹ پر یا مقامی نیٹ ورک پر واقع ایک واحد معلوماتی جگہ میں مختلف آلات کو متحد کرنا۔ اس لیے سرور کی موجودگی لازمی ہے۔ یہ وہ جگہ ہے جہاں بنیادی مسئلہ پیدا ہوتا ہے - اگر سرور ناکام ہوجاتا ہے، تو پورا نظام خود مختاری سے کام کرنا چھوڑ دیتا ہے۔ اس کو روکنے کے لیے، سسٹمز زیادہ پیچیدہ ہو جاتے ہیں، دستی کنٹرول کے طریقے شامل کیے جاتے ہیں جو سرور کی ناکامی کی صورت میں ڈپلیکیٹ آٹومیشن کرتے ہیں۔

ہم نے ایک مختلف راستہ اختیار کیا، جہاں ہر آلہ خود کفیل ہے۔ اس طرح، سرور فیصلہ کن کردار ادا نہیں کرتا، بلکہ صرف فعالیت کو بڑھاتا ہے۔

آئیے سوچ کے تجربے کی طرف لوٹتے ہیں۔ آئیے وہی 8 سون آف ماڈیول دوبارہ لیں اور ان میں Lytko فرم ویئر انسٹال کریں۔ تمام Lytko فرم ویئرز کا فنکشن ہوتا ہے۔ ایس ایس ڈی پی. SSDP ایک نیٹ ورک پروٹوکول ہے جو نیٹ ورک سروسز کی تشہیر اور دریافت کے لیے انٹرنیٹ پروٹوکول سوٹ پر مبنی ہے۔ درخواست کا جواب معیاری یا بڑھایا جا سکتا ہے۔ معیاری افعال کے علاوہ، ہم نے اس جواب میں نیٹ ورک پر آلات کی فہرست بنانا شامل کیا ہے۔ اس طرح، آلات خود ایک دوسرے کو تلاش کرتے ہیں، اور ان میں سے ہر ایک کی ایسی فہرست ہوگی. SSDP شیٹ کی مثال:

"ssdpList": 
	{
		"id": 94967291,  
		"ip": "192.168.x.x",
                "type": "thermostat"
	}, 
	{
		"id": 94967282,
		"ip": "192.168.x.x",
                "type": "thermostat"
	}

جیسا کہ آپ مثال سے دیکھ سکتے ہیں، فہرست میں ڈیوائس آئی ڈی، نیٹ ورک پر آئی پی ایڈریس، یونٹ کی قسم (ہمارے معاملے میں، سونف پر مبنی تھرموسٹیٹ) شامل ہیں۔ اس فہرست کو ہر دو منٹ میں ایک بار اپ ڈیٹ کیا جاتا ہے (یہ مدت نیٹ ورک پر آلات کی تعداد میں متحرک تبدیلیوں کا جواب دینے کے لیے کافی ہے)۔ اس طرح، ہم بغیر کسی صارف کی کارروائی کے شامل کردہ، تبدیل شدہ اور غیر فعال آلات کو ٹریک کرتے ہیں۔ یہ فہرست براؤزر یا موبائل ایپلیکیشن کو بھیجی جاتی ہے، اور اسکرپٹ خود ہی بلاکس کی دی گئی تعداد کے ساتھ ایک صفحہ تیار کرتا ہے۔ ہر بلاک ایک ڈیوائس/سینسر/کنٹرولر سے مساوی ہے۔ بصری طور پر فہرست اس طرح نظر آتی ہے:

Lytko متحد

لیکن کیا ہوگا اگر دوسرے ریڈیو سینسرز esp8266/esp32 سے cc2530 (ZigBee) یا nrf24 (MySensors) کے ذریعے منسلک ہوں؟

منصوبوں کے بارے میں

مارکیٹ میں مختلف تقسیم شدہ نظام موجود ہیں۔ ہمارا نظام آپ کو سب سے زیادہ مقبول کے ساتھ ضم کرنے کی اجازت دیتا ہے۔

ذیل میں ایسے منصوبے ہیں جو ایک دوسرے کے ساتھ مختلف مینوفیکچررز کی عدم مطابقت کے ساتھ صورتحال کو تبدیل کرنے کی کوشش کر رہے ہیں۔ یہ ہے، مثال کے طور پر، SLS گیٹ وے, مائی سینسرز یا ZESP32. ZigBee2MQTT ایک MQTT سرور سے منسلک ہے، لہذا یہ مثال کے لیے موزوں نہیں ہے۔

MySensors کو لاگو کرنے کا ایک آپشن ESP8266 پر مبنی گیٹ وے ہے۔ باقی مثالیں ESP32 پر ہیں۔ اور ان میں آپ آلات کی فہرست کا پتہ لگانے اور بنانے کے ہمارے آپریٹنگ اصول کو نافذ کر سکتے ہیں۔

آئیے ایک اور سوچنے کا تجربہ کرتے ہیں۔ ہمارے پاس ZESP32 گیٹ وے یا SLS گیٹ وے، یا MySensors ہے۔ ان کو ایک معلوماتی جگہ میں کیسے جوڑا جا سکتا ہے؟ ہم SSDP پروٹوکول لائبریری کو ان گیٹ ویز کے معیاری افعال میں شامل کریں گے۔ ایس ایس ڈی پی کے ذریعے اس کنٹرولر تک رسائی حاصل کرتے وقت، یہ ان آلات کی فہرست شامل کرے گا جو اس سے منسلک ہیں معیاری جواب میں۔ اس معلومات کی بنیاد پر، براؤزر ایک صفحہ تیار کرے گا۔ عام طور پر یہ اس طرح نظر آئے گا:

Lytko متحد
ویب انٹرفیس

Lytko متحد
پی ڈبلیو اے کی درخواست

"ssdpList": 
{
   "id": 94967291, // уникальный идентификатор устройства
   "ip": "192.168.x.x", // ip адрес в сети
   "type": "thermostat" // тип устройства
},
{
   "id": 94967292,
   "ip": "192.168.x.x",
   "type": "thermostat"
},
{
   "id": 94967293,
   "ip": "192.168.x.x",
   "type": "thermostat"
},
{  
   "id": 13587532, 
   "type": "switch"  
},
{  
   "id": 98412557, 
   "type": "smoke"
},
{  
   "id": 57995113, 
   "type": "contact_sensor"
},
{  
   "id": 74123668,
   "type": "temperature_humidity_pressure_sensor"
},
{
    "id": 74621883, 
    "type": "temperature_humidity_sensor"
}

مثال سے پتہ چلتا ہے کہ آلات ایک دوسرے سے آزادانہ طور پر شامل کیے گئے ہیں۔ 3 تھرموسٹیٹ ان کے اپنے IP پتوں کے ساتھ اور 5 مختلف سینسرز کے ساتھ منفرد IDs منسلک ہیں۔ اگر سینسر کسی Wi-Fi نیٹ ورک سے منسلک ہے، تو اس کا اپنا IP ہوگا؛ اگر یہ گیٹ وے سے منسلک ہے، تو ڈیوائس کا IP ایڈریس گیٹ وے کا IP پتہ ہوگا۔

ہم آلات کے ساتھ بات چیت کرنے کے لیے WebSocket کا استعمال کرتے ہیں۔ یہ آپ کو درخواستیں حاصل کرنے کے مقابلے میں وسائل کی لاگت کو کم کرنے اور مربوط کرنے یا تبدیل کرتے وقت متحرک طور پر معلومات حاصل کرنے کی اجازت دیتا ہے۔

ڈیٹا سرور کو نظرانداز کرتے ہوئے براہ راست اس ڈیوائس سے لیا جاتا ہے جس سے بلاک کا تعلق ہے۔ اس طرح، اگر کوئی بھی ڈیوائس ناکام ہو جاتی ہے، تو سسٹم کام کرتا رہتا ہے۔ ویب انٹرفیس صرف فہرست سے گمشدہ ڈیوائس کو ظاہر نہیں کرتا ہے۔ لیکن نقصان کے بارے میں سگنل، اگر ضروری ہو تو، صارف کی درخواست میں ایک اطلاع کی صورت میں آئے گا۔

اس نقطہ نظر کو نافذ کرنے کی پہلی کوشش پی ڈبلیو اے کی درخواست تھی۔ یہ آپ کو صارف کے آلے پر بلاک بیس کو ذخیرہ کرنے اور صرف ضروری ڈیٹا کی درخواست کرنے کی اجازت دیتا ہے۔ لیکن ساخت کی خصوصیات کی وجہ سے، یہ اختیار نامکمل ہے. اور اس سے نکلنے کا ایک ہی راستہ ہے - اینڈرائیڈ اور آئی او ایس کے لیے ایک مقامی ایپلی کیشن، جو فی الحال فعال ترقی کے تحت ہے۔ پہلے سے طے شدہ طور پر، ایپلیکیشن صرف اندرونی نیٹ ورک پر کام کرے گی۔ اگر ضروری ہو تو، آپ ہر چیز کو بیرونی کنٹرول میں منتقل کر سکتے ہیں۔ لہذا، جب صارف مقامی نیٹ ورک کو چھوڑتا ہے، تو ایپلیکیشن خود بخود کلاؤڈ میں بدل جاتی ہے۔

بیرونی کنٹرول - صفحہ کی مکمل نقل۔ جب صفحہ فعال ہو جاتا ہے، صارف سرور میں لاگ ان ہو سکتا ہے اور اپنے ذاتی اکاؤنٹ کے ذریعے آلات کا نظم کر سکتا ہے۔ اس طرح، سرور اپنی فعالیت کو بڑھاتا ہے، جس سے آپ گھر سے باہر ڈیوائسز کا انتظام کرسکتے ہیں، اور پورٹ فارورڈنگ یا کسی وقف شدہ IP سے منسلک نہیں ہوتے ہیں۔

اس طرح، مندرجہ بالا اختیار میں سرور کے نقطہ نظر کے نقصانات نہیں ہیں، اور نئے آلات کو منسلک کرنے میں لچک کی شکل میں بہت سے فوائد بھی ہیں.

ترموسٹیٹ کے بارے میں

آئیے ایک مثال کے طور پر اپنے تھرموسٹیٹ کا استعمال کرتے ہوئے کنٹرول سسٹم کو دیکھیں۔

فراہم کردہ:

  1. ہر تھرموسٹیٹ کے لیے درجہ حرارت کا کنٹرول (ایک علیحدہ بلاک کے طور پر دکھایا گیا)؛
  2. ترموسٹیٹ آپریشن کا شیڈول ترتیب دینا (صبح، دوپہر، شام، رات)؛
  3. وائی ​​فائی نیٹ ورک کا انتخاب کرنا اور کسی ڈیوائس کو اس سے جوڑنا؛
  4. ڈیوائس کو "اوور دی ایئر" اپ ڈیٹ کرنا؛
  5. MQTT قائم کرنا؛
  6. نیٹ ورک کنفیگر کریں جس سے ڈیوائس منسلک ہے۔

Lytko متحد

ویب انٹرفیس کے ذریعے کنٹرول کرنے کے علاوہ، ہم نے ڈسپلے پر کلک کرکے کلاسک فراہم کیا۔ بورڈ پر ایک Nextion NX3224T024 2.4 انچ مانیٹر ہے۔ ڈیوائس کے ساتھ کام کرنے میں آسانی کی وجہ سے انتخاب اس پر پڑا۔ لیکن ہم STM32 کی بنیاد پر اپنا مانیٹر تیار کر رہے ہیں۔ اس کی فعالیت نیکسٹیشن سے زیادہ خراب نہیں ہے، لیکن اس کی قیمت کم ہوگی، جس کا آلہ کی حتمی قیمت پر مثبت اثر پڑے گا۔

Lytko متحد

کسی بھی خود احترام تھرموسٹیٹ اسکرین کی طرح، ہمارا Nextion یہ کرسکتا ہے:

  • صارف کے لیے مطلوبہ درجہ حرارت سیٹ کریں (دائیں جانب کے بٹنوں کا استعمال کرتے ہوئے)؛
  • شیڈول آپریشن موڈ کو آن اور آف کریں (بٹن H)؛
  • ڈسپلے ریلے آپریشن (بائیں طرف تیر)؛
  • بچوں کی حفاظت ہے (جسمانی کلکس کو اس وقت تک روک دیا جاتا ہے جب تک کہ تالہ ہٹا نہیں دیا جاتا)؛
  • وائی ​​فائی سگنل کی طاقت دکھاتا ہے۔

اس کے علاوہ، مانیٹر کا استعمال کرتے ہوئے آپ یہ کر سکتے ہیں:

  • صارف کی طرف سے نصب سینسر کی قسم منتخب کریں؛
  • چائلڈ لاک فیچر کا نظم کریں؛
  • فرم ویئر کو اپ ڈیٹ کریں۔

Lytko متحد

وائی ​​فائی بار پر کلک کرنے سے صارف کنیکٹڈ نیٹ ورک کے بارے میں معلومات حاصل کر لے گا۔ QR کوڈ کا استعمال ہوم کٹ فرم ویئر میں ڈیوائس کو جوڑنے کے لیے کیا جاتا ہے۔

Lytko متحد

ڈسپلے کے ساتھ کام کرنے کا ڈیمو:

Lytko متحد

ہم نے ترقی کی ہے۔ ڈیمو صفحہ تین منسلک تھرموسٹیٹ کے ساتھ۔

آپ پوچھ سکتے ہیں، "آپ کے تھرموسٹیٹ میں کیا خاص ہے؟" اب مارکیٹ میں وائی فائی فنکشن، شیڈول آپریشن، اور ٹچ کنٹرول کے ساتھ بہت سے تھرموسٹیٹ موجود ہیں۔ اور شائقین نے سب سے مشہور سمارٹ ہوم سسٹمز (میجرڈومو، ہوم اسسٹنٹ، وغیرہ) کے ساتھ تعامل کرنے کے لیے ماڈیول لکھے ہیں۔

ہمارا تھرموسٹیٹ ایسے سسٹمز کے ساتھ مطابقت رکھتا ہے اور اس میں مندرجہ بالا سبھی چیزیں ہیں۔ لیکن مخصوص خصوصیت یہ ہے کہ نظام کی لچک کی بدولت تھرموسٹیٹ کو مسلسل بہتر بنایا جا رہا ہے۔ ہر اپ ڈیٹ کے ساتھ فعالیت بڑھے گی۔ سسٹم مینجمنٹ کے معیاری طریقہ میں (ایک شیڈول کے مطابق)، ہم ایک انکولی کو شامل کریں گے۔ ایپلیکیشن آپ کو صارف کا جغرافیائی مقام حاصل کرنے کی اجازت دیتی ہے۔ اس کی بدولت، نظام اپنے مقام کے لحاظ سے آپریٹنگ طریقوں کو متحرک طور پر تبدیل کر دے گا۔ اور موسم کا ماڈیول آپ کو موسمی حالات کے مطابق ڈھالنے کی اجازت دے گا۔

اور توسیع پذیری۔ کوئی بھی اپنے موجودہ روایتی تھرموسٹیٹ کو ہمارے ساتھ بدل سکتا ہے۔ کم سے کم کوشش کے ساتھ۔ ہم نے مارکیٹ میں مقبول ترین 5 سینسروں کا انتخاب کیا ہے اور ان کے لیے تعاون شامل کیا ہے۔ لیکن یہاں تک کہ اگر سینسر میں خصوصی خصوصیات ہیں، تب بھی صارف اسے ہمارے تھرموسٹیٹ سے منسلک کر سکے گا۔ ایسا کرنے کے لیے، آپ کو ایک مخصوص سینسر کے ساتھ کام کرنے کے لیے تھرموسٹیٹ کو کیلیبریٹ کرنے کی ضرورت ہوگی۔ ہم ہدایات فراہم کریں گے۔

تھرموسٹیٹ یا کسی دوسرے آلے کو منسلک کرتے وقت، یہ بیک وقت ہر جگہ ظاہر ہوتا ہے: ویب انٹرفیس اور PWA ایپلیکیشن دونوں میں۔ ڈیوائس کو شامل کرنا خود بخود ہوتا ہے: آپ کو بس اسے Wi-Fi نیٹ ورک سے جوڑنے کی ضرورت ہے۔

ہمارے سسٹم کو سرور کی ضرورت نہیں ہے، اور اگر یہ ناکام ہوجاتا ہے، تو یہ کدو میں تبدیل نہیں ہوتا ہے۔ یہاں تک کہ اگر اجزاء میں سے ایک ناکام ہوجاتا ہے، تو نظام ہنگامی صورتحال میں کام کرنا شروع نہیں کرتا ہے۔ کنٹرولرز، سینسر، آلات - ہر عنصر ایک سرور اور کلائنٹ دونوں ہے، لہذا مکمل طور پر خود مختار ہے۔

دلچسپی رکھنے والوں کے لیے، ہمارے سوشل نیٹ ورکس: تار, انسٹاگرام, ٹیلیگرام نیوز, VK, فیس بک.

ای میل: [ای میل محفوظ]

پی ایس ہم آپ کو سرور کو ترک کرنے کی ترغیب نہیں دیتے۔ ہم ایک MQTT سرور کو بھی سپورٹ کرتے ہیں اور ہمارا اپنا کلاؤڈ ہے۔ ہمارا مقصد نظام کے استحکام اور بھروسے کو بالکل نئی سطح پر لانا ہے۔ تاکہ سرور ایک کمزور نقطہ نہیں ہے، لیکن فعالیت کو مکمل کرتا ہے اور نظام کو زیادہ آسان بناتا ہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں