Mục lục:
- Bước 1: Bắt đầu
- Bước 2: Sử dụng API Bầu trời tối
- Bước 3: Trạng thái ban đầu
- Bước 4: Bảng điều khiển thời tiết bầu trời tối
- Bước 5: Kết luận
Video: Xây dựng Bảng điều khiển thời tiết bằng API Dark Sky: 5 bước (có Hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Dark Sky chuyên về dự báo thời tiết và trực quan hóa. Khía cạnh thú vị nhất của Dark Sky là API thời tiết của họ mà chúng ta có thể sử dụng để truy xuất dữ liệu thời tiết từ hầu hết mọi nơi trên thế giới. Đó không chỉ là thời tiết mưa hay nắng mà còn là nhiệt độ, điểm sương, gió giật, độ ẩm, lượng mưa, áp suất, chỉ số UV, v.v., tất cả đều có thể dễ dàng ở bất cứ đâu bạn muốn, bất cứ khi nào bạn muốn.
Hãy cùng tìm hiểu cách sử dụng API siêu đơn giản của Dark Sky. Nếu bạn chưa quen với việc sử dụng API, tôi hứa với bạn điều này sẽ thực sự dễ dàng! Và nếu bạn đã sử dụng API trước đây thì tôi hy vọng chúng tôi có thể dạy bạn điều gì đó mới với mã mà chúng tôi đã sử dụng.
Những gì bạn sẽ cần cho dự án này:
- Tài khoản API Dark Sky
- Tài khoản trạng thái ban đầu
- Raspberry Pi hoặc máy tính xách tay
Bước 1: Bắt đầu
Chúng tôi đã thực hiện rất nhiều công việc để bạn ghép mã lại với nhau và sắp xếp thông tin. Chúng tôi sẽ chỉ cần bạn thực hiện một vài điều chỉnh trong quá trình thực hiện. Nếu bạn muốn thử thách một chút, hãy thực hiện một số thay đổi đối với mã của chúng tôi và dữ liệu thời tiết nào được gửi đi, thì khả năng là vô hạn!
Để 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ụ 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. Raspberry Pi là một lựa chọn hoàn hảo để chạy các ứng dụng như hướng dẫn này.
Để sao chép kho lưu trữ, tất cả những gì chúng ta cần làm là truy cập thiết bị đầu cuối Pi của chúng tôi hoặc thiết bị đầu cuối máy tính của bạn được SSH vào số pi của bạn và nhập lệnh sau:
$ git clone
Nhấn enter và bạn sẽ thấy thông tin này:
Nhân bản thành 'darksky'…
điều khiển từ xa: Đếm đối tượng: 2, xong. điều khiển từ xa: Tổng 2 (delta 0), sử dụng lại 0 (delta 0), đóng gói tái sử dụng 2 Đối tượng giải nén: 100% (2/2), đã xong. Đang kiểm tra kết nối… 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. Trước khi chuyển sang bước tiếp theo, hãy dành chút thời gian khám phá thư mục này và tìm hiểu một vài lệnh dòng lệnh cơ bản.
Nhập lệnh bên dưới vào thiết bị đầu cuối của bạn:
$ ls
Lệnh này liệt kê mọi thứ có sẵn trong thư mục mà bạn hiện đang ở. Danh sách này cho thấy rằng GitHub Repo của chúng tôi đã được nhân bản thành công vào thư mục của chúng tôi với tên “darksky”. Hãy xem những gì có trong thư mục đó. Để di chuyển đến một thư mục, tất cả những gì bạn cần làm là gõ “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 darksky
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 darksky. Hãy nhập lại "ls" để xem chúng tôi đã cài đặt những tệp nào trên pi của mình.
README.md darksky.py…
Ở đây, chúng tôi thấy chúng tôi đã nhận được tài liệu readme và các tệp python. Hãy xem darksky.py bằng lệnh "nano". Lệnh nano cho phép chúng tôi mở trình soạn thảo văn bản nano, nơi chúng tôi có tất cả mã python của chúng tôi cho mỗi phân đoạn của dự án này. Hãy tiếp tục và nhập:
$ nano darksky.py
Tại đây, bạn có thể xem tất cả mã mà chúng tôi đã chuẩn bị cho bạn cho dự án này. Chúng tôi sẽ không thực hiện bất kỳ thay đổi nào đối với tài liệu này, nhưng vui lòng cuộn xung quanh và xem những gì chúng tôi sẽ làm sau này trong hướng dẫn này.
Bước 2: Sử dụng API Bầu trời tối
Để sử dụng API Dark Sky, trước tiên bạn cần có khóa API của riêng mình. Đừng lo lắng, việc nhận khóa API rất nhanh chóng và miễn phí. Tất cả những gì bạn cần làm là truy cập trang web và nhấp vào "Dùng thử miễn phí" để tạo tài khoản.
- Bạn nhận được 1, 000 cuộc gọi API miễn phí mỗi ngày. Mọi yêu cầu API vượt quá giới hạn hàng ngày miễn phí đều có giá 0,0001 đô la.
- Giới hạn này tự động đặt lại mỗi ngày vào lúc nửa đêm UTC.
- Yêu cầu Dự báo trả về dự báo thời tiết hiện tại cho tuần tiếp theo.
- Yêu cầu Cỗ máy thời gian trả về các điều kiện thời tiết được quan sát hoặc dự báo cho một ngày trong quá khứ hoặc tương lai.
Khóa API Dark Sky bí mật của bạn sẽ trông giống như sau: 0123456789abcdef9876543210fedcba.
Bạn có thể thực hiện lệnh gọi API tới Dark Sky bằng cách nhập URL vào trình duyệt của mình ở định dạng sau:
api.darksky.net/forecast/[key]/[latitude], [kinh độ]
Thay thế "key" bằng khóa Dark Sky API và kinh độ / vĩ độ của bạn bằng bất kỳ thứ gì bạn muốn. Bạn có thể tìm kinh độ và vĩ độ của mình bằng cách vào Google Maps và tìm kiếm vị trí của bạn. Các giá trị đó sẽ có trong URL. Sao chép và dán URL bầu trời tối ở trên với khóa truy cập và các giá trị của bạn được thêm vào thanh địa chỉ.
Một khi bạn làm điều đó, bạn sẽ thấy một cái gì đó như thế này:
ngày "," độ bền gần nhất ": 57," độ bền gần nhất ": 15," độ ẩm ": 0," khả năng kết tủa ": 0," nhiệt độ ": 53,9," nhiệt độ biểu kiến ": 53,9," điểm sương ": 29,59," độ ẩm ": 0,39, "áp suất": 1022,45, "windSpeed": 3,87, "windGust": 9,25, "windBiding": 259, "cloudCover": 0,01, "uvIndex": 3, "khả năng hiển thị": 7,8, "ozone": 309,71}, "min min": {"Summary": "Clear-day.", "icon": "clear-day", "data": [{"time": 1550615280, "rainIntensity": 0, "rainProbability": 0 },…
Nó có thể hơi choáng ngợp và khó đọc vì vậy những gì tôi khuyên bạn nên làm là sử dụng JSON Formatter để giúp dữ liệu dễ đọc hơn. Khi bạn làm điều này, nó sẽ trông giống như sau:
đối tượng {9}
vĩ độ: 37.8267 kinh độ: -122.4233 múi giờ: Châu Mỹ / Los_Angeles hiện tại {19} thời gian: 1550615286 tóm tắt: Biểu tượng rõ ràng: ngày quang trong gần nhất Áp suất 0,39: 1022,45 gió Tốc độ: 3,87 gió Tốc độ: 9,25 gió
Bạn vừa thực hiện một cuộc gọi API! Xem đó là cách dễ dàng? Bạn thậm chí không phải viết một dòng mã nào. Bây giờ bạn đã thành thạo API, chúng ta có thể chuyển sang phần truyền dữ liệu.
Bước 3: 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 mà chúng tôi có thể truy cập từ máy tính xách tay hoặc thiết bị di động của mình. Dữ liệu của chúng tôi cần một điểm đến. Chúng tôi sẽ sử dụng Trạng thái ban đầu làm điểm đến đó.
Bước 1: Đă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. Bạn được dùng thử miễn phí 14 ngày và bất kỳ ai có địa chỉ email edu đều có thể đăng ký gói miễn phí dành cho sinh viên.
Bước 2: Cài đặt ISStreamer
Cài đặt mô-đun Python trạng thái ban đầu vào Raspberry Pi của bạn. Trong dấu nhắc lệnh, hãy chạy lệnh sau:
$ cd / home / pi / $ / curl -sSL https://get.initialstate.com/python -o - | sudo bash
Bước 3: Tạo một số AutomagicSau Bước 2, bạn sẽ thấy một cái gì đó tương tự như kết quả sau ra màn hình:
pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: Bắt đầu cài đặt Python ISStreamer 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 hỏi liệu bạn có muốn tự động lấy một tập lệnh mẫu, hãy đặt "y" cho có và nhấn enter để lưu tập lệnh của bạn ở vị trí mặc định. Đối với câu hỏi về ứng dụng bạn đang sử dụng, hãy chọn 2 (trừ khi bạn đăng ký trước tháng 11 năm 2018) và nhập tên người dùng và mật khẩu của bạn.
Bước 4: Chạy tập lệnh mẫu
Chạy tập lệnh thử nghiệm để đảm bảo chúng tôi có thể tạo luồng dữ liệu vào tài khoản Trạng thái ban đầu của bạn. Viết lệnh sau:
$ python is_example.py
Bước 6: 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 gọi là “Ví dụ về luồng Python” đáng lẽ phải hiển thị ở bên trái trong giá nhật ký 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 của bạn.
Bước 4: Bảng điều khiển thời tiết bầu trời tối
Bây giờ cho phần thú vị. Chúng tôi đã sẵn sàng bắt đầu sử dụng API Bầu trời tối để tạo bảng điều khiển thời tiết và nắm bắt lịch sử thời tiết cho vị trí chúng tôi chọn. Để làm điều này, chúng tôi sẽ sử dụng tập lệnh Python: https://github.com/initialstate/darksky/blob/master/darksky.py. Tập lệnh này chỉ cần gọi API Bầu trời tối bằng cách sử dụng khóa API của bạn và truy xuất thông tin thời tiết trong một khoảng thời gian cụ thể. Nó cũng truyền dữ liệu đó đến tài khoản Trạng thái ban đầu của bạn, điều này sẽ cho phép bạn tạo bảng điều khiển thời tiết Bầu trời tối.
Bạn có thể sao chép tập lệnh này vào Pi của mình hoặc truy cập nó thông qua kho lưu trữ GitHub mà chúng tôi đã sao chép trước đó. Bạn có thể thực hiện việc này bằng cách thay đổi vào thư mục darksky của mình bằng cách nhập:
$ cd darksky
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 thời tiết của chúng tôi. Trước khi chạy nó, bạn cần thiết lập các thông số mong muốn và chèn các phím của mình. Nano vào tệp darksky.py bằng cách nhập:
$ nano darksky.py
Sau đó, chỉnh sửa phần gần đầu tập lệnh:
# --------- Thiết lập người dùng ---------
CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "ĐẶT KHÓA API DARK SKY CỦA BẠN TẠI ĐÂY" BUCKET_NAME = ": part_sunny:" + CITY + "Thời tiết" BUCKET_KEY = "ds1" TRUY CẬP TRUY CẬP CỦA BẠN = "PLACE TỪ KHÓA ĐÂY "MINUTES_BETWEEN_READS = 15 # ---------------------------------
Bạn cần đặt tọa độ GPS và tên thành phố mong muốn. Bạn cũng phải chèn khóa API Dark Sky và khóa truy cập tài khoản Trạng thái ban đầu nếu không dữ liệu của bạn sẽ không đi đâu cả. Thông số MINUTES_BETWEEN_READS sẽ đặt tần suất tập lệnh của bạn sẽ thăm dò API Bầu trời tối để biết thông tin thời tiết. 15 phút cung cấp một khoảng thời gian tốt đẹp trong thời gian dài. Để 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. Thực hiện các thay đổi của bạn, sau đó nhập control + X để thoát và lưu.
Khi bạn đã thiết lập các thông số, bạn đã sẵn sàng chạy tập lệnh của mình:
$ python darksky.py
Nếu bạn đang sử dụng Pi của mình và muốn để tập lệnh này chạy liên tục trong một thời gian dài, bạn có thể sử dụng lệnh nohup (không treo máy) như sau:
$ nohup python darksky.py &
Tập lệnh này sẽ làm được nhiều việc hơn là chỉ đọc dữ liệu thời tiết và gửi nó về Trạng thái ban đầu. Tập lệnh này sẽ tận dụng khả năng hỗ trợ biểu tượng cảm xúc được tích hợp trong các công cụ của Trạng thái ban đầu để làm cho bảng điều khiển trở nên thú vị hơn một chút. Bạn có thể thấy logic được sử dụng để lấy trạng thái thời tiết từ biểu tượng hiện tại -> và chuyển đổi nó thành mã thông báo biểu tượng cảm xúc trong hàm weather_icon. Điều gì đó tương tự cũng xảy ra đối với chu kỳ mặt trăng trong hàm moon_icon và hướng gió trong hàm wind_dir_icon.
Bước 5: Kết luận
Chuyển đến tài khoản Trạng thái ban đầu của bạn và xem dữ liệu của bạn. Tôi đã thay đổi tất cả các giá trị phần trăm của mình thành máy đo hồ quang, lượng mưa thành máy đo chất lỏng và nhiệt độ thành máy đo nhiệt độ. Bạn có thể thay đổi sang bất kỳ loại loại Ngói nào và chọn màu của bạn cho đồng hồ đo và biểu đồ đường. Bạn có thể làm cho bảng điều khiển của mình tối hoặc sáng và nhúng sản phẩm cuối cùng vào một trang web bằng cách sử dụng iFrame nhúng.
Nếu bạn muốn sử dụng bố cục trang tổng quan từ chia sẻ công khai làm trang tổng quan của mình, bạn có thể nhập bố cục vào nhóm dữ liệu của mình bằng cách làm theo hướng dẫn tại đây. 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.
URL chia sẻ công khai cho trang tổng quan của chúng tôi là
Bây giờ bạn đã thành thạo API Dark Sky, khả năng là vô tận! Có vô số API miễn phí trực tuyến để khám phá, vì vậy hãy bắt đầu.
Đề xuất:
Trạm thời tiết NaTaLia: Trạm thời tiết sử dụng năng lượng mặt trời Arduino Đã thực hiện đúng cách: 8 bước (có hình ảnh)
Trạm thời tiết NaTaLia: Trạm thời tiết sử dụng năng lượng mặt trời Arduino Đã hoàn thành đúng cách: Sau 1 năm hoạt động thành công trên 2 địa điểm khác nhau, tôi đang chia sẻ kế hoạch dự án trạm thời tiết sử dụng năng lượng mặt trời của mình và giải thích cách nó phát triển thành một hệ thống thực sự có thể tồn tại trong thời gian dài thời kỳ từ năng lượng mặt trời. Nếu bạn theo dõi
Treo tường cho IPad làm bảng điều khiển tự động hóa tại nhà, sử dụng nam châm điều khiển Servo để kích hoạt màn hình: 4 bước (có hình ảnh)
Giá treo tường cho iPad làm Bảng điều khiển tự động hóa tại nhà, Sử dụng Nam châm điều khiển Servo để Kích hoạt màn hình: Gần đây, tôi đã dành khá nhiều thời gian để tự động hóa mọi thứ trong và xung quanh nhà mình. Tôi đang sử dụng Domoticz làm ứng dụng Tự động hóa tại nhà của mình, hãy xem www.domoticz.com để biết thêm chi tiết. Trong tìm kiếm của tôi cho một ứng dụng bảng điều khiển hiển thị tất cả thông tin Domoticz
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Dark Sky API PyPortal & Bảng điều khiển thời tiết: 6 bước
Dark Sky API PyPortal & Bảng điều khiển thời tiết: Dự án này là phần tiếp theo mà chúng tôi đã thực hiện trước đây, Bảng điều khiển thời tiết API Dark Sky. Lần này thay vì Raspberry Pi, chúng tôi sẽ sử dụng Adafruit PyPortal để hiển thị dữ liệu thời tiết và gửi dữ liệu đó về Trạng thái ban đầu. Hai bảng điều khiển cho công việc của một
Acurite 5 trong 1 Trạm thời tiết sử dụng Raspberry Pi và Weewx (các trạm thời tiết khác tương thích): 5 bước (có Hình ảnh)
Trạm thời tiết Acurite 5 trong 1 Sử dụng Raspberry Pi và Weewx (các Trạm thời tiết khác Tương thích): Khi tôi mua trạm thời tiết Acurite 5 trong 1, tôi muốn có thể kiểm tra thời tiết tại nhà của mình khi tôi đi vắng. Khi tôi về nhà và thiết lập nó, tôi nhận ra rằng tôi phải có màn hình kết nối với máy tính hoặc mua trung tâm thông minh của họ,