Mục lục:

IDC2018IOT Hệ thống giám sát, nước và thức ăn cho vật nuôi được kết nối: 7 bước
IDC2018IOT Hệ thống giám sát, nước và thức ăn cho vật nuôi được kết nối: 7 bước

Video: IDC2018IOT Hệ thống giám sát, nước và thức ăn cho vật nuôi được kết nối: 7 bước

Video: IDC2018IOT Hệ thống giám sát, nước và thức ăn cho vật nuôi được kết nối: 7 bước
Video: Giải pháp quan trắc nước ngầm tự động 2024, Tháng bảy
Anonim
Image
Image
IDC2018IOT Hệ thống giám sát, nước và thức ăn cho vật nuôi được kết nối
IDC2018IOT Hệ thống giám sát, nước và thức ăn cho vật nuôi được kết nối

Giới thiệu

Cho dù bạn là một sinh viên chịu nhiều áp lực, một người làm việc chăm chỉ, hay đơn giản là xa nhà hơn vài giờ một ngày. Là một chủ sở hữu thú cưng chu đáo, chúng tôi muốn đảm bảo những con yêu quý của chúng tôi vẫn khỏe mạnh, được cho ăn và tất nhiên KHÔNG nằm trên ghế sofa (đồ khốn nạn!). Đã đến lúc ngừng đòi hỏi những ưu ái, hoặc thậm chí trả tiền cho những dịch vụ như vậy.

Với dự án thú vị này, chúng tôi mong muốn cung cấp cho bạn khả năng tự làm (tôi nghe nói đó là một điều bây giờ). Chúng tôi sẽ xây dựng một giải pháp để giám sát vật nuôi của chúng tôi tốt hơn, và thậm chí thực hiện hành động khi ở văn phòng, trường học hoặc chỉ đi chơi với bạn bè của chúng tôi hoặc những người quan trọng khác.

Hệ thống này sẽ cho phép bạn cho thú cưng ăn từ xa đồng thời kiểm soát lượng thức ăn bạn đổ từ thùng chứa, đổ đầy bát nước bất cứ khi nào nó cạn. Ngoài ra, giờ đây chúng ta có thể theo dõi mực nước trong bát trong thời gian thực, đo hàm lượng thức ăn trong hộp và quan trọng nhất là theo dõi vật nuôi trực tiếp bằng cách sử dụng một mô-đun camera đơn giản.

Về chúng tôi

Tomer Maimon, Gilad Ram và Alon Shprung. Ba sinh viên đam mê Khoa học Máy tính của IDC Herzeliya. Đây là dự án Hướng dẫn đầu tiên của chúng tôi trong khuôn khổ hội thảo IoT - chúng tôi hy vọng bạn sẽ thấy thú vị và vui vẻ khi xây dựng!

Bước 1: Tìm hiểu Kiến trúc:

Tìm hiểu kiến trúc
Tìm hiểu kiến trúc
Hiểu kiến trúc
Hiểu kiến trúc

Chúng ta có thể chia hệ thống này thành hai phần chính:

  1. Các kênh dữ liệu đến:

    • Cảm biến nước - lấy mẫu mực nước bên trong bát vật nuôi, dữ liệu được truyền từ thiết bị Node-MCU đến máy chủ Blynk và cuối cùng được trình bày qua Bảng điều khiển vật nuôi.
    • Cảm biến sonar - lấy mẫu nội dung hộp đựng thực phẩm, dữ liệu được truyền từ thiết bị Arduino (với phần mở rộng lá chắn Ethernet) đến máy chủ Blynk và cuối cùng được trình bày qua Bảng điều khiển vật nuôi.
    • Mô-đun máy ảnh Pi - liên tục lấy mẫu các khung hình của khu vực vật nuôi, Pi đang lưu trữ máy chủ của riêng mình để cung cấp nguồn cấp dữ liệu trực tiếp cho Trang tổng quan về vật nuôi.
  2. Dòng lệnh:

    • Nút nguồn cấp dữ liệu (Bảng điều khiển) - cập nhật giá trị pin ảo thông qua Blynk, chức năng liên quan được kích hoạt trên bảng Arduino, Servo sau đó sẽ di chuyển để cho phép thực phẩm đi qua nắp.
    • Give Water (Bảng điều khiển) - chủ động cập nhật giá trị pin ảo thông qua Blynk, chức năng liên quan được kích hoạt trên bảng Node-MCU, rơ le được chuyển sang BẬT, máy bơm nước sẽ bắt đầu truyền nước đến bát của vật nuôi.
    • Nguồn cấp dữ liệu trực tiếp cho thú cưng (Bảng điều khiển) - được nhúng trong bảng điều khiển và hiển thị dữ liệu trực tiếp thông qua máy chủ bình chạy trên thiết bị Pi.

Bước 2: 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

Để bắt đầu làm việc trên hệ thống này, bạn sẽ cần các phần sau (hoặc tương tự):

  1. Vật lý:

    • Hộp đựng thực phẩm: Chúng tôi sử dụng một ống hai mặt 45cm công nghiệp, chúng tôi mua ở một cửa hàng bách hóa gia đình. Điều quan trọng là phải có 2 lối ra. Một để đo nội dung và lối ra thứ hai cho cơ chế đóng / mở.
    • Duct Tape: Để giữ mọi thứ lại với nhau;)
    • Jumper Wires: Càng nhiều càng tốt, luôn luôn tốt để có thêm một số nếu có sự cố.
    • Cáp Ethernet: Để kết nối Arduino của chúng tôi (với lá chắn ethernet) với internet.
    • Thùng làm vườn: Được sử dụng như một thùng chứa nước và máy bơm nước.
    • Ống nước ngắn: Được kết nối với máy bơm và đổ nước vào bát của vật nuôi.
  2. Cảm biến:

    • Cảm biến mực nước WINGONEER: Đo mực nước bên trong bát của vật nuôi.
    • Cảm biến Sonar - Đo khoảng cách mức thực phẩm từ nắp trên bên trong hộp đựng.
    • TONGLING Relay: Cho phép chúng ta bật / tắt máy bơm nước có dòng nước.
    • Mô-đun máy ảnh Pi: Được kết nối với thiết bị Pi mâm xôi và truyền hình ảnh về khu vực vật nuôi.
    • Servo chung: Khóa và mở hộp đựng thực phẩm.
  3. Thiết bị điện tử / Bo mạch:

    • Arduino Uno: Kiểm soát việc thực hiện đơn vị hộp đựng thực phẩm.
    • Arduino Ethernet Shield: Cung cấp kết nối internet đến bo mạch của chúng tôi.
    • NodeMCU (ESP-8266): Điều khiển đơn vị nước, cả để đo và đổ nước. Bo mạch này có khả năng kết nối qua WiFi.
    • Raspberry Pi 3 - lưu trữ máy chủ camera và cung cấp nguồn cấp dữ liệu trực tiếp cho bảng điều khiển vật nuôi.
    • Máy bơm nước chìm VicTsing 80 GPH: Dòng nước từ lon làm vườn đến bát, cùng với ống dẫn nước.

Bước 3: Nối dây và sắp xếp mọi thứ lại với nhau

Đấu dây và sắp xếp mọi thứ lại với nhau
Đấu dây và sắp xếp mọi thứ lại với nhau
Đấu dây và sắp xếp mọi thứ lại với nhau
Đấu dây và sắp xếp mọi thứ lại với nhau
Đấu dây và sắp xếp mọi thứ lại với nhau
Đấu dây và sắp xếp mọi thứ lại với nhau

Đấu dây

Trước khi bắt đầu, chúng tôi khuyên bạn nên đặt Arduino / Node-MCU trên bảng mạch để dễ dàng hơn trong việc đặt tất cả các dây lại với nhau và đặt nó trên bất kỳ vị trí thực tế nào. Ngoài ra, nên sử dụng dây dài để tránh các lỗi xuất phát từ việc bung cáp. Chúng tôi đã cung cấp cho bạn sơ đồ đấu dây cho Node-MCU (Đơn vị nước) và Arduino (Đơn vị thực phẩm).

  1. Đơn vị thực phẩm (Arduino):

    • Cảm biến sonar:

      • GND (Đen) = GND
      • VCC (Đỏ) = 5V
      • Trig (Tím) = 3
      • Echo (Xanh lam) = 4
    • Servo:

      • GND (Đen) = GND
      • VCC (Đỏ) = 5V
      • Tín hiệu (Vàng) = 9
  2. Đơn vị nước (Node):

    • Cảm biến mực nước:

      • S (Xanh lam) = A0
      • + (Đỏ) = 3v3
      • - (Đen) = GND
    • Rơ le (có dây điện cho máy bơm nước):

      • IN (Vàng) = D1
      • VCC (Đỏ) = Vin
      • GND (Đen) = GND
  3. Đơn vị máy ảnh (Pi):

    • Cảm biến máy ảnh:

      • Kết nối với cổng camera đơn của Pi (cáp thông lượng)
      • Nếu bạn muốn tìm hiểu thêm về Pi với mô-đun máy ảnh - Liên kết

Lắp ráp các bộ phận với nhau

Trong phần này, bạn có thể tùy chỉnh và sửa đổi dự án này để "biến nó thành của bạn". Nhưng chúng tôi sẽ cung cấp cho bạn hình ảnh và mô tả để tạo lại phiên bản sản phẩm của chúng tôi.

  1. Đơn vị thực phẩm (Arduino): Hộp đựng khá thẳng về phía trước, chúng tôi sẽ tập trung vào việc chế tạo hai nắp.

    • Nắp trên: Khoét 2 lỗ trên nắp để lắp cảm biến Sonar vào (xem hình ảnh đính kèm).
    • Nắp dưới + Cơ chế: Bắt đầu bằng việc lấy một trong các phần đính kèm bằng nhựa (đi kèm với cảm biến servo) và tạo hình "Búa tạ" bằng cách sử dụng băng keo / que gỗ (chúng tôi chỉ sử dụng băng dính). Tiếp theo, gắn nó với servo. Bây giờ, chúng ta cần 2 lỗ trên nắp chính nó. Cái đầu tiên phải cho phép servo phù hợp với cơ chế mà chúng tôi đã xây dựng đặt ở "mặt trong" của nắp. Cắt một lỗ khác dựa trên mặt bên của "đầu búa" mà bạn đã chế tác. Bằng cách này, bất cứ khi nào servo mở ra, phần đuôi của búa sẽ quét thức ăn về phía lối ra và ngăn các mảnh lớn mắc vào nhau.
  2. Bộ phận nước (Node-MCU): Đơn giản chỉ cần kết nối ống nước với máy bơm nước, bây giờ đặt nó vào trong thùng làm vườn (đảm bảo bạn KHÔNG đặt nhầm bộ phận với rơ le và dây điện bên trong nước).
  3. Bộ phận Camera: Tất cả những gì bạn cần làm là đặt Pi có mô-đun camera ở vị trí bạn chọn.

Bước 4: Thiết lập Blynk

Thiết lập Blynk
Thiết lập Blynk
Thiết lập Blynk
Thiết lập Blynk

Tất cả các khả năng từ xa trong dự án này đều dựa trên Blynk. Dịch vụ này về cơ bản cung cấp cho chúng tôi một Web-Server và RESTful API miễn phí để giao tiếp với các thiết bị Arduino / Node-MCU của chúng tôi qua internet bằng giao thức HTTP. Blynk cho phép chúng tôi xác định các chân ảo, sẽ được sử dụng làm địa chỉ để thực hiện các chức năng cụ thể liên quan đến việc đổ nước, cho ăn và lấy mẫu các cảm biến khác nhau (chúng tôi đã làm phần đó cho bạn, tất cả những gì bạn cần làm là lấy mã thông báo ứng dụng của riêng bạn, mà sẽ được giải thích tiếp theo).

Cách nhận mã xác thực Blynk của tôi

  1. Tải ứng dụng Blynk qua AppStore / PlayStore cho thiết bị di động của bạn.
  2. Đăng ký dịch vụ này (sử dụng miễn phí).
  3. Bắt đầu một dự án mới, đảm bảo chọn đúng thiết bị (trong trường hợp của chúng tôi là ESP8266).
  4. Sau khi tạo, một email có AUTHENTICATION TOKEN sẽ được gửi - Lưu mã thông báo cho các bước tiếp theo.

Lưu ý: Blynk hoàn toàn có thể được sử dụng thông qua ứng dụng, nhưng chúng tôi đã quyết định triển khai bảng điều khiển tùy chỉnh của riêng mình.

Cuối cùng, để thực hiện bước tiếp theo, bạn nên tải và cài đặt thư viện Blynk - Link (bỏ qua phần 3)

Bước 5: Định cấu hình hộp đựng thức ăn, máy bơm nước và camera trực tiếp

Định cấu hình hộp đựng thức ăn, máy bơm nước và camera trực tiếp
Định cấu hình hộp đựng thức ăn, máy bơm nước và camera trực tiếp
Định cấu hình hộp đựng thức ăn, máy bơm nước và camera trực tiếp
Định cấu hình hộp đựng thức ăn, máy bơm nước và camera trực tiếp

Tại thời điểm này, chúng tôi đã hoàn thành việc lắp ráp tất cả các bộ phận lại với nhau và có blynkAuthAppToken (xem bước 3).

Chúng tôi đã cung cấp cho bạn tất cả mã bạn cần để chạy dự án này, tất cả những gì bạn phải làm là thay đổi một số biến trong mã, điều này sẽ biến nó thành hệ thống riêng của bạn.

Trước hết, hãy bắt đầu với việc tải xuống Arduino IDE (nếu bạn chưa thực hiện nó) - Liên kết

Hộp đựng thực phẩm Arduino

  1. Thiết lập IDE cho bảng Arduino: Công cụ -> Bảng -> Arduino / Genuino Uno
  2. Đảm bảo rằng bạn đã cài đặt các thư viện này: Sketch -> Bao gồm Thư viện -> Quản lý Thư viện

    Tiếp sức (Bởi Rafael)

  3. Mở tệp phác thảo PetFeeder.ino, định cấu hình các thông số sau (xem hình ảnh đính kèm để được trợ giúp):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Biên dịch và tải bản phác thảo lên thiết bị Arduino của bạn.

Node-MCU Water Unit

  1. Thiết lập IDE cho bảng Node-MCU:

    Xem phần đầu tiên của hướng dẫn này để biết giải thích chi tiết

  2. Đảm bảo rằng bạn đã cài đặt các thư viện này: Sketch -> Bao gồm Thư viện -> Quản lý Thư viện

    Trình quản lý WiFi (Theo tzapu)

  3. Mở tệp phác thảo PetFeeder.ino, định cấu hình các thông số sau (xem hình ảnh đính kèm để được trợ giúp):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "YOUR_WIFI_SSID"; // Về cơ bản, đó là tên mạng WiFi của bạn
    • vượt qua = "YOUR_WIFI_PASSWORD"; // nếu bạn không có mật khẩu, hãy sử dụng chuỗi trống ""
  4. Biên dịch & Tải bản phác thảo lên thiết bị Node-MCU của bạn.

Mô-đun máy ảnh trực tiếp Pi

  1. Kết nối mô-đun camera pi
  2. Chạy "sudo raspi-config" và bật tùy chọn "camera".
  3. Kiểm tra máy ảnh bằng lệnh "raspistill" để chụp ảnh

    r aspistill -o image.jpg

  4. Đặt máy chủ máy ảnh web Flask:

    • Cài đặt tất cả các yêu cầu bằng cách sử dụng pip install -r request.txt
    • Sử dụng python để chạy camera_server.py
    • Hãy khám phá trên 127.0.0.1:5000/video_feed
  5. Đặt máy chủ web Flask chạy khi khởi động:

    • Thêm dòng sau vào /etc/rc.local (trước dòng thoát):

      python /camera_server.py

Bước 6: Cách sử dụng Bảng điều khiển

Cách sử dụng Bảng điều khiển
Cách sử dụng Bảng điều khiển

Cài đặt

Phần này khá đơn giản, tất cả những gì bạn phải làm là chèn "mã thông báo ứng dụng blynk" vào tệp "index.js" như sau:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // sử dụng cùng một mã thông báo từ các bước trước.

Sử dụng

  1. Mở trang tổng quan bằng cách nhấp đúp vào tệp "index.html".
  2. Bảng điều khiển sẽ tự động lấy mẫu hệ thống sau mỗi 10 phút.
  3. Các biện pháp chứa nước & thực phẩm có thể được thực hiện bằng tay.
  4. Các nút "Give Water" và "Feed" được sử dụng để chủ động cung cấp thức ăn và nước uống cho thú cưng của bạn.
  5. Phần dưới cùng của bảng điều khiển, sẽ hiển thị nguồn cấp dữ liệu trực tiếp từ mô-đun máy ảnh nếu bạn đã làm theo các hướng dẫn ở bước trước đó một cách cẩn thận.

Lưu ý: Nếu bạn muốn tùy chỉnh số lần hộp thực phẩm mở khi bạn cho ăn, hãy mở tệp "index.js" và thay đổi "giá trị" trên dòng tiếp theo từ "3" thành bất kỳ số nào bạn chọn:

tìm nạp (baseURL + '/ update / V1? value = 3');

Bước 7: Thách thức, giới hạn và kế hoạch tương lai

Thách thức

Những thách thức chính đối với chúng tôi trong dự án này, liên quan đến việc thiết kế cơ chế đóng / mở của hộp đựng thực phẩm và tạo ra một mã đồng thời ổn định để kiểm soát và đo lường đơn vị thực phẩm. Tôi tin rằng chúng tôi đã thử ít nhất 4 phiên bản khác nhau cho đến khi hài lòng. Mối quan tâm chính là thực phẩm chặn lối ra. Để ngăn chặn điều đó, chúng tôi đã chọn thiết kế Sledge-Hammer, theo cách này bất cứ khi nào chúng tôi mở hộp đựng, phần đuôi của "chiếc búa" sẽ quét thức ăn về phía lối ra. Hơn nữa, việc sử dụng ống hai bên giúp cuộc sống của chúng ta trở nên đơn giản hơn rất nhiều trong khi chế tạo hộp đựng thực phẩm. Đối tượng như vậy là hoàn hảo để đặt cơ chế thoát ở một bên và một cảm biến khoảng cách ở phía bên kia để đo nội dung của nó.

Hạn mức

Ở giai đoạn này của dự án, có một số hạn chế đối với hệ thống:

  1. Nó không hoàn toàn tự động, có nghĩa là cho ăn và đổ nước được thực hiện thủ công thông qua bảng điều khiển giám sát mà không cần bất kỳ bộ lập lịch thông minh nào (có thể được thêm vào trong tương lai hoặc do bạn thực hiện!).
  2. Trang tổng quan đang chạy cục bộ từ máy tính xách tay của chính bạn, để dễ truy cập hơn, trang này có thể được lưu trữ trên các nền tảng phổ biến như "Heroku".
  3. Chúng tôi đã sử dụng một mô-đun camera rất đơn giản, có thể được thay thế bằng một mô-đun phức tạp hơn nhiều để cho chất lượng hình ảnh tốt hơn và có thể bổ sung kênh giao tiếp với thú cưng của bạn (sử dụng loa).

Các kế hoạch trong tương lai

Nếu chúng tôi có thời gian và ngân sách để tiếp tục phát triển hệ thống này, chúng tôi đã có một số ý tưởng và lịch trình khả thi:

  1. Thêm hệ thống lên lịch tự động cho việc cho vật nuôi ăn - công việc 2 ~ 3 ngày.
  2. Xây dựng trang web để cho phép người dùng hệ thống của chúng tôi tạo bảng điều khiển tùy chỉnh được lưu trữ trực tuyến và có thể truy cập từ bất kỳ thiết bị được kết nối nào - 1-2 tháng làm việc.
  3. Làm việc trên phiên bản công nghiệp cho hệ thống này, cho phép nhiều chủ sở hữu vật nuôi kiểm soát và giao tiếp trực tuyến tốt hơn với vật nuôi của họ, chúng tôi nhận được rất nhiều sự quan tâm từ những người bạn đã xem kết quả của chương trình Có thể hướng dẫn này. Vì vậy, nếu bạn có đam mê thời gian để đưa dự án lên cấp độ tiếp theo - bạn có đầy đủ sự hỗ trợ!

Chúng tôi hy vọng bạn thích đọc (và hy vọng xây dựng!) Dự án này:)

Đề xuất: