اطلاعیه

Collapse
No announcement yet.

Client با ENC28j60

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

    Client با ENC28j60

    سلام
    من برای پروژه ای از مدار توضیح داده شده در کتاب 11 پروژه مهندس حسینی استفاده کردم.در اون پروژه دستگاه به صورت وب سرور عمل میکنه .حالا من نیاز دارم که ازش به عنوان کلاینت استفاده کنم.کسی از اساتید تونسته اون پروژه رو به صورت کلاینت تغییر بده؟

    #2
    پاسخ : Client با ENC28j60

    میشه مدار و برنامه اش را بذارید تو سایت ممنونم

    دیدگاه


      #3
      پاسخ : Client با ENC28j60

      البته این کار رو می کنم ولی محض رضای خدا یکی بگه چطوری!

      دیدگاه


        #4
        پاسخ : Client با ENC28j60

        نوشته اصلی توسط آرمان مهیار
        البته این کار رو می کنم ولی محض رضای خدا یکی بگه چطوری!
        تو این سایت به پروژه هاش یه نگاهی کن 100% به جوابت میرسی البته اگه با winavr مشکلی نداری .
        اون برنامه کتاب هم ترجمه شده یکی از پروژه های وب سرور این سایت هست.
        http://tuxgraphics.org/

        دیدگاه


          #5
          پاسخ : Client با ENC28j60

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

          دیدگاه


            #6
            پاسخ : Client با ENC28j60

            من پروژه آقای رستمی رو قبل از ایجاد این موضوع خوندم. مساله اینه که اون پروژه هم وب سرور هست نه کلاینت
            و البته با winavr
            http://tuxgraphics.org/ رو هم پیش از این دیده بودم. ولی اونم با winavr هست

            دیدگاه


              #7
              پاسخ : Client با ENC28j60

              ارتباطات شبکه استاندارد هستند
              در حالتی که به صورت سرویس دهنده عمل کنند میکرو روی یک پورت به حالت Listn یا Bind قرار میگیره و منتظر ارتباط یک کلاینت میشه
              در حالتی که قراره میکرو خودش نقش کلاینت را بازی کنه و به یک سرویس دهنده متصل بشه باید از توابع Connect استفاده کنه
              توی هدر فایلها را ببینید ، مطمئنا توابعش و پارامترهای استفاده شون را پیدا خواهید کرد ( من نمیدونم شما از چی استفاده کردین که دقیقتر بگم )
              آن دم که مرا می زده بر خاک سپارید زیر کفنم خمره ای از باده گذارید
              تا در سفر دوزخ از این باده بنوشم
              آنلحظه که با دوزخیان کنم ملاقات یک خمره شراب ارغوان برم به سوغات
              هرقدر که در خاک ننوشیدم از این باده صافی ، بنشینم و با دوزخیان کنم تلافی

              دیدگاه


                #8
                پاسخ : Client با ENC28j60

                من با این فرض که یک کلاینت برای اتصال به سرور باید IP و Subnet mask اون سرور رو داشته باشه توابع داخل هدری که در برای کار با ENC28j60 نوشته شده بود رو دیدم ولی تابعی برای این منظور ندیدم.حالا یا نبود با من سوادم قد نداد(مورد دوم یحتمل تره).جناب JOKER فکر می کنید فرصتی دارید یه نگاهی به هدرش بندازید؟

                دیدگاه


                  #9
                  پاسخ : Client با ENC28j60

                  جناب ژوکر من فایل پروژه ر براتون اپ کردم. یه نیگاه بندازید. این پروژه ی بنده هم هست، اما اططلاعاتم در این زمینه کم هست. ممنون.
                  http://www.persiangig.com/pages/download/?dl=http://altium.persiangig.com/CodeVisionAVR.rar
                  بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
                  موفقیت پیش رفتن است نه به نقطه ی پایان رسیدن
                  نلسون ماندلا

                  دیدگاه


                    #10
                    پاسخ : Client با ENC28j60

                    ظاهرا این روش در تابع enc28j60PacketSend انجام میشه
                    یک مثال ساده اجرائی را میتونی توی فانکشن make_udp_reply_from_request در فایل ethernet.h ببینی
                    برای تست میتونی مقادیر IP را به صورت دستی توش تغییر بدی و یک پکت ارسال کنی ، اگه سمت ip که بهش معرفی کردی یک نرم افزاری باشه که روی پورت 1200 UDP در حال گوش کردن به دیتای رسیده باشه و بزاری نمایشش بدی میبینی که با هربار صدا زدن این تابع توی شبکه پکت شما ارسال میشه.
                    آن دم که مرا می زده بر خاک سپارید زیر کفنم خمره ای از باده گذارید
                    تا در سفر دوزخ از این باده بنوشم
                    آنلحظه که با دوزخیان کنم ملاقات یک خمره شراب ارغوان برم به سوغات
                    هرقدر که در خاک ننوشیدم از این باده صافی ، بنشینم و با دوزخیان کنم تلافی

                    دیدگاه


                      #11
                      پاسخ : Client با ENC28j60

                      JOKER جان امکان داره یه کم بیشتر توضیح بدی؟
                      من متغیری چیزی که باید IP رو نگه داره پبدا نکردم .(شاید buf باشه؟)
                      همینطور اگر بخوام از TCP/IP استفاده کنم چه کنم؟(البته اگر UDP هم راه بیفته بازم خیلی خوبه)

                      دیدگاه


                        #12
                        پاسخ : Client با ENC28j60

                        حواس پرت شدی آ
                        فایل main را ببین خط 36

                        unsigned char mymac[6] = {0x11,0x22,0x33,0x44,0x55,0x66}; // MAC
                        unsigned char myip[4] = {192,168,1,10}; // IP

                        و محل استفاده خط 99

                        // initialize ethernet
                        ethernet_init(mymac, myip, 80, 1200);
                        آن دم که مرا می زده بر خاک سپارید زیر کفنم خمره ای از باده گذارید
                        تا در سفر دوزخ از این باده بنوشم
                        آنلحظه که با دوزخیان کنم ملاقات یک خمره شراب ارغوان برم به سوغات
                        هرقدر که در خاک ننوشیدم از این باده صافی ، بنشینم و با دوزخیان کنم تلافی

                        دیدگاه


                          #13
                          پاسخ : Client با ENC28j60

                          JOKER جان
                          عذر میخوام که بین post ها وقفه افتاد.
                          خوب اون IP و mac که بهش اشاره کردید مگه مربوط به مدار خودمون نیست؟.ما علاوه بر تنظیم IP و Mac مدار نیاز داریم که IP سرور رو هم ست بکنیم.حالا چطوری امید ما به اساتیدی مثل شماست

                          دیدگاه


                            #14
                            پاسخ : Client با ENC28j60

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

                            void make_ip(uint8_t *buf)
                            {
                            uint8_t i=0;
                            while(i<4){
                            buf[IP_DST_P+i]=buf[IP_SRC_P+i];
                            buf[IP_SRC_P+i]=ipaddr[i];
                            i++;
                            }
                            fill_ip_hdr_checksum(buf);
                            }
                            اون IP_SRC و توی هدر همین فایل IP_DST را ببین
                            کلا تحت TCP/IP هر پکتی برای انتقال نیاز داره که یک Header براش ساخته بشه و توی این هدر آدرس لوکال و آدرس مقصدDestination Address قرار میگیرده و بعد ارسال میشه.
                            آن دم که مرا می زده بر خاک سپارید زیر کفنم خمره ای از باده گذارید
                            تا در سفر دوزخ از این باده بنوشم
                            آنلحظه که با دوزخیان کنم ملاقات یک خمره شراب ارغوان برم به سوغات
                            هرقدر که در خاک ننوشیدم از این باده صافی ، بنشینم و با دوزخیان کنم تلافی

                            دیدگاه

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