Flipper Zero
System operacyjny | FreeRTOS |
---|---|
procesor | STMicroelectronics STM32WB55 |
Pamięć |
|
Wyjmowany schowek | Micro SD (do 256 GB) |
Wyświetlacz |
|
Łączność |
|
Wymiary | 100 x 40 x 25 mm |
Masa | 104 gramy |
Flipper Zero to przenośne, wielofunkcyjne urządzenie podobne do Tamagotchi , opracowane do interakcji z systemami kontroli dostępu . Urządzenie jest w stanie odczytywać, kopiować i emulować znaczniki radiowe ( RFF ), piloty radiowe, iButton i cyfrowe klucze dostępu wraz z interfejsem GPIO. Po raz pierwszy ogłoszono to w sierpniu 2020 roku w ramach na Kickstarterze , która zebrała 4,8 miliona dolarów. Pierwsze urządzenia trafiły do darczyńców 18 miesięcy po zakończeniu kampanii crowdfundingowej. Interfejs użytkownika urządzenia ucieleśnia wirtualnego zwierzaka delfina wykonanego w pikselach . Interakcja z wirtualnym zwierzakiem to podstawowa mechanika gry na urządzeniu. Korzystanie z funkcji urządzenia określa wygląd i emocje zwierzaka.
Przegląd
Flipper Zero jest przeznaczony do współpracy z różnego rodzaju systemami kontroli dostępu , protokołami radiowymi, RFID , komunikacją bliskiego zasięgu ( NFC ) oraz sygnałami podczerwieni . Do obsługi urządzenia nie jest wymagany komputer ani smartfon — można nim sterować za pomocą 5-pozycyjnego D-pada i osobnego przycisku cofania. Flipper Zero posiada monochromatyczny podświetlany na pomarańczowo LCD o rozdzielczości 128x64 pikseli . W celu połączenia z modułami zewnętrznymi urządzenie ma na górnej stronie uniwersalne otwory wejścia/wyjścia ( GPIO ). Dane użytkownika i aktualizacje oprogramowania układowego są przechowywane na karcie Micro SD . Niektóre czynności, takie jak aktualizacja oprogramowania układowego lub danych użytkownika, wymagają połączenia z komputerem lub smartfonem z zainstalowanym oprogramowaniem deweloperskim.
Specyfikacja techniczna
Schematy elektroniczne i oprogramowanie układowe projektu Flipper Zero są udostępniane na zasadach otwartej licencji GNU General Public License . Jednocześnie urządzenie nie mieści się w sprzętu typu open source, ponieważ płytki drukowane nie są open-source, co nie pozwala entuzjastom na tworzenie własnych kopii urządzenia bez podstawowej wiedzy z zakresu elektrotechniki.
Sprzęt komputerowy
Flipper Zero jest oparty na dwurdzeniowym mikrokontrolerze STM32WB55 o architekturze ARM , który posiada 256 Kb pamięci RAM i 1 MB pamięci Flash. Pierwszy rdzeń to 64 MHz Cortex-M4 obsługujący główne oprogramowanie układowe. Drugi rdzeń to 32 MHz Cortex-M0 z oprogramowaniem firmowym STMicroelectronics , które implementuje protokół Bluetooth Low Energy . Do nadawania i odbioru radiowego w zakresie częstotliwości radiowych 300–900 MHz używany jest układ Texas Instruments CC1101, który obsługuje modulacje kluczowania z przesunięciem amplitudy ( ASK ) i kluczowania z przesunięciem częstotliwości ( FSK ). W przeciwieństwie do radia definiowanego programowo , układ CC1101 nie może przechwytywać nieprzetworzonych sygnałów radiowych. Ograniczenie to wymaga od użytkownika wstępnej konfiguracji parametrów modulacji przed odebraniem sygnału radiowego, w przeciwnym razie sygnał zostanie odebrany nieprawidłowo.
Oprogramowanie układowe
Oprogramowanie układowe Flipper Zero jest oparte na systemie operacyjnym FreeRTOS , z własną abstrakcją oprogramowania w warstwie sprzętowej. Oprogramowanie układowe jest w większości napisane w C , z okazjonalnym użyciem C++ w modułach innych firm. System wykorzystuje wielozadaniowość w połączeniu z architekturą sterowaną zdarzeniami do organizowania interakcji aplikacji i usług wykonywanych w jednej przestrzeni adresowej i komunikujących się poprzez system kolejek i zdarzeń. System może być uruchamiany zarówno z pamięci o dostępie swobodnym (RAM), jak i pamięci tylko do odczytu (ROM). Wykonywanie z pamięci RAM służy do dostarczania aktualizacji oprogramowania układowego w trybie OTA .
Oprogramowanie układowe składa się z następujących elementów:
- FuriCore – zapewnia API do interakcji z harmonogramem i wielowątkowością. FuriCore streszcza i rozszerza funkcjonalność harmonogramu FreeRTOS oraz dodaje dodatkowe prymitywy systemowe.
- FuriHal – zapewnia interfejs API do interakcji ze sprzętem.
- Usługi i aplikacje – główna funkcjonalność urządzenia. Sub-GHz, podczerwień, RFID, NFC itp. to aplikacje do interakcji użytkownika. Graficzny interfejs użytkownika (GUI), interfejs wiersza poleceń (CLI), powiadomienia, przechowywanie itp. to dodatkowe interfejsy API do tworzenia aplikacji.
- Zestaw bibliotek i sterowników - obejmuje różne protokoły komunikacyjne, sterowniki urządzeń, sterowniki systemu plików i narzędzia programistyczne.
Dane użytkownika i systemu przechowywane są we wbudowanej pamięci flash, która bazuje na bibliotece LittleFS. Interakcja z systemem plików na karcie SD realizowana jest za pomocą FatFs .
System kompilacji oparty jest na narzędziu SCons z dodatkowymi narzędziami napisanymi w języku Python . Do kompilacji system używa własnego otwartego łańcucha narzędzi opartego na GNU Compiler Collection .
Aplikacje
- Wersja gry wideo Doom została przeniesiona na Flipper Zero