راه اندازی شیلد شبکه با استفاده از آردوینو

راه اندازی شیلد شبکه با استفاده از آردوینو

راه اندازی شیلد شبکه با استفاده از آردوینو
راه اندازی شیلد شبکه با استفاده از آردوینو

 

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

اگر شما هم مقاله ای دارید که فکر می کنید می‌تواند به دیگران کمک کند ، خوشحال می شویم که با نام خودتان آن را منتشر کنیم

 

مدتی بود که یکی از دوستانم ازم می‌خواست که یک مدار براش راه بندازم که با استفاده از یک برنامه اندروید و اینترنت بتونه یه تعداد رله رو کنترل کنه.

بعد از مدتی که سرم خلوت تر شد شروع به کار کردم. تصمیم گرفتم این کارو با برد آردوینو انجام بدم. برای همین یه برد آردوینو تهیه کردم. از اونجایی که میخواست اتصال به اینترنت از طریق کابل LAN  انجام بشه یه شیلد شبکه  (Ethernet) هم برای اتصال برد آردینو به اینترنت تهیه کردم و خیلی ساده اونو روی برد آردوینو UNO قرار دادم.

از اونجایی که عقیده ام اینه هر کاری میخوای انجام بدی رو یکی قبلا انجام داده، شروع به سرچ توی اینترنت کردم تا ببینم چجور باید این اتصال به اینترنت رو از طریق شیلد شبکه (Ethernet) انجام بدم.

کدهای زیادی توی اینترنت پیدا کردم و حتی خود سایت آردوینو، که تقریبا مشابه با هم بودن. در همه این برنامه ها در ابتدا این دستور وجود داشت:

 

در توضیح این خط برنامه کامنت گذاشته بود که آدرس مک شیلد اترنت رو میتونی از برگه ای که روی اون چسبیده بدست بیاری.

راه اندازی شیلد شبکه آردوینو

من هر چی شیلد شبکه ای (اترنت) که خریده بودم رو بالا و پایین کردم هیچ کدی ندیدم!!!!

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

اما اگر شبکه لوکال هست نیازی به حساسیت روی این آدرس نیست. یک تعداد سایت هم هست که با پرداخت پول بهتون یک آدرس مک یونیک می‌فروشن. با این تفاسیر من به این نتیجه رسیدم که متغییر mac[] رو هر چیزی که دلم میخواد میتونم بزارم. چون متاسفانه شرکت سازنده هیچ آدرس مک یونیکی رو برای این شیلد در نظر نگرفته. خوب من اون آدرس رو در نظر گرفتم و برنامه رو روی برد آپلود کردم.

این شیلد شبکه (اترنت) اینجور که بنظر میاد بصورت دیفالت DHCP فعالی دارن. شاید بپرسید یعنی چی؟!

فعال بودن DHCP باعث میشه که وقتی دستگاه شما در یک شبکه قرار گرفت بتونه بصورت اتوماتیک ip بگیره, خوب اگر احیانا خواستید بعد از اتصال دستگاهتون به یک شبکه خواستید بدونید چه ip گرفته خیلی راحت می‌تونید مثال خود آردوینو که در آدرس Example/Ethernet/DhcpAddressPrinter  قرار داره رو روی آردوینو آپلود کنید و توی serial monitor  به راحتی آی پی اختصاص یافته به بردتون رو ببینید. از موضوع دور نشیم!!!!

برنامه مربوط به اتصال به اینترنت به این شکل نوشته شده که بعد از اتصال به اینترنت به سایت msn.com میره و یک کلمه sisoog رو سرچ میکنه و نتایج رو توی serial monitor  بهتون نشون میده.

 

در مورد بعضی از خطوط برنامه نیاز هست که یه توضیحات تکمیلی بدم.

این خط برای این نوشته شده که اگر به هر دلیلی DHCP شیلد شما فعال نبود و نمیتونست بصورت اتوماتیک از روتر ip بگیره، شما به اون ip اختصاص داده باشید.

طبیعتا این IP باید توی رنج IP هایی باشه که روتر به نودهای متصل به خودش اختصاص میده.

 

البته برنامه جوری نوشته شد که اگر نتونه بصورت اتوماتیک ip بگیره به شما اطلاع میده و پیام زیر در serial monitor نمایش داده میشه.

Failed to configure Ethernet using DHCP

امیدوارم این آموزش بدردتون خورده باشه. موفق باشید

 

شیلد اورجینال با لیبل آدرس مک

راه اندازی شیلد شبکه ، نمونه تهیه شده از بازار

شیلد های چینی موجود در بازار ایران

شیلد چینی آردوینو

0 نفر

پــــســنــدیـده انـد

توجه

Sisoog Os
Sisoog Os

کارآفرین, تولید کننده, طراح الکترونیک و ....

دیدگاه ها

10 دیدگاه

  • مهشید
    ۱۸ تیر ۱۳۹۹

    سلام
    من وقتی شیلد اترنت رو به آردوینو وصل می کنم و برنامه رو آپلود می کنم، ال ای دی های مربوطه همه روشن هستند (pwr, link, 100M, FULLD) و حتی گاهی rx, tx روشن می شوند اما Ethernet.hardwareStatus == EthernetNoHardware رو true می کنه! شما می دونید علت چی میتونه باشه؟
    اترنت رو با یک کابل RJ45 به مودم و LAN محلی وصل کردم.

    • Zeus ‌
      زئوس Zeus
      ۲۲ تیر ۱۳۹۹

      سلام
      فکر میکنم – احتمالا شایط ارتباط سخت افزاری میکروکنترلر و ماژول برقرار نباشه یا مشکل داشته باشه
      گام اول اینه که مطمئن بشید که ارتباط سخت افزاری مشکلی نداره برای این کار می تونید به شکل مستقیم یکی از رجیسترهای خواندنی ماژول رو بخونید ببینید مقدارش با مقدار درج شده توی دیتاشیت ماژول همخوانی داره یا نه

  • حسین
    ۱۲ اردیبهشت ۱۳۹۹

    سلام آیا میتونم از طریق این برد تصویر انتقال بدم

    • Sisoog Os
      Sisoog Os
      ۱۲ اردیبهشت ۱۳۹۹

      سلام
      شما از هر درگاه ارتباطی مثل این میتونید هر چیزی را انتقال بدید

  • نیما
    ۱۳ مرداد ۱۳۹۸

    منظورم اینکه اگه شبکه محلی نبود چی؟

  • نیما
    ۱۳ مرداد ۱۳۹۸

    دوستان اگه شبکه محلی نبود چی کار کنم؟

  • مهدیه
    ۱۵ بهمن ۱۳۹۷

    سلام
    من تازه اومدم سمت اردوینو و یک مشکل در شبکه دارم
    من یه اردوینوuno و شیلد شبکه w5100 دارم
    فرض کنیم در شبکه محلی بر روی سرور به آدرس http://192.168.1.1/index.html صفه ای داریم که یک عدد به عنوان ورودی قبول میکنه و یک خروجی برمیگردونه
    حالا چجووری در آردوینو یه مقدار به این آدرس بفرستم و چجوری مقدار برگشتی رو دریافت کنم؟
    ممنون میشم راهنمایی بفرمایید

    • Zeus ‌
      زئوس Zeus
      ۲۷ بهمن ۱۳۹۷

      شما به دو طریق میتونید عدد رو روی یک صفحه ورودی بگیرید ؛ یکی استفاده از متد Get است و دیگری متد Post !
      فکر میکنم با توجه به سخت افزار مورد استفاده شما ؛ بهترین راه استفاده از متد Get است.

      • مهدیه
        ۲۷ بهمن ۱۳۹۷

        ممنون
        اما چجوری؟

        • Zeus ‌
          زئوس Zeus
          ۲۸ بهمن ۱۳۹۷

          برای متد GET باید پارامتر های مورد نیازتون رو توی URL قرار بدید یه مختصر از متد GET رو توی آموزش ساخت ربات تلگرام توضیح دادیم .
          این آموزش
          اگر دقیقا توضیح بدید که قصد چه کاری رو دارید ؛ بهتر میتونم راهنماییتون کنم

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 12 ماه پیش
آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

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

Zeus ‌ Zeus ‌
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک