Jakiś czas temu natknąłem się na Amazonie na pewnego małego robota do iPhone’a. Wydawał się interesujący i znajomy jednocześnie. Przypomniałem sobie, że widziałem kampanię kickstarter dla tego samego robota. Najwyraźniej projekt został sfinansowany i odniósł pewien sukces i dlatego byłem w stanie znaleźć go na sprzedaż na Amazon.

Po krótkich badaniach zorientowałem się, że Romotive, firma stojąca za nim, już nie istnieje, co może oznaczać, że robot nie będzie wspierany. Krótko mówiąc, było to zbyt intrygujące, aby się oprzeć, więc zamówienie zostało złożone.

2 Romos za $32!

Cena byłaby dosłownie kradziona, JEŚLI robot by działał. To było wielkie pytanie w moim umyśle, biorąc pod uwagę brak informacji online. Kilka dni później paczka dotarła, Romo został rozpakowany i pojawił się pierwszy problem.

Rozmiar

Najwyraźniej rozmiar ma znaczenie, jeśli chodzi o roboty. Romo został stworzony dla iPhone’a 5, znacznie mniejszego urządzenia niż obecny iPhone X. Miałem iPhone’a 5S leżącego w pobliżu, który zgodnie z oczekiwaniami pasował idealnie. Miałem też iPhone’a 6S, który był większy, ale ostatecznie również pasował z niewielkim ściśnięciem. Tak naprawdę nie było to problemem. So far so good!

App

Drugie rozczarowanie przyszło wkrótce po tym, jak reklamowana aplikacja nie była już w App Store. Domyślam się, że konto Apple Romotive nie zostało odnowione po tym, jak firma wycofała się z biznesu, a wraz z tym aplikacje zostały zdjęte z App Store.

To był główny bloker. Moim pierwszym pomysłem była próba znalezienia starego IPA. To nie piwo, ale zamiast iOS aplikacji wykonywalnych. Łatwiej powiedzieć niż zrobić, ponieważ na iOS ciężko jest dostać w swoje ręce pliki IPA, a nawet jeśli to zrobisz, wymagałoby to jailbroken telefonu, aby móc go uruchomić na swoim urządzeniu.

Inną ścieżką, którą chciałem zbadać było znalezienie być może czegoś otwartego na GitHubie lub gdzie indziej. Po pewnym fiddling z unmaintained lub niekompletne repos udało mi się zmontować kompletny kod źródłowy aplikacji Romo i SDK! Najwyraźniej Romotive przed zamknięciem, uprzejmie zrobił to:

„Zdecydowaliśmy się całkowicie open-source każdy ostatni bit Romo’s smarts. Wszystkie nasze projekty znajdują się w tym repo i możecie ich używać jak tylko chcecie.”

Hooray! W końcu wszystko zaczęło wyglądać świetnie.

Nie tak szybko… To co miałem w rękach to dość przestarzała i masywna baza kodów z mnóstwem błędów, ostrzeżeń i niekompatybilności. Na szczęście jestem programistą iOS więc mogłem zrobić użytek z tego co miałem w rękach. To nie będzie łatwe zadanie i nie było gwarancji, że to faktycznie zadziała na końcu.

Przód do dzisiaj

Po wielu godzinach pracy i podzieleniu zadania na mniejsze kawałki udało mi się posprzątać bałagan i prawie wszystko działa!

Teraz wszystkie starsze i nowsze wersje iOS są obsługiwane. Możesz używać Romo z każdym systemem iOS od iOS 6 do iOS 12! Włożono wiele pracy w kompatybilność wsteczną, abyście mogli używać swoich starych 30-pinowych Romo i starych iPhone’ów.

Możecie używać dowolnego urządzenia aż do iPhone’a 8! Założę się, że twórcy Romo nie widzieli, że nadchodzi 😎

Możesz użyć Romo X Control, aby kontrolować robota Romo z innego urządzenia iOS w tej samej sieci.

Były główne czyszczenia i optymalizacje z aplikacją teraz jest tak lekka, że nawet iPhone 3GS może ją obsługiwać.

Romo Developers

Najważniejszym celem było umożliwienie istniejącym lub nowym społecznościom twórców, opiekunów i badaczy aktywnego zaangażowania się w platformę Romo i robotykę smartfonów w ogóle.

Widzę duży potencjał w sprzęcie pakowanym ostatnio w smartfony. A posiadanie tej mocy na kółkach z pewnością otwiera nowe możliwości.

Chciałem ułatwić programistom przyjęcie Romo i rozpoczęcie pisania dla niego aplikacji w krótkim czasie. Dlatego właśnie teraz Romo SDK jest open source i oferowane na CocoaPods.

Widzieliśmy już inne projekty Romo, takie jak ten fajny projekt, który umieszcza Romo w rzeczywistości rozszerzonej.

Mam nadzieję, że przyjęcie CocoaPods pomoże zobaczyć więcej i więcej projektów takich jak ten!

Co dalej

Mówiąc, że mam prawie wszystko działające jest dokładne, jednak chciałbym móc usunąć słowo prawie z mojego zdania. Jedyne czego mi brakuje to telepresence, czyli możliwości zdalnego zalogowania się do swojego Romo i sterowania nim. Jest to fajna i przydatna funkcja, o którą prosiło wielu użytkowników.

Jeśli chcesz, aby to się stało tak samo jak ja, odwiedź moją stronę Patreon i proszę, wesprzyj mnie. Możesz zobaczyć jakie cele zostały wyznaczone i jak daleko jesteśmy od nich. Możesz znaleźć Romo X i Romo X Control w App Store.

Moja armia Romo pozdrawia!

Szczególne podziękowania dla wszystkich ludzi, którzy pracowali nad tym, aby Romo stało się rzeczywistością, a także dla moich zwolenników na Patreon.

Articles

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.