Я ознакомился с новым релизом прошивки для Flipper Zero версии 1.0. Это действительно значимое обновление, над которым разработчики трудились целых 3 года. В статье расскажу о нововведениях и сложностях, с которыми столкнулась команда в процессе разработки.
Еще по теме: Альтернатива и аналоги Flipper Zero
Новая прошивка Flipper Zero
- В Flipper Zero появилась поддержка динамической загрузки приложений. Вы можете установить сотни приложений, разработанных сообществом, через каталог приложений. Их количество постоянно увеличивается.
- Была полностью переписана подсистема NFC, что позволило значительно увеличить скорость чтения карт. Теперь поддерживаются новые типы NFC-карт, а также появилась новая система плагинов для пользовательских парсеров карт.
- Теперь можно разрабатывать приложения для Flipper Zero на языке JavaScript.
- Время работы батареи в режиме ожидания увеличено до одного месяца.
- Скорость передачи данных по Bluetooth с Android-устройствами возросла в два раза.
- Обновления прошивки теперь загружаются на 40% быстрее через Bluetooth.
Приложения на Flipper Zero
Изначально все функции в Flipper Zero реализовывались как часть прошивки. Любое добавление новой функции или исправление ошибки требовало полного обновления прошивки, что было неудобно как для разработчиков, так и для пользователей.
Чтобы решить эту проблему, была разработана система динамической загрузки приложений. Теперь Flipper Zero может запускать приложения прямо с microSD-карты в формате FAP (Flipper Application Package). Этот формат представляет собой скомпилированные файлы приложений. Специальный компонент прошивки под названием App Loader отвечает за загрузку и запуск этих приложений.
Сообщество разработчиков с энтузиазмом восприняло эту идею, и было создано множество приложений. Однако найти их было сложно, так как они были разбросаны по разным форумам и сообществам. Поэтому был создан каталог приложений, где все приложения от сообщества доступны в одном месте. Все они с открытым исходным кодом.
Приложения из каталога можно устанавливать через Flipper Mobile App и Flipper Lab. Установка приложений на Flipper Zero теперь так же проста, как на телефоне.
Поддержка JavaScript
Разработчики добавили в прошивку интерпретатор скриптов, позволяющий запускать приложения, написанные на JavaScript — одном из самых популярных языков программирования. Это значительно упрощает процесс разработки по сравнению с использованием C/C++, так как не нужно настраивать среду разработки на компьютере и изучать SDK прошивки Flipper Zero.
Чтобы запустить скрипт на Flipper Zero, достаточно добавить файл с расширением JS в папку SD Card/apps/Scripts (через qFlipper или Flipper Lab) и запустить его из меню Apps —> Scripts. Компилировать скрипты на компьютере не нужно.
В прошивку были добавлены примеры скриптов, которые помогут изучить синтаксис языка и научиться использовать модули JavaScript на Flipper Zero. Эти примеры находятся в папке
1 |
SD Card/apps/Scripts |
Поддержка JavaScript основана на mJS, который был специально разработан для микроконтроллеров. Он использует ресурсы системы эффективно, занимая менее 50 кб флеш-памяти и 2 кб оперативной памяти.
Новая подсистема NFC
Ранее для работы с NFC была использована библиотека RFAL от компании STMicroelectronics — производителя NFC-чипа. Но эта библиотека была плохо оптимизирована для RTOS, потребляла много памяти и замедляла работу NFC.
Что нового в подсистеме NFC?
- Дружественность к FreeRTOS. Новая библиотека использует событийную модель вместо опроса, что делает код более простым и уменьшает задержки.
- Улучшенная архитектура. Разработчики разделили протоколы на отдельные уровни стека, что облегчает поддержку и добавление новых протоколов.
- Динамические парсеры. Теперь парсеры карт загружаются по мере необходимости, что освобождает оперативную память. Пользователи могут добавлять поддержку новых карт, создав парсеры с простым интерфейсом.
- Новые протоколы NFC-карт. Добавлена поддержка карт ICODE® SLIX и FeliCa™ Lite-S.
Были полностью переработаны библиотеки NFC, что позволило увеличить производительность. Например, функция сопоставления ключей теперь работает в 2.7 раза быстрее.
Теперь можно редактировать дампы NFC-карт в Flipper Mobile App. Ранее для этого требовались сторонние программы, но теперь данные MIFARE Classic® можно просматривать и редактировать прямо на телефоне.
Общие улучшения системы
- Время автономной работы увеличено до одного месяца в режиме ожидания благодаря новому режиму низкого энергопотребления.
- Ускорено соединение по Bluetooth с Android-устройствами. Теперь скорость передачи данных увеличена в два раза.
- Загрузка обновлений прошивки ускорена на 40% за счет использования алгоритма сжатия heatshrink.
Улучшения в работе Sub-GHz
- Поддерживается 89 радиопротоколов, которые могут декодироваться Flipper Zero.
- Теперь можно подключать внешние модули с чипом CC1101, что позволяет использовать более чувствительные антенны.
- Добавлена возможность прослушивания аналоговых раций, хотя качество звука не идеальное, голос можно различить.
- Новый формат BinRAW позволяет записывать и делиться сигналами быстрее. Он более компактен и содержит только полезные данные.
Улучшения инфракрасного порта
- Добавлены универсальные пульты для управления телевизорами, кондиционерами, аудиосистемами и проекторами, а также сделаны простые и удобные интерфейсы.
- Поддержка внешних инфракрасных модулей с более мощными светодиодами для увеличения дальности передачи сигнала.
Как обновить прошивку
Чтобы получить доступ ко всем новым функциям, обновите прошивку вашего Flipper Zero. Это можно сделать через Bluetooth с помощью Flipper Mobile App или через USB с помощью приложения qFlipper на вашем компьютере. Посетите официальный сайт и выберите один из методов обновления прошивки.
Если ваша прошивка версии 0.63 и ниже, вам нужно переключить Flipper Zero в DFU-режим, а затем обновить устройство через qFlipper в соответствии с инструкциями.
Версия 1.0 прошивки значительно расширяет возможности Flipper Zero, упрощает разработку приложений и улучшает производительность устройства.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Кража паролей с помощью Flipper Zero
- Как увеличить дальность действия Flipper Zero
- Внешний радиомодуль на 900 МГц для Flipper Zero