آردوینو آموزش آردوینو برد Nodemcu

آموزش یافتن امواج وای فای wifi با برد Nodemcu

نوشته شده توسط حسین فهیمی

برد NodeMCU یک پلت فرم اوپن سورس در زمینه‌ی اینترنت اشیاء IoT (یا به عبارت درست‌تر اینترنت چیزها)  می‌باشد. هسته‌ی برد NodeMCU ، چیپ ESP8266 ورژن ESP12 می‌باشد که از WiFi پشتیبانی می‌کند و به وسیله‌ی آن می‌توان به شبکه‌ی وای فای wifi متصل شد. اطلاعات را میان اینترنت یا سایر دستگاه‌ها جابه‌جا نمود. زبان برنامه‌نویسی برد Nodemcu لوا Lua می‌باشد. ولی از امکانات بسیار عالی این ماژول این است که می‌توان یا استفاده از IDE آردوینو  و با استفاده از دستوارات آردوینو بر روی آن به سادگی برنامه نویسی کرد .در این آموزش هم صد داریم این ویژگی فوق العاده را به شما آموزش دهیم پس در ادامه‌ی این آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

node-mcu-wireless

 


اتصال برد NodeMCU به کامپیوتر


اولین کاری که باید انجام دهیم اتصال ماژول برد توسعه NodeMCU به کامپیوتر توسط کابل USB می‌باشد. برای مشاهده ی مراحل اولیه ی راه اندازی برد nodemcu کلیک کنید. حال قصد داریم با کمک ماژول قدرتمند ESP8266 نصب شده بر روی این برد ، امواج wi-fi اطراف خود را تشخیص دهیم. یعنی در محدوده ای مشخص ، مودم های wireless و امواج آنها را تشخیص دهیم.

 


کد آردوینو


این کد برای ماژول ESP8266 با استفاده از کتابخانه ESP8266WiFi نوشته شده است و از دستورات Wi-Fi برای اسکن شبکه‌های وایرلس در محدوده اطراف دستگاه استفاده می‌کند. کد در اصل یک مثال ساده برای اسکن شبکه‌ها و نمایش اطلاعات آن‌ها در ترمینال سریال آردوینو است.

#include "ESP8266WiFi.h"
void setup() {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
}

void loop() {
  int n = WiFi.scanNetworks();
  if (n == 0)
    Serial.println("??????");
  else
  {
    Serial.print(n);
    Serial.println(" " ...." ");
    for (int i = 0; i < n; ++i)
    {
      Serial.print(i + 1);
      Serial.print(": ");
      Serial.print(WiFi.SSID(i));
      Serial.print(" (");
      Serial.print(WiFi.RSSI(i));
      Serial.print(")");
      Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*");
      delay(10);
    }
  }
  Serial.println("");
  delay(5000);
}

 


تحلیل کد آردوینو


در نخستین بخش، کتابخانه “ESP8266WiFi” فراخوانی شده است. این کتابخانه به برنامه امکان اتصال به شبکه‌های وایرلس را می‌دهد.در تابع setup(), ابتدا اتصال ترمینال سریال با سرعت ۱۱۵۲۰۰ بیت در ثانیه برقرار می‌شود. سپس ماژول Wi-Fi به حالت WIFI_STA تنظیم می‌شود که به معنای استفاده از ماژول به عنوان یک کلاینت وایرلس است. سپس از تمام اتصالات Wi-Fi جدا می‌شود.تابع loop() اجرا می‌شود. در اینجا، ابتدا تعداد شبکه‌های وایرلسی موجود در محدوده اسکن شده و در متغیر n ذخیره می‌شود.سپس با استفاده از یک شرط، بررسی می‌شود که آیا هیچ شبکه‌ای یافت نشده است یا نه. اگر n برابر با صفر باشد، پیام “??????” در ترمینال سریال چاپ می‌شود.اگر شبکه‌ها یافت شده باشند، تعداد آن‌ها به همراه اطلاعات مربوط به هر شبکه نمایش داده می‌شود. این شامل شماره شبکه (از ۱ شروع می‌شود)، نام SSID شبکه، قدرت سیگنال (RSSI) و نوع رمزگذاری شبکه است. اگر نوع رمزگذاری شبکه “ENC_TYPE_NONE” باشد، یک علامت “*” نشان داده می‌شود.سپس یک خط خالی در ترمینال سریال چاپ می‌شود و برنامه ۵ ثانیه در وضعیت خواب در طول هر دوره اجرا می‌شود.کد به طور خلاصه شبکه‌های وایرلسی موجود در محدوده را اسکن می‌کند و اطلاعات مهم آن‌ها را نمایش می‌دهد. این کد به عنوان یک شروع بسیار خوب برای پروژه‌های مرتبط با Wi-Fi در آردوینو مفید است.

 


وسایل مورد نیاز


برد Nodemcu ESP8266

کابل Micro USB

نرم افزار آردوینو

 

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

 

درباره نویسنده

حسین فهیمی

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۰ دیدگاه

  • ببخشید من این کد ها را اگر بخواهم روى آردوینو D1 بریزم، بازم میتونم همین کارهارو انجام بدم؟؟

    • سلام. امتحان نکردم اما به احتمال زیاد بشه ، باز هم میتونید دیتاشیت هارو بررسی کنید…

  • سلام آقای فهیمی.
    واقعا یه خسته نباشید حسابی بهتون میگم که با این همه پشتکار و سختی ای که هست ، مثل نبود قطعات و حمایت نکردن مسئولین و حقوق ناچیز در مقابل این پست ها و تولید پروژه های جدید ، این همه پروژه ی کاربردی و جالب میزارین. یه تشکر و سپاس ویژه خدمت شما (: واقعا سپاس گذارم. پروژه هاتون خیلی خیلی خیلی …. به دردم خوردن. باز هم یه دنیا سپاس بزرگوار .یه خواهشی دارم از مدیر سایت و فروشگاه “اینکه اگه میشه این نابغه های برنامه نویسی و نوجوانان رو حمایت کنن و هرچی لازم دارن در اختیارشون قرار بدن تا بتونن محتوا تولید کنن و مفید باشن ، امیدوارم یه تلنگری برای مدیران باشه *_*

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

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

  • سلام من برد nodemcu 1.0 12eرو به کامپیوتر اتصال و پروگرم کردم کار کرد
    بعد از حدود یک ساعت دوباره به کامپیوتر متصل کردم اما پورتی شناسایی نکرد و led روی برد روشن نشد
    پایه های ۵ و gnd آردینو به وصل پایه های Vin و gnd برد nodemcu کردم led روشن شد، آی سی داریور سوخته؟
    چرا همچین اتفاقی افتاده؟

    • با سلام
      ضمن تشکر از توجه شما، علت اینکه به سوخته شدن آی سی درایور USB شک کرده‌اید چیست؟ اتصالی یا اضافه بار روی مدار بوجود آمده است؟ درضمن نوع برد Nodemcu را مشخص کنید که از کدام درایور است.

  • سلام روز بخیر ضمن تشکر از تیم حرفه ای و متخصص دیجی اسپارک
    کد زیر را در ابلود کردم و ارور زیر رو گرفتم مشکل از کجاست به نظر شما
    ۰۹:۴۵:۲۶٫۹۰۴ -> @⸮⸮⸮⸮⸮,⸮⸮⸮@⸮⸮
    .⸮⸮۰⸮⸮⸮⸮⸮⸮
    ⸮H⸮⸮@&⸮⸮Z⸮*⸮⸮R2⸮”⸮T⸮⸮⸮ ⸮⸮
    ⸮⸮
    ۰۹:۴۶:۰۳٫۲۰۳ -> ⸮⸮ ⸮,⸮⸮p⸮⸮⸮⸮@⸮⸮⸮
    h⸮⸮⸮⸮⸮⸮⸮⸮
    ^⸮⸮⸮⸮⸮⸮r⸮L⸮⸮⸮Ɣ⸮⸮⸮۹⸮⸮⸮⸮p⸮H⸮⸮L⸮⸮⸮⸮⸮*⸮⸮⸮⸮,⸮⸮p⸮⸮⸮⸮
    ⸮⸮⸮⸮⸮⸮⸮v⸮⸮p⸮⸮⸮*⸮⸮L⸮r⸮⸮R⸮*⸮⸮@G⸮⸮t⸮⸮ ⸮
    ۰۹:۴۷:۳۰٫۲۴۰ -> r⸮⸮⸮
    ۰۹:۴۷:۳۰٫۲۷۳ -> ⸮@A⸮⸮t⸮⸮⸮⸮⸮⸮⸮”⸮⸮p⸮⸮l⸮⸮ ⸮M⸮⸮p⸮⸮⸮⸮⸮⸮L⸮r⸮⸮⸮⸮⸮⸮⸮,⸮⸮Լ⸮⸮⸮⸮@⸮⸮⸮⸮⸮⸮@A⸮⸮⸮,⸮⸮⸮⸮D⸮⸮⸮J⸮⸮@⸮
    ۰۹:۴۸:۳۵٫۴۷۸ -> ⸮⸮⸮Z⸮⸮@⸮⸮b⸮⸮⸮⸮LŠ⸮⸮⸮⸮@⸮⸮⸮p⸮⸮⸮⸮d⸮
    ۰۹:۴۹:۰۴٫۴۶۶ -> ⸮⸮⸮⸮⸮⸮⸮⸮⸮D⸮⸮⸮⸮\⸮⸮ Ȃ⸮⸮⸮,⸮.⸮⸮@⸮⸮۲⸮⸮F⸮⸮ ⸮M⸮⸮⸮⸮⸮⸮⸮r⸮ڴ⸮⸮

  • سلام.خسته نباشید. من میخواستم با این برد لاگ های مودم رو ذخیره کنم.در این موارد توضیحاتی میخواستم:
    ۱-چه لاگ هایی از مودم ثبت میشه(IP,MacAddress,مشخصات دستگاه)
    ۲-قابلیت ذخیره سازی بر روی برد وجود داره یا باید توسیستم ذخیره سازی انجام بگیره؟
    ۳-در حالت خاموش بودن سیستم ، آیا امکان لاگ برداری مودم وجود داره؟
    ۴-امکان مدیریت دستگاه به جهت ورود های غیرمجاز به مودم تا چه حده؟
    با تشکر از سایت خوبتون