Flipper Zero

Flipper Zero
Flipper Zero.jpg
Flipper Zero działa w trybie skanowania radiowego Sub-GHz
System operacyjny FreeRTOS
procesor STMicroelectronics STM32WB55
Pamięć
  • 256KB RAMu
  • Flash 1024KB
Wyjmowany schowek Micro SD (do 256 GB)
Wyświetlacz
  • Monochromatyczny wyświetlacz LCD
  • 1,4 cala, 128 × 64 piksele
Łą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

Architektura oprogramowania układowego Flipper Zero

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

Linki zewnętrzne