- ہارڈ ویئر کے تقاضے
- الیکسا وائس کنٹرول شدہ ایل ای ڈی کے لئے پروجیکٹ فلو
- مواصلت کے لئے ایڈفریٹ اکاؤنٹ مرتب کرنا
- IFTTT کا استعمال کرتے ہوئے الیکسا کو اڈفریٹ IO سے لنک کریں
- ESP12 کوڈ کی وضاحت
- کام کرنا:
پچھلے سبق میں ہم نے دیکھا ہے کہ ہم ایمیزون ایکو اسپیکر کی تشکیل کیسے کرسکتے ہیں اور پھر ہم کس طرح راسبیری پائی جی پی آئی او کو الیکسہ وائس کا استعمال کرکے کنٹرول کرسکتے ہیں۔ اب ہم الیکسی پی آئی اور ای ایس پی -12 ای (یا کوئی ای ایس پی بورڈ) استعمال کرکے دنیا میں کہیں سے گھریلو آلات کو کنٹرول کرنے کے لئے آئی او ٹی پروجیکٹ بنا رہے ہیں ۔
ہارڈ ویئر کے تقاضے
- راسبیری پائی جس میں اے وی ایس نصب ہے
- USB 2.0 مائک / ویب کیم
- ESP-12E
- ریلے ماڈیول
- ایل ای ڈی / اے سی بلب
آپ کو مناسب طریقے سے تشکیل شدہ ایمیزون ڈویلپر اکاؤنٹ کے ساتھ ایلکسا وائس سروس کے ساتھ اپنے راسبیری پائ تیار رکھنا چاہئے۔ لہذا نیچے الیکٹوریل سروسز تیار کرنے کے لئے ٹیوٹوریل دیکھیں۔
- راسبیری پائی کا استعمال کرکے اپنی امیزون ایکو بنائیں
الیکسا وائس کنٹرول شدہ ایل ای ڈی کے لئے پروجیکٹ فلو
ہم اس IOT کنٹرول شدہ ایل ای ڈی پروجیکٹ کے ل this اس فلو چارٹ پر عمل کریں گے ۔
تو ، عمل کچھ اس طرح ہے۔ پہلے ، ان پٹ راسبیری پائ کو USB مائک کے ذریعے دیا جاتا ہے ۔ اب، اس ریکارڈنگ کے Alexa آواز کی خدمات کو بھیجا جاتا ہے اور آواز کی شناخت کرنے کے بعد، AVS پر ڈیٹا بھیج دی IFTTT اور یہ IFTTT میں حالت کو تحریک. ہدایت کے مطابق ، IFTTT اڈفروٹ IO کو کمانڈ بھیجے گا جو ایک عمل کرنے کے لئے ایم کیوٹی ٹی بروکر ہے۔ پھر ESP 12e ایڈفریٹ IO سے ایم کیوٹی ٹی پروٹوکول کے ذریعے ڈیٹا وصول کرے گا اور ایل ای ڈی کمانڈ کے مطابق / بند کرے گا۔
یہاں ہم نے مائکروفون کے لئے ایک USB ویب کیم استعمال کیا ہے۔ ہم پہلے ہی بلب کو آن کرنے کیلئے الیکسہ وائس سروس استعمال کرچکے ہیں ، لیکن یہ صرف ایسے ایپلائینسز کو سنبھال سکتا ہے جو مقامی طور پر جڑے ہوئے ہیں۔
جیسا کہ ہم فرض کرتے ہیں کہ آپ کے پاس پہلے ہی راسبیری پِی کے پاس الیکٹرک وائس سروسز موجود ہیں ، لہذا ہم دو قدموں کے نیچے باقی ہیں ، جس کی ہم ایک ایک کر کے وضاحت کریں گے۔
- مواصلت کے لئے ایڈفریٹ اکاؤنٹ مرتب کرنا
- IFTTT کا استعمال کرتے ہوئے الیکسا کو اڈفریٹ IO سے لنک کریں
- ESP12 میں کوڈ اپ لوڈ کریں
مواصلت کے لئے ایڈفریٹ اکاؤنٹ مرتب کرنا
پہلے ، ہم اڈفریٹ IO میں ایک کھانا بنائیں گے ۔ فیڈ IFTTT کے ذریعہ بھیجے گئے ڈیٹا کو اسٹور کرتا ہے۔ فیڈ کو ان اقدامات پر عمل کرنے کے ل make:
مرحلہ 1: - اپنی اسناد کے ساتھ اڈفریٹ IO میں لاگ ان کریں یا اگر آپ کا اکاؤنٹ نہیں ہے تو سائن اپ کریں۔
مرحلہ 2: - میرے اکاؤنٹ -> ڈیش بورڈ پر کلک کریں
مرحلہ 3: - پر کلک کریں عوامل اور ایک نیا ڈیش بورڈ بنائیں .
مرحلہ 4: - اپنے فیڈ کو نام اور تفصیل دیں اور تخلیق پر کلک کریں ۔
مرحلہ 5: - کلیدی بٹن پر کلک کریں اور اے آئی او کیز کو نوٹ کرلیں ، ہم اس کو کو اپنے کوڈ میں استعمال کریں گے۔
مرحلہ 6: - نیا بلاک بنانے کے لئے '+' بٹن پر کلک کریں اور ٹوگل بٹن پر کلک کریں۔
مرحلہ 7: - اب ، فیڈ کا نام درج کریں اور تخلیق پر کلک کریں ۔ پھر فیڈ کو منتخب کریں اور اگلا مرحلہ پر کلک کریں۔
مرحلہ 8: - بلاک کی ترتیبات میں ، متن کے فیلڈ پر بٹن میں 1 1 اور بٹن آف ٹیکسٹ فیلڈ میں '0' لکھیں ۔
مرحلہ 9: - آپ کا فیڈ کامیابی کے ساتھ تشکیل دے دیا گیا ہے۔
IFTTT کا استعمال کرتے ہوئے الیکسا کو اڈفریٹ IO سے لنک کریں
IFTTT میں ایپلٹ / ترکیب بنانے کے لئے ان اقدامات پر عمل کریں:
مرحلہ 1: - IFTTT میں اپنی اسناد کے ساتھ لاگ ان کریں یا اگر آپ کے پاس اس میں اکاؤنٹ نہیں ہے تو سائن اپ کریں۔
مرحلہ 2: - میرے ایپلٹ پر ، نئے ایپلٹ پر کلک کریں
مرحلہ 3: - اس پر کلک کریں
مرحلہ 4: - ایمیزون الیکسا میں تلاش کریں اور اس پر کلک کریں ، اپنے ایمیزون ڈویلپر کے اکاؤنٹ کی تفصیلات کے ساتھ سائن ان کریں۔
مرحلہ 5: - محرک کا انتخاب کریں ، ایک مخصوص جملہ بولیں
مرحلہ 6: - جملے کے طور پر "لائٹ آن کریں " فراہم کریں ، تخلیق ٹرگر پر کلک کریں ۔
مرحلہ 7: - پر + پر کلک کریں
مرحلہ 8: - اڈفروٹ تلاش کریں اور اس پر کلک کریں۔
مرحلہ 9: - اپنی اسناد کی مدد سے اڈفریٹ اکاؤنٹ میں لاگ ان کریں۔ اڈافروٹ پر ڈیٹا ارسال کریں پر کلک کریں ۔
فیڈ کا نام منتخب کریں جو آپ نے ابھی ابھی ایڈفریٹ IO میں تخلیق کیا ہے۔ اب ، ڈیٹا میں '1' کو بچانے کے ل give ، اس سے ظاہر ہوتا ہے کہ ایل ای ڈی آن ہوگی۔ کریٹ ایکشن پر کلک کریں ۔
مرحلہ 10: - یلئڈی بند کرنے کے ل app ایپلٹ بنانے کے لئے انہی اقدامات پر عمل کریں ۔ فیلڈ کو بچانے کے لئے ڈیٹا میں صرف '0' ڈالیں۔ تمام اقدامات ایک جیسے ہی رہتے ہیں۔
آپ نے اپنا آدھا کام کر لیا ہے۔ اب ، آپ کے ESP-12E کو پروگرام کرنے کا وقت آگیا ہے۔
ESP12 کوڈ کی وضاحت
ہم ایردوینو IDE کے ساتھ ESP12 کو پروگرام کریں گے۔ اس کو سبق کے آخر میں مکمل کوڈ دیا گیا ہے۔
پہلے ، ہمیں ایک اڈفریٹ میقٹ لائبریری درکار ہے جو اس لنک سے ڈاؤن لوڈ کیا جاسکتا ہے۔ صرف آرڈینوو IDE کھولیں۔ مثال کے طور پر جائیں -> اڈفریٹ ایم کی ٹی ٹی لائبریری -> mqtt_esp8266
ہم اس کوڈ کو اپنی AIO کیز اور Wi-Fi اسناد کے مطابق ترمیم کریں گے ۔
پہلے ، ہم نے ESP8266WIFI اور اڈفروٹ ایم کیوٹیٹی کے لئے تمام لائبریریوں کو شامل کیا ۔
# شامل کریں
ہم نے آپ کے Wi-Fi کیلئے SSID اور پاس ورڈ کی تعریف کی ہے ، جہاں سے آپ اپنی ESP-12e کو مربوط کرنا چاہتے ہیں۔
# ڈیفائن WLAN_SSID "xxxxxxxxx" # وضاحت WLAN_PASS "xxxxxxxxxxxxx"
یہ سیکشن ایڈفروٹ سرور اور سرور پورٹ کی وضاحت کرتا ہے جو بالترتیب " io.adafruit.com " اور " 1883 " کے طور پر طے ہوتا ہے ۔
# تعی AIن AIO_SERVER "io.adaf فرو.com" # تعی AIن AIO_SERVERPORT 1883
اپنے صارف نام اور اے آئی او کیز کے ساتھ نیچے والے فیلڈز کو تبدیل کریں جو آپ نے فیڈ بناتے وقت ایڈفریٹ سائٹ سے کاپی کی ہیں۔
# تعی AIن AIO_USERNAME "********" # تعی AIن AIO_KEY "******************************"
پھر ایم کیوٹی ٹی سرور سے رابطہ قائم کرنے کے لئے ایک ESP8266 WiFiClient کلاس بنائیں۔
وائی فائی کلائنٹ
وائی فائی کلائنٹ اور ایم کیوٹی ٹی سرور اور لاگ ان کی تفصیلات میں گزر کر ایم کیوٹی ٹی کلائنٹ کلاس مرتب کریں۔
اڈفروٹ_ ایم کیو ٹیT_ کلائنٹ ایم کی ٹی ٹی ((اور مؤکل ، AIO_SERVER ، AIO_SERVERPORT ، AIO_USERNAME ، AIO_KEY))؛
تبدیلیوں کو سبسکرائب کرنے کے ل '' لائٹ 'نامی ایک فیڈ سیٹ اپ کریں۔
Adaf فرو_MQTT_ سبسکرائب لائٹ = Adafruit_MQTT_ سبسکرائب کریں (& mqtt، AIO_USERNAME "/ فیڈز / لائٹ")؛
میں سیٹ اپ کی تقریب، ہم آپ کی پیداوار حاصل کرنے کے لئے چاہتے ہیں جس پر ESP-جو 12e کا PIN کا اعلان. میں آؤٹ پٹ کے طور پر D0 پن استعمال کررہا ہوں۔ پھر ، ہم ESP-12e کو Wi-Fi رسائی نقطہ سے مربوط کرتے ہیں۔
باطل سیٹ اپ () { سیریل.بیگین (115200)؛ تاخیر (10)؛ پن موڈ (D0 ، آؤٹپٹ)؛ سیریل.پرنٹلن (ایف ("اڈفریٹ ایم کیوٹی ٹی ڈیمو"))؛ // وائی فائی رسائی مقام سے رابطہ کریں۔ سیریل.پرنٹلن ()؛ سیریل.پرنٹلن ()؛ سیریل ڈاٹ پرنٹ ("مربوط ہو رہا ہے")؛ سیریل.پرنٹلن (WLAN_SSID)؛ WiFi.begin (WLAN_SSID، WLAN_PASS)؛ جبکہ (WiFi.status ()! = WL_CONNECTED) { …. …. …
لائٹ فیڈ کے لئے ایم کیوٹی ٹی خریداری کو مرتب کریں۔
mqtt.subscribe (& روشنی)؛ }
میں لوپ تقریب، ہم کریں گے یقینی بنانے MQTT سرور سے رابطہ MQTT_connect () کا استعمال کرتے ہوئے زندہ ہے؛ تقریب
باطل لوپ () { MQTT_connect ()؛
اب ، ہم اپنی 'لائٹ' فیڈ کو سبسکرائب کرتے ہیں اور اڈافروٹ IO سے سٹرنگ حاصل کرتے ہیں اور atoi () کا استعمال کرتے ہوئے اس سٹرنگ کو نمبر میں تبدیل کرتے ہیں ۔ ڈیجیٹل رائٹ () کا استعمال کرتے ہوئے PIND0 پر کام کریں اور اس نمبر کو لکھیں ۔ تقریب
Adaf فرو_MQTT_ سبسکرائب * سبسکرپشن؛ جبکہ ((سبسکرپشن = mqtt.readSubscription (5000))) { اگر (سبسکرپشن == & روشنی) ial سیریل.پرنٹ (F ("Got_light:"))؛ سیریل.پرنٹلن ((چار *) لائٹ۔سٹریٹ)؛ uint16_t num = atoi ((char *) light.lastread)؛ ڈیجیٹل رائٹ (16 ، نمبر)؛ }
کام کرنا:
اپنے ESP-12E کو لیپ ٹاپ کے ساتھ مربوط کریں اور نیچے کوڈ اپ لوڈ کریں (کوڈ میں اپنی اسناد میں ترمیم کرنا نہ بھولیں)۔
D0 کو پن کرنے کیلئے ایل ای ڈی یا ریلے سے رابطہ کریں۔ اب ، یقینی بنائیں کہ آپ کی الیکسی سروس آپ کے آر پی آئی پر چل رہی ہے۔
کسی بھی کمانڈ کو دینے کے ل you ، آپ کو ہر بار جب کمانڈ بھیجنا چاہتے ہو تو "الیکسا" کال کرکے الیکسا سروس کو بیدار کرنے کی ضرورت ہوگی۔ آپ کو بیپ کی آواز سنائی دے گی۔ ایک بار جب آپ بیپ کو سنیں گے ، تو کہیں کہ “ الیکسا ٹرگر لائٹ آن کریں۔ ”آپ دیکھ سکتے ہیں کہ ایک لمحے میں روشنی چلی جاتی ہے۔ اور پھر اگر آپ کہتے ہیں کہ " الیکسا ٹرگر لائٹ کو بند کردیں " ، تو روشنی کو بند کر دینا چاہئے۔
یہی ہے…. آپ ESP-12E کے GPIO پنوں کو شامل کرکے اور IFTTT میں مختلف جملے کے ساتھ مختلف ایپلٹ بنا کر مذکورہ کوڈ میں مزید آلات شامل کرسکتے ہیں۔
ذیل میں مکمل کوڈ اور مظاہرے کی ویڈیو دیکھیں۔ ہمارے تمام ہوم آٹومیشن پروجیکٹس کو بھی یہاں پر چیک کریں