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

راه‌اندازی NodeMCU با آردوینو؛ اجرای ۳ پروژه جذاب اینترنت اشیا

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

دنیای اینترنت اشیا (IoT) با ورود ماژول‌های وای‌فای ارزون و قدرتمند حسابی متحول شده و بین همه اونا، سری ESP8266 یه جایگاه ویژه داره. با این تراشه‌های کوچیک می‌تونی هر وسیله‌ای رو به شبکه وصل کنی و از راه دور کنترلش کنی. برد NodeMCU یکی از بهترین گزینه‌ها برای شروع این مسیره، چون نیازی به قطعات جانبی نداره و مستقیم با یه کابل USB به سیستم وصل می‌شه.

تو این آموزش قصد داریم صفر تا صد راه‌اندازی این برد رو تو محیط Arduino IDE یاد بگیریم. ما تو تیم آیسی‌مدار همیشه دنبال پروژه‌هایی هستیم که بتونن پایه و اساس کارهای بزرگ‌تر باشن؛ برای همین تو این مسیر فقط به روشن کردن یه چراغ ساده بسنده نمی‌کنیم. قراره با هم سه تا پروژه کاربردی شامل کنترل ال‌ای‌دی از طریق مرورگر، مدیریت رله‌ها برای وسایل برقی و در نهایت ارسال دیتای سنسور دما به فضای ابری رو پیاده‌سازی کنیم.

قطعاتت رو آماده کن، نرم‌افزار آردوینو رو باز کن و بیا تا قدم‌به‌قدم این پروژه‌های هیجان‌انگیز رو با هم پیش ببریم تا برد NodeMCU خودت رو به یه گجت همه‌کاره تبدیل کنی.

مرحله ۱

روشن و خاموش کردن LED از طریق وای‌فای

اول از همه می‌خوایم یه ال‌ای‌دی ساده رو از طریق مرورگر اینترنت کنترل کنیم. قراره کدهایی رو روی ESP8266 بنویسیم که این ماژول رو به یه فرمان‌پذیر هوشمند تو بستر شبکه تبدیل کنه.

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

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

تو این پروژه از برد NodeMCU استفاده کردیم، ولی واقعیت اینه که تفاوتی نمی‌کنه کدوم مدل از خانواده ESP8266 رو داشته باشی؛ این روش روی همه‌شون جواب می‌ده و فقط باید پایه‌های متناظر رو پیدا کنی.

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

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

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

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

مرحله ۲

کنترل وسایل برقی با ماژول رله

حالا که اصول کار رو یاد گرفتی، بریم سراغ یه پروژه جذاب‌تر؛ یعنی کنترل وسایل برقی واقعی با استفاده از رله. یادت باشه که تو این مرحله دستگاه‌ها باید به همون مودمی وصل باشن که برد ESP8266 بهش متصل شده، چون فعلا تنظیمات انتقال پورت (Port Forwarding) رو برای دسترسی از بیرون خونه روی مودم پیاده نکردیم.

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

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

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

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

برنامه‌ای که برای این بخش نوشته شده خیلی هوشمنده و وضعیت لحظه‌ای دستگاه رو برمی‌گردونه. یعنی تو مرورگرت دقیقا می‌بینی کدوم رله الان روشنه و کدوم خاموش. این فیدبک دوطرفه باعث می‌شه کنترل خیلی دقیق‌تری روی وسایل خونگیت داشته باشی.

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

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

مرحله ۳

ارسال دیتای سنسور دمای DS18b20 به پلتفرم ThingSpeak

بخش آخر آموزشمون مربوط به مانیتورینگ داده‌ها در فضای ابریه. تو این مرحله می‌خوایم دیتای سنسور دمای DS18B20 رو بخونیم و اون رو به سرورهای پلتفرم ThingSpeak بفرستیم. این سنسور از پروتکل جذاب تک‌سیمه (One-Wire) استفاده می‌کنه؛ یعنی می‌تونی هر چند تا از این سنسورها رو که خواستی فقط به یه پایه از میکروکنترلر وصل کنی و با استفاده از آدرس اختصاصی‌شون، اطلاعات هر کدوم رو جداگانه بخونی.

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

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

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

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

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

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

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

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

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

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

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