Mục lục:

Bảng điều khiển API chất lượng không khí AirVisual: 5 bước
Bảng điều khiển API chất lượng không khí AirVisual: 5 bước

Video: Bảng điều khiển API chất lượng không khí AirVisual: 5 bước

Video: Bảng điều khiển API chất lượng không khí AirVisual: 5 bước
Video: Stream Air Quality with Air Visual API | GIT TECH'D 2024, Tháng bảy
Anonim
Image
Image

AirVisual (https://www.airvisual.com) là một trang web cung cấp dữ liệu về chất lượng không khí trên khắp thế giới. Họ có một API mà chúng tôi sẽ sử dụng để lấy dữ liệu chất lượng không khí gửi đến bảng điều khiển. Chúng tôi sẽ tương tác với API này tương tự như cách chúng tôi đã làm với bảng điều khiển thời tiết.

Đây là một dự án đơn giản hướng dẫn bạn cách sử dụng API. Bắt đầu nào!

Bước 1: Bắt đầu

API AirVisual
API AirVisual

Chúng tôi đã tập hợp hầu hết các mã lại với nhau, nhưng bạn sẽ cần bạn thực hiện một vài điều chỉnh trong quá trình thực hiện. Có rất nhiều cơ hội để mở rộng những gì chúng tôi đã làm.

Để truy xuất tất cả những thứ chúng tôi đã chuẩn bị cho bạn, bạn cần sao chép kho lưu trữ từ GitHub. GitHub là một dịch vụ tuyệt vời cho phép chúng tôi lưu trữ, sửa đổi và quản lý các dự án như thế này. Bạn sẽ muốn chạy tập lệnh này trên một thiết bị chuyên dụng. Bạn có thể sử dụng máy tính xách tay, Raspberry Pi hoặc máy tính bảng đơn khác. Để sao chép kho lưu trữ, tất cả những gì chúng ta cần làm là truy cập vào thiết bị đầu cuối của máy tính hoặc Pi và nhập lệnh sau:

$ git clone

Nhấn enter và bạn sẽ thấy thông tin này:

$ git clone https://github.com/InitialState/airvisual.git Nhân bản vào 'airvisual' … từ xa: Liệt kê các đối tượng: 13, đã xong. điều khiển từ xa: Đếm đối tượng: 100% (13/13), đã xong. từ xa: Nén các đối tượng: 100% (12/12), đã xong. từ xa: Tổng 13 (delta 2), tái sử dụng 0 (delta 0), tái sử dụng gói 0 Mở gói đối tượng: 100% (13/13), đã xong.

Khi bạn thấy điều này thì xin chúc mừng, bạn đã nhân bản thành công GitHub Repo và có tất cả các tệp cần thiết để xây dựng dự án này. Hãy chuyển sang thư mục mới. Để thay đổi thư mục, tất cả những gì bạn cần làm là nhập “cd” và sau đó nhập tên của thư mục mà bạn muốn chuyển đến. Trong trường hợp này, chúng tôi sẽ nhập:

$ cd airvisual

Sau khi chúng tôi nhấn enter, bạn sẽ thấy rằng chúng tôi hiện đang ở trong thư mục hình ảnh. Hãy nhập "ls" để xem chúng tôi đã cài đặt những tệp nào. Bạn sẽ có vẻ như sau:

LICENSE README.md airquality.py

Chúng tôi cần một số mục khác trước khi có thể chỉnh sửa mã, vì vậy, hãy xem xét API chất lượng không khí tiếp theo.

Bước 2: API AirVisual

API AirVisual
API AirVisual
API AirVisual
API AirVisual

AirVisual có API chất lượng không khí (AQI) và ô nhiễm cho phép miễn phí tới 10.000 lệnh gọi API mỗi tháng. Bạn có thể đăng ký cấp Cộng đồng. Sau khi đăng ký, bạn có thể chuyển đến My Air và tab API. Tại đây, bạn sẽ tìm thấy các khóa API và tài liệu của mình trên API.

Nhấp vào nút + Khóa mới để tạo khóa truy cập API đầu tiên của chúng tôi. Đối với Chọn gói, sử dụng menu thả xuống để chọn Cộng đồng và nhấp vào Tạo. Nếu mọi việc suôn sẻ, bạn sẽ thấy thông báo thành công và bạn có thể quay lại trang tổng quan API để tìm thông tin khóa mới của mình. Giá trị Khóa (số và ký tự) là những gì bạn cần cho dự án này. Nếu bạn xem kỹ tài liệu API, bạn sẽ thấy có nhiều loại lệnh gọi API mà bạn có thể thực hiện. Đối với dự án này, chúng tôi muốn lấy dữ liệu thành phố gần nhất dựa trên tọa độ GPS. Đối với cuộc gọi này, bạn sẽ cần kinh độ, vĩ độ và khóa API của mình. Nhập các thông số đó vào lệnh gọi bên dưới, đưa thông số đó vào thanh địa chỉ trên trình duyệt của bạn và nhấn enter.

api.airvisual.com/v2/nerily_city?lat={{LATITUDE}}&lon={{LONGITUDE}}&key={{YOUR_API_KEY}}

Thao tác này sẽ trả về dữ liệu của thành phố gần nhất dựa trên tọa độ GPS. Nó sẽ trông giống như thế này:

Tôi khuyên bạn nên sử dụng trình định dạng JSON để có cái nhìn tốt hơn về dữ liệu. Nếu bạn sử dụng nó, nó sẽ trông giống như sau:

"status": "thành công", "data": {"city": "Nashville", "state": "Tennessee", "country": "USA", "location": {"type": "Point", "toạ độ": [- 86.7386, 36.1767]}, "current": {"weather": {"ts": "2019-04-08T19: 00: 00.000Z", "_v": 0, "createdAt": "2019-04-08T19: 04: 18.662Z "," hu ": 88," ic ":" 04d "," pr ": 1012," tp ": 18," updatedAt ":" 2019-04-08T19: 46: 53.140Z "," wd ": 90, "ws": 3.1}, "ô nhiễm": {"ts": "2019-04-08T18: 00: 00.000Z", "aqius": 10, "mainus": "p2", "aqicn": 3, "maincn": "p2"}

Bây giờ chúng ta có thể dễ dàng nhận thấy rằng chúng ta có thông tin về vị trí, thời tiết và ô nhiễm. Hai giá trị mà chúng tôi tập trung cho dự án này là Chỉ số Chất lượng Không khí Hoa Kỳ (aquis) và Chất ô nhiễm Chính (mainus). Giá trị Chỉ số Chất lượng Không khí cho chúng tôi biết giá trị chất lượng không khí tại địa phương là gì và giá trị đó ảnh hưởng như thế nào đến sức khỏe của bạn. Biểu đồ được mã hóa màu dưới đây. Chất ô nhiễm chính cho chúng tôi biết chất ô nhiễm chính trong không khí là gì đối với khu vực của bạn (vật chất dạng hạt, ôxít nitơ, ôzôn, cacbon monoxit, ôxít lưu huỳnh). Các chất ô nhiễm này thường là sản phẩm phụ của khói bụi hoặc khí thải xe cộ.

Bây giờ chúng ta đã biết cách sử dụng Air Visual API, điều tiếp theo chúng ta sẽ cần là một nền tảng bảng điều khiển để hiển thị dữ liệu.

Bước 3: Trạng thái ban đầu

Trạng thái ban đầu
Trạng thái ban đầu
Trạng thái ban đầu
Trạng thái ban đầu

Chúng tôi muốn truyền tất cả dữ liệu thời tiết của mình lên một dịch vụ đám mây và nhờ dịch vụ đó biến dữ liệu của chúng tôi thành một bảng điều khiển đẹp mắt. Dữ liệu của chúng tôi cần một điểm đến nên chúng tôi sẽ sử dụng Trạng thái ban đầu làm điểm đến đó.

Đăng ký tài khoản trạng thái ban đầu

Truy cập https://iot.app.initialstate.com và tạo một tài khoản mới.

Cài đặt ISStreamer

Cài đặt mô-đun Python trạng thái ban đầu vào máy tính xách tay hoặc Raspberry Pi của bạn. Tại dấu nhắc lệnh, hãy chạy lệnh sau:

$ / curl -sSL https://iot.app.initialstate.com -o - | sudo bash

Tạo một số tự động hóa

Sau khi bạn chạy lệnh curl, bạn sẽ thấy một cái gì đó tương tự như kết quả sau ra màn hình:

$ / curl -sSL https://iot.app.initialstate.com -o - | sudo bash

Mật khẩu: Bắt đầu ISStreamer Python Cài đặt dễ dàng! Quá trình này có thể mất vài phút để cài đặt, hãy uống một chút cà phê:) Nhưng đừng quên quay lại, tôi sẽ có câu hỏi sau! Tìm thấy easy_install: setuptools 1.1.6 Tìm thấy pip: pip 1.5.6 từ /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) Phiên bản chính pip: Phiên bản nhỏ 1 pip: 5 ISStreamer đã được tìm thấy, đang cập nhật… Yêu cầu đã được cập nhật: ISStreamer trong /Library/Python/2.7/site-packages Đang dọn dẹp… Bạn có muốn tự động lấy một script mẫu không? [y / N] Bạn muốn lưu ví dụ ở đâu? [default:./is_example.py] Vui lòng chọn ứng dụng Trạng thái ban đầu bạn đang sử dụng: 1. app.initialstate.com 2. [MỚI!] iot.app.initialstate.com Nhập lựa chọn 1 hoặc 2: Nhập iot.app Tên người dùng.initialstate.com: Nhập mật khẩu iot.app.initialstate.com:

Khi được nhắc tự động lấy một tập lệnh mẫu, hãy nhập y. Điều này sẽ tạo một tập lệnh thử nghiệm mà chúng tôi có thể chạy để đảm bảo rằng chúng tôi có thể truyền dữ liệu đến Trạng thái ban đầu. Lời nhắc tiếp theo sẽ hỏi bạn muốn lưu tệp ví dụ ở đâu. Bạn có thể nhập đường dẫn cục bộ tùy chỉnh hoặc nhấn enter để chấp nhận vị trí mặc định. Cuối cùng, bạn sẽ được hỏi bạn đang sử dụng ứng dụng Trạng thái ban đầu nào. Nếu gần đây bạn đã tạo tài khoản, hãy chọn tùy chọn 2, sau đó nhập tên người dùng và mật khẩu. Sau khi cài đặt sẽ hoàn tất.

Phím truy cập

Hãy xem tập lệnh mẫu đã được tạo. $ nano is_example.py Trên dòng 15, bạn sẽ thấy một dòng bắt đầu bằng streamer = Streamer (bucket_…. Dòng này tạo một nhóm dữ liệu mới có tên “Python Stream Example” và được liên kết với tài khoản của bạn. Sự liên kết này xảy ra do tham số access_key =”…” trên cùng dòng đó. Chuỗi dài các chữ cái và số đó là khóa truy cập tài khoản Trạng thái ban đầu của bạn. Nếu bạn truy cập tài khoản Trạng thái ban đầu trong trình duyệt web, hãy nhấp vào tên người dùng của bạn ở trên cùng bên phải, sau đó truy cập vào “cài đặt của tôi”, bạn sẽ tìm thấy cùng một khóa truy cập đó ở cuối trang trong “Khóa truy cập truyền trực tuyến”. Mỗi khi bạn tạo một luồng dữ liệu, khóa truy cập đó sẽ hướng luồng dữ liệu đó đến tài khoản của bạn (vì vậy đừng chia sẻ chìa khóa của bạn với bất kỳ ai).

Chạy Ví dụ Chạy tập lệnh thử nghiệm để đảm bảo rằng chúng tôi có thể tạo luồng dữ liệu cho tài khoản Trạng thái ban đầu của bạn. Chạy phần sau trong dấu nhắc lệnh của bạn:

$ python is_example.py

Dữ liệu mẫu

Quay lại tài khoản Trạng thái ban đầu trong trình duyệt web của bạn. Một nhóm dữ liệu mới có tên là “Ví dụ về luồng Python” sẽ hiển thị ở bên trái trong giá nhóm của bạn (bạn có thể phải làm mới trang). Nhấp vào nhóm này để xem dữ liệu.

Bây giờ bạn đã sẵn sàng để bắt đầu phát trực tuyến dữ liệu thực từ API AirVisual.

Bước 4: Bảng điều khiển chất lượng không khí

Bảng điều khiển chất lượng không khí
Bảng điều khiển chất lượng không khí
Bảng điều khiển chất lượng không khí
Bảng điều khiển chất lượng không khí
Bảng điều khiển chất lượng không khí
Bảng điều khiển chất lượng không khí
Bảng điều khiển chất lượng không khí
Bảng điều khiển chất lượng không khí

Bây giờ cho phần thú vị. Chúng tôi đã sẵn sàng bắt đầu sử dụng API AirVisual để tạo bảng điều khiển chất lượng không khí và thu thập dữ liệu ô nhiễm không khí cho bất kỳ nơi nào chúng tôi chọn. Tập lệnh airquality.py này chỉ đơn giản gọi API AirVisual bằng cách sử dụng khóa API của bạn và truy xuất thông tin ô nhiễm không khí hiện tại. Nó cũng truyền dữ liệu đó đến tài khoản Trạng thái ban đầu của bạn, tài khoản này sẽ cho phép bạn tạo bảng điều khiển chất lượng không khí.

Bạn có thể truy cập tập lệnh thông qua kho lưu trữ Github mà chúng tôi đã sao chép trước đó. Điều đầu tiên chúng ta cần làm là đảm bảo rằng chúng ta đang ở trong thư mục AirVisual:

$ cd airvisual

Từ đây, bạn sẽ có thể truy cập tệp python mà chúng tôi sẽ chạy để tạo bảng điều khiển chất lượng không khí của chúng tôi. Chúng tôi cần thực hiện một số thay đổi đối với tệp trước khi chạy nó. Để mở tệp python, hãy sử dụng lệnh nano để mở trình soạn thảo văn bản:

$ nano airquality.py

Sau khi mở trình chỉnh sửa văn bản, bạn sẽ thấy phần sau ở gần đầu tập lệnh của mình:

# --------- Thiết lập người dùng ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Chất lượng không khí cục bộ" BUCKET_KEY = "aq1" ACCESS_KEY = "PHÍM ACCES BAN ĐẦU" MINUTES_BETWEEN = 5 # -------- -------------------------

bạn cần nhập vĩ độ, kinh độ, khóa API AirVisual và khóa truy cập Trạng thái ban đầu của bạn. Tham số MINUTES_BETWEEN_READS sẽ đặt tần suất tập lệnh của bạn sẽ thăm dò API AirVisual để biết thông tin về chất lượng không khí. Thời gian đủ 5 phút để bạn không vượt quá giới hạn 10.000 cuộc gọi API mỗi tháng. Để phục vụ cho thử nghiệm ngắn hạn, bạn có thể đặt mức này thành 0,5 phút. Sau khi bạn đã nhập các thông số của mình, hãy lưu và thoát khỏi nhập văn bản bằng cách gõ Control + X. Bây giờ bạn đã sẵn sàng để chạy tập lệnh của mình:

$ python airquality.py

Nếu muốn tập lệnh này chạy liên tục trong thời gian dài, bạn có thể sử dụng lệnh nohup (không treo máy) như sau:

$ nohup python airquality.py &

Khi điều này đang chạy, hãy chuyển đến Trạng thái ban đầu để xem dữ liệu của bạn. Bảng điều khiển của bạn sẽ trông giống như hình bên dưới. Bạn có vị trí GPS, giá trị chỉ số chất lượng không khí và chất ô nhiễm chính của bạn.

Đề xuất của tôi sẽ thay đổi giá trị AQI của bạn thành một ô tiêu chuẩn. Ngoài ra, di chuyển các ô xung quanh và thay đổi kích thước nếu cần. Nếu bạn đang sử dụng cái này cho trang tổng quan được nhúng, bạn có thể di chuyển những cái này xung quanh để vừa với khi cần.

Nếu bạn quyết định đặt giá trị AQI của mình làm thước đo, thì bạn có thể đặt ngưỡng màu tương tự với biểu đồ chỉ số chất lượng không khí. Điều này cung cấp cho bạn cập nhật tức thì về vị trí giá trị AQI rơi vào biểu đồ khi bạn kiểm tra trang tổng quan của mình. Bạn có thể thêm hình nền vào trang tổng quan của mình để tạo thêm ngữ cảnh.

Vì vậy, bạn có mọi thứ bạn cần để tạo bảng điều khiển chất lượng không khí. Nhưng điều gì sẽ xảy ra nếu bạn muốn thêm nhiều hơn hoặc thêm điều này vào bảng điều khiển thời tiết mà bạn đã tạo? Nếu đúng như vậy thì hãy tiếp tục đọc!

Bước 5: Tạo một Bảng điều khiển Tổng thời tiết

Tạo một Bảng điều khiển Tổng thời tiết
Tạo một Bảng điều khiển Tổng thời tiết

Dữ liệu về chất lượng không khí có phải là không đủ đối với bạn? Có rất nhiều tùy chọn để thêm nhiều hơn vào bảng điều khiển của bạn hoặc truyền dữ liệu này vào bảng điều khiển thời tiết mà bạn đã có!

Truyền thời tiết & chất lượng không khí vào một trang tổng quan

Nếu bạn đã triển khai dự án DarkSky API hoặc Hyper-Local Weather Dashboard của chúng tôi, bạn có thể thêm dữ liệu chất lượng không khí này vào trang tổng quan hiện có của mình. Nó khá đơn giản, tất cả những gì bạn cần làm là thay đổi các thông số của bạn trong tập lệnh chất lượng không khí để có cùng tên nhóm, khóa nhóm và khóa truy cập như những gì bạn đã sử dụng cho bảng điều khiển thời tiết của mình. Điều này sẽ cho phép dữ liệu được gửi vào cùng một trang tổng quan đó. Bây giờ bạn sẽ có một bảng điều khiển thời tiết tổng thể!

Có tệp Python thời tiết của bạn Thực hiện cuộc gọi để chạy tệp Python chất lượng không khí

Một tùy chọn khác nếu bạn không muốn chạy hai chương trình riêng biệt là đặt tệp python chất lượng không khí trong thư mục dự án thời tiết. Yêu cầu tệp python của dự án thời tiết thực hiện cuộc gọi đến tệp chất lượng không khí để tệp chạy khi tệp thời tiết của bạn đang chạy. Một lần nữa, hãy đảm bảo đặt cùng một tên nhóm, khóa nhóm và khóa truy cập để chúng chạy đến cùng một trang tổng quan.

Tạo một tệp duy nhất với cả thời tiết và chất lượng không khí

Và nếu bạn cảm thấy thực sự táo bạo, bạn có thể đặt một số mã chất lượng không khí vào tập lệnh python thời tiết của mình và chỉ có một tập lệnh duy nhất để chạy. Nó sẽ đòi hỏi nỗ lực mã hóa nhiều hơn một chút so với hai tùy chọn còn lại nhưng nó tạo ra một chương trình đơn giản hóa.

Truyền thông tin bổ sung từ API AirVisual

Như bạn đã thấy khi chúng tôi thực hiện cuộc gọi tới API AirVisual, nó có nhiều thông tin hơn chỉ là chất lượng không khí. Nó cũng cung cấp nhiệt độ, độ ẩm, tốc độ gió, hướng gió và áp suất khí quyển. Chúng tôi có thể gửi thông tin đó đến Trạng thái ban đầu giống như cách chúng tôi gửi giá trị chỉ số chất lượng không khí và chất ô nhiễm chính. Nó chỉ yêu cầu bạn viết thêm một vài câu lệnh if.

Đề xuất: