Nguyên văn bởi aaahhhh
Xem bài viết
Thông báo
Collapse
No announcement yet.
Giao thức TCP/IP và Web server với AVR
Collapse
This is a sticky topic.
X
X
-
http://sinhvien947.no-ip.org/ct/dien...-internet.html
Nguyên văn bởi tueminh204 Xem bài viếtĐề tài quá hay. Có bạn nào bán kit này không nhì? mình muốn mua một bộ về vọc. Rất vui làm quen với anh chị trong diễn đàn. học hỏi và giao lưu
Điện tử viễn thông - Hutech
Comment
-
Boaoboarrd này dùng làm demo nên chưa có tích hợp gì vào đấy hết, mình mua về tự bỏ gia vi vô xào nấu thôi, trên mạch các chân vi điều khiển được đặt riêng theo từng PORT rồi nên dùng ok, mà khuyên mọi ng nên tự làm mạch thì hay hơn. hihi
Nguyên văn bởi tueminh204 Xem bài viếtmua board này rồi mua thêm mạch nạp avr nữa àh bạn, sao không thấy nó có LCD nhỉ
Điện tử viễn thông - Hutech
Comment
-
Nguyên văn bởi chikichita Xem bài viếtBoaoboarrd này dùng làm demo nên chưa có tích hợp gì vào đấy hết, mình mua về tự bỏ gia vi vô xào nấu thôi, trên mạch các chân vi điều khiển được đặt riêng theo từng PORT rồi nên dùng ok, mà khuyên mọi ng nên tự làm mạch thì hay hơn. hihi
Comment
-
===== Day la code cua phan webpage.h ======
"<form method=\"POST\" action=\"\">"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led1\" value=\"ON\"%RL1>LED 1</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led2\" value=\"ON\"%RL2>LED 2</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led3\" value=\"ON\"%RL3>LED 3</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led4\" value=\"ON\"%RL4>LED 4</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led5\" value=\"ON\"%RL4>LED 5</p>"
"<p align=\"center\"><input type=\"submit\" value=\"Start\" name=\"btnSubmit\" />"
===== Day la ham trong http.c ======
//Ham xu ly mot goi thuoc giao thuc HTP nhan duoc
void httpDataIn(unsigned char *buffer,unsigned int bufferLen,struct tcpSession *pSession)
{
// Bo qua cac phan tren . . .
.
.
.
//If POST method
}else if(httpSessionTable[i].rqst.method == HTTP_REQUEST_POST){
//Update POS data
if(findstr(PSTR("SUB=Submit"),buffer,bufferLen) != -1){
tmpRelaySts = 0x00;
if((findstr(PSTR("LED1=ON"),buffer,bufferLen)) != -1){
LED1=1;
}else{
LED1=0;
}
if((findstr(PSTR("LED2=ON"),buffer,bufferLen)) != -1){
LED2=1;
}else{
LED2=0;
}
if((findstr(PSTR("LED3=ON"),buffer,bufferLen)) != -1){
LED3=1;
}else{
LED3=0;
}
if((findstr(PSTR("LED4=ON"),buffer,bufferLen)) != -1){
LED4=1;
}else{
LED4=0;
}
if((findstr(PSTR("LED5=ON"),buffer,bufferLen)) != -1){
LED5=1;
}else{
LED5=0;
}
//UpdateCtrlSts(tmpRelaySts); ---> Voi LED chung ta co can ham nay khong?
//Send HTTP data
HTTPSend(http_header1,sizeof(http_header1)-1,pSession,0);
HTTPSend(Page1,sizeof(Page1)-1,pSession,1);
httpSessionTable[i].status = HTTP_STATUS_IDLE;
return;
}else if(findstr(PSTR("APPLY=Apply"),buffer,bufferLen) != -1){
HTTPSend(http_header1,sizeof(http_header1)-1,pSession,0);
HTTPSend(Page1,sizeof(Page1)-1,pSession,1);
httpSessionTable[i].status = HTTP_STATUS_IDLE;
}else{
HTTPSend("",0,pSession,0);
}
}
}
}
//--------------------------------------------------------------------------------------
Mấy bác cho em hỏi - ý tưởng trên Led đơn vậy được không? Và có phải cần viết macro để Set và Clear để đặt trạng thái cho LED không? Mong các bác giúp đỡ, vẫn chưa điều khiển LED được ! Cả một chặn đường gian nan . . .! T~T . . .
Comment
-
Nguyên văn bởi ga_kon Xem bài viết===== Day la code cua phan webpage.h ======
"<form method=\"POST\" action=\"\">"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led1\" value=\"ON\"%RL1>LED 1</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led2\" value=\"ON\"%RL2>LED 2</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led3\" value=\"ON\"%RL3>LED 3</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led4\" value=\"ON\"%RL4>LED 4</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led5\" value=\"ON\"%RL4>LED 5</p>"
"<p align=\"center\"><input type=\"submit\" value=\"Start\" name=\"btnSubmit\" />"
===== Day la ham trong http.c ======
//Ham xu ly mot goi thuoc giao thuc HTP nhan duoc
void httpDataIn(unsigned char *buffer,unsigned int bufferLen,struct tcpSession *pSession)
{
// Bo qua cac phan tren . . .
.
.
.
//If POST method
}else if(httpSessionTable[i].rqst.method == HTTP_REQUEST_POST){
//Update POS data
if(findstr(PSTR("SUB=Submit"),buffer,bufferLen) != -1){
tmpRelaySts = 0x00;
if((findstr(PSTR("LED1=ON"),buffer,bufferLen)) != -1){
LED1=1;
}else{
LED1=0;
}
if((findstr(PSTR("LED2=ON"),buffer,bufferLen)) != -1){
LED2=1;
}else{
LED2=0;
}
if((findstr(PSTR("LED3=ON"),buffer,bufferLen)) != -1){
LED3=1;
}else{
LED3=0;
}
if((findstr(PSTR("LED4=ON"),buffer,bufferLen)) != -1){
LED4=1;
}else{
LED4=0;
}
if((findstr(PSTR("LED5=ON"),buffer,bufferLen)) != -1){
LED5=1;
}else{
LED5=0;
}
//UpdateCtrlSts(tmpRelaySts); ---> Voi LED chung ta co can ham nay khong?
//Send HTTP data
HTTPSend(http_header1,sizeof(http_header1)-1,pSession,0);
HTTPSend(Page1,sizeof(Page1)-1,pSession,1);
httpSessionTable[i].status = HTTP_STATUS_IDLE;
return;
}else if(findstr(PSTR("APPLY=Apply"),buffer,bufferLen) != -1){
HTTPSend(http_header1,sizeof(http_header1)-1,pSession,0);
HTTPSend(Page1,sizeof(Page1)-1,pSession,1);
httpSessionTable[i].status = HTTP_STATUS_IDLE;
}else{
HTTPSend("",0,pSession,0);
}
}
}
}
//--------------------------------------------------------------------------------------
Mấy bác cho em hỏi - ý tưởng trên Led đơn vậy được không? Và có phải cần viết macro để Set và Clear để đặt trạng thái cho LED không? Mong các bác giúp đỡ, vẫn chưa điều khiển LED được ! Cả một chặn đường gian nan . . .! T~T . . .
Thứ 2: có thể viết hàm hoặc define trong file chính (dùng các hàm chuẩn sbi và cbi)Last edited by yamailuk; 26-02-2013, 21:38.
Comment
-
LED1, LED2.. ở đây bạn đặt là có ý định gì, ở đây mình thấy bạn đặt Biến mà quên set bit PORT vậy thì làm sao mà led nó tắt mở
Nếu dùng LED1 làm biến dùng để checked lên wed thì phía dưới bạn phải thêm dòng lệnh
if((findstr(PSTR("LED5=ON"),buffer,bufferLen)) != -1)
{
LED5=1;
sbi(PORTB,2);
}else{
LED5=0;
cbi(PORT,2);
}
if(findstr(PSTR("SUB=Submit"),buffer,bufferLen) != -1) // wedpage thi đặt là btnSubmit = Start mà kiểm tra là SUB=Submit thì sao kiểm
tmpRelaySts = 0x00; //có phải bạn đặt cho 1 PORT nào đó,
Nguyên văn bởi ga_kon Xem bài viết===== Day la code cua phan webpage.h ======
"<form method=\"POST\" action=\"\">"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led1\" value=\"ON\"%RL1>LED 1</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led2\" value=\"ON\"%RL2>LED 2</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led3\" value=\"ON\"%RL3>LED 3</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led4\" value=\"ON\"%RL4>LED 4</p>"
"<p align=\"left\"><input type=\"checkbox\" name=\"Led5\" value=\"ON\"%RL4>LED 5</p>"
"<p align=\"center\"><input type=\"submit\" value=\"Start\" name=\"btnSubmit\" />"
===== Day la ham trong http.c ======
//Ham xu ly mot goi thuoc giao thuc HTP nhan duoc
void httpDataIn(unsigned char *buffer,unsigned int bufferLen,struct tcpSession *pSession)
{
// Bo qua cac phan tren . . .
.
.
.
//If POST method
}else if(httpSessionTable[i].rqst.method == HTTP_REQUEST_POST){
//Update POS data
if(findstr(PSTR("SUB=Submit"),buffer,bufferLen) != -1){
tmpRelaySts = 0x00;
if((findstr(PSTR("LED1=ON"),buffer,bufferLen)) != -1){
LED1=1;
}else{
LED1=0;
}
if((findstr(PSTR("LED2=ON"),buffer,bufferLen)) != -1){
LED2=1;
}else{
LED2=0;
}
if((findstr(PSTR("LED3=ON"),buffer,bufferLen)) != -1){
LED3=1;
}else{
LED3=0;
}
if((findstr(PSTR("LED4=ON"),buffer,bufferLen)) != -1){
LED4=1;
}else{
LED4=0;
}
if((findstr(PSTR("LED5=ON"),buffer,bufferLen)) != -1){
LED5=1;
}else{
LED5=0;
}
//UpdateCtrlSts(tmpRelaySts); ---> Voi LED chung ta co can ham nay khong?
//Send HTTP data
HTTPSend(http_header1,sizeof(http_header1)-1,pSession,0);
HTTPSend(Page1,sizeof(Page1)-1,pSession,1);
httpSessionTable[i].status = HTTP_STATUS_IDLE;
return;
}else if(findstr(PSTR("APPLY=Apply"),buffer,bufferLen) != -1){
HTTPSend(http_header1,sizeof(http_header1)-1,pSession,0);
HTTPSend(Page1,sizeof(Page1)-1,pSession,1);
httpSessionTable[i].status = HTTP_STATUS_IDLE;
}else{
HTTPSend("",0,pSession,0);
}
}
}
}
//--------------------------------------------------------------------------------------
Mấy bác cho em hỏi - ý tưởng trên Led đơn vậy được không? Và có phải cần viết macro để Set và Clear để đặt trạng thái cho LED không? Mong các bác giúp đỡ, vẫn chưa điều khiển LED được ! Cả một chặn đường gian nan . . .! T~T . . .
Điện tử viễn thông - Hutech
Comment
-
^^,mình chỉ nêu ý tưởg thôi, chứ cũng chưa chính xác code,sr các bác nghe!^^. . .giờ mình hiểu rồi! Thanks các bác!
À, nếu trên mạch có thêm DS1307 và trên webpage mình muốn thêm 1 cái ô để hẹn giờ bật/tắt led thì làm thế nào các pác?
Các pác nêu ý tưởng là được rồi?
Comment
-
Nguyên văn bởi ga_kon Xem bài viết^^,mình chỉ nêu ý tưởg thôi, chứ cũng chưa chính xác code,sr các bác nghe!^^. . .giờ mình hiểu rồi! Thanks các bác!
À, nếu trên mạch có thêm DS1307 và trên webpage mình muốn thêm 1 cái ô để hẹn giờ bật/tắt led thì làm thế nào các pác?
Các pác nêu ý tưởng là được rồi?
Tạo textbox, đọc dữ liệu từ textbox được thì bạn làm gì với nó cũng được hết.
Comment
-
Mong các pác giúp đỡ!
Ở trang 43 : http://www.dientuvietnam.net/forums/...2/index43.html
Có hướng dẫn sửa hai hàm HTTPSend() và HTTPDataIn() để điều khiển thiết bị, nhưng sao mình chép vào thì báo lỗi tùm lum thế này?
Có bác nào chửa được không?
Comment
-
Nguyên văn bởi ga_kon Xem bài viếtMong các pác giúp đỡ!
Ở trang 43 : http://www.dientuvietnam.net/forums/...2/index43.html
Có hướng dẫn sửa hai hàm HTTPSend() và HTTPDataIn() để điều khiển thiết bị, nhưng sao mình chép vào thì báo lỗi tùm lum thế này?
[ATTACH=CONFIG]61338[/ATTACH]
Có bác nào chửa được không?
Bạn đọc kỹ lại hướng dẫn của thầy trước khi copy nhé
Comment
-
Phần phụ lục: Hướng dẫn sửa lỗi đăng nhập
Trong file http.c, hàm httpDataIn có khai báo chuỗi prog_char Auth_str[]="Authorization";
Bạn chuyển chuỗi này ra đầu hàm dưới các #include
Theo giải thích của thầy thì lỗi này do trình dịch của AVR Studio
Comment
-
Nguyên văn bởi yamailuk Xem bài viếtPhần phụ lục: Hướng dẫn sửa lỗi đăng nhập
Trong file http.c, hàm httpDataIn có khai báo chuỗi prog_char Auth_str[]="Authorization";
Bạn chuyển chuỗi này ra đầu hàm dưới các #include
Theo giải thích của thầy thì lỗi này do trình dịch của AVR Studio
Comment
-
Trong hàm HTTPSend() có đoạn:
i = 0;
while(i<MAX_SEGMENT_SIZE)
{
tmpChr = pgm_read_byte(progdata + srcDataIdx++);
if(tmpChr == '%')
{
if( (i + 9) > MAX_SEGMENT_SIZE) //Neu khong con du cho trong tren buffer
{
srcDataIdx--;
break;
}
tmpVar = pgm_read_byte(progdata + srcDataIdx + 3) - 0x30; //Tiep tuc neu du cho trong tren buffer
if((pgm_read_byte(progdata + srcDataIdx) == 'R') && (pgm_read_byte(progdata + srcDataIdx + 1) == 'L'))
{
if(GetRelayState(tmpVar))
{//checked
dataBuffer[i++] = ' ';dataBuffer[i++] = 'c';dataBuffer[i++] = 'h';dataBuffer[i++] = 'e';
dataBuffer[i++] = 'c';dataBuffer[i++] = 'k';dataBuffer[i++] = 'e';dataBuffer[i++] = 'd';
}
srcDataIdx += 4;
}
else
{// Neu truong hop khac:
dataBuffer[i++] = tmpChr;
}
}
else
{
dataBuffer[i++] = tmpChr; //Copy data to tcp data buffer
}
if(srcDataIdx==dataLen)
{
break;
}
}
Mấy anh cho em hỏi cái này nhe:
1/ Biến srcDataIdx dùng để làm gì?
2/ if( (i + 9) > MAX_SEGMENT_SIZE) ... Tại sao chổ này phải là (i+9) ?
3/ tmpVar = pgm_read_byte(progdata + srcDataIdx + 3) - 0x30; ... Cái dòng này thì em mù tịt luôn??? Hai cái số +3 và 0x30 là sao vậy mấy anh?
4/ if((pgm_read_byte(progdata + srcDataIdx) == 'R') && (pgm_read_byte(progdata + srcDataIdx + 1) == 'L')) ...Nếu chổ này dùng cho Relay1 thì phải như vậy không mấy anh: if((pgm_read_byte(progdata + srcDataIdx) == 'R') && (pgm_read_byte(progdata + srcDataIdx + 1) == 'L') && (pgm_read_byte(progdata + srcDataIdx + 2) == '1')) ???
5/ srcDataIdx += 4; ... còn cái này là gì vậy nhỉ?
Do em mới học năm nhất, thấy cái này hay hay định làm đồ án mà sao khó hiểu quá? mong mấy anh giúp em! Cảm ơn trước nhe!
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Tiếng Anh cho người Việtbởi vi van phamCám ơn những lời chúc tốt đẹp của em.
Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.
Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....-
Channel: Tâm tình dân kỹ thuật
hôm nay, 02:00 -
-
Trả lời cho Tiếng Anh cho người Việtbởi nhathung1101Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.
Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.
Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 22:18 -
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.
Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 14:51 -
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.
Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 14:39 -
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.
Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 14:28 -
-
Trả lời cho Tiếng Anh cho người Việtbởi bqvietĐúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
-
Channel: Tâm tình dân kỹ thuật
21-02-2025, 20:26 -
-
Trả lời cho Tiếng Anh cho người Việtbởi mèomướpDạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
-
Channel: Tâm tình dân kỹ thuật
21-02-2025, 12:32 -
-
Trả lời cho Tiếng Anh cho người Việtbởi vi van phamNhững lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).
Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...-
Channel: Tâm tình dân kỹ thuật
20-02-2025, 21:31 -
-
Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )bởi bqvietThiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.20-02-2025, 17:22
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Tiếng Anh, Đình Thường phải nói là rất tệ, khiến việc giao tiếp đời thường thôi cũng khó chứ nói gì về kĩ thuật.
Nhân tiện, nhờ các bạn, các bác xem giúp thư ĐT viết thế này liệu có thể gửi tới địa chỉ nhận hay chăng,...-
Channel: Tâm tình dân kỹ thuật
20-02-2025, 11:52 -
Comment