Ludzie coraz chętniej kupują nowoczesne zabawki elektroniczne, takie jak autonomiczne drony. Często tylko po to, by nagrywać z ich użyciem wideo. Jednocześnie coraz więcej rzeczy jest połączonych z Internetem, tworząc Internet of Things, czyli po polsku – Internet Rzeczy. Monitorujemy w ten sposób stan maszyn, położenie pojazdów, warunki panujące w inteligentnych budynkach itp. Monitorowanie własnego kota może przy tym wydawać się pomysłem absurdalnym, ale już proste rozwinięcie omawianej aplikacji może przynosić realne korzyści posiadaczom.
Kot z Raspberry Pi
IoT Kitteh nie jest najbardziej przemyślanym projektem, ale w naszym przekonaniu może stanowić łatwą w realizacji podstawę do dalszych eksperymentów. Całość jest bardzo łatwa w przygotowaniu i opiera się na niezmiernie popularnym minikomputerze – Raspberry Pi. Autor zastosował model RPI 2B i doposażył go w kartę sieciową Wi-Fi na USB, ale obecnie polecalibyśmy po prostu użycie nowszego Raspberry Pi 3, z wbudowaną łącznością bezprzewodową. To jednak nie wszystko. Jak wiadomo, koty chodzą własnymi drogami i trzeba się liczyć z tym, że wyjdą poza zakres domowego Wi-Fi. Dlatego IoT Kitteh dostał też modem GSM w postaci płytki Adafruit FONA 808, w której główną rolę odgrywa moduł SimCOM SIM808. 4-zakresowy moduł pozwoli kontrolować poczynania kota, niemal niezależnie od tego, dokąd zawędruje, a zintegrowany odbiornik GPS umożliwia faktyczne śledzenie naszego podopiecznego.
Istnieje duża szansa, że kot wejdzie do jakiejś „dziury”, która ogranicza propagację fal radiowych. Stąd wypada sięgnąć po adekwatne anteny. Autor wybrał niewielką antenę o zysku energetycznym 3 dBi dla sieci GSM. Jej grubość to jedynie 2 mm. Użyta antena GPS jest kostką o wymiarach 9 mm×9 mm×6,5 mm i waży zaledwie 2,4 g.
Niemal 10 razy większe obciążenie dla kota będzie stanowić niezbędny akumulator. Tu wybór padł na ogniwo litowo-polimerowe o pojemności 1200 mAh i napięciu znamionowym 3,7 V. Przy pełnym naładowaniu napięcie to dochodzi do 4,2 V, co w praktyce przekłada się na ok. 4,5 Wh pojemności. Producent tego akumulatora zaleca ładowanie stałym prądem, nie większym niż 500 mA (ewentualnie do 0,5×C), gdyż ogniwo nie ma wbudowanego termistora. Prąd ten z łatwością można uzyskać z klasycznego złącza USB. Nie jest to jednak jedyne wymagane źródło energii. Potrzebny będzie też dowolny powerbank z gniazdem USB do zasilania samego Raspberry Pi, ponieważ wspomniany wcześniej akumulator posłuży tylko do zasilania modułu GSM/GPS.
Modem GSM w projekcie ma jeszcze dodatkowe zastosowanie – chodzi o sterowanie kotem. Jednakże jest to możliwe tylko przy założeniu, że zwierzę reaguje na komendy głosowe. Autor wykorzystuje łącze komórkowe nie tyle do danych, co do komunikacji głosowej. Dlatego niezbędnym elementem projektu jest zestaw słuchawkowy. Pozostałe komponenty to: płytki i przewody do wykonania połączeń, a w tym interfejs USB –> TTL. Potrzebna jest też karta micro SD na system operacyjny, uprząż do założenia na zwierzę i przede wszystkim sam kot (choć na psie system też powinien się sprawdzać). Jeśli chodzi o oprogramowanie, zastosowano usługi Amazon Web Services AWS IoT i bazę DynamoDB, o której także warto napisać kilka słów.
Zasada działania
Projekt IoT Kitteh ma w gruncie rzeczy bardzo ograniczony zestaw funkcji, ale wykorzystane w nim mechanizmy można bez problemu rozbudować o kolejne zastosowania – prawdopodobnie nawet znacznie bardziej przydatne. Niemniej twórca zdecydował, że zależy mu przede wszystkim na lokalizacji kota oraz przywoływaniu go. Wbudowany odbiornik GPS pozwala monitorować aktualne położenie zwierzęcia. Gdy kot jest gdzieś schowany, nie trzeba też go wołać ani nawet iść w jego kierunku. Zastępuje to funkcja przywoływania głosowego, opartego właśnie na telefonii komórkowej. Tu autor natrafił na jeden problem techniczny. O ile do modemu z modułem SimCOM SIM808 można bez problemu wykonywać połączenia, to niestety kot nie umie ich samemu odbierać. W związku z tym projektant zastosował odwrotną procedurę. Połączenie głosowe jest inicjowane przez modem na kocie, który automatycznie wybiera numer telefonu swojego właściciela. Dzieje się to wtedy, gdy Raspberry Pi odbierze odpowiednie polecenie z Internetu. Inaczej mówiąc – właściciel klika w przeglądarce na przycisk połączenia, komputer na kocie wykonuje otrzymaną komendę i nawiązuje połączenie, a właściciel odbiera telefon.
Dwukierunkowa komunikacja pozwala mu wydawać kotu polecenia i słyszeć ewentualne reakcje. Choć skuteczność pomysłu może wydawać się wątpliwa, doświadczenia twórcy IoT Kitteh pokazują, że metoda świetnie się sprawdza i kot faktycznie przybiega po zawołaniu go.
Montaż projektu
Połączenia pomiędzy większością komponentów są oczywiste. Na szczególną uwagę zasługuje sposób podłączenia modemu GSM. Użyty kabel USB –> TTL ma cztery żyły: RX, TX oraz dodatnie i ujemne bieguny zasilania. Należy je podłączyć odpowiednio do wyprowadzeń TX, RX VIO i GND modułu FONA808. Ponadto pin GND modułu należy połączyć z jego pinem KEY. Następnie do modułu dołączamy dwie anteny, zestaw słuchawkowy i akumulator. Wszystkie te wyprowadzenia są jednoznacznie opisane.
Tymczasem do Raspberry Pi należy dołączyć kartę Wi-Fi na USB (chyba że korzystamy z RPi 3), wtyczkę USB kabla USB –> TTL i źródło zasilania. Oczywiście potrzebna będzie też karta pamięci z wcześniej wgranym oprogramowaniem: Raspbianem Jessie i kodem programu. Całość została umieszczona w odblaskowej uprzęży dla kota, a same płytki autor ochronił za pomocą kartonowych pudełek. To mało eleganckie rozwiązanie, ale na etapie prototypowania może wystarczyć.