Web-сервис на Go для управления контроллером моторизированного механизма

Нашей компанией был выполнен проект, в котором был реализован web-сервис на Go для управления контроллером моторизированного механизма. Сервис состоит из двух базовых компонентов — back-end и front-end.

Цель проекта

Реализация функции управления механизмом штор через мобильное приложение на Android и iOS

Задачи по проекту

  1. Разработать концепцию и архитектуру работы приложения, аппаратной части интерфейсного шлюза;
  2. Спроектировать и изготовить прототип печатной платы для реализации сетевого шлюза между аппаратной частью механизма и программной реализацией;
  3. Разработать Sketch-программу для микроконтроллера платы;
  4. Разработать back-end web-сервис на Go взаимодействующий между приложением и микроконтроллером;
  5. Разработать front-end интерфейс управления устройством;
  6. Разработать пользовательское мобильное приложение для управления механизмом.

Состав аппаратной части

  1. Электропривод SOMFY Oximo 50 RTS
  2. Радиопередатчик SOMFY RS 485
  3. Микрокомпьютер Raspberry Pi
  4. Микроконтроллер Arduino Nano
  5. Печатная плата и корпус собственного произодства

Состав программной части

  1. Среда разработки прошивки микроконтроллера — Arduino IDE
  2. Основная среда разработки Visual Studio Code
  3. Язык разработки web-сервиса — Golang
  4. Язык разработки интерфейса управления JavaScript Vue.js (TypeScript)
  5. База данных SQLite
  6. База данных синхронизации профилей и настроек на основе Google Firebase

 

web-cервис на Go

 

 

 

 

 

 

 

 

 

Инструменты планирования

  • Trello — планирование
  • Documize — документирование

 

Краткое описание реализации web-сервиса

Web-сервис реализован в виде RESTfull сервиса с принудительной авторизацией через JWT (с использованием AuthToken и RefreshToken). Управление реализовано через web-интерфейс написанный на javascript с использованием фреймворка Vue.js. Сервис принимает команды на конфигурирование и управление через web-интерфейс и передает их на back-end, который в свою очередь через i2c-интерфейс осуществляет коммуникацию с микроконтроллером. Микроконтроллер через шину RS-485 взаимодействует со штатных конвертером Somfy.

Для переносимости профилей между мобильным устройствами реализовна облачная синхронизация через облачный сервис Google Firebase.

Завершенность проекта

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *