Tải Thư viện tại đây:
Đăng nhập để Tải
đây là thư viện chỉnh sửa từ các file Demo ETHERNET do ST cung cấp ( tcp_echo_client )
cách sử dụng :
=>add vào các dự án của các bạn hoặc demo WEBSERVER do tôi cung cấp trên diễn đàn này.
cách làm như sau:
+ add các file *c và include các file *h và chỉ đường dẫn tới thư mục chứa file *.h để keilc tìm ra.
+ thêm các hàm xử lí dữ liệu gửi và nhận vào chương trình chính (cho vào webserver.c hoặc main.c ):
uint16_t LIB_ETHERNETCLIENT_CreateHeadersCallback(LIB_TCPCLIENT_t* connection, char* buffer, uint16_t buffer_length) {
/* Create request headers */
sprintf(buffer,"GET /channels/103193/fields/1/last HTTP/1.1\r\n");
strcat(buffer, "Host: api.thingspeak.com\r\n");
strcat(buffer, "Connection: close\r\n");
strcat(buffer, "\r\n");
/* We have available data for connection to receive */
//USART_Puts(USART6,"DATA Receiveing from api.thingspeak.com\n");
/* Return number of bytes in buffer */
return strlen(buffer);
}
void LIB_ETHERNETCLIENT_ReceiveDataCallback(LIB_TCPCLIENT_t* connection, uint8_t* buffer, uint16_t buffer_length, uint16_t total_length) {
uint16_t i = 0;
/* Go through entire buffer, remove response headers */
if (connection->headers_done == 0) {
for (i = 0; i < buffer_length; i++) {
if (
buffer[i] == '\r' &&
buffer[i + 1] == '\n' &&
buffer[i + 2] == '\r' &&
buffer[i + 3] == '\n'
) {
/* Headers done */
connection->headers_done = 1;
/* Increase i */
i += 3;
/* Break */
break;
}
}
}
/* Print data */
for (; i < buffer_length; i++) {
/* Print response */
USART_Putc(USART6, buffer[i]);
//a[m++]=buffer[i]; //gan vao mang de lay DATA
}
}
void LIB_ETHERNETCLIENT_ConnectionStartedCallback(LIB_TCPCLIENT_t* connection) {
/* Print to user */
//printf("Connection %s has started\n", connection->name);
}
void LIB_ETHERNETCLIENT_ConnectedCallback(LIB_TCPCLIENT_t* connection) {
/* We are connected */
//printf("We are connected to %s\n", connection->name);
}
void LIB_ETHERNETCLIENT_ConnectionClosedCallback(LIB_TCPCLIENT_t* connection, uint8_t success) {
/* We are disconnected, done with connection */
if (success) {
//printf("Connection %s was successfully closed. Number of active connections: %d\n", connection->name, *connection->active_connections_count);
} else {
//printf("Connection %s was closed because of error. Number of active connections: %d\n", connection->name, *connection->active_connections_count);
}
//n++;if(n>5) n=1;
/* Increase number of requests */
requests_count++;
}
+ cuối cùng chạy hàm :
MyDNS.ip[0] = 184;//IP server thingspeak.com
MyDNS.ip[1] = 106;
MyDNS.ip[2] = 153;
MyDNS.ip[3] = 149;
tcp_echoclient_connect("api.thingspeak.com", MyDNS.ip[0], MyDNS.ip[1], MyDNS.ip[2], MyDNS.ip[3], 80, &requests_count);
(***) lưu ý là thingspeak chỉ cho ghi data cách nhau 15s và đọc mỗi data về rất nhanh tùy theo tốc độ mạng và xử lý của MCU nhưng để ổn định nên cho nhận dữ liệu cách nhau 3s.
thắc mắc hãy đăng bài tôi sẽ trả lời sớm nhất có thể, xin cảm ơn!
Được sửa bởi Admin ngày 12/03/18, 03:58 pm; sửa lần 1.
26/03/24, 10:39 am by UgreenVietNam_official
» Báo giá buồng khử khuẩn
07/09/21, 09:07 am by kieumy902
» Giá lắp đặt giếng trời thông minh
22/03/21, 04:11 pm by kieumy902
» Thanh nhôm barie giá chỉ 500.000 đồng
09/03/21, 10:30 am by kieumy902
» Cửa hàng sửa máy tính ở tân cảnh
06/02/21, 08:53 pm by congtythienlong
» Giá barie chắn đường tại Bà Rịa - Vũng Tàu
25/01/21, 09:59 pm by kieumy902
» Lắp đặt barie tự động hcm
19/01/21, 03:52 pm by kieumy902
» Lắp đặt barie tự động khu công nghiệp - barrier tự động
14/01/21, 03:00 pm by kieumy902
» Giá bán tay cần barie 2m, 3m, 4m, 6m
12/01/21, 04:58 pm by kieumy902