Kít của tớ cũng bắt chước của Olimex thui (xem attachment). Còn nếu dùng PIC giao tiếp với ENC mà không cần con 74HCT thì dùng PIC 18LF nó cũng chạy 3.3V giống ENC. Xem chi tiết tại đây.
Thông báo
Collapse
No announcement yet.
PIC và Internet application
Collapse
X
-
@hackervnbk: cái RJ45 đó có biến áp ở trong, những loại tôi có đều có chiều dài của cái Jack là 2.5cm, có 2 LED, nếu cái RJ của bạn có chiều dài như vậy thì chắc chắn nó có biến áp.
Còn chân SDO của ENC28J60 dùng điện áp 3v3 nối vào SDI của PIC là chân ST, về nguyên tắc thì mức 1 của ST là 0.8Vdd, nhưng trong thực tế thử với cả PIC và dsPIC đều nhận tốt mức 1 không cần qua đệm, tớ đã thử với SPI tốc độ 5Mhz, nhưng vẫn nên thêm đệm cho chắc chắn.
Cái SCH anh Ngọc đính kèm nó dùng PIC 5V và con HCT125, PIC8LF có thể chạy ở điện áp 3v3 nhưng với điện áp đó chỉ có thể chạy được ở tốc độ 20Mhz, muốn tìm PIC 18 chạy 3v3 thì đó là những con PIC18FJ.
Comment
-
Thằng e của bác LinhNc đây,hic thời gian vừa rồi bận quá cũng chưa làm được nhiều với đề tài này,đã thế hôm nọ mua cái RJ45 của bác Newday bị ăn 1 vố to quá.Gì mà cái RJ45 "xịn" (tức là phải tích hợp biến áp bên trong) cảu bác Newday lại là cái loại có tích hợp thêm có mỗi 2 cái Led thôi ah (tìm mãi chẳng thấy biến áp đâu )
Thế có ai muốn dùng RJ45 xịn không, giá cũng hơi xịn nhưng RJ45 thì chắc chắn vì phamthaihoa đã test rồi.Nhà sản xuất chuyên nghiệp các sản phẩm OEM cho gia dụng và công nghiệp.
Biến tần
Máy giặt
Lò vi sóng
Bếp từ.
Tủ lạnh.
Điều hòa
Comment
-
Nguyên văn bởi phamthaihoa Xem bài viết@hackervnbk: cái RJ45 đó có biến áp ở trong, những loại tôi có đều có chiều dài của cái Jack là 2.5cm, có 2 LED, nếu cái RJ của bạn có chiều dài như vậy thì chắc chắn nó có biến áp.
Còn chân SDO của ENC28J60 dùng điện áp 3v3 nối vào SDI của PIC là chân ST, về nguyên tắc thì mức 1 của ST là 0.8Vdd, nhưng trong thực tế thử với cả PIC và dsPIC đều nhận tốt mức 1 không cần qua đệm, tớ đã thử với SPI tốc độ 5Mhz, nhưng vẫn nên thêm đệm cho chắc chắn.
Cái SCH anh Ngọc đính kèm nó dùng PIC 5V và con HCT125, PIC8LF có thể chạy ở điện áp 3v3 nhưng với điện áp đó chỉ có thể chạy được ở tốc độ 20Mhz, muốn tìm PIC 18 chạy 3v3 thì đó là những con PIC18FJ.
Bác có biết cách nào nhận biết RJ45 có sẵn biến áp ko , đo thử các pin của nó ? Bác đo thử rồi cho mình biết đc ko , mới tháo đc 1 RJ cái từ cái router wifi bị hỏng .
@ Minh Ha : cho em cái giá xịn của RJ45 đi anh .
Comment
-
Đã có bác nào làm xong board chưa? Thử nghiệm đầu tiên của em cho thấy mặc dù PIC chạy ở 40Mhz (XTAL 10Mhz, OSC=HSPLL) nếu thêm các lệnh đọc I/O (đọc nhiệt độ/độ ẩm từ sensor) vào chừng vài lần thì PIC và webserver ngủm củ tỏi. Có cách nào viết cho thao tác I/O tách riêng với phần giao tiếp TCP/IP? Dưới đây là vòng lặp chính của chương trình
Code:// Once all items are initialized, go into infinite loop and let // stack items execute their tasks. // If application needs to perform its own task, it should be // done at the end of while loop. // Note that this is a "co-operative mult-tasking" mechanism // where every task performs its tasks (whether all in one shot // or part of it) and returns so that other tasks can do their // job. // If a task needs very long time to do its job, it must be broken // down into smaller pieces so that other tasks can have CPU time. while(1) { // This task performs normal stack task including checking // for incoming packet, type of packet and calling // appropriate stack entity to process it. StackTask(); // This is a TCP application. It listens to TCP port 80 // with one or more sockets and responds to remote requests. HTTPServer(); // Add your application specific tasks here. ProcessIO(); // Giao tiếp với sensor trong hàm này. Đọc nhiệt độ/độ ẩm vào các biến // toàn cục để có thể view được từ web }
“If you create your own electricity, heating and water systems, you create your own politics. Maybe that’s what they’re afraid of.” –– Michael Reynolds
Comment
-
Khởi động computer từ Internet (Wake Up Over Internet)
Chúng ta cùng cài đặt chức năng khởi động máy tính từ Internet (tạm đặt là Wake Up Over Internet).Máy tính đã có sẵn chức năng Wake on LAN tức là khởi động máy tính từ mạng LAN. Để sử dụng chức năng này ta vào CMOS setup và enable chức năng này lên. Và tất nhiên là máy tính đã cắm nguồn sẵn sàng và được nối network cable vào hub/switch của LAN hoặc ADSL modem.
Để kích hoạt máy tính khởi động thì từ mạng LAN, một máy tính bất kỳ (hoặc kit ethernet của chúng ta) phải gởi một UDP package 1024 bytes đến địa chỉ broadcast là 255.255.255.255 (0xFF.0xFF.0xFF.0xFF) với nội dung như sau:
- 6 bytes đầu tiên là 0xFF (0xFF,0xFF,0xFF,0xFF,0xFF,0xFF)
- Địa chỉ MAC của máy tính cần khởi động lặp 16 lần.
Để có được địa chỉ MAC ta gõ lệnh ipconfig /all trong console của Windows. Dòng Physical Address chính là địa chỉ MAC (00-11-0A-40-F7-92)
Các bạn có thể tải chương trình demo Wake On Lan viết bằng C# và bằng VB để xem cách hoạt động của nó.
Bây giờ quay lại bài toán của chúng ta. Ethernet kit sẽ hoạt động như một webserver, khi bạn từ ngoài Internet truy cập vào trang web sẽ có một button khi bấm vào PIC sẽ gởi một broadcast UDP package chứa địa chỉ MAC của máy tính cần khởi động.
Hàm WakeUpOnLAN được viết cho PIC bằng C18 dựa theo ví dụ UDPPerformanceTest trong TCP/IP stack v4.02 như sau
Code:#define WAKE_UP_PORT 0x2fff // port=12287 let's use this one rom BYTE buffer[1024]; //buffer to be send; 6 bytes 0xFF; 16 times of MAC 6 bytes (6+16*6), remaining bytes is zero int parseHex(char* hex) { int res; int val; char* ptr; res = 0; ptr = hex; while((*ptr)=='0') ptr++; while(*ptr) { if(!((*ptr<'0')||(*ptr>'9'))) { val = *ptr - '0'; } else if(!((*ptr<'a')||(*ptr>'f'))) { val = *ptr - 'a' + 10; } else if(!((*ptr<'A')||(*ptr>'F'))) { val = *ptr - 'A' + 10; } else { return -1; } res = res*16+val; ptr++; } return res; } // My MAC address is 00-11-0A-40-F7-92 void WakeUpOnLAN(const char* szMyMAC) { UDP_SOCKET MySocket; NODE_INFO Remote; int i, counter; const unsigned char delimiters[]=":- "; unsigned char * token; BYTE MAC[6]; // Set the socket's destination to be a broadcast over our IP // subnet // Set the MAC destination to be a broadcast memset(&Remote, 0xFF, sizeof(Remote)); // Open a UDP socket for outbound transmission MySocket = UDPOpen(0, &Remote, WAKE_UP_PORT); // Abort operation if no UDP sockets are available // If this ever happens, incrementing MAX_UDP_SOCKETS in // StackTsk.h may help (at the expense of more global memory // resources). if(MySocket == INVALID_UDP_SOCKET) return; // Make certain the socket can be written to if(!UDPIsPutReady(MySocket)) { UDPClose(MySocket); return; } memsetpgm(buffer,0,1024); //first 6 bytes should be 0xFF counter=0; for(i=0;i<6;i++) { buffer[i]=0xff; counter++; } i = 0; token = strtok(szMyMAC, delimiters); while (token!= NULL) { MAC[i]=parseHex(token); i++; token = strtok (NULL, delimiters); if(i>5) break; } //now repeate MAC 16 times for(i=0;i<16;i++) { memcpypgm((rom BYTE*)&buffer[counter],(rom BYTE*)MAC,6); counter+=6; } UDPPutROMArray(buffer, 1024); // Send the packet UDPFlush(); // Close the socket so it can be used by other modules UDPClose(MySocket); }
WakeUpOnLAN("00-11-0A-40-F7-92") hoặc
WakeUpOnLAN("00:11:0A:40:F7:92") hoặc
WakeUpOnLAN("00 11 0A 40 F7 92")
Để kiểm tra xem PIC có gởi UDP package lên LAN không ta dùng một công cụ để monitor package trên LAN gọi là Ethereal (Cái này mà cài ở máy tính dịch vụ thì có thể ngửi (sniff) password, email, chat của mấy máy tính trong dịch vụ).
Note: Mặc dù code trên khi chạy thì PIC có gởi UDP package vào LAN nhưng khi mình dùng Ethereal để monitor thì thấy nội dung không đúng yêu cầu là:
- 6 bytes đầu là 0xFF
- Địa chỉ MAC 6 bytes được lặp 16 lần (16*6=96 bytes)
- 922 bytes còn lại (1024 - 6 - 96) là 0x00
Các bác kiểm tra dùm mình xem sai ở chỗ nào nhé.Last edited by bxngoc; 09-08-2007, 16:59.“If you create your own electricity, heating and water systems, you create your own politics. Maybe that’s what they’re afraid of.” –– Michael Reynolds
Comment
-
Nguyên văn bởi bxngoc Xem bài viếtKít của tớ cũng bắt chước của Olimex thui (xem attachment). Còn nếu dùng PIC giao tiếp với ENC mà không cần con 74HCT thì dùng PIC 18LF nó cũng chạy 3.3V giống ENC. Xem chi tiết tại đây.
Comment
-
Quá nóng đi nữa. Rờ vào con 7805 phỏng tay dù có tản nhiệt. Con ENC thì ấm ấm. Mạch này tiêu thụ dòng khác cao. Phải dùng adapter 9V/1A trở lên mới đủ.“If you create your own electricity, heating and water systems, you create your own politics. Maybe that’s what they’re afraid of.” –– Michael Reynolds
Comment
-
Nguyên văn bởi batbatdieu Xem bài viếtBác có biết cách nào nhận biết RJ45 có sẵn biến áp ko , đo thử các pin của nó ? Bác đo thử rồi cho mình biết đc ko , mới tháo đc 1 RJ cái từ cái router wifi bị hỏng .
@ Minh Ha : cho em cái giá xịn của RJ45 đi anh .
Comment
-
Nguyên văn bởi VENUS_START Xem bài viếtHien tai mihn cung co vai cai RJ45 hang xin luon. Nhìn vao khe ho ban cung thay cuon day dong ben trong roi. Neu ko thi dung VOM kiem tra neu co bien ap thi phan ket noi vao rj45 va phan han len board mach ko bi noi tat.Last edited by batbatdieu; 11-09-2007, 11:46.
Comment
-
lâu lâu rồi không thấy mem nào update thông tin về mục này nhỉ. Ai có thông tin gì mời thì share cho anh em cùng biết. Ứng dụng trên nền Ethernet rất là hay và thực tế.Ethernet-RS232, PIC Webserver, RFID Reader
CallerID, Cảnh báo BTS, ...
0988006696
linhnc308@gmail.com
http://linhnc308.blogspot.com
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11vg, cám ơn bác...........
-
Channel: Thiết bị điện tử cá nhân
Hôm qua, 14:37 -
-
bởi khoine9899
Em chào các anh và mọi người.
Hiện em đang có 1 con bơm màng trong thiết bị y tế đang gặp tình trạng yếu dần hoặc ngừng hoạt động sau thời gian sử dụng
Sau khi tìm hiểu về thông tin của bơm trên mạng thì em được biết...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 11:22 -
-
Trả lời cho Cần mọi người giúp mạch tạo sóng siêu âm máy rửabởi bqviet
-
Channel: Điện tử công suất
27-11-2024, 20:26 -
-
bởi Minhdai95Em chào mọi người, e đang sửa mạch tạo sóng siêu âm cho máy rửa mà chưa có tài liệu để tham khảo sửa, mọi người cho e xin tài liệu ạ...
-
Channel: Điện tử công suất
27-11-2024, 11:37 -
-
bởi pia2k1Cùng câu hỏi và cần được giải đáp thêm ạ...
-
Channel: Hướng dẫn sử dụng diễn đàn
27-11-2024, 11:28 -
-
Trả lời cho Công thức điện tửbởi mèomướpDạ thời thế giờ thay đổi theo hướng tích cực hơn rồi chú trung sĩ ạ. Kiến thức được chia sẻ ngày càng nhìu nên làm ăn gian dối ko còn dễ dàng như trước đâu ạ. Những thợ nhỏ rồi sẽ thành công nhân sản xuất đồ mới hết thay vì sửa chữa lặt vặt...
-
Channel: Tâm tình dân kỹ thuật
26-11-2024, 21:21 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi mèomướpDạ cùng chuẩn tín hiệu thì chắc chắn là nhận ạ. Vì bản chất oled hay lcd thì đều phải có mạch chuyển đổi trên thanh gỗ rồi chuyển sang những chip xử lý hàng nghìn chân gắn trên những tab mỏng dính rồi mới ra các điểm ảnh theo hàng...
-
Channel: Thiết bị điện tử cá nhân
26-11-2024, 20:31 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11Ok , thanks bác đã chỉ...
-
Channel: Thiết bị điện tử cá nhân
26-11-2024, 15:06 -
-
bởi nguyendinhvanSau bao năm nghiên cứu cái dtvn. Tôi phát hiện công thức này. Các anh em xem đúng bao nhiêu phần trăm nhé !
Chập thì thay. Cháy thì tháo
Làm thì láo. Báo thì hay
May thì khoe. Rủi thì bỏ
Thành tích nhỏ. Báo thành to
Làm cho có. Báo chi li
Sai cả li. Báo...-
Channel: Tâm tình dân kỹ thuật
26-11-2024, 00:35 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11có chắc ko b, màn lcd phải có cao áp mới sáng, màn led thì ko có, ko có cáp chuyển đổi thì lắp thế nào đc ??...
-
Channel: Thiết bị điện tử cá nhân
25-11-2024, 22:31 -
Comment