Spisu treści:

IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Arkusze Google: 7 kroków (ze zdjęciami)
IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Arkusze Google: 7 kroków (ze zdjęciami)

Wideo: IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Arkusze Google: 7 kroków (ze zdjęciami)

Wideo: IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Arkusze Google: 7 kroków (ze zdjęciami)
Wideo: Обзор кормушки HIPER IoT Pet Feeder 2024, Lipiec
Anonim
Image
Image
IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder wykorzystujący Particle Photon zintegrowany z Alexa, SmartThings, IFTTT, Google Sheets

Potrzeba automatycznego karmnika dla kotów jest oczywista. Koty (nasz kot ma na imię Bella) mogą być nieprzyjemne, gdy są głodne, a jeśli twój kot jest taki jak mój, za każdym razem zje miskę na sucho. Potrzebowałem sposobu na automatyczne dozowanie kontrolowanej ilości jedzenia 3 metodami - 1. poleceniem głosowym Alexa, 2. harmonogramem i 3. przyciskiem w SmartThings. Chciałem również śledzić, jak i kiedy kot jest karmiony, abyśmy nie karmili dwa razy (czasami, gdy moja żona karmi kota, a ja karmię kota ponownie 15 minut później).

Ten projekt nie jest zbyt trudny, nie jestem programistą ani inżynierem, ale było wiele zasobów online, które mi pomogły. Kompiluję wszystko, czego użyłem i wszystkie kroki niezbędne do wykonania tego projektu. Ciesz się i szczęśliwego budowania!

Krok 1: Zdobądź wszystkie potrzebne materiały - około 100 USD

Zdobądź wszystkie potrzebne materiały - około 100 USD
Zdobądź wszystkie potrzebne materiały - około 100 USD

Oto wszystko, co kupiłem, aby zrobić ten karmnik dla kotów. To było około 100 dolarów, czyli trochę więcej niż moje planowane 75 dolarów, ale wybrałem części lepszej jakości, aby zapewnić, że będzie trwać. Niektóre materiały, z których już musiałem zrobić pudełko, jak klej do drewna, pistolet do klejenia na gorąco, gwoździarka 18ga, papier ścierny, szpachlówka itp. Moim zdaniem należą do "narzędzi" i nie wszystkie są potrzebne. Po prostu staram się czasami robić coś ładnego.

Jeśli odbiegasz od tych dokładnych produktów, po prostu upewnij się, że twoje serwo ma metalową zębatkę i zanotuj liczbę zębów, ponieważ twoje ramię / klakson będzie musiało mieć taką samą liczbę zębów. Wymienione poniżej serwo i ramię to 25T, czyli 25 zębów. Ponadto użyłem plastikowego ramienia przy pierwszym odwróceniu i zęby zostały usunięte w ciągu tygodnia od użycia, więc nie idź plastikową trasą, zdobądź metal.

1. Particle Photon 19,99 USD

2. Płytka do krojenia chleba i przewody połączeniowe 7,69 USD

3. Serwo 19,99 USD

4. Metalowe ramię serwo / róg 8,98 USD

5. Piezo Buzzer 5,05 USD

6. Dozownik płatków zbożowych 14,95 USD

7. Płyta pilśniowa ze sklepu ze sprzętem do pudełka, 2 sztuki na wypadek, gdybyś zepsuł 20 USD

8. Farba w sprayu z młotkiem Rustoleum 5,97 USD

8. Różne przedmioty takie jak wkręty, klej do drewna, gwoździe, papier ścierny, szpachlówka itp.

Krok 2: Skonfiguruj foton cząstek

Pierwszym krokiem jest podłączenie Particle Photon do Internetu. Jest to bardzo łatwe, szczególnie z przewodnikami dostarczonymi przez Particle. Pobierz aplikację Particle na swój telefon, utwórz konto cząstek i postępuj zgodnie z instrukcjami, aby podłączyć go do Wi-Fi. Obejrzyj film i postępuj zgodnie z tymi instrukcjami!

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

Krok 3: Połącz cząsteczkę z serwomechanizmem, płytą do krojenia chleba i brzęczykiem

Połącz cząstki z serwomechanizmem, płytą do krojenia chleba i brzęczykiem
Połącz cząstki z serwomechanizmem, płytą do krojenia chleba i brzęczykiem
Połącz cząstki z serwomechanizmem, płytą chlebową i brzęczykiem
Połącz cząstki z serwomechanizmem, płytą chlebową i brzęczykiem

Ok, teraz musimy podłączyć cząsteczkę do serwa i brzęczyka za pomocą płytki stykowej. Przymocuj swoją cząsteczkę do płytki stykowej, pozostawiając 2 otwory na szpilki z każdej strony, tak naprawdę nie ma znaczenia, gdzie cząsteczka zostanie umieszczona na zewnątrz. Przylutowałem przewody do brzęczyka, a następnie przymocowałem go gorącym klejem. Prostszą metodą byłoby użycie złączy zaciskowych lub złączy doczołowych i zaciśnięcie ich szczypcami. Zależy od Ciebie.

Podłącz przewody serwa:

VIN czerwony przewód serwa

A5 żółty przewód serwa

GND Czarny przewód serwa

Podłącz przewody brzęczyka (nie ma znaczenia który):

Przewód brzęczyka D0

GND Przewód brzęczyka

Krok 4: Flashowanie kodu do Photona

Kod migający do Photona
Kod migający do Photona

Teraz, gdy masz to podłączone, sflashuj kod oprogramowania układowego do fotonu i sprawdź, czy brzęczyk odtwarza melodię, a serwo obraca się.

Zaloguj się do konsoli budowania cząstek, używając swojego konta

Kliknij przycisk kodu na pasku narzędzi po lewej stronie. Skopiuj i wklej dostarczony kod oprogramowania układowego (cat_feeder.c) do konsoli kompilacji, domyślnie zastąp tam istniejący kod.

Małe wyjaśnienie funkcji paszy. Ponieważ karmienie można wywołać 3 różnymi metodami (przycisk, głos, harmonogram), potrzebujemy 3 różnych poleceń, aby opublikować każde zdarzenie, abyśmy wiedzieli, jak kot był karmiony. Te polecenia to „bfeed”, gdy są karmione przyciskiem, „sfeed”, gdy są karmione zgodnie z harmonogramem i „vfeed”, gdy są karmione poleceniem głosowym.

Kliknij przycisk Wyszukiwanie folderu, aby zapisać kod i nadaj mu wybraną nazwę.

Kliknij przycisk weryfikacji (wygląda jak znacznik wyboru z kółkiem wokół niego). Po kilku chwilach powinieneś zobaczyć na dolnym pasku stanu:

Kompiluję kod… Kod zweryfikowany. Świetna robota! Gotowy.

Teraz kliknij przycisk Flash na lewym pasku narzędzi (wygląda jak błyskawica). Po kilku chwilach powinieneś zobaczyć na dolnym pasku stanu:

Flashowanie kodu… Flashowanie zakończone pomyślnie! Twoje urządzenie jest aktualizowane. Gotowy.

Następnie zaloguj się do konsoli cząstek

Kliknij na swój Particle Photon. Jest to strona stanu Twojego urządzenia, którą możesz zobaczyć w Dziennikach zdarzeń, gdy podejmowane są działania, takie jak miganie kodu lub gdy zdarzenia są publikowane po wywołaniu poleceń kanału. Aby zainicjować polecenie kanału, użyj kafelka Funkcja po prawej stronie tej konsoli. Ponieważ funkcja nazywa się w kodzie „feed”, powinieneś ją zobaczyć i pole wprowadzania argumentów.

Wpisz „bfeed” w polu wprowadzania argumentów i kliknij Zadzwoń.

To powinno zagrać melodię, a następnie włączyć serwo. Jeśli chcesz, do celów testowych, zmień opóźnienie w kodzie z 330 MS na coś dłuższego, np. 5000, jeśli chcesz zweryfikować obracanie serwomechanizmu. Musisz kliknąć przycisk Flash za każdym razem, gdy wprowadzasz jakiekolwiek zmiany w kodzie. Prawdopodobnie będziesz musiał później dostosować opóźnienie, aby uzyskać pożądaną liczbę obrotów (na przykład karmienie psa, możesz chcieć dozować więcej jedzenia).

Krok 5: Zrób pudełko na wszystko

Zrób pudełko na wszystko
Zrób pudełko na wszystko
Zrób pudełko na wszystko
Zrób pudełko na wszystko
Zrób pudełko na wszystko
Zrób pudełko na wszystko

Ten krok składa się z twoich dobrych umiejętności stolarskich. Kupiłem płyty pilśniowe 2 -2x4 stopy, aby zrobić pudełko, ponieważ jest mocne, gładkie w dotyku, stosunkowo tanie i łatwe do cięcia/pracy. Możesz wybrać dowolny materiał. Ten krok zależy od twojego uznania, ponieważ każdy ma inne potrzeby. Nie będę miał szczegółowego opisu tworzenia pudełka krok po kroku, ale mogę podzielić się procesem myślowym i zastosowanymi metodami.

Projektując pudełko wziąłem pod uwagę wiele czynników. Chciałem, żeby ta rzecz była jak najbardziej zwarta. Chciałem, aby był łatwy do serwisowania w celu czyszczenia i / lub naprawy, gdyby kiedykolwiek działał nieprawidłowo. Na koniec chciałem, aby rurka dozownika była odsłonięta, abym mógł wyraźnie zobaczyć, kiedy kończy się żywność. Mając to na uwadze, najpierw wykonałem pudełko, a następnie zmierzyłem wymiary wewnętrzne, aby zrobić kwadratową ramę, do której przymocowany jest dozownik, serwo i płyta. W ten sposób całe urządzenie można wyjąć bezpośrednio z pudła w celu serwisowania. Zobacz zdjęcia.

Krok 6: Programy obsługi urządzeń SmartThings

Programy obsługi urządzeń SmartThings
Programy obsługi urządzeń SmartThings
Programy obsługi urządzeń SmartThings
Programy obsługi urządzeń SmartThings
Programy obsługi urządzeń SmartThings
Programy obsługi urządzeń SmartThings

Ten krok wyjaśnia, jak zaimplementować wywoływanie funkcji kanału za pomocą SmartThings i Alexa. Aby to zrobić, musiałem napisać 2 fajne programy obsługi urządzeń. Jeden z programów obsługi jest dla „bfeed”, gdy naciskam przycisk w SmartThings, a drugi dla „vfeed”, gdy proszę Alexę, aby nakarmiła Bellę poleceniem głosowym. Innym powodem posiadania 2 różnych programów obsługi jest to, że Alexa rozpoznaje tylko urządzenia, które są przełącznikami, a nie przyciskami. Musiałem więc nakłonić Alexę do rozpoznania przełącznika w celu wywołania funkcji (wyłączenie i włączenie wykonania tej samej akcji). Ok, zaczynajmy.

Zaloguj się (lub utwórz konto) do portalu IDE SmartThings pod adresem https://ide.smartthings.com przy użyciu konta Samsung lub konta SmartThings.

Upewnij się, że Twoje centrum SmartThings pojawia się w sekcji „Moje lokalizacje” i „Moje centra”. Jeśli się nie wyświetla, rozwiąż to, zanim przejdziesz dalej.

Najpierw utworzymy Button Handler

Kliknij „Moje programy obsługi urządzeń” na górnym pasku nawigacyjnym.

Kliknij niebieski przycisk „Utwórz nowy program obsługi urządzenia”

Wybierz zakładkę "Z kodu" i wklej kod z załączonego pliku button_handler.groovy. Następnie kliknij Utwórz.

Kliknij „Zapisz” i „Opublikuj” „Dla mnie”. Powinieneś zobaczyć zielone powiadomienie o treści „Pomyślnie opublikowano typ urządzenia”.

Teraz przejdź do telefonu i otwórz aplikację SmartThings. Powinieneś zobaczyć, że program obsługi pojawi się jako nowe urządzenie. Musisz skonfigurować handler tak, aby publikował na twoim urządzeniu cząsteczkowym. Wybierz nowo utworzone urządzenie i otwórz Ustawienia (wygląda jak ikona koła zębatego).

Wpisz nazwę urządzenia - Nazwij urządzenie, jak chcesz, jestem pewien, że twój kot również nie ma na imię Bella.

Wprowadź token dostępu - token dostępu można znaleźć w konsoli Particle Build https://build.particle.io/ pod Ustawieniami (ikona koła zębatego w lewym dolnym rogu). Token dostępu będzie składał się z 40 znaków.

Wprowadź identyfikator urządzenia - identyfikator urządzenia znajduje się na stronie Konsoli cząstek jako ciąg 24 znaków i jest również widoczny we wszystkich adresach URL cząstek, gdy jesteś zalogowany na swoje konto pracujące na urządzeniu cząstek. Identyfikator urządzenia widoczny pogrubioną czcionką w adresie URL:

Kliknij Zapisz.

Kliknij przycisk RSS!

Klikając przycisk podawania, powinieneś usłyszeć melodię i uruchomić serwo. Powinieneś także widzieć zdarzenia opublikowane w dzienniku zdarzeń konsoli cząstek.

Następnie utworzymy Device Handler dla Alexy

Wykonaj tę samą procedurę, jak powyżej. Przejdź do portalu IDE SmartThings i kliknij „Moje programy obsługi urządzeń” na górnym pasku nawigacyjnym. Kliknij niebieski przycisk „Utwórz nowy program obsługi urządzeń”

Wybierz zakładkę "Z kodu" i wklej kod z załączonego pliku alexa_handler.groovy. Następnie kliknij Utwórz.

Kliknij „Zapisz” i „Opublikuj” „Dla mnie”. Powinieneś zobaczyć zielone powiadomienie o treści „Pomyślnie opublikowano typ urządzenia”.

Teraz wróć do telefonu i otwórz aplikację SmartThings. Powinieneś zobaczyć, że program obsługi pojawi się jako nowe urządzenie, ale tym razem bez żadnego przycisku. Musisz skonfigurować program obsługi za pomocą tokena dostępu i identyfikatora urządzenia, tak jak poprzednio.

Wybierz nowo utworzone urządzenie w SmartThings i otwórz Ustawienia (wygląda jak ikona koła zębatego).

Wprowadź nazwę urządzenia - nazwij urządzenie, jak chcesz, nazwałem je "Obsługa podajnika dla kota dla Alexy", aby moja żona wiedziała, że to nie przycisk podajnika kota.

Wprowadź token dostępu i wprowadź identyfikator urządzenia, a następnie kliknij Zapisz.

Teraz otwórz aplikację Alexa na swoim telefonie. Jeśli jeszcze tego nie zrobiłeś, włącz umiejętność SmartThings Alexa Skill i połącz swoje konto SmartThings z aplikacją Alexa. Następnie przejdź do ekranu Smart Home i kliknij „Dodaj urządzenie”. Można to również zrobić, mówiąc „Alexa, odkryj urządzenia”. Urządzenie powinno pojawić się z ikoną przełącznika, zostanie nazwane tak, jak nazwałeś obsługę w SmartThings. Możesz zmienić jego nazwę w aplikacji Alexa, jeśli chcesz, ale pamiętaj, że jest to typ przełącznika, więc będzie wymagał powiedzenia „Alexa, włącz” lub „Alexa, wyłącz”. Wiem, że nie jest miło powiedzieć „Włącz podajnik dla kota”, więc alternatywą jest utworzenie nowej procedury w aplikacji Alexa i nazwanie jej dokładnie taką frazą, jaką chcesz. Zrobiłem rutynę o nazwie „Feed Bella”, która włącza przełącznik podajnika kota.

Klikając przełącznik w aplikacji Alexa, powinieneś teraz pomyślnie wywoływać funkcję feed. Dziennik zdarzeń Konsoli cząstek powinien również zawierać zdarzenia wskazujące na to.

Gdy już masz wszystko nazwane tak, jak chcesz, spróbuj!

Krok 7: Złóż wszystko razem

Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem

Ostatnim elementem, którego nie omówiłem, jest planowanie kanałów i rejestrowanie opublikowanych wydarzeń w Arkuszu Google. Prawdopodobnie myślisz, że aplikacja Alexa może być używana do tworzenia rutyny dla harmonogramu, ale to nie pozwoliłoby nam rejestrować harmonogramu w porównaniu z poleceniem głosowym lub przyciskiem. Zamiast tego istnieje już aplet IFTTT dla cząstek, którego będziemy używać.

Stwórzmy aplet IFTTT do planowania kanałów

Przejdź do https://ifttt.com lub pobierz aplikację na smartfona IFTTT i zaloguj się (w razie potrzeby utwórz konto)

Jeśli jesteś nowy w IFTTT, jest to bardzo proste. Każdy aplet składa się z JEŻELI (warunek lub wyzwalacz) i TO (jakaś czynność do wykonania).

Więc po zalogowaniu się do IFTTT, utwórz nowy aplet, wybierz IF i wyszukaj lub wybierz "Date and Time". Konfigurujesz to według dowolnego harmonogramu. Następnie postępuj zgodnie z instrukcjami, a gdy dojdziesz do TEGO, wyszukasz „Particle” i wybierz „Call a Function”. Wypełnij pola jak na powyższym zrzucie ekranu, pamiętaj, aby użyć „sfeed” jako danych wejściowych, ponieważ jest to polecenie potrzebne do opublikowania zdarzenia „Fed by schedule”. Być może będziesz musiał połączyć się lub zalogować do swojego konta cząstek podczas konfigurowania tego apletu. Zapisz aplet i powinieneś być gotowy. Jeśli chcesz przetestować, po prostu zmień datę i godzinę na bliską w przyszłości i sprawdź, czy uruchamia się prawidłowo.

Teraz utwórz aplety IFTTT do obsługi 3 typów zdarzeń

Istnieją 3 polecenia, które musimy uwzględnić, gdy działa karmnik dla kota. Są one na stałe zakodowane w oprogramowaniu cząsteczkowym:

Bella nakarmiona według harmonogramu Bella nakarmiona przyciskiem Bella nakarmiona poleceniem głosowym

Jeśli twój zwierzak nie ma na imię „Bella”, prawdopodobnie chcesz to zmienić w oprogramowaniu i ponownie flashować. Zmień tekst w wierszu Particle.publish kodu cząstek.

Utwórz nowy aplet IFTTT. (trzeba to zrobić 3 razy, dla każdego typu zdarzenia)

Zaczynając od IF, wyszukaj Cząstka i wybierz „Opublikowano nowe wydarzenie”. Nazwa zdarzenia musi być dokładną nazwą opublikowanego zdarzenia, którą masz w swoim oprogramowaniu. Na przykład „Bella karmiona według harmonogramu” to dokładna nazwa wydarzenia w kodzie, który ci przekazałem. Sprawdź zrzut ekranu, gdy wypełniłem go w celach informacyjnych. Będziesz musiał utworzyć 2 dodatkowe IFTTT, aby obsłużyć również inne zdarzenia. Ten aplet utworzy nowy arkusz na dysku Google, jeśli jeszcze nie istnieje, i zarejestruje nowe zdarzenia w następnym pustym wierszu.

Zalecana: