pet_project/README.MD

47 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# некоммерческий проект датчика температуры
Делается в свободное время для тестирования идей и изучения новых подходов.
Идеология проекта заключается в самостоятельной разработке всего с нуля, без использования готовых модулей с приминением системного подхода к разработке: unit тестирование, статический анализ, CI/CD, потенциально функциональное тестирование.
Устройство предстовляет из себя датчик температуры и влажности, работающий по протоколу modbus rtu с фунций выдачи управляющего сигнала через open-drain выход.
<br><br>
## [ссылка на прошивку](http://boriskovkb.ru/admin_dev/temp_contoller_firmware)
## [ссылка на железо](http://boriskovkb.ru/admin_dev/temp_contoller_hardware)
<br><br>
***Уже сделанно:***
### Прошивка:
- Написана полностью с нуля "на регистрах"
- modbus драйвер с поддержкой чтения и записи всех типов регистров
- хранение настроек в eeprom памяти
- измерение температуры и влажности i2c mems сенсором
- управление open-drain выходом
- структура прошивки с простым временным параллелизмом с возможностью наращивания логики
### "Программная инфраструктура":
- С нуля составлена система сборки (make) c функциями:
- сборка прошивки под МК
- сборка unit тестов
- проверка кода статическим анализатором по стандарту misraC
- Развёрнут личный сервер содержащий:
- GIT сервер
- Jenkins с возможностью автоматически запускать все этапы сборки в изолированном контейнере
- [Создан стенд на базе однолатника с возможностью удалённой отладки устройства](http://boriskovkb.ru/admin_dev/pet_project/src/branch/main/images/%D1%83%D0%B4%D0%B0%D0%BB%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B5%D0%B5_%D0%BC%D0%B5%D1%81%D0%B0%D1%82%D0%BE.jpg)
### Печатная плата:
- [Составленна схема](http://boriskovkb.ru/admin_dev/temp_contoller_hardware/src/branch/public/Temperature_contoller.pdf)
- [Произведенна трассировка платы](http://boriskovkb.ru/admin_dev/pet_project/src/branch/main/images/%D0%BF%D0%BB%D0%B0%D1%82%D0%B0_kicad.png)
- [Монтаж и наладка](http://boriskovkb.ru/admin_dev/pet_project/src/branch/main/images/%D0%BF%D0%BB%D0%B0%D1%82%D0%B0%20%D0%B2%20%D0%BA%D0%BE%D1%80%D0%BF%D1%83%D1%81%D0%B5.jpg)
### "Аппаратная инфраструктура":
- [Разработанна печатная плата "стенда" с pogo контактами](http://boriskovkb.ru/admin_dev/pet_project/src/branch/main/images/%D1%81%D1%82%D1%8D%D0%BD%D0%B4_kicad.png)
- [Смоделированно и напечатано тело стенда](http://boriskovkb.ru/admin_dev/pet_project/src/branch/main/images/%D1%81%D1%82%D1%8D%D0%BD%D0%B4.jpg)
***В планах:***
Дописать прошивку. Реализовать поддержку 3х типов сенсоров (аппаратная уже есть). Реализваить различные фичи, например автоматическая выдача сигнала при достижении определённой температуры. Реализовать [fastmodbus](https://wirenboard.com/wiki/Fast_Modbus). Написать загрузчик. Реализвать функцианальное тестирование. Подробней разобраться в unit тестировании и CI-CD.