آردوینو آموزش آردوینو اینترنت اشیا IOT اینترنت اشیاء عملی پروژه های آردوینو

آموزش کار با اترنت اینترنت اشیاء W5100 – بخش اول

ethernet-w5100--arduino-digispark-
نوشته شده توسط پریسا پوربلورچیان

روزگاری بود که با ارسال اس ام اس و یک برد پیچیده با تراشه میکروکنترلر AVR می‌توانستیم، پروژه هوشمند سازی انجام دهیم. ولی امروزه دنیا اینترنت اشیاء IOT عملا ساخت سخت افزارهای پیچیده را به اتمام رسانده است. کافیست پروژه را با اصول اینترنت اشیاء IOT و سخت افزارهای مربوطه انجام دهید. شیلد اترنت با تراشه W5100 از پر مصرف‌ترین شیلدها برای آردوینو Arduino است. هم توانایی لاگ کردن اطلاعات روی مموری Micro SD دارد و هم توانایی مدیریت برد آردوینو و متعلقات متصل به آن را دارد.

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

 

ساختار شیلد اترنت W5100

از ترکیب شیلد اترنت با آردوینو، می‌توانید برد خود را به اینترنت وصل کنید. از طریق اینترنت و در هر مکانی پروژه‌های خود را کنترل نمایید. چیپ استفاده شده در این برد W5100 می‌باشد. Wiznet W5100 برای شما یک آی پی فراهم خواهد کرد که در هردو مدل tcp و udp کارخواهد داد و از ۴ اتصال به سوکت به صورت همزمان نیز پشتیبانی خواهد کرد. شیلد اترنت آردوینو به برد اجازه می‌دهد تا به وسیله کتابخانه مخصوص اترنت به اینترنت متصل شوید و همچنین برای استفاده از کارت اس دی آن نیز باید از کتابخانه مخصوص sd استفاده کنید. همچنین این شیلد باسرعت ۱۰/۱۰۰Mb به برد آردوینو متصل می‌شود. برقراری ارتباط آردوینو با w5100 و کارت اس دی به وسیله SPI bus انجام می‌شود. ارتباط این شیلد با برد آردوینو uno  از طریق پورت های ۱۱,۱۲,۱۳ می باشد.

 

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

شیلد اترنت آردوینو W5100

برد آردوینو Arduino

 

 اتصال به آردوینو :

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

 

فراخوانی کتابخانه:

در این آموزش من از کتابخانه WIZ_ethernet استفاده کرده‌ام. برای دانلود این کتابخانه به صفحه محصول شیلد اترنت آردوینو Arduino Ethernet Shield W5100 مراجعه و در قسمت دانلود، فایل کتابخانه را دانلود نمایید. این کتابخانه به برد آردوینو اجازه می‌دهد که به اینترنت متصل شود و می‌توانید از برد به عنوان یک سرور استفاده کنید و یا از آن به عنوان یک کار (کلاینت) بهره ببرید.

 

 کدهای برنامه:

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

 

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

   

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

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

پریسا پوربلورچیان

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

۲۰ دیدگاه

    • سلام
      همانطور که در فیلم نشان داده ام، ابتدا کابل اترنت را به شیلد و کابل usb را به آردوینو اتصال دهید.

  • سلام .
    میتونیم به این شیلد یه ایپی استاتیک در خودش یا به مودمیکه وصل هستش بدیم و از همه جا که خواستیم بهش وصل شیم یا نیاز به خرید آی پی استاتیک از ای اس پی هستش؟؟//؟؟؟

    • سلام
      شما د رحالت کلی تنظیمات آی پی استاتیک داخلی را از طریق روتر و شیلد میتوانید انجام دهید ولی برای اینکه از هر مکانی خارج از آن محیط بتوانید به شیلد متصل شوید حتما نیاز خرید آی پی استاتیک از ISP دارید.

  • سلام،من این ic رو رو مد tcp server راه اندازی کردم ولی تو مدیریت بافر این تراشه مشکل دارم،یعنی همینکه بافر rx رو پر میکنم و به درستی پوینترش رو هدایت میکنم ولی همینکه عدد پوینتر به ۲۰۴۷ و بعد از آن به ۰ میرسه دیگه هیچی دریافت نمیکنه و اینتراپت هم نمیزنه و حتی پروسه کانکت و دیسکانکت هم به درستی عمل نمیکنه،حدس من اینه که تو مدیریت بافرش مشکل دارم،کسی همچین مشکلی داشته آیا؟

    • با سلام و تشکر از توجه شما
      برنامتون احتمالا دارای نشت حافظه است. راجب نشت حافظه و مدیریت حافظه در C++ مطالعه کنید

  • سلام
    کدی که قرار دادید، برای بورد من کار نمی کنه. من اتصالات فیزیکی رو برقرار می کنم، اما ip دریافت نمی کنه. حتی مثال موجود در خود IDE رو هم آپلود کردم بازم ip دریافت نکرد. به نظرتون مشکل از کجاست؟
    من توی اینترنت سرچ کردم، به لینک زیر رسیدم که کسی نوشته بود ” مقاومتهای اری روی بورد کنار سوکت، باید مقدار ۵۱ اهم داشته باشند ( یعنی روشون نوشته شده باشه ۵۱۰) اگه روی اونا ۵۱۱ نوشته، ( یعنی مقدارشون ۵۱۰ اهم هستش،) بورد مشکل سخت افزاری داره. باید مقاومت رو به ۵۱ اهم عوض کنید. ” بعد کسی که بوردش مشکل داشت، این کار رو کرده بود و بوردش درست شده بود.
    روی بورد اترنت من هم، مقدار مقاومت های اری کنار سوکت، ۵۱۰ اهم هستش ( روشون ۵۱۱ نوشته). با سرچ توی اینترنت شماتیک بورد اترنت مبتنی بر تراشه W5100 رو پیدا کردم (لینکش رو زیر قرار دادم). توی این شماتیک، چهار تا مقاومت کنار سوکت قرار داره که مقدارشون ۴۹ اهم هستش. ( خیلی نزدیک به ۵۱ اهم).
    به نظرتون مشکل میتونه به این دلیل باشه؟ یعنی مشکل سخت افزاری؟ میشه بورد اترنت خودتون رو از این نظر چک کنید که روی مقاومت های اری کنار سوکت، چی نوشته شده؟
    متشکرم
    لینک اول :
    https://electronics.stackexchange.com/questions/11546/arduino-ethernet-shield-it-just-wont-work
    لینک دوم:
    https://www.arduino.cc/en/uploads/Main/arduino-ethernet-shield-06-schematic.pdf

    • با سلام
      ضمن تشکر از توجه شما، قضیه مقاومت اری با تنظیمات شبکه داخلی شما مرتبط است. ربطی به این آموزش ندارد و این کدها روی هرکدام از این بردها کارایی دارد، همانطور که برد استفاده شده در این آموزش هم از مقاومت مشابه بهره برده است. لطفا بفرمایید که کابل اترنت را به کجا اتصال دادید؟ (روتر، مودم، کامپیوتر و…)

      • با سلام و ضمن تشکر از پاسخ شما
        من کابل اترنت رو به مودم Comtrend مدل CT-5367 (که در واقع Router هم هستش) وصل کردم. روی بورد اترنت، LED مربوط به لینک با سرعت ۱۰۰M روشن میشه و LED مربوط به RX هم چشمک میزنه اما ip دریافت نمی‌کنه.
        به نظرتون مشکل از کجاست؟ آیا باید تنظیمات DHCP مودم رو تغییر بدم؟
        متشکرم

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

        • سلام
          در ابتدا دقت کنید که خودتان باید مک آدرس را به شیلد نسبت دهید. در کد برنامه در قسمت Setup با دستور (ethernet.begin(mac,ip,myDns,gateway,subnet شیلد را فعال کنید.

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

            • سلام مجدد
              متاسفانه من در این زمینه تخصص ندارم ولى تا جایى که اطلاع دارم، باید مقاومت arrey پشت کانکتور rj45 را تغییر بدهید. از دیگر کاربران که تجربه کافی دارند تقاضا دارم تا در این موضوع نظر دهند.