کنترل وسایل خانه از طریق اینترنت با میکروکنترلر PIC و ESP8266

محتویات
سلام. آموزش پروژه اینترنت اشیا IoT با PIC ( راه اندازی خانه هوشمند وایفای ESP8266 ) را آماده کردیم. فیلم عملکرد مدار را ببینید !
آموزش پروژه اینترنت اشیا IoT با PIC
ما همیشه در وبسایت آیرنکس انواع پروژه های خانه هوشمند را قرار دادیم. اکنون در عصرIoT هستیم و به کمک ماژول ESP8266 میتوانیم هر چیزی را در هرجای دنیا کنترل کنیم. ما این پروژه IoT را با استفاده از سایت Adafuit IO , ماژول وای فای ESP8266 و میکروکنترلر PIC راه اندازی میکنیم. ما سه چراغ را متصل کردیم که توسط لپ تاپ ، تبلت یا گوشی از طریق وب کنترل میشوند و شما میتوانید به جای هرکدام از این چراغ ها یک دستگاه را متصل کنید.
ماژول وایفای ESP8266
بیشتر افراد ESP8266 را به عنوان یک ماژول WIFI می دانند ، اما در واقع یک میکروکنترلر است. ESP8266 نام یک میکروکنترلر است که توسط شرکت Espressif Systems ساخته شده است و یک شرکت مستقر در شانگهای است. این میکروکنترلر توانایی انجام فعالیتهای مرتبط با WIFI را دارد از این رو به صورت گسترده به عنوان یک ماژول WIFI مورد استفاده قرار می گیرد.
انواع مختلفی از ماژول های ESP8266 وجود دارد ( از ESP8266-01 تا ESP8266-12 ). ما در این پروژه PIC از ESP8266-01 استفاده میکنیم. زیرا ارزان ترین آن است و در دسترس است. این ماژول با ولتاژ 3.3 تغذیه میشود و مصرف آن حدود 10uA-170mA است. ماژول ESP8266 دارای یک مبدل ADC است.
همگام سازی سایت Adafruit IO با پروژه IoT
در این پروژه ، ما قصد داریم برخی از لوازم خانگی را از طریق یک صفحه وب که با استفاده از Adafruit IO تهیه شده است کنترل کنیم. Adafruit IO یک سرویس اینترنت ساده و کاربردی است که با دستگاه های IoT به راحتی ارتباط برقرار میکند. همچنین می توان از این سایت برای ایجاد رابط های کاربری گرافیکی برای مشاهده داده ها ، کنترل دستگاه ها و ایجاد هشدار استفاده کرد.
مراحل زیر را برای تنظیم سایت Adafruit IO با ماژول ESP8266 دنبال کنید.
مرحله 1 : در این مرحله باید حساب کاربری خود را در adafruit.io ایجاد کنیم یا اگر قبلاً یک حساب کاربری دارید وارد آن شوید.
مرحله 2 : روی “Dashboards” در سمت چپ صفحه کلیک کنید ، Dashboard ایجاد کنید و سپس بر روی ” Action ” و سپس بر روی “Create New Dashboard” کلیک کنید.
اکنون یک پنجره بازشمیشود ، هر نامی مانند Home Automation را بنویسید و بر روی Create کلیک کنید. همچنین می توانید توضیحات مربوط به پروژه اضافه کنید.
مرحله 3 : حالا روی داشبورد تازه ایجاد شده کلیک کنید
حال باید در سمت راست صفحه روی + اندازه کلیک کنیم.
اکنون پنجره دیگری بازمیشود برای انتخاب مورد جدید مانند سوئیچ ON / OFF.
پس از انتخاب دکمه (روشن / خاموش) یک پنجره جدید باز خواهد شد. در اینجا نام دستگاه مورد نظر خود را مانند Light1 وارد کنید و بر روی Create کلیک کنید. اکنون جزئیات را پر کنید و روی ایجاد بلوک کلیک کنید.
با توجه به نیاز می توانید دستگاه های بیشتری (Block / Feed ) بیشتری ایجاد کنید. در اینجا ما سه مورد برای کنترل سه چراغ ایجاد کرده ایم.
مرحله 4 : اکنون روی نماد “KEY (کلید) ” کلیک کنید و نام کاربری و کلید فعال داده شده را کپی کنید.
مرحله 5 : اکنون سورس کد پروژه را باز کرده و نام کاربری خود را با Username در کد جایگزین کنید ، همچنین xxxxxx را با Active Key جایگزین کنید. قسمت مورد نظر از کد را در پایین میبینید :
const char MQTTHost[] = "io.adafruit.com"; const char MQTTPort[] = "1883"; const char MQTTClientID[] = "ABCDEF"; const char MQTTTopicRelay1[] = "saddam4201/feeds/Light1"; const char MQTTTopicRelay2[] = "saddam4201/feeds/Light2"; const char MQTTTopicRelay3[] = "saddam4201/feeds/Light3"; const char MQTTTopicRelay4[] = "saddam4201/feeds/Light4"; const char MQTTProtocolName[] = "MQTT"; const char MQTTLVL = 0x03; const char MQTTFlags = 0xC2; const unsigned int MQTTKeepAlive = 60; const char MQTTUsername[] = "Username"; // نام کاربری را قرار دهید const char MQTTPassword[] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // Active Key را وراد کنید const char MQTTQOS = 0x00; const char MQTTPacketID = 0x0001;
قطعات مورد نیاز پروژه
- ال سی دی کاراکتری 16*2
- میکروکنترلر PIC16F877A ( مشاهده دیتاشیت )
- ماژول وای فای ESP8266
- رله الکترومغناطیسی 12V 5A
- منبع تغذیه 12 ولت 1+ آمپر
- رگولاتور LM7805
- رگولاتور LM317
- مقاومت 10 کیلو اهم
- مقاومت 1 کیلو اهم – 3 عدد
- پتانسیومتر 10 کیلو اهم
- پتانسیومتر 1 کیلو اهم
- خازن 1000uF
- خازن 10uF – دو عدد
- خازن 22pF دو عدد
- کریستال 18.432 MHz
- ال ای دی – 2 عدد
مدار پروژه کنترل خانه از طریق اینترنت با PIC
در پروژه خانه هوشمند وایفای ESP8266 ، از میکروکنترلر PIC PIC16F877A برای انجام کلیه عملیاتها استفاده کرده ایم. این میکروکنترلر با ماژول Wi-Fi ESP8266 ارتباط برقرار می کند تا داده ها را از سرور Adafruit ارسال و دریافت کند و بر همین اساس برای خاموش کردن رله روشن / خاموش و نمایش وضعیت لامپ ها از طریق LCD اقدام کند. ما از نمایشگر ال سی دی کاراکتری 16×2 برای نمایش وضعیت وسایل متصل به پروژه استفاده کرده ایم.

در این پروژه سه منبع تغذیه متفاوت داریم :
از آنجا که ما از ماژول رله 12v استفاده کرده ایم به منبع تغذیه 12v نیاز داریم بنابراین از آداپتور 12v برای تغذیه رله استفاده کرده ایم. ما برای تأمین انرژی میکروکنترلر PIC ، LCD و برخی مدارهای ماژول رله به 5 ولت نیاز دریم. بنابراین ما از یک تنظیم کننده ولتاژ یا هموان رگولاتور 7805 استفاده کرده ایم که به منبع تغذیه 12 ولت متصل است. این تنظیم کننده ولتاژ خروجی 5v را فراهم می کند. منبع تغذیه 3.3 ولت برای تغذیه ESP8266 به کار می رود زیرا این ماژول 3.3 ولت کار می کند. این ولتاژ با استفاده از تنظیم کننده ولتاژ LM317 ساخته شده است.
موارد موجود در فایل : فایل سورس کامل ، شماتیک کامل و …
برای دانلود فایل ها باید حساب کاربری داشته باشید
سلام ببینید من واقعا موندم از کجا شروع کنم اینترنت اشیا با برد های آماده یا نه
با armهم میشه شروع کرده به صورت حرفه ای؟
واقعا من نیاز دارم راهنمایی کنید بنده رو
سلام عزیز
استفاده از برد های nodemcu بسیار مناسب هست استفاده از arm فقط در پروژه های خیلی پیچیده مناسب هست.
دوره اینترنت اشیا رو مشاهده کنید سوالاتتون برطرف میشه
سلام در خصوص این پروژه من چندتا سوال دارم یکی اینکه میشه فقط با اپ موبایل صورت بگیره؟ و اینکه اگر راه ارتباطی تلگرام بزارید ممنون میشم
سلام عزیز، بله میشه
سلام نام کامپایلری که در آن کد را نوشتید چه نام دارد وبه چه زبانی هست و آیا کد های داده شده کامل هست؟
سلام
متاسفانه یکی یکی سرور های اینترنت اشیا دارن بلاک میشن برای ایرانی ها
این سایت Adafruit IO هم تازگی ها برای ای پی ایران بلاک شده و از کار افتاده
با مودم adsl اصلا کار نمی کنه و اگه این طوری باشه دیگه فایده نداره چون برای کنترل وسیله ها باید با نت adsl متصل بشه …
سلام. بله متاسفانه. به نحوی میشه از پروکسی استفاده کرد اما دردسر بالایی داره.
سلام
این پروزه را من راه انداختم اما یه نکته هست که کسی نپرسیده ..وقتی ما مثلا کلید لولی را برای روشن کردن یه لامپ میزنیم از سایت اد افروت و چراغ هم روشن میشه چطوری باید بدونیم که مثلا چراغ واقعا روشن شده و فیدبک اطلاعات را چطوری باید قرار داد ..؟؟؟اینا را کسی توضیح نداده چرا ؟؟؟
سلام. فیدبکی وجود نداره در صورتی که بخواهید فیدبک هم دریافت کنید باید پروژه رو گسترش بدید که از طرف گیرنده هم اطلاعات ارسال بشه.
سلام درود و خسته نباشید
ببخشید سه سوال می خواستم بپرسم راجب این پروژه
1- این سایت Adafruit IO با اینترنت ADSL کار میکنه چون من با این سایت تو nodmcu مشکل داشتم ولی با نت سیم کارت کار میکرد
سلام جناب. در حالت کلی در صورتی که میتونستید با اینترنت موبایل کنید باید بتونید با ADSL هم کار کنید و اگر مشکلی بوده موقتا بوده و احتمال خیلی زیاد با روشن و خاموش کردن مودم برطرف میشه