Homemade Roomba WiFi

usprawnienia, modyfikacje, hacking

Moderatorzy: GRZECH, barbapuppa, sondejm, Tester

ODPOWIEDZ

Jaka maksymalna cena zakupu tego WiFi była by dla ciebie do zaakceptowania?

<10zł
0
Brak głosów
<50zł
2
33%
<100zł
2
33%
<150zł
1
17%
<200zł
1
17%
 
Liczba głosów: 6

schizo85
Posty: 21
Rejestracja: 15 lis 2015, 23:13

Homemade Roomba WiFi

Post autor: schizo85 » 06 gru 2015, 11:11

Edit przez sondejm:
Pozwoliłem sobie bez zgody autora dołączyć ankietę z pytaniem o podłożu komercyjnym.


Tutaj będę udostępniał wszystkie informacje o samodzielnym zrobieniu modułu Wifi do Roomby serii 500 i 600, nie wiem jak w wyższych modelach ale w 700 i 800 prawdopodobnie też będzie działać, chociaż głowy nie daję za to. W miarę postępów będę uzupełniał wszystko. Na razie ogólny pogląd. Szczegóły, schematy i kody źródłowe będą później jak będę mieć chwilę czasu oraz w miarę postępu prac.

BTW Moja Roomba w trybie MAX chodzi już ponad 2 godziny, 15 minut i chyba zapomniała że zasilana jest z baterii. A jest to dziwne bo ona jest używana, od użytkownika tego forum piokrza a baterii nie wymieniał od nowości i ma ponad 2 lata.

Poniżej nudny techniczny wstęp dla osób obeznanych z elektroniką i techniką uC. Od razu zaznaczam że jestem programistą i to nie mikroprocesorów, więc przedstawione rozwiązania są amatorskie na podstawie tego co udało mi się wyczytać i nauczyć w necie. Jak ktoś ma większe doświadczenie, zwłaszcza z elektroniką, to chętnie wysłucham.

Co do sprzętu to pierwotny plan zakładał użycie dwóch Arduino i modułów nrf24L01, nawet poskładałem to i zaczęło chodzić. Ale przy okazji zakupów sprzętu kupiłem sobie moduł ESP_01, dla zabawy i z ciekawości. Jak już poskładałem wszystko na arduinach to wziąłem tamtego na tapetę bo wifi to jednak wifi. Niby to miał być sam moduł wifirifi do jakiegoś mikroprocka, kupiłem z ciekawości. Po kupnie, jak zagłębiłem się w specyfikację okazało się że siedzi tam wcale nie taki wolny 32 bitowy MCU a nawet że da się to programować samodzielnie i są do tego proste biblioteki, więc zmieniłem koncepcję. Będzie Roomba WiFi.

Sam moduł ESP_01 jest śmiesznie tani jeśli wziąć pod uwagę funkcjonalność którą oferuje, na alledrogo od 10zł, z czego są to moduły prosto z chin więc czemu by tam nie zakupić. Na aliexpress ceny już od 1.8$ i to z przesyłką.

Kwestie techniczne:
Moduł chodzi na napięciach 3,3V, port szeregowy Roomby 5V, potrzebny jest konwerter poziomów. Sprawę załatwia jeden tranzystor MOSFET np. BSS138, 2N7000 i dwa rezystory, wystarczy tylko jeden na linii od Roomby do ESP01. Wszędzie piszą że ESP01 nie toleruje napięcia 5V, ale nigdzie nie znalazłem informacji żeby komuś się spalił a spotkałem się z bezpośrednim podłączaniem poziomu 5V i 3,3V. Sprawdzę to kiedyś, będzie mniej elementów do podłączenia ale na razie mam jedną sztukę ESP01 i boję się ją upalić.

Zasilanie jest z Roomby. Z baterii 16V, trzeba je obniżyć do poziomu 3,3V i 5V. Podłączenie jest bezpośrednie z baterii Roomby i ponoć podczas ładowania może się tam pojawić nawet 24V. Jeszcze to dokładnie sprawdzę. Więc potrzeba stabilizator o dość szerokim zakresie napięć wejściowych. Na razie mam to poskładane na przetwornicy impulsowej lm2574-5V i później LM1117-3V z potrzebnymi kondensatorami itd. W późniejszym etapie zminiaturyzuję to na elementach SMD bo na razie jest to pająk posklejany klejem na gorąco. To 5V jest potrzebne do konwertera poziomu napięć. Muszę pomyśleć na czymś żeby nie było potrzeba napięcia 5V, odpadnie parę elementów.

Komunikacja z Roombą opiera się na przesyłaniu i odczytywaniu komend z portu szeregowego. Implementacja interfejsu Roomby OI. Jest dość dokładnie opisana w necie, oficjalne wydanie iRobota, plik Create2_Open_Interface_AUG_15_2015.

No to by było na tyle. Ja wyjdę z fazy prealpha do beta to udostępnię kod. Na razie jest zagmatwany i nie odpowiada żadnym standardom, programowanie TDD.

dokleił sondejm:

schizo85 dnia 20015-12-06 o 11:15 napisał:
Docelowo planuję sterowanie Roombą przez ESP i dorobię do tego jakiś interfejs, jak znajdę biblioteki jakieś sensowne. Nie chce mi się wyważać otwartych drzwi. Planuję Androida i może coś na Windowsa.
Ostatnio zmieniony 06 gru 2015, 11:16 przez schizo85, łącznie zmieniany 1 raz.

mobzd
Raczkujący z Robotami
Posty: 97
Rejestracja: 22 paź 2014, 10:45

Re: Homemade Roomba WiFi

Post autor: mobzd » 06 gru 2015, 12:31

Jeśli sterowanie tylko Roombą to np Souliss - są do tego apki na rożne platformy. Jeśli to ma być cześć czegoś większego to może MQTT i jakiś kontroler z OpenHAB czy Vera.

schizo85
Posty: 21
Rejestracja: 15 lis 2015, 23:13

Re: Homemade Roomba WiFi

Post autor: schizo85 » 06 gru 2015, 12:35

Co do samego sterowania to właśnie o Souliss myślałem, są do niego biblioteki to mogę pisać bez wnikania za bardzo w głąb. Leniwy jestem z natury i wszystko robię po najmniejszej linii oporu.

Z powodu takiej taniości tych modułów później pomyślę o sterowaniu w domu czymś wtedy jakiś większy framework będzie potrzebny.

mobzd
Raczkujący z Robotami
Posty: 97
Rejestracja: 22 paź 2014, 10:45

Re: Homemade Roomba WiFi

Post autor: mobzd » 06 gru 2015, 12:52

Souliss jest wystarczający jeśli zakładasz dostęp tylko z sieci lokalnej. Integracja z OpenHAB daje ci dostęp chmurowy bez koniecznosci wystawiania swojej sieci na świat jednakże wymaga jakiegoś hosta. U mnie jest Pi2 a Arduinio po MQTT przesyłają mu stany czujników i sterują przekaźnikami.

Awatar użytkownika
sondejm
Robot Master
Posty: 2995
Rejestracja: 10 lip 2011, 22:07
Lokalizacja: pomorskie/ K-na

Re: Homemade Roomba WiFi

Post autor: sondejm » 06 gru 2015, 13:21

Obrazek
Tak to wygląda w oryginalnej płycie R5xx z i bez wifi, to wifi włącza i komunikuje się z wirtualnymi latarniami oraz pilotem. Różnic między 5xx i 6xx w elementach Płyty Głównej (MB) raczej raczej nie ma. Może w przyszłości rozwiniesz project o adaptacje wifi na MB?
Mam parę schematów i opracowania innych hakerów ;)
https://drive.google.com/folder/d/0B9tn ... FjZ28/edit może będzie pomocne.

=================
Tapatalkiem z Ace4 przez LTE :)
R630+LiNMC, (były R4225, R5210, R580)
:mrgreen:
Naprawa Roomby, Minta i inych robotów pisz na PW.

schizo85
Posty: 21
Rejestracja: 15 lis 2015, 23:13

Re: Homemade Roomba WiFi

Post autor: schizo85 » 06 gru 2015, 13:41

Podpięcie się bezpośrednio pod MB załatwiło by sprawę zasilania i znacznie uprościło konstrukcję. Widzę że jest tam napięcie 5V a może i 3,3V by się znalazło. Wtedy wystarczyłby sam moduł ESP8266 plus jeden tranzystor i dwa rezystory, maksymalna miniaturyzacja. Może rozbiorę moją Roombę i popatrzę co w środku siedzi.

Podłączać się w miejsce oryginału WiFi w Roombie się nie podejmę bo nie wiem jaki jest tam protokół komunikacji i jak to działa. A domyślać się co i jak za dużo roboty. Wiem że to co robię teraz działa, jedynie mam ten problem z napięciami, ale powoli dojdziemy i do tego.

Awatar użytkownika
sondejm
Robot Master
Posty: 2995
Rejestracja: 10 lip 2011, 22:07
Lokalizacja: pomorskie/ K-na

Re: Homemade Roomba WiFi

Post autor: sondejm » 06 gru 2015, 14:17

Myślałem właśnie o integracji tylko i wyłącznie zasilania z MB. Mam taki moduł wifi (zielony) z R5xx mogę odstąpić na testy.
R630+LiNMC, (były R4225, R5210, R580)
:mrgreen:
Naprawa Roomby, Minta i inych robotów pisz na PW.

schizo85
Posty: 21
Rejestracja: 15 lis 2015, 23:13

Re: Homemade Roomba WiFi

Post autor: schizo85 » 06 gru 2015, 14:49

Nawet jakbym miał taki moduł do testów to nie mam sprzętu ani wiedzy żeby go rozgryźć. Pasował by jakiś oscylopskop i pewnie trochę wiedzy z zakresu elektroniki której niestety nie posiadam, a nabywać tej wiedzy aktualnie nie mam czasu.

Ale można by pomyśleć nad schowaniem modułu w miejsce tamtego oryginalnego zamiast nakładki z góry na port. Możesz mi podać nazwę chipu który tam siedzi? Na zdjęciu nie idzie tego rozczytać.

EDIT
ALbo może zdjęcie tego modułu WiFi w wyższej rozdzielczości.

Awatar użytkownika
sondejm
Robot Master
Posty: 2995
Rejestracja: 10 lip 2011, 22:07
Lokalizacja: pomorskie/ K-na

Re: Homemade Roomba WiFi

Post autor: sondejm » 06 gru 2015, 15:21

Jest tam jeszcze scalak pod tą wifi, jak ją jutro wyjmę dam jego zdjęcia i porównam dla pewności czy takie same wartości są rezystorów i kondensatorów jak w wersji bez wifi.
Lepsza rozdzielczość:
https://drive.google.com/folderview?id= ... sp=sharing
R630+LiNMC, (były R4225, R5210, R580)
:mrgreen:
Naprawa Roomby, Minta i inych robotów pisz na PW.

schizo85
Posty: 21
Rejestracja: 15 lis 2015, 23:13

Re: Homemade Roomba WiFi

Post autor: schizo85 » 06 gru 2015, 16:17

Nie wiem co to za scalak, google też o nim nic nie wie. Trzeba by kogoś kto rozpozna logo na nim.

mobzd
Raczkujący z Robotami
Posty: 97
Rejestracja: 22 paź 2014, 10:45

Re: Homemade Roomba WiFi

Post autor: mobzd » 06 gru 2015, 16:46

AFAIK iRobot używa całkowicie własnego protokołu któren z WiFi ma tyle wspólnego ze jest bezprzewodowy ... Ktoś to chyba rozgryzał ale bez efektu.

Awatar użytkownika
sondejm
Robot Master
Posty: 2995
Rejestracja: 10 lip 2011, 22:07
Lokalizacja: pomorskie/ K-na

Re: Homemade Roomba WiFi

Post autor: sondejm » 06 gru 2015, 17:25

Ok, ale napięcia mogą pasować, jeśli 5V i może nawet 3,3v będzie a to jest pożądane, wtedy będą nowe pomysły i możliwości.

=================
Tapatalkiem z Ace4 przez LTE :)
R630+LiNMC, (były R4225, R5210, R580)
:mrgreen:
Naprawa Roomby, Minta i inych robotów pisz na PW.

schizo85
Posty: 21
Rejestracja: 15 lis 2015, 23:13

Re: Homemade Roomba WiFi

Post autor: schizo85 » 06 gru 2015, 22:41

Akurat to nie limituje żadnych pomysłów i możliwości. Z Roombą da się zrobić co chcesz, masz dostęp do silników, enkoderów, wszystkich czujników, sensorów IRdy więc ogranicza jedynie wyobraźnia. A w razie czego zawsze da się jakoś dołożyć dodatkowe czujniki. Z początku myślałem o kamerze i jakimś mapowaniu powierzchni SLAM ale to by wymagało dość sporej mocy obliczeniowej i kamery której już nie da się zrobić w formie małej przejściówki. Powiedzmy że takie nietypowe rzeczy związane z informatyką i programowaniem to moje hobby. W tej chwili z napięcia z Roomby też da się uzyskać i 5V i 3V3, tyle że zespół elementów obniżających to napięcie powiększa rozmiary przejściówki. Chociaż jakby schować wszystko pod obudowę to żadnej różnicy już nie ma.

Nie wiem czy znajdzie się w elektronice Roomby napięcie 3V3, raczej w to wątpię. Dla mnie logicznym wydaje się elementy powinny być tak dobrane żeby wszystko działało na jednym poziomie napięć, bez stabilizacji do dwóch wartości i koniecznej konwersji poziomów między poszczególnymi sekcjami urządzenia ale mogę się mylić. Znajdę chwilę czasu to rozbiorę i poszukam napięcia 3V3.

Prim000
Posty: 1
Rejestracja: 28 wrz 2016, 13:35

Re: Homemade Roomba WiFi

Post autor: Prim000 » 28 wrz 2016, 13:38

Oto główny układzik który tam siedzi

http://cache.nxp.com/files/rf_if/doc/da ... df?pspll=1

ODPOWIEDZ