Osegi
Sprzęt·2 min czytania

Claude zhakował kamerę Wi-Fi za 10 dolarów, by działała bez chmury

Hobbysta pozwolił Claude'owi zająć się tanią kamerą Wi-Fi, która działała tylko przez chińską chmurę. Po kilku godzinach pracowała na otwartym firmware w sieci domowej.

A small magnetic Wi-Fi camera opened up on a desk, wired to a USB-UART adapter and an Arduino relay board.
Zdjęcie: Хабр

Kamera za około 800 rubli, czyli mniej więcej 10 dolarów, miała jedną wadę: działała wyłącznie przez chińską aplikację i wymagała konta na chińskim serwerze. Autor projektu, rosyjski hobbysta, uznał, że to za dużo. Zamiast szukać innej kamery, oddał sprzęt Claude'owi i kilka godzin później miał kamerę Wi-Fi działającą bez chmury.

Co jest w środku taniej kamery Wi-Fi

Kamera ma magnesowy uchwyt, wbudowany akumulator i zasilanie przez USB. Po rozebraniu okazało się, że w środku siedzi układ BK7252N: 32-bitowy mikrokontroler ARM, 160 MHz, 544 KB pamięci i wbudowane Wi-Fi. Sensor to GalaxyCore GC0329 o rozdzielczości 648×488, czyli około 0,3 megapiksela, choć w sklepie widniał napis HD.

Na płytce były piny RX i TX. Po podłączeniu adaptera USB-UART autor zobaczył konsolę systemu RT-Thread. Problem w tym, że SDK dla układów Beken nie jest publicznie dostępne. Na GitHubie istnieje projekt OpenBeken, czyli otwarty firmware dla podobnych kamer, ale bez obsługi tego układu i sensora.

Jak Claude uruchomił kamerę

Claude dostał dostęp do folderu z kodem OpenBeken i zadanie: uruchomić kamerę. Najpierw znalazł narzędzie UART download tool i pobrał oryginalny firmware. Potem zbudował OpenBeken dla podobnego układu BK7231N i wgrał go na płytkę. Z logów przez UART wynikało, że kontroler startuje, ale sensor się nie inicjalizuje.

Adresy rejestrów taktowania portu równoległego różnią się w BK7231N, więc Claude wyciągnął właściwe z oryginalnego firmware. Obrazu nadal nie było. Sensor ma 259 rejestrów sterujących i trzeba wpisać do nich poprawne wartości, które też pochodziły z oryginału. Dopiero wtedy kamera zadziałała.

Żeby nie wyłączać zasilania ręcznie po każdym flashowaniu, autor podłączył Arduino z modułem przekaźnika. Claude sam odcinał prąd i wgrywał kolejne wersje.

Jak uruchomić kamerę bez chmury

Efektem jest łatka do OpenBeken z obsługą tej kamery oraz wykrywanie ruchu, które zapisuje zdjęcia na karcie SD. Kamera tworzy otwarty punkt dostępu. Po połączeniu trzeba wpisać w przeglądarce 192.168.4.1 i w Config → Configure WiFi podać nazwę i hasło domowej sieci. Potem kamerę znajdziesz pod adresem http://name.local, gdzie nazwę ustawia się w interfejsie.

Wszystko trafiło na GitHuba razem z instrukcją budowania firmware. Projekt nie korzysta z zewnętrznych usług ani chmury, działa lokalnie, bez rejestracji. Autor planuje jeszcze aplikacje na Androida i iOS, a w szufladzie czeka kolejny sprzęt do zhakowania.

Aplikacje warte uwagi

SUMO: łamigłówka liczbowa

Wybierz właściwe pola, dodaj je i trafiaj w cel. Łatwa do nauczenia, trudna do opanowania. Za darmo, dla każdego wieku.

Tagi:claudeopenbekenwifi camerafirmwareiotreverse engineering

Więcej z tego dnia

Zobacz wszystkie →

Więcej w kategorii: Sprzęt

Zobacz wszystkie →