⌚ Как установить Python на фитнес-браслет
|
Автор YouTube-канала Poking Technology провел интересный эксперимент с портированием MicroPython на самые дешевые и примитивные фитнес-часы, которые смог найти на Алиэкспрессе. Технические характеристики этого смарт-браслета за $3 весьма скромны: - Модель – M4 фитнес-браслет/часы с BLE (Bluetooth Low Energy).
- Процессор – TLSR8232 от Telink Semiconductor.
- ОЗУ – 16 Кб.
- Флэш-память – 512 Кб.
- Экран – 80x160 пикселей, контроллер GC1209.
- Батарея – маленькая литий-полимерная.
- Сенсоры – акселерометр, возможно – фейковый датчик сердечного ритма.
Основные препятствия для работы с таким гаджетом, помимо памяти в 16 Кб: - Проприетарная архитектура процессора.
- Недокументированные особенности работы экрана.
- Проблемы с компилятором от производителя.
- Стек Bluetooth занимает слишком много памяти – это делает его использование проблематичным.
Казалось бы, развернуться негде. Но для энтузиастов нет ничего невозможного – автор разобрал часы и принялся за дело: - Припаял провода к отладочным контактам на плате (линии TX, RX, SWS для отладки и GND). Подключение линии сброса (reset) оказалось сложным, и в итоге – не обязательным.
- Попытался использовать STM32 Blue Pill в качестве интерфейса для прошивки и отладки, но столкнулся с проблемами. В итоге создал собственный интерфейс на базе Raspberry Pi Pico, который оказался более надежным и простым в использовании.
- Проанализировал архитектуру процессора TLSR8232 и выяснил, что он очень похож на ARM Thumb, но с измененными опкодами.
- Изучил SDK и компилятор от производителя, и обнаружил множество проблем, включая серьезные ошибки в компиляторе (например, неправильную генерацию таблиц переходов для switch-case).
Затем разработчик перешел к портированию MicroPython на этот чудо-девайс – основными шагами процесса стали: - Адаптация под ограниченную память – MicroPython пришлось оптимизировать, чтобы уместиться в 16 КБ ОЗУ.
- Реализация базовых функций – написание драйверов для GPIO, UART, и других периферийных устройств.
- Работа с экраном – потребовалось разобраться с особенностями контроллера экрана GC1209, который отличался от указанного в документации.
- Реализация файловой системы во флэш-памяти устройства.
Для демонстрации работоспособности MicroPython автор написал несколько простых программ, которые позволяют гаджету: - Мигать светодиодом.
- Выводить время на экран.
- Считывать состояние кнопки и реагировать на нажатия.
Анализ энергопотребления показал, что без оптимизации устройство работает от батареи около 45 минут (поскольку CPU работает на полной мощности все время). Но несмотря на все ограничения гаджета, этот эксперимент – отличный пример реверс-инжиниринга, адаптации Python для работы на нестандартном оборудовании и доказательство того, что при желании можно использовать самые дешевые устройства в качестве основы для собственных проектов. |
🔢 Онлайн-курс по математике от Proglib Academy
|
Если вам нужно улучшить математические навыки для работы в IT или понять, как работают алгоритмы машинного обучения, наш курс может быть полезен.
Что включает курс: - Изучение ключевых математических концепций.
- Знакомство с основными моделями машинного обучения.
- 47 видеолекций и 150 практических заданий, бессрочный доступ.
- Развернутая обратная связь по всем домашним заданиям и ссылки на полезные дополнительные материалы.
- Подготовка к ШАД.
Преимущества курса: - Программа подходит как для начинающих, так и для продвинутых.
- Гибкий график обучения.
- Сертификат по завершению курса.
Скидка на курс 50% До 1 июня действует скидка. Подробности и регистрация по ссылке. |
Python-Fiddle – онлайн-IDE/браузерный интерпретатор с ИИ-ассистентом и поддержкой множества библиотек для работы с данными и визуализации (pandas, numpy, scipy, scikit-learn, matplotlib и т. д.) Работает с файлами и директориями. Unique3D генерирует высококачественные 3D-модели (в том числе интерактивные) на основе одного изображения. Основные особенности и преимущества по сравнению с другими аналогичными генераторами: - Скорость – генерирует текстурированную 3D-модель менее чем за 30 секунд из одного изображения.
- Качество – создает высококачественные модели с детальной геометрией и текстурами, точно соответствующими исходному изображению.
- Эффективность обучения – модель можно обучить всего на 8 GPU RTX 4090 за 5 дней.
- Универсальность – работает с ортогональными RGB-изображениями любых объектов.
- Согласованность – решает проблемы несогласованности, характерные для некоторых других методов.
- Высокое разрешение – использует многоуровневый процесс повышения разрешения для улучшения деталей.
- Комплексный подход – объединяет диффузионную модель для многоракурсных изображений и карт нормалей с алгоритмом реконструкции сетки ISOMER.
- Геометрическая точность – обеспечивает точную геометрию благодаря использованию карт нормалей.
- Детализация текстур – создает сложные и детальные текстуры.
- Масштабируемость – может эффективно реконструировать модели с миллионами граней.
- Универсальность применения – подходит для различных задач 3D-моделирования и визуализации, включая компьютерную графику, дизайн, виртуальную и дополненную реальность.
|
Примеры 3D-моделей, сделанных по одному референсу. Больше примеров – на сайте проекта |
Сравнение Unique3D с аналогами |
ControlFlow — фреймворк, который позволяет создавать ИИ-агентов и делегировать им выполнение комплексных рабочих процессов. Особенности и преимущества: - Архитектура, ориентированная на выполнение сложных задач. Разделяет комплексные рабочие процессы на управляемые, наблюдаемые шаги. Это гарантирует, что AI-агенты работают в четко определенных рамках и облегчает управление.
- Структурированные результаты. Обеспечивает безопасный с точки зрения типов вывод результатов: генерируемый контент всегда соответствует требованиям вашего приложения.
- Специализированные агенты. Агенты могут иметь свои собственные инструкции, инструменты и даже использовать различные LLM модели.
- Интеграция с экосистемой. Бесшовная работа с вашим существующим кодом, инструментами и обширной ИИ-экосистемой – ControlFlow поддерживает широкий спектр моделей и инструментов LangChain.
- Гибкий контроль. Предусмотрена непрерывная настройка баланса контроля и автономии в агентных рабочих процессах – можно динамически изменять автономность и надзор за задачами на протяжении всего процесса.
- Оркестрация нескольких агентов. Реализована координация нескольких ИИ-агентов в рамках одного рабочего процесса или задачи. Это позволяет создавать сложные, многошаговые ИИ-процессы, использующие сильные стороны различных моделей и подходов.
- Наблюдаемость и отладка. Благодаря Prefect 3.0, ControlFlow позволяет комбинировать агентные и традиционные рабочие процессы и мониторить их все в одном месте – для отладки, оптимизации производительности и обеспечения корректной работы приложений.
Consistent character – мощная опенсорсная модель для генерации профессиональных фотоснимков по одному референсу. Удобный интерфейс на ComfyUI позволяет легко и быстро сделать все необходимые настройки для получения нужного результата. Протестировать можно здесь. |
Слева – референс, справа – генерации |
AuraSR – опенсорсная версия GigaGAN, нейронки Adobe, которая способна фантастически повысить разрешение и качество любого изображения. |
👍 50 правил приличного программиста
| Эта подборка рекомендаций ориентирована, в первую очередь, на питонистов. Помимо стандартных указаний о том, как следует именовать переменные, классы и функции, здесь есть менее тривиальные рекомендации: - Когда надо и когда не стоит писать комментарии.
- Как соблюдать принцип инверсии зависимостей.
- Что должны (и не должны) возвращать функции.
- Как использовать принцип подстановки Лисков.
- Почему необходимо следовать принципу открытости/закрытости.
|
🎨 PySimpleGUI – самый простой способ сделать интерфейс
|
PySimpleGUI – обертка, которая упрощает работу с популярными GUI-библиотеками Tkinter, PySide и wxPython. Основная идея PySimpleGUI состоит в том, чтобы: - Скрыть сложности этих библиотек за общим и простым API.
- Объединить возможности GUI-инструментов.
- Позволить разработчику быстро писать код для интерфейсов.
- Использовать готовый код вместе с любой из этих библиотек, просто изменив импорт в начале программы.
Майк Дрисколл опубликовал туториал, который поможет быстро разобраться в основных приемах работы с PySimpleGUI. |
Пример интерфейса на PySimpleGUI |
|
|
Понравилась ли вам эта рассылка? |
|
|
Вы получили это письмо, потому что подписались на нашу рассылку. Если вы больше не хотите получать наши письма, нажмите здесь.
|
|
|
|