Đa số các project thực hiện trên STM32 khi trao đổi dữ liệu với máy tính hoặc các thiết bị khác thường sử dụng chức năng UART (Universal asynchronous receiver transmitter), tuy nhiên để thực hiện chức năng này bạn sẽ tốn 2 chân TX và RX trên chip STM32. Đồng thời UART không phải là chuẩn truyền thông nên muốn giao tiếp UART cần phải kết hợp với các IC giao tiếp như CH340 để tạo thành các chuẩn giao tiếp RS232,… Vì vậy để giảm thiểu chi phí phần cứng cũng như đơn giản hóa việc truyền/nhận dữ liệu giữa STM32 với máy tính, bài viết này sẽ hướng dẫn cách sử dụng tính năng USB CDC (Communication Device Class) trên chip STM32F103C8T6.
Đa số các project thực hiện trên STM32 khi trao đổi dữ liệu với máy tính hoặc các thiết bị khác thường sử dụng chức năng UART (Universal asynchronous receiver transmitter), tuy nhiên để thực hiện chức năng này bạn sẽ tốn 2 chân TX và RX trên chip STM32. Đồng thời UART không phải là chuẩn truyền thông nên muốn giao tiếp UART cần phải kết hợp với các IC giao tiếp như CH340 để tạo thành các chuẩn giao tiếp RS232,… Vì vậy để giảm thiểu chi phí phần cứng cũng như đơn giản hóa việc truyền/nhận dữ liệu giữa STM32 với máy tính, bài viết này sẽ hướng dẫn cách sử dụng tính năng USB CDC (Communication Device Class) trên chip STM32F103C8T6.
Điểm trung bình được tính là trung bình có trọng số của các điểm, khi số tín chỉ / giờ là trọng số và điểm số được lấy từ bảng GPA.
Điểm trung bình bằng tổng tích số của số giờ tín chỉ (w) nhân với điểm (g):
Điểm trung bình = w 1 × g 1 + w 2 × g 2 + w 3 × g 3 + ... + w n × g n
Trọng số giờ tín chỉ (w i ) bằng số giờ tín chỉ của lớp học chia cho tổng số giờ tín chỉ của tất cả các lớp học:
w i = c i / ( c 1 + c 2 + c 3 + ... + c n )
Còn khá nhiều người vẫn chưa biết đến khái niệm API là gì? Hiện tại API được biết đến là một trong những công cụ lập trình web chuyên dụng đang được ưa chuộm. Cùng Bizfly Cloud tìm hiểu những thông tin chi tiết cũng như cần biết về API xem ngay tại bài viết này nhé.
API được viết tắt là Application Programming Interface (giao diện lập trình cho ứng dụng). Có thể nói đây là một giao diện mà một hệ thống máy tính hay ứng dụng cung cấp để cho phép các yêu cầu dịch vụ có thể được tạo ra từ các chương trình máy tính khác, và/hoặc cho phép dữ liệu có thể được trao đổi qua lại giữa chúng. Chính vì vậy việc dùng API sẽ giúp cho hiệu suất công việc cũng được nâng cao.
API là khớp nối giữa các thành phần của phần mềm. Trong một trường hợp có tính năng cần thiết phải cung cấp module cho phần mềm khác thì lúc đó bạn sẽ mở một API để người sở hữu của module có thể dễ dàng truy cập vào.
API là khớp nối giữa các thành phần của phần mềm
Nếu một phần mềm gọi tới API, khi đó phần mềm này có thể cung cấp được dữ liệu đầu vào và cần đòi hỏi cả đầu ra từ API hoặc không. Trong các trường hợp, phần mềm gọi nếu muốn tiếp tục hoạt động thì nó cần phần mềm cung cấp thực hiện được những gì đã cam kết trước đó qua API.
Trên thực tế có thể thấy, bạn hoàn toàn phải phụ thuộc vào Microsoft, bởi khi Microsoft đóng API thì tất cả những ứng dụng khác của bạn sẽ không được sử dụng nữa.
API được viết tắt từ cụm Application Programming Interface được hiểu là giao thức kết nối với các thư viện và ứng dụng khác. Nếu muốn nắm rõ API là gì các bạn cần biết tới 2 khái niệm liên quan khác gồm:
RESTful API là tiêu chuẩn sử dụng khi thiết kế API cho các ứng dụng web nhằm tạo sự thuận tiện cho việc quản lý các resource. RESTful chú trọng vào tài nguyên hệ thống bao gồm các trạng thái tài nguyên đã được định dạng và truyền tải qua HTTP. Trong đó sẽ có các tệp văn bản, hình ảnh, âm thanh, video hoặc dữ liệu động,...
Phương thức hoạt động của RESTful API là sử dụng HTTP để truyền tải dữ liệu. Khi nhận yêu cầu từ ứng dụng web nó sẽ xử lý thông tin và trả về kết quả dưới dạng chuẩn, ví dụ XML hoặc là JSON.
Trong việc phát triển web và ứng dụng di động kiến trúc này đang được sử dụng rất phổ biến. Nguyên tắc thiết kế của RESTful API rất đơn giản, dễ hiểu nên việc tiếp cận, tìm hiểu khá thuận tiện.
Web API là một phương thức sử dụng nhằm trao đổi qua lại thông tin, dữ liệu giữa các website hoặc ứng dụng web khác nhau. Mỗi khi người dùng truy xuất thông tin nó sẽ trả lại dữ liệu thông qua giao thức HTTP hoặc HTTPS ở dạng JSON hoặc XML.
Web API có thể hỗ trợ restful và đầy đủ các phương thức như: Get/Post/put/delete dữ liệu. Qua đó giúp các bạn xây dựng HTTP server một cách đơn giản và nhanh chóng. Ngoài ra nó còn có khả năng hỗ trợ đầy đủ các thành phần của HTTP: URI, caching, request/response headers, versioning và content format.
Nói một cách đơn giản, API là giao diện cho phép ứng dụng giao tiếp với những ứng dụng khác thông qua một hoặc nhiều câu lệnh khác nhau. Các lệnh này có thể được gửi, định dạng và truy xuất dữ liệu thông qua API khác với API SOAP hoặc REST, nhưng sẽ vẫn tuân thủ theo các quy định và quy luật chung.
API hoạt động bằng cách đặt lên trên các Server Side Scripts, Classes và Functions. Giao diện này sẽ thực hiện các tác vụ chi tiết hơn, cho phép các ứng dụng, tập lệnh bên ngoài và bên trong yêu cầu API thông báo cho máy chủ thực hiện một tác vụ nhất định.
Chẳng hạn, khi người dùng đăng nhập vào ứng dụng, thông tin của người đó sẽ được ứng dụng thu thập. Về mặt API REST, người dùng sẽ có API endpoint theo dạng http://api.mysite.com/myuserid/details. Tiếp theo, ứng dụng sẽ tiến hành gọi endpoint thông qua cURL, AJAX bằng một phương thức cụ thể, tùy thuộc vào cách thức mà API được gọi.
Tên của các phương thức API chính là các từ mô tả hành động của API. Những hành động có thể xảy ra bao gồm:
Những tính năng nổi bật của API
Tương tự như cách hoạt động, API cũng được phân loại thành 4 nhóm chính dựa vào đối tượng sử dụng. Cụ thể gồm:
Private API còn được gọi là API nội bộ chủ yếu sử dụng để kết nối các thành phần phần mềm và ứng dụng khác nhau trong một doanh nghiệp. Loại này là kết nối riêng tư nên không được chia sẻ với bên thứ ba.
Ví dụ bạn có một ứng dụng mạng xã hội sử dụng Private APIs chuyên để xử lý quy trình đăng nhập. Về nhiệm vụ xử lý dòng thời gian thì sẽ sử dụng một API riêng khác.
Public API hay còn gọi là APIs công khai cung cấp quyền dữ liệu hoặc ứng dụng dưới dạng mở. Người dùng dễ dàng truy cập sử dụng dữ liệu nhưng các nhà phát triển lại không có quyền truy cập vào mã nguồn được chia sẻ. Điều này đồng nghĩa với việc các công ty được quyền sở hữu độc quyền của nhà phát triển mà vẫn được hưởng lợi từ các dịch vụ của họ.
Đây là loại APIs đối tác cho nhiều công ty hợp tác trong một dự án có thể chia sẻ dữ liệu hoặc chức năng sử dụng. Partner APIs sử dụng cơ chế xác thực để chỉ cho các đối tác được ủy quyền mới có thể sử dụng.
Composite API còn được biết đến là APIs tổng hợp. Nó là một dạng của giao diện lập trình ứng dụng. Loại này cho phép các bạn kết hợp nhiều yêu cầu hoặc truy vấn đơn giản từ các API khác nhau để ra các yêu cầu hoặc truy vấn phức tạp hơn.
SQL Injection hay Injection là một lỗi thường gặp và khá nghiêm trọng. Những kẻ tấn công mạng sẽ lợi dụng lỗ hổng của quy trình kiểm tra dữ liệu trong các ứng dụng web chuyển đến hệ thống quản lý cơ sở dữ liệu. Bằng cách này, chúng sẽ khai thác được những thông tin nhạy cảm. Để khắc phục vấn đề này, ta cần ràng buộc kỹ dữ liệu mà người dùng nhập vào. Cách phổ biến nhất để thực hiện là dùng Regular Expression để loại bỏ các ký tự lạ, ký tự không phải số. Ngoài ra, người dùng cũng có thể sử dụng những hàm sẵn có để giảm thiểu nguy cơ gặp lỗi.
Những request ở chế độ công khai thường dễ gặp phải tình trạng spam. Ví dụ những trường hợp mà người dùng chỉ cần nhập tên và password để đăng ký tài khoản, có thể có hoặc không có bước xác thực. Cách đơn giản nhất là làm những request của bạn trở nên phức tạp hơn. Bạn có thể thêm một vài yêu cầu, câu hỏi bảo mật hoặc yêu cầu người dùng chờ một lúc trước khi thực hiện các thao tác kế tiếp,… Cách này sẽ giúp đảm bảo an toàn bảo mật và tránh được tình trạng spam.