Информация
- В рейтинге
- Не участвует
- Откуда
- Уфа, Башкортостан(Башкирия), Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Бэкенд разработчик, Архитектор программного обеспечения
Средний
От 50 000 ₽
Python
Алгоритмы и структуры данных
Linux
C#
Разработка программного обеспечения
Многопоточность
Оптимизация кода
Объектно-ориентированное проектирование
Git
C++
Спасибо большое!
Очень приятно такое слышать — буду стараться не подвести. Удачи и вам тоже!
Спасибо, очень приятно такое слышать!
Для меня это действительно важно — не только сам проект, но и то, как я расту и учусь в процессе. Да, проблем будет много, и, наверное, ещё больше, но это часть пути. Буду стараться не сдаваться и двигаться дальше.
Это скорее hub, но не в классическом сетевом смысле. Это серверное ПО, которое принимает данные с разных микроконтроллеров и направляет их в разные модули на сервере. Каждый модуль выполняет свои задачи — логирует, анализирует, отправляет уведомления и так далее. Главное — разделить логику, маршрутизацию и действия, чтобы они не мешали друг другу.
Коллизии пакетов здесь решаются на уровне протокола и логики приложения. Пакеты собираются в буфер в течение определённого времени (например, 2 секунды), проверяются на наличие специальных токенов или меток и только после этого передаются в обработку. Так данные не пересекаются и не мешают друг другу, потому что их обработка происходит по очереди и по заданным правилам.
Спасибо за замечание. Ссылка на открытый репозиторий: GitHub репозиторий
Буду признателен за обратную связь.
Спасибо за вопрос!
Да, 89 МБ — это действительно много для микроконтроллеров, и я не планирую запускать сам RuFA Hub прямо на них. Это серверное ПО, которое работает на полноценном сервере или ПК, а не на микроконтроллерах.
Микроконтроллеры — это просто устройства, которые отправляют данные в этот сервер. Сам RuFA Hub принимает эти данные, обрабатывает и распределяет по модулям уже на стороне сервера. Поэтому ограничения по памяти микроконтроллеров тут не влияют на работу Hub’а.
Если нужна лёгкая версия прямо для микроконтроллера — это уже отдельная история, где придётся делать сильно урезанный функционал или писать совсем на низком уровне.
Спасибо за интерес к проекту! Постараюсь по порядку:
Вообще, я использовал Python, потому что это единственный язык, которым я действительно свободно владею и на котором могу быстро писать. Хотелось сделать работающий проект, а не застрять на изучении нового языка. Конечно, если бы выбирал с точки зрения производительности, то C++ подошёл бы лучше, но Python позволил быстро собрать всё воедино и запустить.
Да, роутер и mesh — нормальное сравнение, но тут немного другая история. Это не сетевое оборудование, а скорее серверное ПО, которое получает данные от микроконтроллеров и направляет их в нужные модули на сервере. А дальше уже каждый модуль делает своё: логирование, уведомления, анализ, отправка в сторонние сервисы — что угодно.
То есть, грубо говоря, это не про маршрутизацию сетевых пакетов, а про логическую маршрутизацию данных и событий внутри системы. Устройства скидывают данные, сервер разбирает, что куда, и рассылает по нужным обработчикам. Всё это можно кастомизировать под конкретные задачи, и архитектура легко расширяется.