Mục lục:

Raspberry Pi Barometer Đồng hồ thời tiết: 9 bước (có hình ảnh)
Raspberry Pi Barometer Đồng hồ thời tiết: 9 bước (có hình ảnh)

Video: Raspberry Pi Barometer Đồng hồ thời tiết: 9 bước (có hình ảnh)

Video: Raspberry Pi Barometer Đồng hồ thời tiết: 9 bước (có hình ảnh)
Video: Part 1 - The Time Machine Audiobook by H. G. Wells (Chs 01-06) 2024, Tháng mười một
Anonim
Raspberry Pi Barometer Đồng hồ thời tiết
Raspberry Pi Barometer Đồng hồ thời tiết

Trong phần hướng dẫn này, tôi sẽ chỉ cho bạn cách tạo đồng hồ Nhiệt kế / Khí áp kế cơ bản sử dụng Raspberry Pi 2 với cảm biến BMP180 I2C hiển thị trên màn hình I2C 4 chữ số 7 đoạn Adafruit. Pi cũng sử dụng mô-đun đồng hồ I2C thời gian thực DS3231 để giữ thời gian khi Pi được khởi động lại.

Đồng hồ lặp qua 4 giai đoạn, mỗi giai đoạn 5 giây. Đầu tiên, nó hiển thị nhiệt độ bằng độ C, sau đó tính bằng Fahrenheit rồi áp suất khí quyển tính bằng kPa * (nó đi con số này sang trái do số chữ số có giới hạn) và cuối cùng nó hiển thị xu hướng thay đổi áp suất khí quyển giữa hiện tại và trung bình của giờ trước.

Điều làm cho đồng hồ này khác với hầu hết là nó sử dụng cơ sở dữ liệu MySQL trên Pi để ghi dữ liệu từ BMP180 mỗi phút. Vì áp suất khí quyển hiện tại không có giá trị bằng chuyển động của nó lên hoặc xuống trong một khoảng thời gian nhất định, nên nó sử dụng cơ sở dữ liệu này để tính toán mức trung bình trong khoảng thời gian từ 2 giờ đến 1 giờ trước và so sánh nó với áp suất hiện tại. Sự gia tăng đáng kể áp suất không khí thường cho thấy điều kiện thời tiết được cải thiện so với sự sụt giảm lớn có thể cảnh báo một cơn bão sắp xảy ra.

Đồng hồ được đặt trong một vỏ ABS in 3D với BMP180 trong một nắp thông hơi ở mặt sau của đồng hồ để ngăn nhiệt do Pi tạo ra ảnh hưởng đến các kết quả đo nhiệt độ. Tôi sẽ cung cấp sơ đồ Thiết kế Autodesk 123D nếu bạn muốn in của riêng mình.

Đồng hồ được cấp nguồn bằng ổ cắm USB tiêu chuẩn trên tường và có tổng cộng khoảng 450 mA.

Tôi sẽ không đi vào quá nhiều chi tiết về thiết lập cơ bản của Pi và I2C vì điều này đã được đề cập trong nhiều tài liệu hướng dẫn khác mà tôi sẽ cung cấp liên kết.

Bước 1: Chuẩn bị Pi

Chuẩn bị Pi
Chuẩn bị Pi

Thiết lập Raspberry Pi của bạn - Chi tiết tại Raspberrypi.org

  1. Tải xuống và cài đặt Bản phân phối Linux đã chọn của bạn trên thẻ SD - Tôi đã sử dụng Raspbian
  2. Cắm pi và khởi động nó lên
  3. Tôi đã sử dụng bộ điều hợp WiFi vi mô để kết nối pi với bộ định tuyến của mình vì vỏ đồng hồ che cổng Ethernet.
  4. Tôi đã sử dụng chế độ không đầu trong đó bạn kết nối với pi bằng SSH nên tất cả những gì bạn cần cắm là nguồn.
  5. Định cấu hình I2C trên Pi - Tôi đã làm theo các hướng dẫn này trên trang Adafruit.

Bước 2: Lên dây cót tất cả

Dây tất cả lên
Dây tất cả lên

Tất cả các mô-đun tôi sử dụng trong dự án này đều có dung lượng 5V và sử dụng I2C, đây là một giao thức 2 dây được sử dụng để các IC giao tiếp với nhau, vì vậy việc đấu dây khá đơn giản. Kết nối tất cả VCC với 5V, tất cả các Căn cứ với nhau và tất cả các đường SCA và SCL với nhau theo sơ đồ. Công việc hoàn thành.

Bước 3: Kiểm tra I2C của bạn

Kiểm tra I2C của bạn
Kiểm tra I2C của bạn

Một phần của cài đặt I2C là chạy i2cdetect trông giống như hình ảnh đính kèm nếu mọi thứ được kết nối chính xác.

Dưới đây là các địa chỉ phù hợp

  1. 0x70 = 7 Hiển thị phân đoạn
  2. 0x77 = Cảm biến nhiệt kế / khí áp kế BMP180
  3. 0x68 = Mô-đun đồng hồ thời gian thực DS3231
  4. 0x57 = DS3231 trên bo mạch EEPROM để lưu trữ dữ liệu cảnh báo.

Bước 4: Cài đặt MySQL và PhpMyAdmin

Cài đặt MySQL và PhpMyAdmin
Cài đặt MySQL và PhpMyAdmin

Việc cài đặt mySQL khá dễ dàng nếu bạn làm theo hướng dẫn tại đây

sudo apt-get install mysql-server

Tôi cũng đã cài đặt phpMyAdmin, một trang web chạy trên Apache mà bạn có thể sử dụng để tạo và quản lý cơ sở dữ liệu mySQL. Hướng dẫn tại đây

sudo apt-get install phpmyadmin

Sau khi cài đặt, tôi thiết lập cơ sở dữ liệu có tên là BP180 bằng phpMyAdmin với cấu trúc như hình ảnh.

Tôi cũng sử dụng mô-đun python được gọi là mysqlDB mà bạn có thể cài đặt bằng cách sử dụng

sudo apt-get install python-mysqldb

Bước 5: Cài đặt các mô-đun Python

Tải xuống và cài đặt các mô-đun python bên dưới mà bạn sẽ sử dụng để kết nối với các cảm biến.

  1. Mô-đun Adafruit_BMP085
  2. Mô-đun SDL_DS3231
  3. Mô-đun Adafruit 7 Segment

Bước 6: Mã để đăng nhập vào cơ sở dữ liệu

Đoạn mã dưới đây được sử dụng để ghi lại nhiệt độ và áp suất khí quyển và được gọi từ một tập lệnh cron (các tác vụ theo lịch trình Linux) chạy 5 phút một lần. Để tìm hiểu cách sử dụng crond, hãy xem hướng dẫn này.

NB! Đừng bận tâm đến việc vứt bỏ các kỹ năng viết mã của tôi, tôi không phải là nhà phát triển nên có lẽ có hàng triệu cách tốt hơn, nhanh hơn, mượt mà hơn, sạch hơn để làm điều này

Bạn sẽ nhận thấy trong mã, nhiệt độ giảm đi 7 độ, tương đương với nhiệt do Raspberry Pi tạo ra ngay cả với BMP180 được gắn bên ngoài vỏ máy. Khi ban đầu tôi đặt nó trong nhà, nó nóng hơn khoảng 15 độ so với môi trường xung quanh. Nó có vẻ khá tuyến tính, nhưng tôi chưa có cơ hội để kiểm tra bất kỳ thái cực nào. Phản hồi về kinh nghiệm của bạn sẽ được đánh giá cao.

Bước 7: Mã để hiển thị nhiệt độ

Mã để hiển thị nhiệt độ
Mã để hiển thị nhiệt độ
Mã để hiển thị nhiệt độ
Mã để hiển thị nhiệt độ
Mã để hiển thị nhiệt độ
Mã để hiển thị nhiệt độ
Mã để hiển thị nhiệt độ
Mã để hiển thị nhiệt độ

Mã này được gọi để chuyển qua màn hình theo phần giới thiệu.

Một lần nữa, tôi không phải là nhà phát triển nên mã thực sự thô, nhưng nó hoạt động

Bước 8: Bao vây in 3D

Bao vây in 3D
Bao vây in 3D
Bao vây in 3D
Bao vây in 3D
Bao vây in 3D
Bao vây in 3D
Bao vây in 3D
Bao vây in 3D

Tiếp theo là thiết kế của thùng loa. Điều này khá khó khăn vì hình dạng dễ bị cong vênh vì các phần của lớp vỏ bên ngoài chỉ dày 2mm. Đầu tiên tôi vẽ mô hình của Pi và tất cả các bộ phận, sau đó thiết kế vỏ bọc xung quanh nó. Quá trình in mất khoảng 7 giờ trên RapMan 3.2 của tôi (là một máy in khá chậm) ở độ sâu 0,25 lớp.

Sơ đồ đính kèm được thực hiện trong Autodesk 123D Design mà tôi nghĩ là một phần mềm miễn phí tuyệt vời.

Lưu ý rằng một số lỗ như lỗ cần thiết để gắn Pi không có trong thiết kế vì tốt hơn hết bạn nên khoan những lỗ này sau đó trong trường hợp bản in của bạn bị cong một chút. Cầm chắc tay một mũi khoan 3 mm là tất cả những gì bạn cần. Đánh dấu độ sâu trên bit bằng một số băng keo để bạn không vô tình đi thẳng qua bản in 7 giờ của mình như tôi đã làm.

Bước 9: Việc cần làm

Những việc cần làm
Những việc cần làm
  1. Đồng hồ thời gian thực là một bổ sung sau khi hộp đựng được in lần thứ 5 vì vậy nó hiện đang được dán nóng vào mặt bên của hộp đựng trông không đẹp nên tôi muốn làm lại thiết kế và thêm một chỗ cho nó.
  2. Độ sáng của màn hình 7 phân khúc hiện được đặt ở mức nhẹ nhất, điều này không tối ưu cho điều kiện ánh sáng mạnh. Tôi muốn thêm một điện trở quang vào trên cùng của thùng loa và điều chỉnh độ sáng 7 đoạn dựa trên điều kiện ánh sáng xung quanh.
  3. Có một số vấn đề thiết kế nhỏ với sự cố nứt đế cũng sẽ được khắc phục.
  4. Mọi ý tưởng đều được hoan nghênh.

Tôi hy vọng bạn thích thú với hướng dẫn này và thấy nó đủ truyền cảm hứng để giúp bạn tiếp tục. Ý tưởng là cung cấp một nền tảng mà bạn có thể sử dụng để thêm ý tưởng của riêng mình. Chúc vui vẻ!

Đề xuất: