Перенос приложения метеостанции с плат Arduino® GIGA™ R1 на Arduino® UNO™ R4

Источник: Arduino Blog•

Перенос приложения метеостанции с плат Arduino® GIGA™ R1 на Arduino® UNO™ R4

GIGA R1 WiFi создана как мощная плата для разработки благодаря двухъядерному 32-битному микроконтроллеру STM32H747XI, способному работать на тактовой частоте до 480 МГц и оснащенному 1 МБ оперативной памяти. Пользователи форума Arduino KurtE и Merlin513 разработали для нее приложение…

GIGA R1 WiFi создана как мощная плата для разработки благодаря своему двухъядерному 32-битному микроконтроллеру STM32H747XI, способному работать на тактовой частоте до 480 МГц и оснащенному 1 МБ оперативной памяти. Пользователи форума Arduino KurtE и Merlin513 разработали для нее приложение метеостанции на базе ZephyrOS, продемонстрировав ее возможности. Более того, они недавно опубликовали демонстрацию того, что оно также работает на менее мощной UNO R4 WiFi.

Исходный проект с GIGA

ZephyrOS — это ОСРВ (операционная система реального времени), которую мы выбрали в качестве замены после прекращения активной разработки Mbed в 2024 году. Теперь, когда ядро Arduino на базе Zephyr 0.90.0 официально стабильно, оно обеспечивает основу для приложений, предназначенных для поддержки управления процессами, планирования задач и работы в реальном времени.

KurtE и Merlin513 создали свое приложение погоды для ZephyrOS на плате GIGA R1 WiFi в паре с сенсорным экраном (например, GIGA Display Shield). Это приложение разработано для отображения местной погоды с помощью красивого графического интерфейса и возможности выбора подробной информации по конкретным дням с помощью сенсорного экрана.

Результат был относительно ресурсоемким для микроконтроллера, но вычислительные ресурсы и память GIGA R1 WiFi изначально проектировались с расчетом на поддержку подобных приложений.

Новая версия, раздвигающая границы

UNO R4 WiFi — это плата с более ограниченными ресурсами, оснащенная одноядерным микроконтроллером Renesas RA4M1 с тактовой частотой 48 МГц и 32 КБ оперативной памяти. Она также включает 256 КБ флеш-памяти по сравнению с 2 МБ у GIGA R1 WiFi.

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

Благодаря этим оптимизациям KurtE продемонстрировал, что приложение погоды может работать на UNO R4 WiFi, и охарактеризовал результат как работающий «‎весьма неплохо»‎.

Великая задача меньших платформ

Оптимизация программного обеспечения для аппаратного обеспечения с ограниченными ресурсами — это не просто упражнение по сокращению кода, это образ мышления, который поощряет продуманную инженерную мысль. В то время как высокопроизводительные платы дают простор для грандиозных идей, поиск способов втиснуть полноценную ОСРВ, графический интерфейс и данные в реальном времени на плату с 32 КБ оперативной памяти показывает, как практические ограничения могут вдохновлять на творческие решения.

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

Хотите поделиться похожим проектом? Добавьте его в свой следующий пост на форуме Arduino или задокументируйте на Arduino Project Hub, чтобы все сообщество могло извлечь выгоду из вашего опыта и использовать его в своих разработках!

Arduino, GIGA и UNO являются товарными знаками или зарегистрированными товарными знаками компании Arduino S.r.l.

О чём эта статья

Ещё в разделе «Потребительские сервисы»

Все →

Ещё от Arduino