Chương 2 CƠ SỞ LÝ THUYẾT
2.5 API THỜI TIẾT
Hình 2.19: Giao thức API
API (Application Programming Interface) là giao diện lập trình ứng dụng. Interface là giao diện, ý nói ở đây là sự tương tác chứ khơng phải interface là mặc định là giao diện hình ảnh. API là phương thức để kết nối, trao đổi dữ liệu những thư viện hay ứng dụng với nhau. API có thể được sử dụng cho hệ thống nhúng, phần cứng, phần mềm hay gần đây nhất là các hệ thống micro service với nhiều thành phần trong hệ thống được tách biệt riêng với nhau.
2.5.2 Ứng dụng củ a API
Web API: là hệ thống API được sử dụng trong các hệ thống website. Hầu hết các website đều ứng dụng đến Web API cho phép bạn kết nối, lấy dữ liệu hoặc cập nhật cơ sở dữ liệu. Ví dụ: Bạn thiết kế chức nằng login thông Google, Facebook, Twitter, Github… Điều này có nghĩa là bạn đang gọi đến API của. Hoặc như các ứng dụng di động đều lấy dữ liệu thông qua API.
API trên hệ điều hành: Windows hay Linux có rất nhiều API, họ cung cấp các tài liệu API là đặc tả các hàm, phương thức cũng như các giao thức kết nối. Nó giúp lập trình viên có thể tạo ra các phần mềm ứng dụng có thể tương tác trực tiếp với hệ điều hành.
API của thư viện phần mềm hay framework: API mô tả và quy định các hành động mong muốn mà các thư viện cung cấp. Một API có thể có nhiều cách triển khai khác nhau và nó cũng giúp cho một chương trình viết bằng ngơn ngữ này có thể sử dụng thư viện được viết bằng ngôn ngữ khác.
2.5.3 Web API
Web API là một phương thức dùng để cho phép các ứng dụng khác nhau có thể giao tiếp, trao đổi dữ liệu qua lại. Dữ liệu được Web API trả lại thường ở dạng JSON hoặc XML thông qua giao thức HTTP hoặc HTTPS.
Những điểm nổi bật của Web API
Web API hỗ trợ restful đầy đủ các phương thức: Get/Post/put/delete dữ liệu. Nó giúp bạn xây dựng các HTTP service một cách rất đơn giản và nhanh chóng. Nó cũng có khả năng hỗ trợ đầy đủ các thành phần HTTP: URI, request/response headers, caching, versioning, content forma.
Web API hoạt động như thế nào?
Đầu tiên là xây dựng URL API để bên thứ ba có thể gửi request dữ liệu đến máy chủ cung cấp nội dung, dịch vụ thông qua giao thức HTTP hoặc HTTPS.
Tại web server cung cấp nội dung, các ứng dụng nguồn sẽ thực hiện kiểm tra xác thực nếu có và tìm đến tài ngun thích hợp để tạo nội dung trả về kết quả. Server trả về kết quả theo định dạng JSON hoặc XML thông qua giao thức HTTP/HTTPS.
Tại nơi yêu cầu ban đầu là ứng dụng web hoặc ứng dụng di động, dữ liệu JSON/XML sẽ được parse để lấy data. Sau khi có được data thì thực hiện tiếp các hoạt động như lưu dữ liệu xuống Cơ sở dữ liệu, hiển thị dữ liệu…
Hình 2.20: Logo Open Weather Map
Hiện nay có rất nhiều nhà cung cấp API thời tiết chất lượng cao cho các nhà phát triển, nổi bật nhất có thể kể đến là API thời tiết Open Weather Map. API này cung cấp dịch vụ dữ liệu thời tiết và dự báo miễn phí, thích hợp cho bất kỳ dịch vụ bản đồ như các ứng dụng web và điện thoại thông minh.
OpenWeatherMap là một dịch vụ trực tuyến cung cấp dữ liệu thời tiết. Nó thuộc sở hữu của OpenWeather Ltd, có trụ sở tại London, Vương quốc Anh. Nó cung cấp dữ liệu thời tiết hiện tại, dự báo và dữ liệu lịch sử cho hơn 2 triệu khách hàng, bao gồm các công ty Fortune 500 và hàng ngàn doanh nghiệp khác trên toàn cầu.
OpenWeatherMap API cung cấp dịch vụ dữ liệu thời tiết và dự báo miễn phí, thích hợp cho bất kỳ dịch vụ bản đồ như các ứng dụng web và điện thoại thông minh. Ý tưởng được lấy cảm hứng từ OpenStreetMap và Wikipedia nhằm cung cấp thơng tin miễn phí và sẵn có cho mọi người.
OpenWeatherMap cung cấp nhiều dữ liệu thời tiết như bản đồ thời tiết hiện tại, dự báo tuần, lượng mưa, gió, mây, dữ liệu từ các trạm thời tiết và nhiều thứ khác. Dữ liệu thời tiết được nhận từ các dịch vụ phát sóng khí tượng tồn cầu và hơn 40.000 trạm khí tượng.
Ta có thể nhận được bất kỳ dữ liệu thời tiết nào cho ứng dụng của bạn bằng cách sử dụng chuỗi JSON hoặc XML.
Các tính năng nổi bật của API thời tiết Open Weather Map
Dữ liệu thời tiết hiện tại (Current weather data): Truy cập dữ liệu thời tiết
tại thường xuyên được cập nhật dựa trên các mơ hình và dữ liệu tồn cầu từ hơn 40.000 trạm thời tiết.
Dự báo thời tiết 5 ngày tới mỗi 3 giờ: Dự báo 5 ngày có sẵn tại bất kỳ địa điểm hoặc thành phố nào. Dự báo 5 ngày bao gồm dữ liệu thời tiết cứ sau 3 giờ
Dự báo 16 ngày tới mỗi ngày: Dự báo 16 ngày có sẵn tại bất kỳ địa điểm hoặc thành phố nào. Dự báo 16 ngày bao gồm thời tiết hàng ngày
Dữ liệu lịch sử thời tiết: API OpenWeatherMap cung cấp dữ liệu lịch sử thời
tiết cho hơn 37.000 thành phố. Dữ liệu lịch sử trong 1 tháng trước đó có sẵn trong tài khoản Starter, cho 1 năm trước trong tài khoản Medium và trong 5 năm trong History Bulk
History Bulk: Cung cấp dữ liệu lịch sử thời tiết trong 5 năm qua cho hơn 37.000 thành phố. Dữ liệu lịch sử có sẵn trong 5 năm chỉ $10 cho một thành phố, cho dù bạn sử dụng bao nhiêu dữ liệu đi nữa.
Lớp bản đồ thời tiết (Weather map layers): Bản đồ thời tiết bao gồm mưa,
mây, áp suất, nhiệt độ, gió và hơn thế nữa. Kết nối bản đồ thời tiết OpenWeatherMap với các ứng dụng di động và trang web của nhà phát triển. Sử dụng giống như các lớp trong Direct Tiles, OpenLayers, Leaflet và Google Maps.
Chỉ số UV (BETA): Chỉ số UV hiện tại (Clear Sky) và dữ liệu lịch sử có sẵn
cho bất kỳ vị trí địa lý nào (lat / lon). Diễn giải chỉ số UV và cung cấp đề xuất bảo vệ.
Trạm thời tiết (Weather stations): API để quản lý các trạm thời tiết cá nhân.
Tạo trạm và các phép đo đạc. Nhận các phép đo tổng hợp từ trạm.
Tải xuống hàng loạt: OpenWeatherMap cung cấp số lượng tệp lớn với thời
tiết và dự báo hiện tại. Số lượng thời tiết hiện tại có sẵn cho 20.000 thành phố. Nhiều loại bảng dự báo theo giờ và hàng ngày phụ thuộc vào tần suất cập nhật dữ liệu.
Thông báo thời tiết: Cú pháp đơn giản để tạo ra các trigger sẽ hoạt động khi
khoảng thời gian nhất định. Các cảnh báo sẽ được tạo trong dịch vụ của OpenWeatherMap sau khi thực hiện các điều kiện kích hoạt.
Ơ nhiễm khơng khí (BETA): OpenWeatherMap cung cấp dữ liệu hiện tại và
lịch sử (từ tháng 11 năm 2015) về ơ nhiễm khơng khí với các chỉ số chính của CO, O3, NO2 và SO2.
2.6 CÔNG NGHỆ RFID 2.6.1 Giớ i thiê ̣u về RFID