Mục lục:

IoT Cat Feeder sử dụng Photon dạng hạt được tích hợp với Alexa, SmartThings, IFTTT, Google Sheets: 7 bước (có hình ảnh)
IoT Cat Feeder sử dụng Photon dạng hạt được tích hợp với Alexa, SmartThings, IFTTT, Google Sheets: 7 bước (có hình ảnh)

Video: IoT Cat Feeder sử dụng Photon dạng hạt được tích hợp với Alexa, SmartThings, IFTTT, Google Sheets: 7 bước (có hình ảnh)

Video: IoT Cat Feeder sử dụng Photon dạng hạt được tích hợp với Alexa, SmartThings, IFTTT, Google Sheets: 7 bước (có hình ảnh)
Video: Rối lượng tử và Giải Nobel Vật lý 2022 - 4. Nguyễn Bá Ân 2024, Tháng bảy
Anonim
Image
Image
IoT Cat Feeder sử dụng Photon dạng hạt được tích hợp với Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder sử dụng Photon dạng hạt được tích hợp với Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder sử dụng Photon dạng hạt được tích hợp với Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder sử dụng Photon dạng hạt được tích hợp với Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder sử dụng Photon dạng hạt được tích hợp với Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder sử dụng Photon dạng hạt được tích hợp với Alexa, SmartThings, IFTTT, Google Sheets

Sự cần thiết của máy cho mèo ăn tự động là điều tự giải thích. Mèo (tên con mèo của chúng tôi là Bella) có thể rất đáng ghét khi đói và nếu con mèo của bạn cũng giống như của tôi, nó sẽ ăn cạn bát mỗi khi đói. Tôi cần một cách để phân phối một lượng thực phẩm được kiểm soát tự động bằng 3 phương pháp - 1. Lệnh thoại của Alexa, 2. theo lịch trình và 3. bằng nút trong SmartThings. Tôi cũng muốn có một cách để theo dõi cách thức và thời điểm con mèo được cho ăn để chúng tôi không cho ăn hai lần (đôi khi khi vợ tôi cho mèo ăn và sau đó 15 phút tôi cho mèo ăn lại).

Dự án này không quá khó, tôi không phải nhà phát triển, cũng không phải kỹ sư, nhưng có rất nhiều tài nguyên trực tuyến đã giúp tôi. Tôi đang biên soạn mọi thứ tôi đã sử dụng và tất cả các bước cần thiết để bạn có thể hoàn thành dự án này. Tận hưởng, và xây dựng hạnh phúc!

Bước 1: Nhận tất cả nguyên liệu cần thiết của bạn - Khoảng 100 đô la

Nhận tất cả các tài liệu cần thiết của bạn - Khoảng 100 đô la
Nhận tất cả các tài liệu cần thiết của bạn - Khoảng 100 đô la

Đây là tất cả mọi thứ tôi đã mua để làm đồ ăn cho mèo này. Đó là khoảng 100 đô la, nhiều hơn một chút so với 75 đô la dự kiến của tôi nhưng đã mua một số bộ phận chất lượng tốt hơn để đảm bảo nó sẽ tồn tại lâu dài. Một số vật liệu tôi đã có để làm hộp như keo dán gỗ, súng bắn keo nóng, đinh đóng đinh 18ga, giấy cát, chất độn gỗ, v.v. Theo tôi, những thứ này thuộc "dụng cụ" và không phải tất cả đều cần thiết. Đôi khi tôi chỉ vượt lên trên việc làm cho mọi thứ trở nên đẹp đẽ.

Nếu bạn đi chệch khỏi các sản phẩm chính xác này, chỉ cần đảm bảo rằng servo của bạn có bánh răng bằng kim loại và lưu ý số răng vì tay / sừng servo của bạn sẽ cần có cùng số răng. Servo và cánh tay được liệt kê dưới đây là 25T, nghĩa là 25 răng. Ngoài ra, tôi đã sử dụng một cánh tay bằng nhựa trong lần đi đầu tiên và răng bị bong ra trong vòng một tuần sử dụng, vì vậy đừng đi con đường nhựa, hãy lấy kim loại.

1. Photon hạt $ 19,99

2. Breadboard và dây Jumper $ 7.69

3. Servo $ 19,99

4. Cánh tay / sừng servo kim loại $ 8,98

5. Piezo Buzzer $ 5,05

6. Máy rút ngũ cốc $ 14,95

7. Bảng sợi quang từ cửa hàng phần cứng cho hộp, 2 miếng đề phòng bạn làm lộn xộn $ 20

8. Rustoleum Hammered Spray Paint $ 5,97

8. Khác. các mặt hàng như đinh vít, keo dán gỗ, đinh, giấy nhám, chất độn gỗ, v.v.

Bước 2: Thiết lập Photon hạt

Bước đầu tiên là kết nối Photon hạt của bạn với internet. Điều này rất dễ dàng, đặc biệt là với các hướng dẫn do Particle cung cấp. Tải ứng dụng Particle xuống điện thoại của bạn, tạo tài khoản hạt và làm theo hướng dẫn để kết nối nó với wifi của bạn. Xem Video và làm theo các hướng dẫn sau!

docs.particle.io/guide/getting-started/start/photon/

Bước 3: Kết nối Particle với Servo, Breadboard và Buzzer

Kết nối Particle với Servo, Breadboard và Buzzer
Kết nối Particle với Servo, Breadboard và Buzzer
Kết nối Particle với Servo, Breadboard và Buzzer
Kết nối Particle với Servo, Breadboard và Buzzer

Được rồi, bây giờ chúng ta cần kết nối hạt với servo và buzzer bằng cách sử dụng breadboard. Gắn hạt của bạn vào breadboard để lại 2 lỗ ghim ở mỗi bên, việc đặt hạt ở đâu bên ngoài đó không thực sự quan trọng. Tôi hàn dây của mình vào bộ rung và sau đó sử dụng keo nóng để cố định nó. Một phương pháp đơn giản hơn là sử dụng đầu nối đầu cuối hoặc đầu nối đối đầu và uốn chúng bằng kìm. Tùy thuộc vào bạn.

Kết nối các dây servo:

Dây servo VIN màu đỏ

A5 dây servo màu vàng

GND Dây servo màu đen

Kết nối dây còi (không quan trọng là dây nào):

D0 Dây còi

GND dây Buzzer

Bước 4: Nhấp nháy mã cho Photon

Mã nhấp nháy cho Photon
Mã nhấp nháy cho Photon

Bây giờ bạn đã có dây, hãy flash mã phần sụn cho photon và kiểm tra xem bộ rung có phát giai điệu và servo quay hay không.

Đăng nhập vào bảng điều khiển xây dựng hạt bằng tài khoản của bạn

Nhấp vào nút mã trên thanh công cụ bên trái. Sao chép và dán mã phần sụn được cung cấp (cat_feeder.c) vào bảng điều khiển xây dựng, thay thế bất kỳ mã hiện có nào ở đó theo mặc định.

Giải thích một chút về chức năng nguồn cấp dữ liệu. Vì việc cho ăn có thể được gọi bằng 3 phương pháp khác nhau (nút, giọng nói, lịch trình) nên chúng ta cần 3 lệnh khác nhau để xuất bản từng sự kiện để chúng ta biết mèo đã được cho ăn như thế nào. Các lệnh này được "cho ăn" khi cho ăn bằng nút, "cho ăn" khi cho ăn theo lịch trình và "cho ăn" khi cho ăn bằng lệnh thoại.

Nhấp vào nút Tìm thư mục để lưu mã của bạn, đặt tên cho mã do bạn chọn.

Nhấp vào nút xác minh (nó trông giống như một dấu kiểm với một vòng tròn xung quanh nó). Sau một lúc, bạn sẽ thấy trong thanh trạng thái dưới cùng:

Đang biên dịch mã… Đã xác minh mã. Công việc tuyệt vời! Sẵn sàng.

Bây giờ, nhấp vào nút Flash trên thanh công cụ bên trái (trông giống như một tia chớp). Sau một lúc, bạn sẽ thấy trong thanh trạng thái dưới cùng:

Đang nhấp nháy mã… Flash thành công! Thiết bị của bạn đang được cập nhật. Sẵn sàng.

Tiếp theo, đăng nhập vào bảng điều khiển hạt

Nhấp vào Photon hạt của bạn. Đây là trang trạng thái cho thiết bị của bạn, bạn có thể thấy trong Nhật ký sự kiện khi các hành động được thực hiện, chẳng hạn như mã nhấp nháy hoặc khi các sự kiện được xuất bản từ việc gọi các lệnh nguồn cấp dữ liệu. Để bắt đầu một lệnh nguồn cấp dữ liệu, bạn sẽ sử dụng ô Chức năng ở phía bên phải của bảng điều khiển này. Vì hàm được gọi là "nguồn cấp dữ liệu" trong mã, bạn sẽ thấy nó và một hộp nhập đối số.

Nhập "bfeed" vào hộp nhập đối số và nhấp vào Gọi.

Điều này sẽ phát giai điệu và sau đó xoay servo. Nếu bạn muốn, cho mục đích thử nghiệm, hãy thay đổi thời gian trễ trong mã từ 330 MS thành một thời gian dài hơn như 5000 nếu bạn muốn xác minh việc quay servo. Bạn cần nhấp vào nút Flash mỗi khi thực hiện bất kỳ thay đổi nào đối với mã. Bạn có thể sẽ cần phải điều chỉnh độ trễ sau này để có được lượng lượt mong muốn (chẳng hạn như cho chó ăn, bạn có thể muốn phân bổ nhiều thức ăn hơn).

Bước 5: Tạo một chiếc hộp để chứa mọi thứ

Tạo một chiếc hộp để chứa mọi thứ
Tạo một chiếc hộp để chứa mọi thứ
Tạo một chiếc hộp để chứa mọi thứ
Tạo một chiếc hộp để chứa mọi thứ
Tạo một chiếc hộp để chứa mọi thứ
Tạo một chiếc hộp để chứa mọi thứ

Bước này bao gồm kỹ năng làm mộc thời trang tốt của bạn. Tôi đã mua 2 tấm ván sợi -2x4ft để làm hộp vì nó chắc, mịn khi chạm vào, tương đối rẻ và dễ cắt / làm việc. Bạn có thể chọn bất kỳ vật liệu nào. Bước này thực sự do bạn quyết định về cách nó được xây dựng bởi vì mọi người đều có nhu cầu khác nhau. Tôi sẽ không có chi tiết từng bước để làm hộp nhưng tôi có thể chia sẻ quá trình suy nghĩ và phương pháp tôi đã sử dụng.

Có một số yếu tố tôi đã cân nhắc để thiết kế hộp. Tôi muốn thứ này càng nhỏ gọn càng tốt. Tôi muốn nó có thể dễ dàng sử dụng để làm sạch và / hoặc sửa chữa nó nếu nó từng bị trục trặc. Cuối cùng, tôi muốn ống phân phối lộ ra ngoài để tôi có thể nhìn rõ khi thực phẩm sắp hết. Với ý nghĩ này, tôi đã làm hộp trước và sau đó đo kích thước bên trong để tạo ra một khung hình vuông gắn bộ phân phối, servo và bo mạch. Bằng cách này, toàn bộ thiết bị có thể được nhấc ra khỏi hộp để bảo dưỡng. Nhìn những bức tranh.

Bước 6: Trình xử lý thiết bị SmartThings

Trình xử lý thiết bị SmartThings
Trình xử lý thiết bị SmartThings
Trình xử lý thiết bị SmartThings
Trình xử lý thiết bị SmartThings
Trình xử lý thiết bị SmartThings
Trình xử lý thiết bị SmartThings

Bước này giải thích cách triển khai gọi hàm nguồn cấp dữ liệu bằng SmartThings và Alexa. Để làm điều này, tôi đã phải viết 2 trình xử lý thiết bị linh hoạt. Một trong những trình xử lý dành cho "bfeed" khi tôi nhấn nút trong SmartThings và trình xử lý còn lại dành cho "vfeed" khi tôi yêu cầu Alexa cho Bella ăn bằng lệnh thoại. Một lý do khác để có 2 trình xử lý khác nhau là Alexa chỉ nhận dạng các thiết bị là công tắc, không phải nút. Vì vậy, tôi đã phải lừa Alexa nhận ra một công tắc để gọi chức năng (tắt và bật thực hiện cùng một hành động). Ok, chúng ta hãy bắt đầu.

Đăng nhập (hoặc tạo tài khoản) vào cổng IDE SmartThings tại https://ide.smartthings.com bằng tài khoản Samsung Account hoặc SmartThings của bạn.

Xác nhận trung tâm SmartThings của bạn hiển thị trong "Vị trí của tôi" và "Trung tâm của tôi". Nếu nó không hiển thị, hãy khắc phục sự cố này trước khi tiếp tục.

Chúng tôi sẽ tạo Trình xử lý nút trước

Nhấp vào "Trình xử lý thiết bị của tôi" trên thanh điều hướng trên cùng.

Nhấp vào nút màu xanh lam "Tạo Trình xử lý Thiết bị Mới"

Chọn tab "Từ mã" và dán mã vào từ tệp đính kèm button_handler.groovy. Sau đó nhấp vào Tạo.

Nhấp vào "Lưu" và "Xuất bản" "Cho tôi". Bạn sẽ thấy một thông báo màu xanh lục xuất hiện cho biết "Đã xuất bản thành công loại thiết bị".

Bây giờ, chuyển sang điện thoại của bạn và mở ứng dụng SmartThings. Bạn sẽ thấy trình xử lý xuất hiện như một thiết bị mới. Bạn sẽ cần phải định cấu hình trình xử lý để nó đăng vào thiết bị hạt của bạn. Chọn thiết bị mới tạo và mở Cài đặt (trông giống như biểu tượng bánh răng).

Nhập Tên thiết bị - Đặt tên cho thiết bị là bất cứ thứ gì bạn chọn, tôi chắc chắn rằng con mèo của bạn cũng không có tên là Bella.

Nhập Mã thông báo truy cập - Mã thông báo truy cập sẽ được tìm thấy trong bảng điều khiển Particle Build https://build.particle.io/ trong Cài đặt (biểu tượng bánh răng ở dưới cùng bên trái). Mã truy cập sẽ là một chuỗi 40 ký tự.

Nhập ID thiết bị - ID thiết bị được tìm thấy trên trang Bảng điều khiển hạt dưới dạng chuỗi 24 ký tự và cũng được nhìn thấy trong tất cả URL hạt khi bạn đăng nhập vào tài khoản của mình làm việc trên thiết bị hạt của bạn. ID thiết bị nhìn thấy BOLD trong URL:

Nhấp vào để lưu.

Nhấp vào nút Nguồn cấp dữ liệu!

Bằng cách nhấp vào nút nguồn cấp dữ liệu, bạn sẽ nghe thấy giai điệu và làm cho servo quay. Bạn cũng sẽ thấy các sự kiện được xuất bản trong nhật ký sự kiện của bảng điều khiển hạt.

Tiếp theo, chúng tôi sẽ tạo Trình xử lý thiết bị cho Alexa

Làm theo quy trình tương tự như trên. Truy cập cổng IDE SmartThings và nhấp vào "Trình xử lý thiết bị của tôi" trên thanh điều hướng trên cùng. Nhấp vào nút màu xanh lam "Tạo trình xử lý thiết bị mới"

Chọn tab "Từ mã" và dán mã vào từ tệp đính kèm alexa_handler.groovy. Sau đó nhấp vào Tạo.

Nhấp vào "Lưu" và "Xuất bản" "Cho tôi". Bạn sẽ thấy một thông báo màu xanh lục xuất hiện cho biết, "Đã xuất bản thành công loại thiết bị".

Bây giờ, quay trở lại điện thoại của bạn và mở ứng dụng SmartThings. Bạn sẽ thấy trình xử lý xuất hiện như một thiết bị mới nhưng lần này không có bất kỳ nút nào. Bạn sẽ cần phải định cấu hình trình xử lý bằng Mã truy cập và ID thiết bị của mình giống như bạn đã làm trước đây.

Chọn thiết bị mới được tạo trong SmartThings và mở Cài đặt (trông giống như biểu tượng bánh răng).

Nhập Tên thiết bị - Đặt tên thiết bị theo ý bạn, tôi đã gọi nó là "Trình xử lý nguồn cấp dữ liệu cho Alexa" để vợ tôi biết nó không phải là nút Trình cấp dữ liệu dành cho mèo.

Nhập Mã thông báo truy cập và Nhập ID thiết bị, sau đó nhấp vào Lưu.

Bây giờ, hãy mở Ứng dụng Alexa trên điện thoại của bạn. Nếu bạn chưa làm như vậy trước đây, hãy bật Kỹ năng SmartThings Alexa và liên kết tài khoản SmartThings của bạn với Ứng dụng Alexa. Sau đó, chuyển đến màn hình Trang chủ thông minh và nhấp vào "Thêm thiết bị". Điều này cũng có thể được thực hiện bằng cách nói "Alexa, khám phá thiết bị". Một thiết bị sẽ hiển thị với biểu tượng công tắc, nó sẽ được đặt tên theo bất kỳ tên nào bạn đã đặt tên cho trình xử lý trong SmartThings. Bạn có thể thay đổi tên của nó trong ứng dụng Alexa nếu muốn nhưng hãy nhớ rằng đây là loại công tắc nên nó sẽ yêu cầu nói "Alexa, bật" hoặc "Alexa, tắt". Tôi biết điều này không hay khi nói "Bật khay cho mèo ăn", vì vậy, một giải pháp thay thế là tạo một thói quen mới trong ứng dụng Alexa và gọi nó bằng cụm từ chính xác mà bạn muốn. Tôi đã thực hiện một quy trình có tên "Cho Bella ăn" để bật công tắc máng ăn cho mèo.

Bằng cách nhấp vào nút chuyển trong ứng dụng Alexa, bây giờ bạn sẽ gọi thành công hàm nguồn cấp dữ liệu. Nhật ký sự kiện của Particle Console cũng nên đăng các sự kiện chỉ ra như vậy.

Một khi bạn có mọi thứ được đặt tên theo cách bạn muốn, hãy tiếp tục và thử!

Bước 7: Kết hợp tất cả lại với nhau

Để tất cả chúng cùng nhau
Để tất cả chúng cùng nhau
Để tất cả chúng cùng nhau
Để tất cả chúng cùng nhau
Để tất cả chúng cùng nhau
Để tất cả chúng cùng nhau
Để tất cả chúng cùng nhau
Để tất cả chúng cùng nhau

Phần cuối cùng tôi chưa trình bày là cách lập lịch các nguồn cấp dữ liệu và ghi lại các sự kiện đã xuất bản trong Google Trang tính. Có thể bạn đang nghĩ Ứng dụng Alexa có thể được sử dụng để tạo thói quen cho lịch trình nhưng điều này sẽ không cho phép chúng tôi ghi lại lịch biểu so với lệnh thoại hoặc nút. Vì vậy, thay vào đó, đã có một ứng dụng IFTTT cho hạt mà chúng ta sẽ sử dụng.

Hãy tạo ứng dụng IFTTT để lập lịch nguồn cấp dữ liệu

Truy cập https://ifttt.com hoặc tải xuống ứng dụng IFTTT trên điện thoại thông minh và đăng nhập (tạo tài khoản nếu cần)

Nếu bạn chưa quen với IFTTT, nó sẽ rất đơn giản. Mỗi applet đều bao gồm IF (một điều kiện hoặc trình kích hoạt) và THAT (một số hành động cần thực hiện).

Vì vậy, khi đã đăng nhập IFTTT, hãy tạo một applet mới, chọn IF và tìm kiếm hoặc chọn "Ngày và Giờ". Bạn định cấu hình điều này theo bất kỳ lịch trình nào bạn muốn. Sau đó, tiến hành các bước và khi bạn đến RẰNG, bạn sẽ tìm kiếm "Hạt" và chọn "Gọi một chức năng". Điền vào các trường như trong ảnh chụp màn hình ở trên, đảm bảo sử dụng "sfeed" làm đầu vào vì đây là lệnh cần thiết để xuất bản sự kiện "Fed theo lịch trình". Bạn có thể cần kết nối hoặc đăng nhập vào tài khoản hạt của mình trong khi thiết lập applet này. Lưu applet và bạn nên sử dụng. Nếu bạn muốn kiểm tra, chỉ cần thay đổi ngày và giờ thành gần trong tương lai và xem liệu nó có kích hoạt đúng hay không.

Bây giờ để tạo các ứng dụng IFTTT để xử lý 3 loại sự kiện

Có 3 lệnh chúng ta cần tính đến khi máy cho mèo chạy. Đây là những mã cứng trong phần sụn hạt:

Bella cho ăn theo lịch trìnhBella cho ăn bằng nútBella cho ăn bằng lệnh thoại

Nếu thú cưng của bạn không được đặt tên là "Bella", bạn có thể muốn thay đổi điều này trong phần sụn và flash lại. Thay đổi văn bản trong dòng Particle.publish của mã hạt.

Tạo một ứng dụng IFTTT mới. (cần làm điều này 3 lần, cho mỗi loại sự kiện)

Bắt đầu với IF, tìm kiếm Hạt và chọn "Sự kiện mới được xuất bản". Tên sự kiện sẽ cần phải là Tên sự kiện đã xuất bản chính xác mà bạn có trong chương trình cơ sở của mình. Ví dụ: "Bella được cho ăn theo lịch trình" là tên sự kiện chính xác trong mã tôi đã cung cấp cho bạn. Kiểm tra ảnh chụp màn hình khi tôi điền vào để tham khảo. Bạn cũng sẽ cần tạo thêm 2 IFTTT để xử lý các sự kiện khác. Applet này sẽ tạo một trang tính mới trong google drive của bạn nếu nó chưa tồn tại và ghi các sự kiện mới vào hàng trống tiếp theo.

Đề xuất: