Trạm thời tiết Arduino Weathercloud: 16 bước (có hình ảnh)
Trạm thời tiết Arduino Weathercloud: 16 bước (có hình ảnh)
Anonim
Trạm thời tiết Arduino Weathercloud
Trạm thời tiết Arduino Weathercloud

Tôi đã tạo một trạm thời tiết được kết nối với internet. Nó đo nhiệt độ, độ ẩm, áp suất, lượng mưa, tốc độ gió, chỉ số UV và nó tính toán một vài giá trị khí tượng quan trọng hơn. Sau đó, nó sẽ gửi dữ liệu này đến weathercloud.net, nơi có đồ họa và UX đẹp mắt. Nó cũng có một webcamera thời tiết. Tôi mất khoảng 140 €. Tôi đã làm nhà ga này như một dự án trường học của tôi. Trạm được gắn tại trường học của tôi ở Bratislava, Slovakia. Đây là dữ liệu hiện tại.

Tín dụng hình ảnh: Mimo startedín. Được sử dụng với sự cho phép.

Lưu ý: Tôi đã làm việc với dự án này hơn hai năm nay. Hướng dẫn này rất thú vị chỉ là bản tải lại của một hướng dẫn mà tôi đã xuất bản một năm trước đó, nhưng đã có rất nhiều thay đổi nên tôi quyết định thực hiện một hướng dẫn mới. Ngoài ra, không ai bao giờ nhìn vào những người hướng dẫn một tuổi

CẬP NHẬT 14.12.2018: Này! Tôi đã thêm một máy đo gió (máy đo gió) vào trạm của mình. Có một số văn bản và ảnh mới, vì vậy hãy nhớ kiểm tra

Bước 1: Weathercloud

Weathercloud
Weathercloud

Trước hết, Weatherclud là gì? Weathercloud là một mạng lưới lớn các trạm thời tiết báo cáo dữ liệu theo thời gian thực từ khắp nơi trên thế giới. Nó miễn phí và có hơn 10 000 trạm thời tiết được kết nối với nó. Thứ nhất, tôi đã có trang web HTML của riêng mình, nơi tất cả dữ liệu được gửi đi nhưng việc tạo trang web và đồ họa của riêng bạn rất khó và dễ dàng hơn nhiều khi chỉ cần gửi tất cả dữ liệu đến một nền tảng đám mây lớn có đồ họa đẹp và máy chủ ổn định. Tôi đã tìm kiếm cách gửi dữ liệu tới weathercloud và tôi thấy rằng bạn có thể thực hiện điều đó một cách dễ dàng bằng một cuộc gọi GET đơn giản. Vấn đề duy nhất với Weathercloud là với một tài khoản miễn phí, nó cho phép bạn gửi dữ liệu chỉ mười phút một lần nhưng đó không phải là vấn đề đối với hầu hết các mục đích sử dụng. Bạn sẽ cần tạo tài khoản Weathercloud để tài khoản này hoạt động. Sau đó, bạn sẽ cần tạo hồ sơ đài trên trang web của họ. Khi bạn tạo hồ sơ trạm thời tiết của mình trên Weathercloud, bạn sẽ được cấp ID Weathercloud và KEY Weathercloud. Giữ những thứ này vì Arduino sẽ cần chúng để biết nơi gửi dữ liệu.

Bước 2: Danh sách bộ phận

Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận

BOM trang tính của Google

GIÁ DỰ KIẾN: 140 € / 150 $

Bước 3: Công cụ

Công cụ
Công cụ

Những công cụ này có thể hữu ích:

thợ thoát y dây

máy khoan pin

mỏ hàn

cái kìm

tua vít

súng bắn keo

đồng hồ vạn năng

nhìn thấy

mũi khoan cây

tập tin

Bước 4: Tấm chắn bức xạ mặt trời DS18B20

Image
Image
Hộp đầu cuối
Hộp đầu cuối

Một tấm chắn bức xạ mặt trời là một thứ rất phổ biến được sử dụng trong các trạm khí tượng để chặn bức xạ mặt trời trực tiếp và do đó giảm sai số trong nhiệt độ đo được. Nó cũng hoạt động như một giá đỡ cho cảm biến nhiệt độ. Tấm chắn bức xạ rất hữu ích nhưng thường được làm từ thép và chúng đắt tiền nên tôi quyết định chế tạo một tấm chắn của riêng mình. Tôi đã thực hiện một tài liệu hướng dẫn chỉ cách tạo một tấm chắn bức xạ như thế này. Đây là hướng dẫn.

Tôi cũng tìm thấy một video hiển thị các quy trình giống hệt nhau để bạn có thể sử dụng:

Bước 5: Hộp đầu cuối

Hộp đầu cuối
Hộp đầu cuối
Hộp đầu cuối
Hộp đầu cuối
Hộp đầu cuối
Hộp đầu cuối

Hộp đầu cuối là trung tâm của nhà ga. Cáp chính 14 lõi kết nối nó với hộp máy chủ. Cáp từ DS18B20 đi vào đó. Cáp từ hộp UV đi vào nó. Nó cũng chứa cảm biến độ ẩm và áp suất. Khi bạn chọn hộp đấu dây, bạn có thể sử dụng bất kỳ hộp nối nhựa IP65 nào có kích thước trên 10x5x5cm (4 "x2" x2 ").

Bước 6: Hộp cảm biến UV

Hộp cảm biến UV
Hộp cảm biến UV
Hộp cảm biến UV
Hộp cảm biến UV
Hộp cảm biến UV
Hộp cảm biến UV

Hộp cảm biến UV chứa cảm biến UV UVM-30A và nó cũng là điểm giữa giữa hộp đấu dây chính và đồng hồ đo mưa gió. Hộp cảm biến UV có thể là bất kỳ hộp IP65 bằng nhựa nào có nắp hoàn toàn trong suốt.

Bước 7: Weathercam

Weathercam
Weathercam
Weathercam
Weathercam
Weathercam
Weathercam

Webcam thời tiết (hoặc các webcam thời tiết như tôi muốn gọi) được sử dụng để ghi lại hoặc phát trực tuyến hình ảnh về các điều kiện thời tiết thực tế. Từ hình ảnh, bạn có thể xác định cường độ ánh sáng và độ mây. Tôi đã đi tìm camera wifi rẻ nhất hiện có nhưng bạn có thể sử dụng bất kỳ camera wifi nào mà bạn lựa chọn. Máy ảnh giá rẻ này hoạt động tốt nhưng có một vấn đề với nó. Bạn cần có một máy tính chạy phần mềm phát trực tuyến liên tục. Đó không phải là vấn đề đối với tôi vì đã có một máy chủ đang chạy trang web trong mạng nên nó cũng có thể xử lý việc phát trực tuyến. Nhưng nếu bạn không có một máy tính như thế này trong mạng gia đình của mình, thì tôi khuyên bạn nên mua một Raspberry pi và một máy ảnh Raspberry pi. Nó đắt hơn (25 đô la so với 70 đô la) nhưng bạn không thực sự có tùy chọn khác nếu muốn có một webcam. Trong cả hai trường hợp, bạn cần đặt máy ảnh trong hộp chống chịu thời tiết. Bạn có thể sử dụng hộp tương tự như đối với cảm biến UV. Tôi đã làm hộp của riêng mình từ hộp nhựa thông thường và plexiglass nhưng điều đó không cần thiết. Pin cho máy ảnh sẽ cần được sạc liên tục. Bạn có thể làm điều đó bằng cách rút cáp USB và kết nối dây + và - với đầu ra nguồn 5V cho các cảm biến. Khi bạn có máy ảnh chống chọi với thời tiết, bạn có thể chỉ cần gắn nó vào bất cứ nơi nào có gió tốt với dây kéo.

Bây giờ chúng ta hãy nhìn vào phần mềm. Phần này yêu cầu một số kỹ năng viết mã nâng cao. Bạn phải có một máy tính chạy 24/7 (có thể là Raspberry pi) trong mạng gia đình để thực hiện tất cả những điều này. Vì vậy, điều đầu tiên bạn cần làm là kết nối camera IP của mình với mạng Wi-Fi gia đình Sau đó, bạn cần thay đổi tên người dùng và mật khẩu trong script theo tên người dùng và mật khẩu của bạn trên giao diện camera. Bạn cũng cần thay đổi địa chỉ IP camera trong script. Sau đó, bạn cần thiết lập một bộ lập lịch tác vụ để chạy tập lệnh được bao gồm sau mỗi 5 phút hoặc lâu hơn trên máy chủ / máy tính của bạn. Tập lệnh bây giờ sẽ chụp ảnh màn hình của hình ảnh của máy ảnh 5 phút một lần và lưu nó vào thư mục đặt trước. Thư mục phải ở chế độ công khai để bạn có thể tra cứu nó trên một công cụ tìm kiếm như sau: example.com/username/webcam.jpg. Sau đó Weathercloud có thể lấy hình ảnh này từ thư mục chung và đưa nó lên trang web của nó. Bạn có thể xem nguồn cấp dữ liệu "trực tiếp" (cập nhật 5 phút một lần) tại đây.

Bước 8: Giá đỡ đầu cảm biến

Giá đỡ cảm biến hàng đầu
Giá đỡ cảm biến hàng đầu
Giá đỡ cảm biến hàng đầu
Giá đỡ cảm biến hàng đầu
Giá đỡ cảm biến hàng đầu
Giá đỡ cảm biến hàng đầu
Giá đỡ cảm biến hàng đầu
Giá đỡ cảm biến hàng đầu

Giá đỡ cảm biến hàng đầu là một cấu kiện thép có chức năng giữ các cảm biến hàng đầu (tia cực tím, lượng mưa và tốc độ gió) trên mái nhà. Phần mà bạn nhìn thấy trên những bức tranh này chỉ phù hợp với tòa nhà của chúng tôi. Bạn có thể gắn các cảm biến này theo bất kỳ cách nào bạn muốn. Đây chỉ là một ví dụ. Chúng tôi đã có một ống thép gắn trên mái nhà, vì vậy rất dễ dàng để gắn giá đỡ.

Bước 9: Vấn đề về khả năng tương thích của lá chắn

Vấn đề về khả năng tương thích của Shield
Vấn đề về khả năng tương thích của Shield
Vấn đề về khả năng tương thích của Shield
Vấn đề về khả năng tương thích của Shield
Vấn đề về khả năng tương thích của Shield
Vấn đề về khả năng tương thích của Shield

Có một vấn đề tương thích đơn giản giữa lá chắn ethernet và protoshield. Bạn không thể đặt protoshield lên trên tấm chắn ethernet vì đầu nối ethernet sẽ không cho phép bạn. Và bạn không thể đặt tấm chắn ethernet trên đỉnh protoshield vì tấm chắn ethernet cần có kết nối trực tiếp với arduino thông qua đầu nối ICSP nhưng protoshield không có. Vâng, một vấn đề đơn giản, một giải pháp đơn giản. Tôi chỉ khoét một lỗ hình chữ nhật trên protoshield để đầu nối ethernet có thể lắp vào.

Bước 10: Đo lượng mưa

Đo lượng mưa
Đo lượng mưa
Đo lượng mưa
Đo lượng mưa
Đo lượng mưa
Đo lượng mưa

Máy đo mưa mà tôi đặt mua hoạt động tốt, nhưng có một vấn đề lớn với nó. Nó không có bất kỳ giao diện giao tiếp nào như I2C hoặc RX / TX. Chỉ có một công tắc đơn giản BẬT trong 60 micro giây mỗi khi trời mưa lớn hơn 0,28 mm / m2. Arduino có thể dễ dàng nắm bắt được điều đó khi nó không làm gì khác ngoài việc đo lượng mưa. Nhưng khi nó có các nhiệm vụ khác phải làm (như đo nhiệt độ và gửi nó lên đám mây) thì khả năng cao là bộ xử lý của arduino sẽ bận vào thời điểm bật máy đo mưa. Điều này sẽ gây ra việc đọc lượng mưa không chính xác. Đó là lý do tại sao tôi đã thêm arduino thứ hai - arduino nano. Nhiệm vụ duy nhất của nano là đo lượng mưa và gửi nó đến arduino chính thông qua I2C. Bằng cách đó, kết quả đo lượng mưa sẽ luôn chính xác. Tôi đã tạo một PCB chứa cả arduino nano và mô-đun RTC nhưng bạn cũng có thể hàn nó vào protoshield. Tôi biết rằng đây không phải là giải pháp đơn giản và rẻ nhất nhưng tôi thích nó và nó rất gọn gàng và có tổ chức.

Bước 11: Đo tốc độ gió

Đo tốc độ gió
Đo tốc độ gió
Đo tốc độ gió
Đo tốc độ gió
Đo tốc độ gió
Đo tốc độ gió

Bước này rất giống với bước trước. Tôi đã làm một bảng đo tốc độ gió và sau đó gửi nó qua I2C. Chỉ cần lặp lại bước trước đó mà không cần RTC. Tôi đã cố gắng đặt cả hai bảng thành một nhưng nó không hoạt động.

Bước 12: Hộp máy chủ

Hộp máy chủ
Hộp máy chủ
Hộp máy chủ
Hộp máy chủ
Hộp máy chủ
Hộp máy chủ

Luôn luôn là một ý kiến hay khi giấu tất cả các thiết bị điện tử trong một chiếc hộp nhỏ, có tổ chức. Và đó chính xác là những gì tôi đã làm với hộp máy chủ. Hộp máy chủ chứa Arduino UNO, lá chắn ethernet, protoshield, bộ điều chỉnh 5V, thiết bị đầu cuối cáp dữ liệu chính và bảng đo lượng mưa. Một lưu ý về Arduino: mã của trạm sử dụng khoảng 90% bộ nhớ Arduino UNO và điều đó có thể gây ra một số vấn đề. Bạn có thể cần hoặc không cần sử dụng Arduino Mega.

Bước 13: Kết nối

Kết nối
Kết nối

Chỉ cần kết nối mọi thứ theo sơ đồ bao gồm.

Bước 14: MÃ

MÃ SỐ
MÃ SỐ

Đây là phần cuối cùng, phần mà tất cả chúng ta đang chờ đợi - thử nghiệm, nếu nó hoạt động. Bạn cần thay đổi địa chỉ IP, ID Weathercloud và KEY Weathercloud theo mạng gia đình và tài khoản Weathercloud của bạn. Sau đó, bạn đã sẵn sàng tải nó lên arduino của mình. Bạn cũng cần tải mã bộ gửi mưa I2C lên Arduino nano trên bảng điều khiển lượng mưa và bộ gửi gió I2C lên nano Arduino trên bảng tốc độ gió. Ngoài ra còn có tập lệnh index.php, thông tin thêm về điều đó ở bước 7.

Bước 15: Cài đặt

Cài đặt
Cài đặt
Cài đặt
Cài đặt
Cài đặt
Cài đặt
Cài đặt
Cài đặt

Làm cho trạm thời tiết của bạn hoạt động trong xưởng của bạn là một chuyện, nhưng làm cho nó hoạt động trong điều kiện khắc nghiệt của thế giới thực lại là chuyện khác. Quy trình lắp đặt phụ thuộc rất nhiều vào tòa nhà mà bạn đang lắp đặt trạm của mình. Nhưng nếu bạn có tấm chắn bức xạ mặt trời và giá đỡ cảm biến hàng đầu thì điều đó sẽ không quá khó khăn. Cảm biến nhiệt độ và độ ẩm có thể được đặt thực sự ở bất kỳ đâu trên tòa nhà, nhưng cảm biến UV và máy đo mưa phải ở trên cùng của tòa nhà. Cảm biến UV không thể ở trong bóng tối và máy đo mưa không thể ở gần tường, nếu không khi có gió mạnh, các hạt mưa sẽ không rơi vào máy đo và kết quả đo sẽ không chính xác. Đây là hình ảnh cho thấy cách bạn có thể gắn trạm vào một ngôi nhà điển hình. Bạn nên hết sức lưu ý khi lắp trạm trên mái và nên trang bị máy khoan mạnh để có thể khoan bê tông máng.

Bước 16: Xong

Xong
Xong
Xong
Xong
Xong
Xong
Xong
Xong

Xin chúc mừng. Nếu bạn đã làm đúng tất cả các bước, bạn có một trạm thời tiết đám mây hoạt động hoàn chỉnh. Bạn có thể xem dữ liệu từ trạm của tôi tại đây. Nếu bạn có một số câu hỏi hoặc đề xuất, tôi rất vui được nghe chúng trong phần bình luận bên dưới.

Tôi đang lên kế hoạch xây dựng một trạm tương tự bằng cách sử dụng bảng Wi-Fi ESP32 và một số cảm biến bổ sung (tốc độ / hướng gió, bức xạ mặt trời, độ ẩm đất) nhưng sau này sẽ nói thêm về điều đó. Thưởng thức!

Đề xuất: