اطلاعیه

Collapse
No announcement yet.

درخواست راهنمایی در مورد ماژول ENC28J60

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    درخواست راهنمایی در مورد ماژول ENC28J60

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

    #2
    پاسخ : درخواست راهنمایی در مورد ماژول ENC28J60

    ممکنه مشکل arp داشته باشید
    برنامه ای بنویسید که mac آدرس طرف مقابل را روی lcd یا پورت سریال نمایش بده و اونها را با mac لپ تاپ و ماژول مقایسه کن
    نتیجه را اعلام کن
    موفق باشید
    امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

    دیدگاه


      #3
      پاسخ : درخواست راهنمایی در مورد ماژول ENC28J60

      نوشته اصلی توسط Abbas Sarami
      ممکنه مشکل arp داشته باشید
      برنامه ای بنویسید که mac آدرس طرف مقابل را روی lcd یا پورت سریال نمایش بده و اونها را با mac لپ تاپ و ماژول مقایسه کن
      نتیجه را اعلام کن
      موفق باشید
      ممنون از پاسختون ولی فکر نکنم مشکل از mac باشه. چون بصورت یه متغییر داخل برنامه تعریف میشه و کاملا مستقل تعریف شده. ضمنا وقتی که به مودم وصل میکنم سیستم دیگه ای نیست فقط لپتاپ خودم و ماژول و مودم که مک همشون متفاوته. این کدیه که استفاده کردم و روی مگا 8 ریختم این خط مک آدرس رو مشخص میکنه
      static byte mymac[] = { 0x73,0x69,0x69,0x2D,0x30,0x31 };

      کد:
      // Present a "Will be back soon web page", as stand-in webserver.
      // 2011-01-30 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php
       
      #include <EtherCard.h>
      
      // ethernet mac address - must be unique on your network
      static byte mymac[] = { 0x73,0x69,0x69,0x2D,0x30,0x31 };
      
      // ethernet interface ip & subnet address
      static byte myip[] = { 192,168,1,50 };
      static byte subnet[] = { 255, 255, 255, 0 };
      // gateway ip address
      static byte gwip[] = { 192,168,1,1 };
      
      
      byte Ethernet::buffer[500]; // tcp/ip send and receive buffer
      
      const char page[] PROGMEM =
      "HTTP/1.0 503 Service Unavailable\r\n"
      "Content-Type: text/html\r\n"
      "Retry-After: 600\r\n"
      "\r\n"
      "<html>"
       "<head><title>"
        "Service Temporarily Unavailable"
       "</title></head>"
       "<body>"
        "<h3>This service is currently unavailable</h3>"
        "<p><em>"
         "The main server is currently off-line.<br />"
         "Comeback Later"
        "</em></p>"
       "</body>"
      "</html>"
      ;
      
      void setup(){
       Serial.begin(9600);
       Serial.println("\n starting program");
       ether.begin(sizeof Ethernet::buffer, mymac,10);
       ether.staticSetup(myip, gwip, 0, subnet);
       Serial.println("\n entering loop");
       
      }
      
      void loop(){
       // wait for an incoming TCP packet, but ignore its contents
       if (ether.packetLoop(ether.packetReceive())) {
        memcpy_P(ether.tcpOffset(), page, sizeof page);
        ether.httpServerReply(sizeof page - 1);
        Serial.println("\n packet recerved");
       }
      }

      دیدگاه


        #4
        پاسخ : درخواست راهنمایی در مورد ماژول ENC28J60

        بحث من ARP هست که باید چک کنید که درست باشه.
        اگه امکانش را داری با یک سوئیچ تست کن.

        موفق باشید
        امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

        دیدگاه


          #5
          پاسخ : درخواست راهنمایی در مورد ماژول ENC28J60

          نوشته اصلی توسط Abbas Sarami
          بحث من ARP هست که باید چک کنید که درست باشه.
          اگه امکانش را داری با یک سوئیچ تست کن.

          موفق باشید
          خب دوست عزیز ARP یعنی Address Resolution Protocol که توی یه شبکه لن برای ارتباط بین نودها بجای IP استفاده میشه. اگه منظورتون این مورده که مستقیما مربوط به MAC آدرس میشه و مک نباید تکراری باشه. وگرنه اگه مورد دیگه ای مد نظرتونه ممنون میشم بیشتر توضیح بدید. در مورد سویچ متاسفانه فعلا فقط به همین مودم دسترسی دارم.

          دیدگاه


            #6
            پاسخ : درخواست راهنمایی در مورد ماژول ENC28J60

            خب دوست عزیز ARP یعنی Address Resolution Protocol
            دوست عزیز، می دونم ARP چیه ~x(
            بعضی ادوات شبکه MAC خودشون را بجای mac طرف مقابل توی پکت ها قرار می دهند (مثل رادیو لینک ها) اینجا یک درخواست ARP میتونه MAC مقصد را مشخص کنه
            وقتی مستقیماً جواب میده و با واسطه کردن یک تجهیز دیگه ارتباط قطع میشه یکی از دلیل ها میتونه عدم شناسایی صحیح MAC باشه، حالا منظور من را متوجه شدی
            دیگه نگی MAC ها متفاوته ها :mrgreen:

            اگر هم به آدرس دهی ها اطمینان داری با یک نرم افزار network monitor پکت ها بررسی کن

            موفق باشید
            امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

            دیدگاه


              #7
              پاسخ : درخواست راهنمایی در مورد ماژول ENC28J60

              با تشکر از دوستانی که راهکارهایی بهم ارائه کردن، بلاخره مشکلم حل شد و گفتم نتیجه رو اینجا بگم شاید به درد بقیه هم بخوره. ظاهرا مشکل از مک آدرس ما بود oo:. هرچند خودمم متوجه نشدم چرا چون مک قبلی هم تو شبکه یونیک بود. به هرحال من مک مودم رو دقیقا به ماژول دادم فقط آخرش که رو مودم 21 بود تو ماژول به 22 عوض کردم و :wow: راه افتاد.

              دیدگاه

              لطفا صبر کنید...
              X