Найти тему
Виталий Якубов

Производство умных часов дома. Часть 4. Операционная система.

Очень важная часть в проектировании часов, поэтому надо продумать концепцию, которой будем придерживаться.

1. Первым делом я хотел сделать часы, которые будут работать на одном заряде хотя бы неделю и в теории до месяца.

2. Возможность добавлять приложения в часы.

3. Минимальный набор поддерживаемых датчиков - компас, акселерометр, барометр.

Под все эти запросы хорошо бы подходили часы Pebble, но фирма перестала существовать, да и цена у них из-за е-link дисплея не маленькая.

Пора начинать писать свою операционную систему, которая удовлетворить все пожелания

Операционная система часов адаптированная для устройства m5stack
Операционная система часов адаптированная для устройства m5stack

Поскольку для часов будут использоваться микроконтроллеры atmegа, stm32, esp8266, выбор языка программирования был очевиден - c/c++.

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

Отличие такое устройства от других часов в том, что вся периферия контролируется одним микропроцессором, а значит, получится снизить потребление тока до минимума.

В результате написаны драйверы для 3 типов экранов - TFT, LED и классических жидкокристаллических.

Запуск операционной системы на LED экране 128x64 пикселя
Запуск операционной системы на LED экране 128x64 пикселя

Слишком увлекшись разработкой ОС, добавил поддержку сенсорных экранов и разработал свой транслируемый язык программирования для запуска приложений. Да-да, arduino сможет запускать приложения с карты памяти любого размера.

Atmega2560 с поддержкой сенсорного ввода и запущенным приложением с карты памяти
Atmega2560 с поддержкой сенсорного ввода и запущенным приложением с карты памяти

Для первой версии часов буду использовать черно-белый экран от nokia 5110i. Не самый удобный экран для часов, но он имеет отличное энергосбережение, его драйвер занимает меньше всего места и экран хорошо читается на ярком солнце.

Операционная система имеет исходники в формате проектов arduino, если захотите попробовать ссылка на исходные коды:

https://github.com/yacubovvs/CubOS