Mục lục:

Bird Feeder Monitor V2.0: 12 bước (có hình ảnh)
Bird Feeder Monitor V2.0: 12 bước (có hình ảnh)

Video: Bird Feeder Monitor V2.0: 12 bước (có hình ảnh)

Video: Bird Feeder Monitor V2.0: 12 bước (có hình ảnh)
Video: Biến hình khi văn phòng Schannel có khách đến 2024, Tháng bảy
Anonim
Image
Image
Bird Feeder Monitor V2.0
Bird Feeder Monitor V2.0

Đây là một dự án theo dõi, chụp ảnh và ghi lại số lượng cũng như thời gian của những con chim đến thăm nơi nuôi chim của chúng tôi. Nhiều Raspberry Pi (RPi) đã được sử dụng cho dự án này. Một được sử dụng làm cảm biến cảm ứng điện dung, Adafruit CAP1188, để phát hiện, ghi lại và kích hoạt các bức ảnh về những con chim đang kiếm ăn. Một RPi khác đã được cấu hình để kiểm soát hoạt động của hệ thống giám sát này, cũng như lưu trữ và duy trì dữ liệu để giám sát và phân tích. RPi cuối cùng được định cấu hình như một Máy ảnh để chụp ảnh từng con chim đến thăm máng ăn.

Quân nhu

  1. 1 ea - Raspberry Pi W
  2. 1 ea - Raspberry Pi 3 - Model B + - dành cho Máy chủ MQTT
  3. 1 ea - Raspberry Pi có Camera - Tùy chọn
  4. 2 ea - Vỏ chống thời tiết cho cảm biến RPi và CAP1188
  5. 1 ea - Băng lá đồng với chất kết dính dẫn điện
  6. Dây - 18-22 AWG
  7. Hàn sắt và hàn
  8. Chất hàn cho điện tử
  9. Keo silicon *
  10. 8 ea - Vít máy M3 x 25 *
  11. 8 ea - Đai ốc M3 *
  12. 1 ea - Bảng Proto để gắn CAP1188
  13. 1 ea - 1x8 Đầu nối Dupont Nữ
  14. 1 ea - 1x6 Đầu nối Dupont Nam
  15. 1 ea - CAP1188 - Cảm biến cảm ứng điện dung 8 phím
  16. 2 ea - PG7 Cáp nylon IP68 chống thấm nước Ổ khóa có thể điều chỉnh cho dây cáp Dia 3mm-6,5mm
  17. 1 bộ - Đầu nối điện chống thấm nước trên ô tô 2 Pin Way với dây AWG Marine Pack 10
  18. 3 ea - Nguồn điện 5VDC - một nguồn cho mỗi RPi
  19. 1 ea - Máy cho chim (CedarWorks Plastic Hopper Bird Feeder), hoặc bất kỳ Máy cho chim nào bằng nhựa hoặc bằng gỗ

* đối với các trường hợp thời tiết in 3D

Bước 1: Tổng quan về hệ thống giám sát người cho chim ăn

Tổng quan về hệ thống giám sát máy cho chim ăn
Tổng quan về hệ thống giám sát máy cho chim ăn

Đây là một hệ thống giám sát được thiết kế để đếm, thời gian, ghi lại và chụp ảnh những con chim đang kiếm ăn tại máy cho chim ăn của chúng tôi. Phiên bản trước của Bird Feeder Monitor của tôi đã sử dụng Arduino Yun và lưu trữ dữ liệu trong bảng tính trên Google Drive của tôi. Phiên bản này sử dụng nhiều giao tiếp Raspberry Pi, MQTT và lưu trữ cục bộ dữ liệu và ảnh.

Bird Feeder được trang bị Raspberry Pi Zero W và Cảm biến cảm ứng điện dung (CAP1188). Bất kỳ con chim nào chiếu sáng trên đậu sẽ kích hoạt cảm biến cảm ứng khởi động bộ đếm thời gian để xác định khoảng thời gian kéo dài của mỗi sự kiện. Ngay sau khi cảm ứng được kích hoạt, thông báo MQTT "monitor / feeder / picture" được hiển thị bởi Bird Feeder Monitor. Thông báo này thông báo cho Máy ảnh Raspberry Pi chụp ảnh. Nếu Máy chủ MQTT xuất bản thông báo "monitor / feeder / getcount", Bird Feeder Monitor sẽ phản hồi bằng thông báo MQTT "monitor / feeder / count" mà máy chủ sẽ lưu trữ.

Máy chủ MQTT thực hiện một số tác vụ. Nó yêu cầu và lưu trữ dữ liệu từ Bird Feeder Monitor, và nó kiểm soát hoạt động của màn hình. Nó kích hoạt màn hình lúc Dawn và tắt nó lúc Dusk. Nó cũng kiểm soát khoảng thời gian yêu cầu dữ liệu và nó cũng theo dõi điều kiện thời tiết hiện tại thông qua DarkSky. Các điều kiện thời tiết được theo dõi vì một số lý do. Trước hết, lượng mưa có thể ảnh hưởng đến các cảm biến. Nếu điều này xảy ra, các cảm biến sẽ được hiệu chỉnh lại thường xuyên trong khi mưa đang rơi. Lý do thứ hai, là theo dõi và ghi lại các điều kiện thời tiết để có mối tương quan với số liệu về số lượng chim.

Máy ảnh Raspberry Pi là một mô-đun Máy ảnh RPi + Raspberry Pi. Phần mềm máy ảnh được sử dụng cho dự án này không hoạt động với Webcam USB. Camera RPi được trang bị WIFI và đang vận hành phần mềm MQTT Client. Nó đăng ký các tin nhắn MQTT "theo dõi / nạp / ảnh" và chụp ảnh mỗi khi nhận được tin nhắn này. Ảnh được lưu trữ trên RPi Camera và được quản lý từ xa.

Bước 2: Cài đặt Raspbian trên Bird Feeder Monitor

Cài đặt Raspbian trên Bird Feeder Monitor
Cài đặt Raspbian trên Bird Feeder Monitor

Cài đặt phiên bản Raspbian Lite mới nhất trên Raspberry Pi Zero W. Tôi khuyên bạn nên làm theo hướng dẫn từng bước có thể tìm thấy tại Khởi động nhanh không đầu Raspberry Pi Zero của Adafruit.

Các bước sau đã được bao gồm trong các hướng dẫn ở trên, nhưng đáng được nhắc lại:

Kết nối với RPi qua ssh và chạy các lệnh sau:

sudo apt-get updateudo apt-get nâng cấp

Các lệnh trên sẽ mất một lúc để hoàn thành, nhưng chạy các lệnh này sẽ đảm bảo rằng bạn được cập nhật các gói mới nhất.

Tiếp theo, chạy lệnh sau để định cấu hình Phần mềm RPi:

sudo raspi-config

Thay đổi mật khẩu của bạn, bật SPI và I2C và Mở rộng Hệ thống Tệp. Sau khi hoàn tất, hãy thoát raspi-config.

Bước 3: Nối dây RPi và CAP1188

Nối dây RPi và CAP1188
Nối dây RPi và CAP1188

Raspberry Pi W (RPi) và CAP1188 có dây bằng I2C. Có các cảm biến cảm ứng điện dung khác có sẵn với một, năm hoặc tám cảm biến. Tôi chọn tám vì khay cho chim của tôi có sáu cạnh.

Hệ thống dây:

  • CAP1188 SDA == RPi Pin 3
  • CAP1188 SCK == RPi Pin 5
  • CAP1188 VIN == RPi Pin 1 (+ 3.3VDC)
  • CAP1188 GND == RPi Pin 9 (GND)
  • CAP1188 C1-C8 == Kết nối với dây trên mỗi con cá rô thông qua Đầu nối Dupont Nữ 1x8
  • CAP1188 3Vo == CAP1188 AD - Cố định địa chỉ I2C thành 0x28
  • Chân RPi 2 == + 5VDC
  • RPi Pin 14 == GND

Nguồn điện cho RPi được cung cấp bên ngoài, bằng cách chạy một dây điện ngầm từ nhà để xe của tôi và đi lên qua đường ống được sử dụng làm giá đỡ cho chim ăn. Một đầu nối 2 chân chống chịu thời tiết được gắn vào đầu dây để kết nối RPi Bird Feeder Monitor. Đầu dây còn lại được kết nối với nguồn điện 5 VDC đã hợp nhất trong nhà để xe. Dự án này sẽ hoạt động với pin, nhưng tôi không muốn gặp rắc rối khi thay pin thường xuyên.

Tôi đã chế tạo một sợi cáp dài 16 inch để kết nối Hộp chống thời tiết có chứa RPi với Hộp chống thời tiết có chứa CAP1188. Cảm biến điện dung cần được đặt càng gần sào huyệt càng tốt.

RPi Zero và CAP1188 có thể được đóng gói trong một hộp chống chịu thời tiết, nhưng tôi thích đóng gói chúng riêng biệt.

Bước 4: Định cấu hình màn hình Bird Feeder

Định cấu hình cho Bird Feeder Monitor
Định cấu hình cho Bird Feeder Monitor
Định cấu hình cho Bird Feeder Monitor
Định cấu hình cho Bird Feeder Monitor

Đăng nhập vào Raspberry Pi Zero W và thực hiện các bước sau.

Cài đặt pip:

sudo apt-get install python3-pip

Cài đặt Adafruit CircuitPython:

sudo pip3 install - nâng cấp setuptools

Kiểm tra các thiết bị I2C và SPI:

ls / dev / i2c * / dev / spi *

Bạn sẽ thấy phản hồi sau:

/ dev / i2c-1 /dev/spidev0.0 /dev/spidev0.1

Tiếp theo, cài đặt gói GPIO và Adafruit nháy:

pip3 cài đặt RPI. GPIOpip3 cài đặt adafruit-nháya

Cài đặt mô-đun CAP1188 của Adafruit:

pip3 install adafruit-circuitpython-cap1188

Cài đặt các công cụ I2C:

sudo apt-get install python-smbussudo apt-get install i2c-tools

Kiểm tra địa chỉ I2C bằng công cụ trên:

i2cdetect -y 1

Nếu CAP1188 được kết nối, bạn sẽ thấy phản hồi tương tự như trong ảnh ở trên, cho biết cảm biến đang ở địa chỉ I2C 0x28 (hoặc 0x29 tùy thuộc vào lựa chọn địa chỉ I2C của bạn).

Cài đặt mosquitto, mosquitto-client và paho-mqtt:

sudo apt-get install mosquitto mosquitto-client python-mosquitto

sudo pip3 cài đặt paho-mqtt

Tôi khuyên bạn nên sử dụng Cấu hình MQTT của Adafruit trên Raspberry Pi để định cấu hình và thiết lập MQTT trên RPi này.

Cài đặt phần mềm Bird Feeder Monitor:

cd ~

sudo apt-get install git git clone "https://github.com/sbkirby/RPi_bird_feeder_monitor.git"

Tạo thư mục nhật ký:

cd ~

nhật ký mkdir

Nối dây cảm biến CAP1188 vào RPi và thực hiện các thao tác sau để kiểm tra hệ thống sau khi máy chủ MQTT hoạt động:

cd RPi_bird_feeder_monitor

sudo nano config.json

Thay thế các giá trị cho "OIP_HOST", "MQTT_USER", "MQTT_PW" và "MQTT_PORT" để phù hợp với thiết lập cục bộ của bạn. Thoát và lưu các thay đổi của bạn.

Chạy khi khởi động

Khi vẫn ở trong thư mục / home / pi / RPi_bird_feeder_monitor.

nano launcher.sh

Bao gồm văn bản sau trong launcher.sh

#! / bin / sh

# launcher.sh # điều hướng đến thư mục chính, sau đó đến thư mục này, sau đó thực thi tập lệnh python, sau đó quay lại trang chủ cd / cd home / pi / RPi_bird_feeder_monitor sudo python3 feeder_mqtt_client.py cd /

Thoát và lưu launcher.sh

Chúng ta cần làm cho tập lệnh có thể thực thi được.

chmod 755 launcher.sh

Kiểm tra tập lệnh.

sh launcher.sh

Tiếp theo, chúng ta cần chỉnh sửa crontab (trình quản lý tác vụ linux) để khởi chạy tập lệnh khi khởi động. Lưu ý: chúng tôi đã tạo thư mục / logs trước đó.

sudo crontab -e

Thao tác này sẽ mang đến cửa sổ crontab như đã thấy ở trên. Điều hướng đến cuối tệp và nhập dòng sau.

@reboot sh /home/pi/RPi_bird_feeder_monitor/launcher.sh> / home / pi / logs / cronlog 2> & 1

Thoát và lưu tệp, và khởi động lại RPi. Tập lệnh sẽ bắt đầu tập lệnh feeder_mqtt_client.py sau khi RPi khởi động lại. Trạng thái của tập lệnh có thể được kiểm tra trong tệp nhật ký nằm trong thư mục / logs.

Bước 5: Các bộ phận in 3D

Bộ phận in 3D
Bộ phận in 3D
Bộ phận in 3D
Bộ phận in 3D
Bộ phận in 3D
Bộ phận in 3D

Các tệp STL này dành cho các phần được in 3D mà tôi đã tạo cho dự án này và tất cả các phần này đều là tùy chọn. Các trường hợp chịu thời tiết có thể được chế tạo hoặc mua tại địa phương. "Nêm lắp" cho CedarWorks Bird Feeder cũng là tùy chọn. Phần này là cần thiết để gắn vỏ cảm biến CAP1188.

Bước 6: Lắp ráp màn hình Bird Feeder

Lắp ráp màn hình Bird Feeder
Lắp ráp màn hình Bird Feeder

Sau khi cài đặt Raspbian, định cấu hình và kiểm tra Cảm biến RPi và CAP1188 như đã đề cập trước đó, bây giờ đã đến lúc gắn các thiết bị này vào hộp chống thời tiết của chúng.

Tôi đã sử dụng hai hộp chống thời tiết mà tôi đã in để gắn Cảm biến RPi và CAP1188. Trước hết, tôi khoan một lỗ 1/2 trên một đầu của mỗi vỏ. Khoan lỗ trên vỏ RPi đối diện với mặt bên của thẻ SD. Gắn khớp nối cáp Nylon với Locknut có thể điều chỉnh ở mỗi lỗ. Chạy bốn cáp dẫn giữa mỗi trường hợp. Lắp và hàn Đầu nối điện nữ chống thấm nước 2 chân trên ô tô với RPi như thể hiện trong ảnh trên. Hàn dây màu đỏ vào chân + 5VDC 2 của RPi và dây màu đen vào GND hoặc chân 14. Xem sơ đồ đấu dây để biết các kết nối khác được sử dụng trên RPi.

Luồn đầu còn lại của bốn dây dẫn qua Khớp Gland trên vỏ CAP1188 và gắn các dây như được chỉ ra trong sơ đồ đấu dây. Tất cả 8 cảm biến cảm ứng điện dung CAP1188 đều được hàn vào đầu nối Dupont 8 Pin cái. Đầu nối này được lắp chìm vào mặt bên của vỏ máy để cho phép bịt kín nước khi áp dụng mặt trên. Lưu ý: Phần trên cùng của cả hai trường hợp có thể sẽ yêu cầu sửa đổi để cho phép các đai ốc trên Gland Joint Connector.

Trước khi đóng, tôi bôi keo silicon vào các cạnh của mỗi hộp và xung quanh dây của các khớp nối để niêm phong các trường hợp. Tôi cũng thêm silicone vào mặt sau của đầu nối Dupont để niêm phong nó khỏi các phần tử.

Bước 7: Đấu dây cho Bird Feeder

Đấu dây cho Bird Feeder
Đấu dây cho Bird Feeder
Đấu dây cho Bird Feeder
Đấu dây cho Bird Feeder
Đấu dây cho Bird Feeder
Đấu dây cho Bird Feeder

Mỗi con đậu trên khay nạp được bao phủ bởi băng lá đồng tự dính bản rộng 1/4 . Một lỗ nhỏ được khoan qua băng và con đậu, và một sợi dây được hàn vào băng giấy bạc và được định tuyến bên dưới khay nạp. Mỗi con dây được kết nối với đầu nối Dupont 6 chân đực.

Lưu ý: Với máng ăn cho chim ở trên, tôi khuyên bạn nên để khoảng cách giữa các đầu của mỗi sọc giấy bạc là 1 1/4 "- 1 1/2". Tôi phát hiện ra rằng những loài chim lớn hơn, chẳng hạn như chim câu và chim bồ câu, có khả năng chạm vào hai dải giấy bạc cùng một lúc nếu chúng được đặt gần nhau.

"Nêm gắn" được đề cập trước đây đã được in và dán vào đáy của khay nạp để cung cấp một khu vực bằng phẳng để gắn Hộp chống thời tiết có chứa CAP1188. Băng Velcro đã được dán vào Hộp cũng như khối gỗ để tạo phương tiện gắn. Điều này có thể được nhìn thấy trong bức ảnh phía trên của việc lắp ráp đã hoàn thành. Một dây đeo khóa dán được sử dụng để quấn quanh đường ống và hộp RPi để cố định chúng bên dưới khay nạp.

Bộ nạp chim được nạp đầy bằng cảm biến và RPi được gắn vào bộ nạp, và trong khi nó vẫn ở trên giá đỡ ống. May mắn thay, tôi cao 6'2 và đến được thùng hàng mà không cần cố gắng nhiều.

Bước 8: Máy chủ MQTT

Máy chủ MQTT
Máy chủ MQTT
Máy chủ MQTT
Máy chủ MQTT
Máy chủ MQTT
Máy chủ MQTT

Nếu bạn đã tham gia vào thế giới IOT, bạn có thể đã có một Máy chủ MQTT đang hoạt động trên mạng của mình. Nếu không, tôi khuyên bạn nên sử dụng Raspberry Pi 3 cho Máy chủ MQTT, hướng dẫn và tệp hình ảnh IMG được tìm thấy tại trang web của Andreas Spiess "Cài đặt Node-Red, InfuxDB & Grafana". Andreas cũng có một video thông tin về chủ đề này # 255 Node-Red, InfluxDB và Grafana Tutorial trên Raspberry Pi.

Sau khi Node-Red Server hoạt động, bạn có thể nhập luồng Bird Feeder Monitor bằng cách sao chép dữ liệu trong ~ / RPi_bird_feeder_monitor / json / Bird_Feeder_Monitor_Flow.json và sử dụng Import> Clipboard để dán clipboard vào một luồng mới.

Luồng này sẽ yêu cầu các nút sau:

  • node-red-node-darksky - Cần có tài khoản API DarkSky để sử dụng nút này.
  • node-red-Contrib-bigtimer - Big Timer của Scargill Tech
  • node-red-Contrib-Influxdb - Cơ sở dữ liệu InfluxDB

Dữ liệu thời tiết cho vị trí của bạn được cung cấp qua DarkSky. Và tôi hiện đang theo dõi và ghi lại "lượng mưa", "nhiệt độ", "độ ẩm", "windSpeed", "windBiding", "windGust" và "cloudCover". "Lượng mưa" rất quan trọng vì nó được sử dụng để xác định xem các cảm biến có cần được hiệu chuẩn lại do mưa hay không.

Nút Big Timer là con dao quân đội Thụy Sĩ của bộ đếm thời gian. Nó được sử dụng để Bắt đầu và Dừng ghi dữ liệu vào Bình minh và Hoàng hôn mỗi ngày.

InfluxDB là một cơ sở dữ liệu chuỗi thời gian nhẹ, dễ sử dụng. Cơ sở dữ liệu tự động thêm dấu thời gian mỗi khi chúng tôi chèn dữ liệu. Không giống như SQLite, các trường không cần phải được xác định. Chúng được thêm tự động khi dữ liệu được chèn vào cơ sở dữ liệu.

Cấu hình Node-Red

Tệp JSON được đề cập ở trên sẽ tải một Luồng yêu cầu một vài chỉnh sửa để phù hợp với yêu cầu của bạn.

  1. Kết nối "MQTT Publish" và "monitor / feeder / #" với Máy chủ MQTT của bạn.
  2. Đặt Vĩ độ và Kinh độ cho vị trí của bạn trong nút Hẹn giờ lớn "Hẹn giờ bình minh và hoàng hôn (config)".
  3. Định cấu hình nút "màn hình / bộ nạp / thiên văn học (cấu hình)". Có thể bật / tắt máy ảnh cho mỗi con cá rô. Ví dụ: hai trong số những con chim đậu của tôi ở mặt sau và máy ảnh bị tắt đối với những con chim đậu này.
  4. Đặt nút "Bộ đếm thời gian (config)" thành khoảng thời gian mong muốn. Mặc định = 5 phút
  5. Đặt Vĩ độ và Kinh độ cho vị trí của bạn trong nút "DarkSky (config)". Thứ hai, nhập Khóa API DarkSky của bạn vào nút darksky-credentials.
  6. Đặt cường độ mưa trong nút chức năng "monitor / feeder / recalibrate (config)". Mặc định = 0,001 trong / giờ
  7. Chỉnh sửa nút chức năng "Bộ lọc chủ đề cho nút gỡ lỗi bộ thu MQTT (cấu hình)" để lọc ra các thông báo MQTT mà bạn KHÔNG muốn xem.
  8. Tùy chọn: Nếu bạn muốn lưu trữ dữ liệu trong Bảng tính trên Google Drive của mình, bạn sẽ cần chỉnh sửa nút chức năng "Tạo khối lượng tải trọng cho Google Tài liệu (cấu hình)" với ID trường biểu mẫu.
  9. Tùy chọn: Thêm URL Biểu mẫu duy nhất của bạn vào trường URL của nút Yêu cầu HTTP "Google Documents GET (config)".

Node-Red UI Desktop

Bird_Feeder_Monitor_Flow bao gồm Giao diện Người dùng (UI) để truy cập Máy chủ MQTT qua điện thoại di động. Màn hình có thể được TẮT hoặc BẬT, Hiệu chỉnh lại Cảm biến hoặc Chụp ảnh theo cách thủ công. Tổng số "lần chạm" của cảm biến cũng được hiển thị, điều này sẽ cho bạn biết sơ bộ về số lượng chim đến thăm máng ăn.

Bước 9: Grafana

Grafana
Grafana
Grafana
Grafana

"Grafana là một bộ phân tích và trực quan số liệu mã nguồn mở. Nó được sử dụng phổ biến nhất để hiển thị dữ liệu chuỗi thời gian cho cơ sở hạ tầng và phân tích ứng dụng nhưng nhiều người sử dụng nó trong các lĩnh vực khác bao gồm cảm biến công nghiệp, tự động hóa gia đình, thời tiết và điều khiển quy trình." refn: Grafana Docs.

Phần mềm này được bao gồm trong tệp hình ảnh của Andreas Spiess được sử dụng để tạo Máy chủ MQTT của tôi. Sau khi định cấu hình cơ sở dữ liệu InfluxDB trên Máy chủ MQTT, Grafana có thể được định cấu hình để sử dụng cơ sở dữ liệu này như trong hình trên. Tiếp theo, bảng điều khiển được sử dụng bởi dự án này có thể được tải từ tệp JSON được tìm thấy trong ~ / RPi_bird_feeder_monitor / json / Bird_Feeder_Monitor_Grafana.json. Các mẹo để cấu hình Grafana có thể được tìm thấy tại trang web của Andreas Spiess "Cài đặt Node-Red, InfuxDB & Grafana".

Bước 10: InfluxDB

InfluxDB
InfluxDB
InfluxDB
InfluxDB

Như đã đề cập trước đây Adreas Spiess có một hướng dẫn và video tuyệt vời để hướng dẫn bạn thông qua cấu hình của InfluxDB. Đây là các bước tôi đã thực hiện để định cấu hình cơ sở dữ liệu của mình.

Trước hết, tôi đã đăng nhập vào Máy chủ MQTT của mình qua SSH và tạo NGƯỜI DÙNG:

root @ MQTTPi: ~ #

root @ MQTTPi: ~ # flow Đã kết nối với "https:// localhost: 8086" phiên bản 1.7.6 Phiên bản shell InfluxDB: 1.7.6 Nhập truy vấn InfluxQL> TẠO NGƯỜI DÙNG "pi" VỚI MẬT KHẨU 'raspberry' VỚI TẤT CẢ CÁC QUYỀN RIÊNG TƯ> HIỂN THỊ NGƯỜI DÙNG quản trị viên người dùng ---- ----- pi true

Tiếp theo, tôi tạo một cơ sở dữ liệu:

TẠO CƠ SỞ DỮ LIỆU BIRD_FEEDER_MONITOR>> HIỂN THỊ tên CƠ SỞ DỮ LIỆU: tên cơ sở dữ liệu ---- _internal BIRD_FEEDER_MONITOR>

SAU KHI bạn đã tạo cơ sở dữ liệu ở trên, bạn có thể định cấu hình nút InfluxDB trong Node-Red. Như đã thấy trong ảnh ở trên, tôi đặt tên cho Đo lường là "feeders". Điều này có thể được nhìn thấy trong InfluxDB sau khi dữ liệu đã được khởi tạo:

SỬ DỤNG BIRD_FEEDER_MONITORSử dụng cơ sở dữ liệu BIRD_FEEDER_MONITOR

> Hiển thị tên ĐO LƯỜNG: tên phép đo ---- bộ nạp>

Một trong nhiều tính năng của InfluxDB là cấu hình FIELDS không bắt buộc. FIELDS được thêm và cấu hình tự động khi dữ liệu được nhập. Đây là FIELDS và FIELDTYPE cho cơ sở dữ liệu này:

SHOW FIELD KEYSname: feeders fieldKey fieldType -------- --------- cloudcover float count_1 float count_2 float count_3 float count_4 float count_5 float count_6 float tên phao chuỗi kết tủa_Không thả nổi thời gian float_1 float time_2 float time_3 float time_4 float time_5 float time_6 float winddir float windgust float windpeed float>

Dưới đây là một số mục nhập từ cơ sở dữ liệu:

CHỌN * TỪ bộ nạp LIMIT 10 tên: bộ nạp thời gian che phủ đám mây đếm_1 bộ đếm_2 bộ đếm_3 bộ đếm_4 bộ đếm_5 bộ đếm_6 tên độ ẩm lượng mưa_Không tạm thời_1 thời gian_2 thời gian_3 thời gian_4 thời gian_5 thời gian_6 winddir windgust wind tốc độ - ----------------- - ------- ------- ------- ------- ------- -------- ---- - --------- ---- ------ ------ ------ ------ ------ ------ ------ - ------ -------- --------- 1550270591000000000 0 0 0 0 0 0 Bộ nạp1 0 0 0 0 0 0 1550271814000000000 0 0 0 0 0 0 Bộ nạp1 0 0 0 0 0 0 1550272230000000000 0 0 0 0 0 0 Bộ nạp1 0 0 0 0 0 0 1550272530000000000 0 0 0 0 0 0 Bộ nạp1 0 0 0 0 0 15502728300000000 0 0 0 0 0 0 Bộ nạp1 0 0 0 0 0 0 1550273130000000000 0 0 0 0 0 Bộ nạp1 0 0 0 0 0 0 1550273430000000000 0 0 0 0 0 0 Bộ nạp1 0 0 0 0 0 0 1550273730000000000 0 0 0 0 0 0 Bộ nạp1 0 0 0 0 0 0 1550274030000000000 0 0 0 0 0 0 Bộ nạp1 0 0 0 0 0 0 1550274330000000000 0 0 0 0 0 0 Bộ nạp1 0 0 0 0 0 0>

Bước 11: Máy ảnh Raspberry Pi

Máy ảnh Raspberry Pi
Máy ảnh Raspberry Pi
Máy ảnh Raspberry Pi
Máy ảnh Raspberry Pi
Máy ảnh Raspberry Pi
Máy ảnh Raspberry Pi
Máy ảnh Raspberry Pi
Máy ảnh Raspberry Pi

Tôi khuyên bạn nên sử dụng Màn hình và Dừng CNC Từ xa, Có thể hướng dẫn của mình, để lắp ráp Máy ảnh Raspberry Pi. Thực hiện tất cả các Bước được đề cập ngoại trừ 6 & 8 để tạo máy ảnh. Xin lưu ý rằng tôi đang sử dụng Raspberry Pi cũ hơn cho Máy ảnh của mình, nhưng nó hoạt động rất tốt từ cửa sổ Shop của tôi.

Nâng cấp Rasbian:

sudo apt-get updateudo apt-get nâng cấp

Cài đặt PIP:

sudo apt-get install python3-pip

Cài đặt paho-mqtt:

sudo pip3 cài đặt paho-mqtt

Cài đặt git và Phần mềm giám sát chim:

cd ~

sudo apt-get install git git clone "https://github.com/sbkirby/RPi_bird_feeder_monitor.git"

Nếu bạn muốn tạo video từ hình ảnh được chụp bởi máy ảnh, hãy cài đặt ffmpeg:

git clone "https://git.ffmpeg.org/ffmpeg.git" ffmpeg

cd ffmpeg./configure make sudo thực hiện cài đặt

Định cấu hình các quyền trên phần mềm Giám sát Bird Feeder:

cd RPi_bird_feeder_monitor

sudo chmod 764 make_movie.sh sudo chmod 764 take_photo.sh sudo chown www-data: www-data make_movie.sh sudo chown www-data: www-data take_photo.sh

Cá nhân tôi khuyên bạn không nên sử dụng make_movie.sh trên Máy ảnh RPi. Nó yêu cầu nhiều tài nguyên để chạy trên RPi. Tôi khuyên bạn nên chuyển hình ảnh sang PC của bạn và chạy ffmpeg ở đó.

Chạy khi khởi động

Đăng nhập vào RPi và chuyển sang thư mục / RPi_bird_feeder_monitor.

cd RPi_bird_feeder_monitor

nano launcher.sh

Bao gồm văn bản sau trong launcher.sh

#! / bin / sh

# launcher.sh # điều hướng đến thư mục chính, sau đó đến thư mục này, sau đó thực thi tập lệnh python, sau đó quay lại trang chủ cd / cd home / pi / RPi_bird_feeder_monitor sudo python3 camera_mqtt_client.py cd /

Thoát và lưu launcher.sh

Chúng ta cần tạo script và có thể thực thi được.

chmod 755 launcher.sh

Kiểm tra tập lệnh.

sh launcher.sh

Tạo một thư mục nhật ký:

cd ~

nhật ký mkdir

Tiếp theo, chúng ta cần chỉnh sửa crontab (trình quản lý tác vụ linux) để khởi chạy tập lệnh khi khởi động.

sudo crontab -e

Thao tác này sẽ mang đến cửa sổ crontab như đã thấy ở trên. Điều hướng đến cuối tệp và nhập dòng sau.

@reboot sh /home/pi/RPi_bird_feeder_monitor/launcher.sh> / home / pi / logs / cronlog 2> & 1

Thoát và lưu tệp, và khởi động lại RPi. Tập lệnh sẽ bắt đầu tập lệnh camera_mqtt_client.py sau khi RPi khởi động lại. Trạng thái của tập lệnh có thể được kiểm tra trong tệp nhật ký nằm trong thư mục / logs.

Bước 12: Thưởng thức

Thưởng thức
Thưởng thức

Chúng tôi thích xem các loài chim, tuy nhiên chúng tôi không thể đặt máng ăn ở một vị trí để có được sự thích thú tối đa. Nơi duy nhất mà hầu hết chúng ta có thể nhìn thấy nó là từ bàn ăn sáng và không phải ai cũng có thể nhìn thấy khay nạp từ đó. Do đó, với Bird Feeder Monitor, chúng ta có thể chiêm ngưỡng các loài chim một cách thuận tiện.

Một điều chúng tôi phát hiện ra với màn hình là tần suất chim đậu trên một con cá rô, sau đó nhảy sang con cá rô tiếp theo cho đến khi chúng đi vòng quanh toàn bộ máng ăn. Do đó, số lượng chim CÓ THỂ TẮT so với số lượng cá thể chim ghé thăm bộ cấp liệu của chúng tôi. Một máng ăn chỉ có một hoặc hai đậu hẹp có lẽ sẽ là tốt nhất để "đếm" chim.

Cuộc thi cảm biến
Cuộc thi cảm biến
Cuộc thi cảm biến
Cuộc thi cảm biến

Giải nhì cuộc thi Cảm biến

Đề xuất: