Thông báo

Collapse
No announcement yet.

Gửi tín hiệu từ PIC lên websever?

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

  • Gửi tín hiệu từ PIC lên websever?

    Em muốn đo nhiệt độ từ LM35 > PIC > ENC28J60 > websever, cho em hỏi lập trình thế nào để websever hiển thị được nhiệt độ gửi lên từ PIC như hình dưới ạ:
    Nếu không có thời gian trả lời cụ thể thì có thể cho em biết cần đọc kiến thức chỗ nào cũng được ạ, đang gấp quá.
    Em cảm ơn.
    Last edited by whiteshirt; 30-11-2014, 18:11.
    xin chào nhau giữa con đường
    mùa xuân phía trước, miên trường phía sau.

  • #2
    Em ko rành lắm nhưng theo em hiểu: Để hiển thị bất cứ thông tin nào thì việc đầu tiên phải biết đc chuẩn của thông tin đầu vào mà phần mềm hiểu được.
    Ví dụ: Để đo đc nhiệt độ thì PIC có thể dùng ADC để xác định mức sụt áp trên cảm biến nhiệt độ tương ứng với nhiệt độ môi trường.
    Còn trong trường hợp cụ thể của bác thì bác phải cho biết cái form hiển thị kia nó nhận dữ liệu dạng gì, biết đc rồi sẽ có giải pháp truyền hoặc chuyển đổi trước khi truyền.
    Túm lại bác phải cho biết món khoái khẩu của websever của bác.

    Comment


    • #3
      Những gì bạn cần:
      1. PIC18 trở lên (có bộ nhớ lớn hơn và SPI để connect vs ENC28j60)
      2. Thư viện TCP/IP stack (có thể download ở micro chip) (dùng vs XC và MPlabx, ko biết có dùng đc vs CCS ko)
      3. Webserver trên PC hay đâu đó (Apache, Lighttpd...)
      4. Code cho PIC (lấy giá trị từ LM35) để send và Code cho server side (PHP) để nhận hiển thị. (Nếu muốn đẹp có thể sử dụng html, js, css...)
      Lưu ý là config max Clock speed cho PIC để có thể send qua SPI nhanh hơn.
      Để nghĩ thêm xem thiếu gì sẽ bổ sung sau...

      Comment


      • #4
        em làm theo cái này:
        Điều khiển led từ website thông qua ENC28J60 sử dụng PIC18F4550 | Diễn Đàn Vi Điều Khiển
        đóng ngắt 3 được rồi nhưng không biết làm sao đưa lên.
        xin chào nhau giữa con đường
        mùa xuân phía trước, miên trường phía sau.

        Comment


        • #5
          Chưa check site bạn đưa nhưng dùng compiler/library gì? Có support TCP client để send lên ko?

          Comment


          • #6
            Nguyên văn bởi htc2k14 Xem bài viết
            Chưa check site bạn đưa nhưng dùng compiler/library gì? Có support TCP client để send lên ko?
            Dùng CCS ạ, em gửi toàn bộ code ở đây: https://drive.google.com/file/d/0B5c...ew?usp=sharing (không hiểu sao không đính kèm file được)
            Nó viết sẵn các hàm như thế này, xin lỗi em không biết TCP client là cái gì vì cơ bản đọc không hiểu mấy:
            -Module điều khiển ENC28J60: nằm trong file “enc28j60.c” và file header “enc28j60.h”, thêm file “enc28j60conf.h” để lưu các config.
            -Module giao thức Ethernet: gồm các file: “ethernet.c” và “ethernet.h”, thêm file "packet.h" khai báo các cấu trúc gói tin sử dụng trong bộ giao thức TCP/IP.
            -Module giao thức phân giải địa chỉ Address Resolution Protocol, gồm file “arp.c” và “arp.h”
            -Module giao thức IP gồm “ip.c” và “ip.h”
            -Module giao thức cấp phát địa chỉ IP động DHCP (Dynamic Host Configuration Protocol) gồm các file “dhcp.c” và “dhcp.h”
            -Module giao thức UDP gồm các file “udp.c” và “udp.h”
            -Module giao thức TCP gồm các file “tcp.c” và “tcp.h”
            -Module giao thức HTTP gồm các file “http.c” và “http.h”
            -Và một số các hàm hỗ trợ khác (uart, timer,…)
            (nguồn: http://www.dientuvietnam.net/forums/...voi-avr-87172/, viết cho avr nhưng cũng tương tự)
            - code web nhúng thì nằm trong "web.h"
            Dữ liệu vào và ra theo sơ đồ này:


            Em rất mơ hồ ở chỗ mình gửi dữ liệu như thế nào và web nhận như thế nào, vẫn đang đọc lung tung
            xin chào nhau giữa con đường
            mùa xuân phía trước, miên trường phía sau.

            Comment


            • #7
              À, dùng web nhúng trên PIC luôn chứ ko phải web ở server PC à. Để tí về check xem.
              TCP là giao thức, UDP là giao thức. Check tài liệu 7 lớp về Network. UDP thì đơn giản nhưng mức độ tin cậy giữa thông tin gửi và nhận ko cao.
              TCP thì đáng tin cậy hơn.
              Nó có chuẩn 7 lớp gì gì đó (OSI) thì TCP UDP ở lớp thứ 4.
              Cái thread bạn gửi có thông tin khá chuẩn và cô đọng rồi đấy. Đừng đọc lung tung.

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X