Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Trở lại vào cuối tháng Hai, tôi thấy bài đăng này trên trang Raspberry Pi.
www.raspberrypi.org/school-weather-station-…
Họ đã tạo ra các Trạm Thời tiết Raspberry Pi cho Trường học. Tôi hoàn toàn muốn một cái! Nhưng tại thời điểm đó (và tôi tin rằng vẫn còn khi viết bài này), chúng không được công bố rộng rãi (bạn cần phải ở trong một nhóm người thử nghiệm được chọn). Chà, tôi muốn tiếp tục và tôi không cảm thấy muốn bỏ ra hàng trăm đô la cho một hệ thống bên thứ 3 hiện có.
Vì vậy, giống như một người dùng có thể hướng dẫn tốt, tôi đã quyết định tạo của riêng mình !!!
Tôi đã thực hiện một nghiên cứu nhỏ và tìm thấy một số hệ thống thương mại tốt mà tôi có thể khai thác. Tôi đã tìm thấy một số Sách hướng dẫn tốt để trợ giúp với một số khái niệm về Cảm biến hoặc Raspberry PI. Tôi thậm chí còn tìm thấy trang web này, đó là trang web phải trả giá thấp, họ đã xé bỏ một hệ thống Maplin hiện có:
www.philpot.me/weatherinsider.html
Tua đi nhanh khoảng một tháng và tôi đã có một hệ thống làm việc cơ bản. Đây là một hệ thống Raspberry Pi Weather hoàn chỉnh chỉ với phần cứng Raspberry Pi cơ bản, máy ảnh và một số cảm biến kỹ thuật số và tương tự các loại để thực hiện các phép đo của chúng tôi. Không phải mua máy đo gió hoặc đồng hồ đo mưa được làm sẵn, chúng tôi đang tự chế tạo! Đây là các tính năng của nó:
- Ghi thông tin vào RRD và CSV, do đó có thể được thao tác hoặc xuất / nhập sang các định dạng khác.
- Sử dụng API thời tiết ngầm để nhận thông tin thú vị như nhiệt độ cao và thấp trong lịch sử, tuần trăng và bình minh / hoàng hôn.
- Sử dụng Máy ảnh Raspberry Pi để chụp ảnh mỗi phút một lần (sau đó bạn có thể sử dụng chúng để tạo bản ghi thời gian).
- Có các trang web hiển thị dữ liệu cho các điều kiện hiện tại và một số lịch sử (giờ trước, ngày, 7 ngày, tháng, năm). Chủ đề trang web thay đổi theo thời gian trong ngày (4 lựa chọn: bình minh, hoàng hôn, ngày và đêm).
Tất cả phần mềm để ghi lại và hiển thị thông tin đều nằm trong Github, tôi thậm chí đã thực hiện một số theo dõi lỗi, yêu cầu tính năng trong đó:
github.com/kmkingsbury/raspberrypi-weather…
Dự án này là một trải nghiệm học tập tuyệt vời đối với tôi, tôi phải thực sự đi sâu vào các khả năng của Raspberry Pi đặc biệt là với GPIO và tôi cũng đạt được một số điểm khó khăn trong học tập. Tôi hy vọng bạn, người đọc, có thể học hỏi từ một số thử thách và khổ nạn của tôi.
Bước 1: Vật liệu
Thiết bị điện tử:
- 9 Công tắc Reed (8 cho Hướng gió, 1 cho Máy đo mưa, tùy chọn 1 cho tốc độ gió thay vì Cảm biến Hall), tôi đã sử dụng các công tắc này:
- 1 Cảm biến Hall (dành cho Tốc độ gió, được gọi là máy đo gió) -
- Nhiệt độ (https://amzn.to/2RIHf6H)
- Độ ẩm (rất nhiều cảm biến Độ ẩm đi kèm với cảm biến Nhiệt độ), tôi đã sử dụng DHT11:
- Áp suất (BMP cũng đi kèm với cảm biến nhiệt độ), tôi đã sử dụng BMP180, https://www.adafruit.com/product/1603, sản phẩm này hiện đã ngừng sản xuất nhưng có một sản phẩm tương đương với BMP280 (https://amzn.to/2E8nmhi)
- Điện trở quang (https://amzn.to/2seQFwd)
- Chip GPS hoặc USB GPS (https://amzn.to/36tZZv3).
- 4 nam châm mạnh (2 cho máy đo gió, 1 cho Direction, 1 cho Rain Gauge), tôi đã sử dụng nam châm đất hiếm, rất khuyến khích) (https://amzn.to/2LHBoKZ).
- Tôi có một số loại điện trở, gói này đã tỏ ra cực kỳ tiện dụng theo thời gian:
-
MCP3008 - để chuyển đổi đầu vào tương tự sang kỹ thuật số cho Raspberry Pi -
Phần cứng
- Raspberry Pi - Tôi ban đầu sử dụng bộ 2 với bộ điều hợp Không dây, bây giờ nhận bộ 3 B + với bộ chuyển đổi nguồn. (https://amzn.to/2P76Mop)
- Máy ảnh Pi
- Một bộ chuyển đổi nguồn 5V rắn (điều này hóa ra rất khó chịu, cuối cùng tôi đã nhận được Adafruit, nếu không máy ảnh kéo quá nhiều nước và có thể / sẽ treo Pi, nó ở đây: https://www.adafruit.com/products / 501)
Vật liệu:
- 2 Vòng bi lực đẩy (hoặc vòng bi trượt ván hoặc patin cũng sẽ hoạt động), tôi đã mua những thứ này trên Amazon:
- 2 Vỏ chống thấm (Tôi đã sử dụng vỏ bọc điện từ cửa hàng hộp lớn ở địa phương), không quan trọng lắm, chỉ cần tìm một vỏ bọc có kích thước tốt là sẽ có đủ không gian và bảo vệ mọi thứ).
- Một số ống PVC và nắp kết thúc (kích thước khác nhau).
- Giá đỡ PVC
- Vài tấm Plexiglass mỏng (không có gì quá lạ mắt).
- bế tắc nhựa
- vít mini (tôi đã sử dụng bu lông và đai ốc số 4).
- 2 Đồ trang trí Cây thông Noel bằng nhựa - được sử dụng cho máy đo gió, tôi đã nhận được của mình tại Phòng chờ Sở thích ở địa phương.
- Chốt nhỏ
- Mảnh ván ép nhỏ.
Công cụ:
- Dremel
- Súng bắn keo
- Sắt hàn
- Đồng hồ vạn năng
- Máy khoan
Bước 2: Vỏ chính - Pi, GPS, Camera, Ánh sáng
Vỏ chính chứa PI, Máy ảnh, GPS và cảm biến ánh sáng. Nó được thiết kế để chống thấm nước vì nó chứa tất cả các thành phần quan trọng, các phép đo được thực hiện từ vỏ bọc từ xa và thiết bị đó được thiết kế để tiếp xúc / mở với các thành phần.
Các bước:
Chọn một vỏ bọc, tôi đã sử dụng một hộp nối điện, các hộp dự án khác nhau và vỏ chống thấm cũng sẽ hoạt động tốt. Điểm mấu chốt là nó có đủ không gian để chứa mọi thứ.
Phần đính kèm của tôi chứa:
- Raspberry pi (ở chế độ chờ) - Cần chip WIFI, không muốn chạy Cat5e ở sân sau!
- Máy ảnh (cũng ở chế độ chờ)
- Chip GPS, được kết nối qua USB (sử dụng cáp sparkfun FTDI: https://www.sparkfun.com/products/9718) - GPS cung cấp vĩ độ và kinh độ, điều này thật tuyệt, nhưng quan trọng hơn, tôi có thể nhận được thời gian chính xác từ GPS!
- hai giắc cắm ethernet / cat 5 để kết nối Vỏ chính với vỏ khác chứa các cảm biến khác. Đây chỉ là một cách thuận tiện để có cáp đi giữa hai hộp, tôi có khoảng 12 dây và hai cat5 cung cấp 16 kết nối khả thi, vì vậy tôi có chỗ để mở rộng / thay đổi mọi thứ xung quanh.
Có một cửa sổ ở phía trước khu nhà của tôi để Camera có thể nhìn ra ngoài. Vỏ với cửa sổ này bảo vệ máy ảnh, nhưng tôi đã gặp vấn đề khi đèn LED màu đỏ trên máy ảnh (khi nó đang chụp ảnh) phản chiếu ra khỏi tấm kính và hiển thị trong ảnh. Tôi đã sử dụng một số băng đen để giảm thiểu điều này và thử chặn nó (và các đèn LED khác từ Pi và GPS), nhưng nó vẫn chưa 100%.
Bước 3: 'Bao vây từ xa' cho Nhiệt độ, Độ ẩm, Áp suất
Đây là nơi tôi lưu trữ các cảm biến Nhiệt độ, Độ ẩm và Áp suất cũng như các "móc nối" cho cảm biến đo mưa, hướng gió và tốc độ gió.
Tất cả đều rất đơn giản, các chân ở đây kết nối qua cáp ethernet với các chân cần thiết trên Raspberry Pi.
Tôi đã cố gắng sử dụng cảm biến Kỹ thuật số ở những nơi tôi có thể và sau đó bất kỳ Analog nào được thêm vào MCP 3008, nó cần đến 8 analog là quá đủ cho nhu cầu của tôi, nhưng vẫn có chỗ để cải thiện / mở rộng.
Vỏ bọc này mở ra ngoài không khí (nó phải có nhiệt độ, độ ẩm và áp suất chính xác). Các lỗ dưới cùng bị nhô ra, vì vậy tôi đã cho một số mạch phun một lớp sơn phủ Silicone Conformal Coating (bạn có thể mua trực tuyến hoặc một nơi như Fry's Electronics). Hy vọng rằng nó sẽ bảo vệ kim loại khỏi bất kỳ độ ẩm nào, mặc dù bạn phải cẩn thận và không sử dụng nó trên một số cảm biến.
Mặt trên của thùng loa cũng là nơi lắp cảm biến tốc độ gió. Đó là một cú tung lên, tôi có thể đặt tốc độ gió hoặc hướng gió lên trên, tôi không thấy bất kỳ lợi thế lớn nào của cái này hơn cái kia. Nhìn chung, bạn muốn cả hai cảm biến (dir gió và tốc độ) đủ cao để các tòa nhà, hàng rào, chướng ngại vật không ảnh hưởng đến phép đo.
Bước 4: Máy đo mưa
Tôi chủ yếu làm theo hướng dẫn này để tạo thước đo thực tế:
www.instructables.com/id/Arduino-Weather-St…
Tôi làm cái này từ plexiglass để tôi có thể nhìn thấy những gì đang xảy ra và tôi nghĩ nó sẽ rất tuyệt. Nhìn chung, plexiglass hoạt động tốt, nhưng kết hợp với keo dán, keo dán cao su và cắt và khoan tổng thể, nó không giữ được vẻ nguyên sơ như vậy, ngay cả khi có màng bảo vệ.
Những điểm chính:
- Cảm biến là một công tắc sậy đơn giản và nam châm được xử lý giống như một nút bấm trong mã RaspberryPi, tôi đơn giản đếm số lượng xô theo thời gian và sau đó thực hiện chuyển đổi thành "inch mưa".
- Làm cho nó đủ lớn để chứa đủ nước để đầu nhọn, nhưng không quá nhiều đến mức nó cần nhiều nước để có thể chảy ra. Lần vượt qua đầu tiên của tôi, tôi đã làm cho mỗi khay không đủ lớn để nó sẽ đầy và bắt đầu thoát ra khỏi mép trước khi nó bị lật.
- Tôi cũng thấy rằng nước dư có thể gây ra một số sai số cho phép đo. Có nghĩa là, khi khô hoàn toàn, cần X giọt để lấp đầy một cạnh và nhỏ lại, khi ướt thì cần Y giọt (nhỏ hơn X) để lấp đầy và nhỏ. Không phải là một số lượng lớn nhưng có ảnh hưởng khi cố gắng hiệu chỉnh và có được một phép đo "1 tải bằng bao nhiêu" tốt.
- Cân bằng nó, bạn có thể ăn gian bằng cách thêm keo keo vào các đầu bên dưới nếu một bên nặng hơn nhiều so với bên kia, nhưng bạn cần nó gần cân bằng nhất có thể.
- Bạn có thể thấy trong ảnh tôi thiết lập một giàn thử nghiệm nhỏ bằng cách sử dụng một số miếng bọt biển và giá đỡ bằng gỗ để kiểm tra và cân bằng nó đúng cách trước khi lắp đặt.
Bước 5: Hướng gió
Đây là một cánh quạt thời tiết đơn giản. Tôi dựa trên các thiết bị điện tử từ hệ thống Maplin:
www.philpot.me/weatherinsider.html
Những điểm chính:
Đây là một cảm biến tương tự. Tám công tắc sậy kết hợp với các điện trở khác nhau chia đầu ra thành các phần để tôi có thể xác định tọa độ cảm biến theo giá trị. (Khái niệm được giải thích trong tài liệu hướng dẫn này:
- Sau khi vặn phần cánh gió thời tiết, bạn cần phải hiệu chỉnh nó sao cho "hướng này là hướng bắc".
- Tôi đã làm một giàn thử nghiệm bằng gỗ để tôi có thể chuyển đổi điện trở vào và ra dễ dàng, bao gồm đầy đủ các giá trị đối với tôi, điều đó thật hữu ích!
- Tôi đã sử dụng một vòng bi đẩy, nó hoạt động tốt, tôi chắc chắn rằng một tấm ván trượt thông thường hoặc vòng bi lăn sẽ tốt như vậy.
Bước 6: Tốc độ gió
Điều này tôi một lần nữa chuyển sang cộng đồng Người có thể hướng dẫn và tìm thấy và làm theo hướng dẫn này:
www.instructables.com/id/Data-Logging-Anemo…
Những điểm chính:
- Bạn có thể sử dụng cảm biến hội trường hoặc chuyển sang cảm biến sậy. Cảm biến Hall giống như một cảm biến tương tự, vì vậy nếu bạn đang sử dụng nó theo cách kỹ thuật số, chẳng hạn như một nút bấm, bạn cần đảm bảo đọc / điện áp đủ cao để nó hoạt động giống như một nút bấm thực sự, chứ không phải là không đủ.
- Kích thước của cốc rất quan trọng, chiều dài của que cũng vậy! Ban đầu tôi sử dụng bóng bàn và chúng quá nhỏ. Tôi cũng đặt chúng trên những chiếc que dài mà cũng không hiệu quả. Tôi đã rất thất vọng và sau đó xem được hướng dẫn đó, Ptorelli đã giải thích rất tốt và điều đó đã giúp tôi giải quyết khi thiết kế ban đầu của tôi không hoạt động tốt.
Bước 7: Phần mềm
Phần mềm được viết bằng Python để ghi lại dữ liệu từ các cảm biến. Tôi đã sử dụng một số thư viện Git của bên thứ 3 khác từ Adafruit và những người khác để lấy thông tin từ các cảm biến và GPS. Ngoài ra còn có một số công việc cron cũng kéo một số thông tin API. Hầu hết được giải thích / nêu trong tài liệu Git tại docs / install_notes.txt
Phần mềm web bằng PHP để hiển thị nó trên trang web đồng thời sử dụng YAML cho các tệp cấu hình và tất nhiên là công cụ RRD để lưu trữ và vẽ biểu đồ dữ liệu.
Nó sử dụng API thời tiết ngầm để nhận một số dữ liệu thú vị mà các cảm biến không thể lấy: Ghi lại thời gian Chào và Chào, Giai đoạn của Mặt trăng, Hoàng hôn và Mặt trời mọc, cũng có Thủy triều có sẵn trên API của họ, mà tôi nghĩ là thực sự gọn gàng, nhưng tôi sống ở Austin TX rất xa nước.
Tất cả đều có sẵn trên Github và đang được bảo trì tích cực và hiện đang được sử dụng khi tôi tinh chỉnh và hiệu chỉnh thêm hệ thống của mình, vì vậy bạn cũng có thể gửi yêu cầu tính năng và báo cáo lỗi.
Phần mềm trải qua một sự thay đổi chủ đề tùy thuộc vào thời gian trong ngày, có 4 giai đoạn. Nếu thời gian hiện tại là + hoặc - 2 giờ kể từ lúc bình minh hoặc hoàng hôn thì bạn sẽ nhận được chủ đề bình minh và hoàng hôn tương ứng (ngay bây giờ chỉ là một nền khác, tôi có thể sẽ làm các màu phông chữ / đường viền khác nhau trong tương lai). Tương tự như vậy bên ngoài các phạm vi đó cung cấp chủ đề ngày hoặc đêm.
Cảm ơn bạn đã đọc, Nếu bạn muốn xem nhiều ảnh và video về các dự án của tôi hơn hãy xem Kênh Instagram và YouTube của tôi.
Giải Ba trong Cuộc thi Ngày của Pi / e