Русский
Русский
English
Статистика
Реклама

Flipper Zero прогресс за сентябрь


Flipper Zero проект карманного мультитула для хакеров в формфакторе тамагочи, который я разрабатываю с друзьями. Предыдущие посты [1],[2],[3],[4],[5]

В этом выпуске: Системное API, Набор для разработчиков, Улучшения в механике и электронике, Обновления в GPIO, Новая функция в NFC, Удаленный тестовый стенд.

В сентябре мы почти ничего не писали о проекте, и сейчас пришло время объяснить, почему. Мы приостановили всю маркетинговую деятельность, чтобы сосредоточиться на разработке и других задачах: контракты на поставку и производство, юридические вопросы, поиск новых сотрудников и многое другое. Все это отнимало силы настолько, что у нас даже не было времени опубликовать обновление. Теперь мы готовы поделиться с вами новостями.


Системное API




За этот месяц мы разработали архитектуру прошивки и системные API-интерфейсы, абстракции для взаимодействия с железом, управление потоками и многозадачность. Это работа под капотом, которую мы не показываем, но это важная часть разработки.

Наша главная цель при разработке прошивки сделать ее максимально удобной и понятной для разработчиков, чтобы они могли легко писать свои программы для Flipper Zero. Поэтому после завершения кампании мы выбросили весь грязный код и начали разработку архитектуры с нуля.



За это время мы активно работали над внутренностями: писали бутлоадер, рефакторили код операционной системы, писали драйвера периферии, проектировали API пользовательских приложений. Также рефакторинг затронул систему сборки и зависимостей, переработан код пользовательского интерфейса. Наиболее важные изменения произошли в стеке нашей разработки: мы обновили используемый CMSIS RTOS до второй версии и привели наш код к использованию единого API. Новый API пользовательских приложений сделал большой шаг в сторону беты и мы надеемся открыть его публично в ближайшем будущем.

Улучшения механики и электроники



Новые комплектующие и дизайн корпуса

Корпус сильно изменился по сравнению с первым прототипом. Мы полностью переработали расположение кнопок и компонентов внутри, чтобы Флиппер не разваливался, был прочным и мог выдерживать интенсивное использование.

Мы перенесли модули RFID и NFC на отдельную плату под аккумулятором. Она подключена к материнской плате кабелями FPC.

Новый кнопочный механизм



Новые подпружиненные кнопки

Добавили пружины в джойстик для лучшего тактильного отклика.

Your browser does not support HTML5 video.

Как проходят тесты механики кнопок

Сменный аккумулятор




Несъемные аккумуляторы это бич современных устройств. Мы решили не использовать запаянную батарею и взяли батарею с трехконтактным разъемом, чтобы пользователи могли заменять её самостоятельно. Для большей ремонтопригодности мы планируем продавать отдельные компоненты Флиппера, в том числе и батарею, прямо на сайте.

InfraRed переместился на угол




После некоторых тестов мы обнаружили, что предыдущее размещение ИК-порта было не очень удобным: он перекрывался указательным пальцем и внешним модулем. В итоге было решено передвинуть его на угол.

Больше GPIO



Переделали распиновку GPIO. Добавилось ещё два контакта GND их много не бывает.

Новая фича: USB NFC Reader




Ресурсоемкие задачи вроде криптографических атак нельзя выполнить напрямую на Флиппере. Для некоторых недостаточно даже Raspberry Pi нужен полноценный мощный десктопный процессор. Например:

  • Атаки на Mifare classic: mfoc (nested), mfcuk (Dark Side)
  • Атака на Mifare Plus: Hard Nested


Мы решили добавить возможность использовать Флиппер в качестве обычного USB NFC-адаптера вместе с библиотекой LibNFC. В итоге все существующие программы, работающие через LibNFC, будут работать сразу из коробки без модификаций. В этом режиме все команды с ПК будут проксироваться непосредственно на NFC-чип ST25R3916 через USB-интерфейс.

Главная проблема этой задачи в том, что библиотека LibNFC жестко прибита гвоздями к чипам NXP PN5xx, и в новом драйвере придется по сути эмулировать поведение чипа PN53ххх, но это не так страшно.

Flipper Zero Девкит




Для разработчиков, которые работают над прошивкой и железом, мы сделали специальный девкит. По сути это обычный Флиппер с развернутыми платами в пластиковой оснастке, чтобы все компоненты были легко доступны снизу и сверху, и легко можно было подлезть щупами к каждому элементу.

Flipper Lab



За кулисами Flipper Lab

Пока пишется код, его нужно постоянно тестировать. Задача усложняется тем, что тесты нужно выполнять на реальном железе и взаимодействовать с реальным миром. Для этого был сделан удаленный тестовый стенд, который интегрируется с CI-скриптами через GitHub Workflow. При каждом коммите в прошивку она автоматически собирается и заливается в девайс, после чего выполняются тесты, результаты которых выплевываются в UART: так можно понять какие тесты завершились успешно. Пока это работает криво, но в дальнейшем так мы будем проверять все функции: принимать/отправлять радио, считывать/записывать NFC карты, передавать/принимать ИК-сигнал и т.д.

Это такой же dev kit для разработчиков. Физические кнопки подключены через реле, что позволяет управлять ими удаленно. Изображение с экрана снимается камерой и транслируется на сайте в режиме реального времени. Через веб-морду можно залить прошивку вручную и потыкать на кнопки, если даже у разработчика нет устройства под рукой.


Макет интерфейса испытательного удаленного стенда Flipper Zero

Flipper Lab в настоящее время находится в альфа-стадии разработки, но позже мы откроем ее публично, чтобы любой разработчик мог:

  • Загрузить собственную прошивку или плагин на живой образец Flipper Zero
  • Просматривать логи в режиме реального времени и даже отправлять UART-сообщения на Flipper
  • Нажимать все кнопки удаленно
  • Тестировать периферийные устройства с помощью, например, физических карт RFID и тегов iButton


Live-апдейты в Discord




На нашем Discord-сервере мы добавили прямую трансляцию обновлений внутри проекта. Вы можете узнать, как идут дела у разработчиков, в режиме реального времени с новым каналом #updates, где видно коммиты, попадающие в репозиторий.

Сейчас на сервере более 6 тысяч участников!

Присоединяйтесь к нашему серверу Discord, чтобы:


  • Общаться с нашими инженерами и бэкерами
  • Следить за ходом разработки в реальном времени с каналом #updates
  • Обсуждать варианты использования Flipper Zero
  • Познакомиться с тысячами гиков
  • Получить доступ к секретному каналу только для бэкеров (свяжитесь с @Backers Bot в личных сообщениях, чтобы получить роль)


Алло, мы ищем таланты!





Ранее мы запустили программу Flipper Developer Program и получили около тысячи откликов. Нескольких разработчиков мы пригласили в полузакрытый репозиторий с прошивкой.

К сожалению, мы поняли, что горизонтальная модель управления нам не подходит, потому что большинство разработчиков, не работающих фулл-тайм, уделяют время проекту, только когда у них есть вдохновение и желание. Таким процессом сложно управлять и прогнозировать результат во времени. Поэтому сейчас мы нанимаем только разработчиков в штат на фулл-тайм. Возможно, когда основная часть низкоуровневого кода будет готова и мы откроем репозиторий, принимать вклад от сообщества будет проще.

Все открытые вакансии мы публикуем здесь: flipperdevices.com/jobs

Источник: habr.com
К списку статей
Опубликовано: 11.10.2020 22:19:02
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Open source

Гаджеты

Информационная безопасность

Производство и разработка электроники

Flipper zero

Flipperzero

Kickstarter

Краудфандинг

Тамагочи

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru