images | ||
README.MD |
некоммерческий проект датчика температуры
Делается в свободное время для тестирования идей и изучения новых подходов. Идеология проекта заключается в самостоятельной разработке всего с нуля, без использования готовых модулей с приминением системного подхода к разработке: unit тестирование, статический анализ, CI/CD, потенциально функциональное тестирование.
Устройство предстовляет из себя датчик температуры и влажности, работающий по протоколу modbus rtu с фунций выдачи управляющего сигнала через open-drain выход.
ссылка на прошивку
ссылка на железо
Уже сделанно:
Прошивка:
- Написана полностью с нуля "на регистрах"
- modbus драйвер с поддержкой чтения и записи всех типов регистров
- хранение настроек в eeprom памяти
- измерение температуры и влажности i2c mems сенсором
- управление open-drain выходом
- структура прошивки с простым временным параллелизмом с возможностью наращивания логики
"Программная инфраструктура":
- С нуля составлена система сборки (make) c функциями:
- сборка прошивки под МК
- сборка unit тестов
- проверка кода статическим анализатором по стандарту misraC
- Развёрнут личный сервер содержащий:
- GIT сервер
- Jenkins с возможностью автоматически запускать все этапы сборки в изолированном контейнере
- Создан стенд на базе однолатника с возможностью удалённой отладки устройства
Печатная плата:
"Аппаратная инфраструктура":
В планах:
Дописать прошивку. Реализовать поддержку 3х типов сенсоров (аппаратная уже есть). Реализваить различные фичи, например автоматическая выдача сигнала при достижении определённой температуры. Реализовать fastmodbus. Написать загрузчик. Реализвать функцианальное тестирование. Подробней разобраться в unit тестировании и CI-CD.