Thông báo

Collapse
No announcement yet.

Ngâm cứu ENC28J60 để giao tiếp với mạng Internet

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Ngâm cứu ENC28J60 để giao tiếp với mạng Internet

    Các cao thủ ơi ! ai đã từng làm về cái con ENC28J60 để giao tiếp trực tiếp giữa Vi điều khiển với mạng Internet không thông qua máy tính thì post lên cho mọi người cùng tham khảo với . Đệ đang sắp có cái đồ án liên quan đến con này ,mong các huynh giúp đở ! Ví dụ như các đặc tính điện của con này , nguyên tác hoạt động của nó , nhân và gởi dữ liệu ra sao ,và các thao tác phụ đi kèm như cấu hình Modem ADSL , thiết lập địa chỉ IP tỉnh . Ở trong diễn đàn này cũng có một luồng nói về cái này rồi nhưng không ai phân tích nó cả . Người ta dùng Pic để giao tiếp , nhưng đệ muốn ai đó biết về con này phân tích để những người chỉ lập trình bằng 8051 cũng có thể làm được .
    Hiện nay đệ cũng làm được điều khiển qua mạng Internet rồi , nhưng phải thông qua máy tính , đệ điều khiển nó qua Yahoo nên không dính đến mấy cái vụ IP tỉnh ! Còn khi để cho 8051 trực tiếp nhận tín hiệu(qua con ENC28J60) thì vấn đề hoàn toàn khác !
    Đệ biết có rất nhiều người đang quan tâm đến chủ đề này để làm điều khiển qua Internet , nhưng chưa biết bắt đầu từ đâu . Mong các cao thủ giúp đở ! Thank ....

  • #2
    Nguyên văn bởi saobanmai Xem bài viết
    Các cao thủ ơi ! ai đã từng làm về cái con ENC28J60 để giao tiếp trực tiếp giữa Vi điều khiển với mạng Internet không thông qua máy tính thì post lên cho mọi người cùng tham khảo với . Đệ đang sắp có cái đồ án liên quan đến con này ,mong các huynh giúp đở ! Ví dụ như các đặc tính điện của con này , nguyên tác hoạt động của nó , nhân và gởi dữ liệu ra sao ,và các thao tác phụ đi kèm như cấu hình Modem ADSL , thiết lập địa chỉ IP tỉnh . Ở trong diễn đàn này cũng có một luồng nói về cái này rồi nhưng không ai phân tích nó cả . Người ta dùng Pic để giao tiếp , nhưng đệ muốn ai đó biết về con này phân tích để những người chỉ lập trình bằng 8051 cũng có thể làm được .
    Hiện nay đệ cũng làm được điều khiển qua mạng Internet rồi , nhưng phải thông qua máy tính , đệ điều khiển nó qua Yahoo nên không dính đến mấy cái vụ IP tỉnh ! Còn khi để cho 8051 trực tiếp nhận tín hiệu(qua con ENC28J60) thì vấn đề hoàn toàn khác !
    Đệ biết có rất nhiều người đang quan tâm đến chủ đề này để làm điều khiển qua Internet , nhưng chưa biết bắt đầu từ đâu . Mong các cao thủ giúp đở ! Thank
    Chẳng mấy ai post lên cho bạn tham khảo đâu, tự cày thôi .
    - Để hiểu nó thì không có cách nào khác bạn phải đọc datasheet, tham khảo TCP/IP stack của Microchip, nếu bạn biết PIC thì cắm ăn ngay, nhưng nếu không biết thì cũng có thể lập trình module SPI như của PIC để giao tiếp với con ENC28J60. Cũng có khá nhiều project dùng 8051 để giao tiếp với con này, bạn có thể tìm mà tham khảo.
    - Còn về cấu hình modem, ip tĩnh thì bạn cần thực hiện nhiệm vụ gì ?. Thiết lập IP tĩnh thì gõ phát là xong (tất nhiên với điều kiện bạn đã thuê IP tĩnh). Còn cấu hình modem nhiều khá nhiều trò vui.
    - Việc điều khiển từ xa qua internet thông qua Yahoo thì đơn giản, có thể tham khảo một vài free project trên codeproject, nhưng có khả năng toi vì có thể dùng một chương trình khác để chặn luồng thông tin bạn gửi lên máy chủ Yahoo.
    - Làm cho con ENC này chạy được thì dễ chứ làm để cho nó ổn định thì khó đấy

    Comment


    • #3
      Nguyên văn bởi thanhbinhmec
      con ve van de IP, tat ca cac modem nhan duoc ip do viettel,fpt ...cung cap deu la IP dong, do do, ban co the vao www.no-ip.com de dang ky mot ten mien,dơn va chay phan mem DUC de tu dong cap nhat ip dong cua modem minh, tuc la luc do minh ko phai quan tam den ip cua modem nua ,no da tro thanh www.doantotnghiep.no-ip.com chang han.----->tro ve modem cua minh ,sau do minh NAT port ,tro sang ip cua thiet bi minh dang lam.(webserver chang han ,dung AVR+28j60 la hop ly nhat) .gôdluck
      Làm thế này thì máy tính luôn cho nhanh, cần gì phải bo mạch nữa hả bạn

      /Nếu tớ nhớ không nhầm thì một số modem cũng có khả năng tự cập nhật IP cho mấy bọn như no-ip hay dyndns mà không cần máy tính thì phải.
      Last edited by phamthaihoa; 28-05-2008, 23:51.

      Comment


      • #4
        Nguyên văn bởi phamthaihoa Xem bài viết
        Làm thế này thì máy tính luôn cho nhanh, cần gì phải bo mạch nữa hả bạn

        /Nếu tớ nhớ không nhầm thì một số modem cũng có khả năng tự cập nhật IP cho mấy bọn như no-ip hay dyndns mà không cần máy tính thì phải.
        Đa phần các modem đời mới đều hỗ trợ DYNDNS, kể cả mấy cái modem khuyến mãi bình dân nhất. Em chưa thấy cái modem nào hỗ trợ No-ip.
        Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
        Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

        Comment


        • #5
          Nguyên văn bởi phamthaihoa Xem bài viết
          Chẳng mấy ai post lên cho bạn tham khảo đâu, tự cày thôi .
          - Để hiểu nó thì không có cách nào khác bạn phải đọc datasheet, tham khảo TCP/IP stack của Microchip, nếu bạn biết PIC thì cắm ăn ngay, nhưng nếu không biết thì cũng có thể lập trình module SPI như của PIC để giao tiếp với con ENC28J60. Cũng có khá nhiều project dùng 8051 để giao tiếp với con này, bạn có thể tìm mà tham khảo.
          - Còn về cấu hình modem, ip tĩnh thì bạn cần thực hiện nhiệm vụ gì ?. Thiết lập IP tĩnh thì gõ phát là xong (tất nhiên với điều kiện bạn đã thuê IP tĩnh). Còn cấu hình modem nhiều khá nhiều trò vui.
          - Việc điều khiển từ xa qua internet thông qua Yahoo thì đơn giản, có thể tham khảo một vài free project trên codeproject, nhưng có khả năng toi vì có thể dùng một chương trình khác để chặn luồng thông tin bạn gửi lên máy chủ Yahoo.
          - Làm cho con ENC này chạy được thì dễ chứ làm để cho nó ổn định thì khó đấy
          Trả lời giúp đệ cái sư huynh ơi ! "lập trình module SPI như của PIC " là làm sao hả huynh ? đệ có biết tí gì về PIC đâu mà "như của PIC" . Đệ cũng đang ngâm cứu ENC28J60 và biết nó giao tiếp theo chẩn SPI , nhưng mấy con 89c51 không giao tiếp theo chẩn này , vậy thì làm sao đây ?
          Mà huynh có cái đường dẫn nào như huynh nói ở trên cho đệ xin vài cái !
          Còn nữa, có ai lại đi chăn thông tin mà đệ gởi lên Yahoo chứ (mà họ cũng không có quyền) ngoại trừ yahoo.Nhưng theo đệ biết thì họ không làm vậy ,bằng chứng là đệ vừa lên trang chủ của Yahoo download thư viện về để lập trình , họ khuyến khích làm việc này ! Mặt khác bây giờ Yahoo mở rộng giao tiếp với các thiết bị cầm tay nên đệ làm giao tiếp qua YAhoo là để có thể giao tiếp được với cả các thiêt bị cầm tay này ,(tất nhiên là phải đăng kí dịch vụ ).
          Rất mong nhận được hồi âm sớm sớm của huynh !

          Comment


          • #6
            Nguyên văn bởi phamthaihoa Xem bài viết
            Làm thế này thì máy tính luôn cho nhanh, cần gì phải bo mạch nữa hả bạn

            /Nếu tớ nhớ không nhầm thì một số modem cũng có khả năng tự cập nhật IP cho mấy bọn như no-ip hay dyndns mà không cần máy tính thì phải.
            Thì đệ cũng đang "làm luôn trên máy tính" đây , nhưng chả lẽ lại để cả cái PC yêu dấu chạy 24/24 giờ hay sao chứ
            "Cập nhật IP " là làm sao hả huynh ! Đệ chả hiểu tí gì về cái này cả .

            Comment


            • #7
              AT89S53/S8252/S8253 đều có giao tiếp SPI cả mà bạn.
              !e

              Comment


              • #8
                mình cũng đang làm về cái này. mình dùng con enc28j60 còn tùy theo yêu cầu của mình và tùy từng dung lượng của file flash mà bạn chọn avr, at89 , pic , hay dsPic đều được cả. trong mikroC đã viết sẵn tất cả những cái đó. bạn có thể download các phần mền của mikro về để thực hiện.

                mình đã ngâm cứu nó một thời gian rồi, nhưng vẫn chưa đáp ứng được yêu cầu của mình hy vọng đọc thêm chút nữa thì làm được. hiện tại trong mikroe.com cho phép con enc28j60 lắng nghe kết nối từ máy khách trên internet. ví dụ con enc28j60 cắm vào model của mình và nhận ip là 213.204.10.100 chẳng hạn, máy khách dùng trình duyệt web gõ địa chỉ trên và thêm các tham số 1/0 ... thì con enc28j60 có thể nhận được và cùng con avr hoặc pic hoặc at89 phân tích yêu cầu và trả lời về cho trình duyệt máy khách. Hoặc máy khách dùng phần mềm viết bằng C# chẳng hạn gửi một gói tin UDP từ internet đến con enc28j60, con enc28j60 có thể nhận được gói UDP này và xử lý để gửi trả lời bằng một gói tin UDP về cho máy khách. máy khách lắng nghe kết lối trả về và xử lý kết quả. đây là một việc rất bình thường và hoàn toàn có thể làm được khi bạn dùng mikroC, mikroBasic.. Bạn hoàn toàn không phải dùng PC , con enc28j60 hoạt động như một pc riêng lẻ trong mạng, có thể tự động nhận IP. hy vọng nếu bạn chỉ cần từng đó thì cũng đủ để điều khiển rồi đó.

                còn mình thì như thế chưa được. mình muốn enc28j60 thực hiện gửi một truy vấn đến một địa chỉ nào đó bằng giao thức TCP , địa chỉ có thể là một trang web nào đó. sau đó con enc28j60 lắng nghe kết quả trả về từ địa chỉ trên. và xử lý tín hiệu nhận được. mình nghĩ nếu như vậy thì hai nơi trên internet :một thì gửi câu lệnh truy vấn đến con enc28j60 trên cổng 123 , một nơi thì gửi kết quả truy vấn khi con enc28j60 gọi tới trên cổng 345 chẳng hạn như vậy con enc28j60 làm sao phân biệt được và mình làm sao lập trình để có thể phân biệt được điều đó. mình rất băn khoăn về việc này không biết phải làm sao. hiện mình đang đọc phần bí mật của mikro, phần đọc ghi bộ nhớ con enc28j60, nhưng chưa thấy khả quan gì cả. có bậc cao thủ nào xin chỉ giáo với....
                Last edited by hvlongffffff; 31-05-2008, 11:00.

                Comment


                • #9
                  Ủng hội mọi người 1 Link http://ethernet.machso.com
                  Diễn đàn Vi điều khiển:

                  Comment


                  • #10
                    khà khà mình vừa tìm ra cách gửi request từ enc28j60 lên một host bất kỳ rồi. nó hơi dài dòng, nên mình để khi nào làm xong phần cứng test ổn định thì mình post nhé. còn đây là con đường chính để làm được việc đó:

                    trước nhất: đọc phần bí mật của mikro về enc28j60, lấy ví dụ của nó về đọc phần send UDP,
                    phần này chỉ cách gửi gói tin bằng UDP thôi. nhưng trên cơ sở đó mình có thể gửi gói tin TCP. nhưng cấu trúc và cách thức truyền nhận gói TCP như thế nào trên net thì mọi người phải xem cái này



                    nhưng cái này dùng hypertermial để bắt gói tin trên mạng. dùng khó khăn, nên bạn dùng wireshark để bắt gói tin tìm hiểu giao thức TCP trên mạng.
                    bạn có thể vào đây để down phần mềm và cách thức sử dụng

                    avrportal

                    quy trình gửi nhận gói tin TCP như thế nào bạn nên down avrportal v0.9 đọc phần client_process để bắt trước cách gửi một gói tin TCP request đến server.

                    trên cơ sở đó bạn viết lại bằng mikroC giống ví dụ về serialEthernet trong phần ví dụ mẫu của nó. viết bằng mikroC dễ hơn nên mình khuyên các bạn viết bằng cái đó.

                    trong quá trình viết giao thức protocol bạn chắc sẽ gặp khó khăn việc tính toán checksum header và checksum TCP thì bạn có thể đọc phần cách tính checksum ở đây trong đó có cả cách tính checksum cho UDP và TCP.

                    cuối cùng để kiểm tra mình đã hiểu cách tính checksum hay chưa thì bạn qua đây để kiểm tra xem mình tính check sum có đúng hay không và ở đây bạn có thể hiểu rõ thêm về cách tính checksum của TCP và UDP

                    mình hơi cầm đèn chạy trước o*** vì chưa làm được phần cứng test tung đoàng hoàng rồi mới post cho mọi người , nhưng nếu để đên lúc đó mình lại mất hứng thú, quên hoặc ngại không post nữa thì uổng công quá, he he. bạn nào làm được rồi thì demo cho anh em nhé. chúc vui vẻ.

                    Comment


                    • #11
                      Nguyên văn bởi hvlongffffff Xem bài viết
                      khà khà mình vừa tìm ra cách gửi request từ enc28j60 lên một host bất kỳ rồi. nó hơi dài dòng, nên mình để khi nào làm xong phần cứng test ổn định thì mình post nhé. còn đây là con đường chính để làm được việc đó:

                      trước nhất: đọc phần bí mật của mikro về enc28j60, lấy ví dụ của nó về đọc phần send UDP,
                      phần này chỉ cách gửi gói tin bằng UDP thôi. nhưng trên cơ sở đó mình có thể gửi gói tin TCP. nhưng cấu trúc và cách thức truyền nhận gói TCP như thế nào trên net thì mọi người phải xem cái này



                      nhưng cái này dùng hypertermial để bắt gói tin trên mạng. dùng khó khăn, nên bạn dùng wireshark để bắt gói tin tìm hiểu giao thức TCP trên mạng.
                      bạn có thể vào đây để down phần mềm và cách thức sử dụng

                      avrportal

                      quy trình gửi nhận gói tin TCP như thế nào bạn nên down avrportal v0.9 đọc phần client_process để bắt trước cách gửi một gói tin TCP request đến server.

                      trên cơ sở đó bạn viết lại bằng mikroC giống ví dụ về serialEthernet trong phần ví dụ mẫu của nó. viết bằng mikroC dễ hơn nên mình khuyên các bạn viết bằng cái đó.

                      trong quá trình viết giao thức protocol bạn chắc sẽ gặp khó khăn việc tính toán checksum header và checksum TCP thì bạn có thể đọc phần cách tính checksum ở đây trong đó có cả cách tính checksum cho UDP và TCP.

                      cuối cùng để kiểm tra mình đã hiểu cách tính checksum hay chưa thì bạn qua đây để kiểm tra xem mình tính check sum có đúng hay không và ở đây bạn có thể hiểu rõ thêm về cách tính checksum của TCP và UDP

                      mình hơi cầm đèn chạy trước o*** vì chưa làm được phần cứng test tung đoàng hoàng rồi mới post cho mọi người , nhưng nếu để đên lúc đó mình lại mất hứng thú, quên hoặc ngại không post nữa thì uổng công quá, he he. bạn nào làm được rồi thì demo cho anh em nhé. chúc vui vẻ.
                      Ái chà, vậy là hvlongffffff có thể gởi 1 Request đến 1 server rồi hả, có thể gởi theo phương thức GET hay POST vậy, hình như trong Microchip TCP Stack cũng có, nhưng chỉ hỗ trợ GET thôi, nếu hvlongffffff làm xong chắc có thể dùng con enc28j60 POST bài lên đây há.. Xong việc nếu có thể, chia sẻ cho mọi người với nhé, tớ đang háo hức lắm đây.
                      Diễn đàn Vi điều khiển:

                      Comment


                      • #12
                        minh da tung lam ve thiet bi dieu khien wa internet!

                        Theo minh ban nen dung con AVR hoac ARM... thi hay, tu vi dung luong bo nho chuong trinh kha cao, phu hop voi nhieu ung dung ! minh da xai thu con ATMEGA32 va chay rat tot o mang Lan va INternet ! day la giao dien web sever don gian ma minh viet cho mini project nay ! http://117.6.76.176:80 , o mang Lan thi minh cap cho no IP 192.168.1.9 MAC : A:B:C:X:X:X voi A,B,C la thong so nha san xuat,con x la thiet bi, minh tu dat cung duoc, sau do minh NAT port trong modem tro ve ip 192.168.1.9 cua thietbi minh o port 80 chan han ! the la chay duoc tren internet ! tu internet, ban truy cap vao dia chi IP puplic cua modem chay o port 80. the la truy cap vao thang webserver cua minh! ban viet them vai cai nut nhan, doc ADC ve , minh co the giao tiep voi webcam truyen hinh anh ve de dieu khien thiet bi minh mong muon!
                        Vi ip cua modem minh la ip dong,nen minh se dung NO-IP (www.no-ip.com) de cap nhat ip cua modem minh lien tuc! va dang ky mot ten mien nhu dieukhiennha.no-ip.com chang han! sau nay , ban ko phai nho ip cua modem minh nua ,ma chi can go http://dieukhiennha.no-ip.com la truy cap thang vao thiet bi cua minh roi ! ban hinh dung ra nhu the roi chu ! bay gio ban co the load tai lieu ve lam duoc roi day! tren mang, rat nhieu project da lam ve cai nay! chuc ban thanh cong ! ban vao xem thu cai test cua minh ! http://117.6.76.176:80

                        Comment


                        • #13
                          Nguyên văn bởi saobanmai Xem bài viết
                          Thì đệ cũng đang "làm luôn trên máy tính" đây , nhưng chả lẽ lại để cả cái PC yêu dấu chạy 24/24 giờ hay sao chứ
                          "Cập nhật IP " là làm sao hả huynh ! Đệ chả hiểu tí gì về cái này cả .
                          Troi dat ! may bo chua tim hieu ve IT ca, minh chi can chay phan mem DUC mot lan thoi, de goi thong so MAC address cua Modem minhn cho thang No-IP.com biet ! de tu do ,mo dem minh luon duoc NO-IP.com kiem tra la dang chay ip nao, chu đau co chay phan mem DUC lien tuc dau ma cac ban bao chay may ban nhu server ! hic, minh da lam cai nay roi ! hihihi, chuc cac ban thanh cong nhe ! minh nghi, truoc khi lam cai nay !, cac bac nen nghien cuu ve CNTT mot chut, phai biet OSI,IP,MAC,TCP,UDP,ARP..... THI MOI TIEP TUC LAM THANH CONG DUOC ! CHUC CAC BAN THANH CONG NHE !

                          Comment


                          • #14
                            Hj cac bạn, mình đang làm đề tài giao thức qua mạng Ethernet bằng vi điều khiển, bạn nào làm chạy rồi thì giúp đỡ mình với, mình cũng chưa hiểu nhiều về vấn đề này, mong các bạn giúp đỡ. Mail mình là phuc4485@gmail.com
                            Cảm ơn các bạn nhiều

                            Comment


                            • #15
                              Các bác cứ nói không không thế thì làm sao mà hiểu nổi , em mở cái luồng này là mong mọi người giúp đỡ những người chưa biết gì ? Chứ cứ như mấy bác thì mọi người ai cũng biết cả roài hay sao ?
                              Bác gì đó làm được rồi thì post mạch phần cứng lên cho mọi người xem qua cái , không biết bác có dùng con ENC28J60 để giao tiếp mạng không hay là con khác vậy ?.Mà bác dùng thư viện gì để lập trình thế ? Bác truyền được cả WebCam chắc siêu đẳng rồi , mong được học hỏi bác chút ít .

                              Comment

                              Về tác giả

                              Collapse

                              saobanmai Tìm hiểu thêm về saobanmai

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X