وب سرور با ENC28J60 در Bascom و Arduino

محتوا

وب سرور با ENC28J60 در Bascom و Arduino

حتما شما هم با ماژول ENC28J60 آشنایی دارید و با کامپایلر های مختلف و میکروکنترلر های مختلف این ماژول رو راه اندازی کردین. من این ماژول رو با بسکام راه انداختم ولی خوب به دلیل نداشتن کتابخانه هم کاره سختی بود و هم یک نمونه سورس بیشتر برای این ماژول بیشتر نبود همانطور که در لینک بالا نمونه کد رو گذاشتم تا اینکه با آردوینو آشنا شدم و الان حدود یک ساله دارم روش کار می کنم.

آردوینو:

به زبان ساده در دیگر کامپایلر ها شما اکثر میکروکنترلر ها رو می توانید برنامه ریزی کنید اما در آردوینو فقط میکروکنترلر هایی که معرفی می شوند رو می تونید برنامه ریزی کنید که برای راحتی کار در غالب برد آماده با دسترسی راحتتر به ورودی و خروجی میکروکنترلر در اختیار شما قرار می دهند مثل آردوینو نانو که اطلاعاتش در لینک زیر می توانید ببینید:

Arduino_Nano_v3

درسته که هر چیپی رو نمی تونید برنامه ریزی کنید اما در عوض با همون برد هایی که معرفی کرده همه پروژه هایی رو که به هزار تلاش و تو اینترنت جستجو کردن رو با اضافه کردن یه کتابخانه حل می کنید.نکته جالب اینه که این میکروکنترلر ها با پورت سریال برنامه ریزی می شوند و بر روی ۹۹ درصد بردها به صورت آنبرد نصب شده و شما نیاز به تهیه پروگرامر ندارید.

پروژه پرکاربرد و جذاب وب سرور با ENC28J60

ابتدا یه ماژول ENC28J60 از فروشگاه آفتاب رایانه تهیه کنید به علاوه برای شروع یک برد آردوینو نانو هم بخرید. به لینک زیر مراجعه کنید و برد نانو رو با کابل USB به سیستم وصل کنید و درایور رو نصب کنید . حالا کامپایلر آردوینو رو اجرا کنید و در نوار ابزار Tools رو انتخاب کنید حالا در این قسمت باید دو کار انجام دهید اول پورت سریال انتخاب کنید و سپس در  Board بر بروی Arduino Nano w/Atmaega328 کلیک کنید.برای تست اتصالات و تنظیمات یک سورس کد آماده رو در قسمت File > Examples انتخاب کنید و بعد آپلود کنید.

وب سرور با ENC28J60

شماتیک مدار ENC28J60:

وب سرور با ENC28J60

در مورد نحوه اتصال ماژول به آردوینو طبق عکس های بالا و اطلاعات زیر عمل کنید و برای تغذیه ماژول شبکه هم از ولتاژ 3.3 ولتی که برد آردوینو در اختیار شما قرار داده حتما استفاده کنید.توجه کنید که ولتاژ 5 ولت وصل نکنید چون امکان سوختن ماژول زیاد است.

پایه CS ماژول شبکه به پایه D10 آردوینو

پایه SCK به D13

پایه SI به D11

پایه SO به D12

نکته:

با اتصال کابل USB برد آردوینو به رایانه دیگر نیاز به تغذیه مجزا نیست و همزمان هم ماژول شبکه و هم برد آردوینو راه اندازی می شود. در صورت اتصال همزمان منبع تغذیه مجزا و کابل USB امکان آسیب دیدن برد وجود دارد.

کتابخانه ماژول ENC28J60 در آردوینو

لینک دانلود که در ابتدا وجود دارد نسخه قدیمی است و در لینک زیر نسخه جدیدتر رو می تونید دانلود کنید که توابع آن بروز شده و امکانات جدیدی اضافه شده.

لینک دانلود

سورس کد وب سرور با ENC28J60

این سورس کد با کمی دستکاری از جمله اضافه کردن صفحه لاگین که با وارد کردن نام کاربری admin و کلمه عبور admin وارد صفحه اصلی وب سرویس می شوید.

وب سرور با ENC28J60

استفاده از css برای تغییر استایل مثل شکل بالا.توجه کنید که فایل css را از سرور توربو دیجیتال می خواند به دلیل محدودیت فضای رم و فلش. از اینجا می توانید سورس را دانلود کنید و فایل های CSS هم اینجا دانلود کنید

Web Server با ENC28J60 در Arduino و Bascom – لینک دانلود پروژه با بسکام

بخش نظرات

این پست دارای 27 نظر است

  1. سارا

    سلام
    ببخشيد فايل دانلود بسكام كه گذاشتين به چه دردي ميخوره . يعني ميتونم از اين ماژول براي ارتباط با شبكه و ميكرو از برنامه نويسي با بسكام استفاده كنم بدون اردينو يا نه؟؟؟؟؟؟؟؟؟

    1. امیر امرایی

      بله می تونید.
      تست شده ولی فقط در حد راه اندازی یک وب سرور

      1. حسن

        سلام.ممنون.عالی بود اما یه چیزی.حالا که ما با avr به اترنت متصل شدیم چطوری به حساب اعداد اندازه گیری شده سنسور رو توسط اترنت ارسال کنیم؟ کد مشخصی داره؟ لطفا راهنمایی کنید

      2. امیر امرایی

        به کجا ارسال کنی؟به یه سرور؟

  2. milad

    درود
    لینکی ک واس بسکام گذاشتید
    تو بسکام باز نمیشه
    لطفا بررسی کنید

    1. امیر امرایی

      موردی ندارد. شما باید فایل ENC28J60 IO Webserver AMTEGA32.bas رو تو بسکام باز کنید.
      دقیقا چه خطایی می دهده.

  3. abbas

    با سلام. یه سوال مهم که پیش میاد اینه کعه چجوری آی پی استاتیک مودم را روی برد آردویینو ست کنیم. من یک ethernet shield و Arduino atmega2560 را خریدم و آی پی استاتیک هم واس مودم که tp-link هستش فراهم کردم و طبق پیش فرض های شرکت پارس آنلاین تنظیمش کردم. وقتی آی پی استاتیکمو واس آی پی آرئویینو در نظر میگرم داده ای دریافت نمیشه و ریسپاندی ندارم.
    حالا زمانی که داخل شبکه داخلی یک آی پی واس آردویینو میزارم بصورت محلی وقتی داده میفرستم از لپ تاپ بهش عما میکنه. اینجوریه که آی پی ولید روی آردویینو ست نمیشه.
    واقهن ممنون میشم بتونم از تجربیاتتون استفاده کنم.
    ممنون

    1. امیر امرایی

      شما لازم نسیت آی پی استاتیک رو جایی ست کنی.
      اولا آی پی به مودم اختصاص داده شده و جایی دیگه نمیشه استفاده کرد.
      دوم شما باید از تنظیمات port forwarding یا DMZ استفاده کنی . یعنی اینکه مثلا آی پی ماژول رو که 192.168.1.100 دادی رو توی DMZ مودم تعریف و فعال کنی.

      حالا اگه بخوای بجای استفاده از آی پی محلی و DMZ از آی پی اینترنتی استفاده کنی باید دو تا آی پی استاتیک درخواست بدی که یکی رو مودم تنطیم می شه و دیگری رو ماژول.

  4. امین ایمانیان

    با سلام و احترام
    در مدارم بصورت مشترک از esp8266 (برای ارسال با وایرلس ) و بصورت کابل شبکه از enc28…استفاده میکنم ولی خیلی هم مهمه که از avr استفاده کنم .برای راه اندازی وب سرور نمونه برنامه ای دارید چون از آردویینو به دلایلی نمیتونم استفاده کنم.
    هرچه تو وب گشتم فقط برای arm یا آردویینو نمونه کد هست
    با تشکر

    1. امیر امرایی

      نه متاسفانه فقط با بسکام و آردوینو.
      تو آردوینو هم از AVR استفاده میشه و این دو تا ماژول رو به راحتی می تونید استفاده کنید من قبلا تو بحث همین وب سرور خیلی مشکل داشتم و با بسکام می نوشتم ولی واقعا آردوینو خیلی گسترده تره.
      پیشنهاد می کنم شما هم با همین آردوینو پروژه تون رو راه بندازید.

  5. محمدحسین جعفری

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

    1. امیر امرایی

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

  6. میلاد

    سلام من هر کار می کنم این ارور میده
    exit status 1
    Error compiling for board Arduino Nano.

  7. sinaghofrani

    سلام
    من می خوام که بتونم با استفاده از کامپیوتر به چند تا میکرو رو با استفاده از ماژول enc28j60 دستور های مختلفی بدم(با استفاده از پورت اترنت)
    حالا سوال من اینجاست که آیا این ماژول ای پی خاصی رو به خود اختصاص میدهد و این آی پی قابل تغییر است؟
    علت این سوال این است که هدف من این است که هر دستور به میکرو مشخصی اعمال شود و لازمه ی این وضوع وجود ای پی است.

    1. امیر امرایی

      بله به صورت استاتیک هم می تونی آی پی تنظیم کنی

      1. sinaghofrani

        اگه ممکنه یکم بیشتر توضیح بدید…یعنی چی ای پی استاتیک اختصاص بدم؟
        ممنون میشم کمکم کنید ..بد جور گیر کردم

      2. امیر امرایی

        توی همین پروژه ایی که اینجا گذاشتم آی پی به صورت استاتیک تنظیم شده
        192.168.1.200

  8. fereshte41

    سلام،ببخشید من وقتی در اردوینو برنامه وب سرور رو اپلود می کنم، داخل مرورگر ای پی سیستمو میزنم برام صفحه وبو نمیاره،میشه بگین باید چیکار کنم؟
    ممنونم

  9. rezareza

    سلام دوست عزیز لینک ها کار نمیکنند لطفا در جای دیگری آپلود کنید

    1. امیر امرایی

      مشکل برطرف شد

  10. mojtaba_68

    سلام مهندس عید شما مبارک باشه …
    انشالله سال 1396 سال خوب و پربرکتی داشته باشید
    ———
    مهندس من الان این سورس بسکام شمارو دانلود کردم
    مو به مو سورس کد هارو رعایت کردم
    من هنوز جواب نگرفتم نتونست تو مرورگر سیستمم چیزی ببینم
    ——-
    خواهشن در مورد کانفیگ آی پی و تنطیمات در پی سی توضیح بدید
    —-
    از کارتون یک فیلم آموزش بزارید

  11. ali110

    لینک دانلود مفقود است

    1. امیر امرایی

      لینک ها اصلاح شدن

  12. ali110

    با سلام وخسته نباشید.بنده میخواهم برنامه بسکام خریداری شده را با atmega32 ببندم در فایلی که از شما گرفتم یک تصویر از ارتباط تراشه enc28j60 با مگا 32 است .آیا اگر سخت افزار را اینچنین ببندم با برنامه شما کار میکند.در ضمن بنده میخواهم از ورودی مگا 32 دیتایی را بخوانم وبا چند کاراکتر string ارسال کنم ویا برعکس .آیا در برنامه این مورد وجود دارد .بی زحمت بنده را راهنمایی بفرمایید.با سپاس فراوان

    1. امیر امرایی

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

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

×
×

سبد خرید


Notice: ob_end_flush(): Failed to send buffer of zlib output compression (0) in /home/turbodig/public_html/wp-includes/functions.php on line 5471