Разработка мобильного приложения для iot системы

15 000 руб. за проект
08 августа 2020, 17:08 • 15 откликов • 100 просмотров
Нашему продукту требуется мобильное приложение для управления системой умного дома.

Краткая информация о проекте:

Наша команда занимается разработкой комплексной системой умного дома, в которую включает сеть датчиков и шлюзов, работающих по протоколам, предназначенным под iot. С помощью мобильного приложения можно добавлять новые устройства себе в дом, а далее эксплуатировать их.

Условно устройства можно разделить на 2 класса:
1. Устройства, которые выдает телеметрию на основе окружающих факторов (датчики температуры, датчики открытие двери и другие);
2. Устройства, которые управляются (управляемое реле, выключатели и другие).

Разрабатываемое приложение должно позволять получать телеметрию, а также управлять устройствами, в зависимости от разных критериев.

Для централизации управления протоколом iot используется шлюз (система агрегации сообщений с датчиков). Шлюз умеет работать в двух основных режимах:

1. Локальный (предназначен для лиц, у которых отсутствует интернет, либо не желает отправлять телеметрию в облако). Типичный пример установка системы умного дома на даче, где отсутствует цивилизация.
2. Облачный, режим при котором датчики отправляют данные в облако путем указания в приложении что устройство будет отправлять данные в облако.

Типичный workflow рабочего процесса приложения:

1. Пользователь устанавливает себе мобильное приложение.
2. Регистрируется через приложение на облаке, либо выбирает пропустить регистрацию.
3. C помощью протокола SSDP мобильное приложение должно найти в сети все доступные шлюзы если их несколько. Если у человека отсутствует домашний роутер, при старте шлюз инициирует раздачу интернета в режиме точка досутпа wifi.
4. Требуется выбрать сеть SSID и ввести пароль, написанный на коробке.
5. После подключения, приложение должно предложить перевести шлюз в домашнюю сеть wifi при необходимости.
6. В приложении нажимаем разрешить подключение датчиков.
7. Ходим по квартире и спариваем устройства,
8. Данные устройства отправляют данные по Websocket - формат JSON, в котором указан адрес устройства, его кластер (тип устройства) а также название,
9. Приложение должно позволить выбрать устройства, которым разрешена эксплуатация (путем активации – нажатии на него в приложении).
10. С этого момент приложение будет передавать телеметрию.

Техническое задание:

Потенциальному Исполнителю требуется разработать мобильное приложение на React Native, которое будет состоять из следующих частей, каждая часть оплачивается по мере ее сдачи Заказчику:

1. Интерфейс окна приветствия,
2. Интерфейс регистрации и входа,
3. Окно перехода шлюза в домашнюю сеть.
4. Интерфейс dashboard управления,
5. Интерфейс поиска устройств и шлюзов,

По окончанию приложение должно быть подготовлено под ОС IOS & Android OS.

Подробное описание каждого пункта:

1. Интерфейс окна приветствия

Представляет из себя стартовое окно после запуска приложения, на данном этапе приложение должно предложить осуществить вход либо продолжить без регистрации. На данном экране должна проходить проверка валидности токена jwt на облаке, при успехе переходить к окну dashboard.

2. Интерфейс регистрации и входа

На данный момент мы приняли решения, что вход и регистрация являются одинаковыми сущностями на уровне приложения, вход и регистрация осуществляется через СМС активацию, при попадании на данное окно необходимо выбрать регион и ввести свой мобильный телефон, на него придет 4х значный код для активации аккаунта и получения токена. Если код уже запрашивался повторный код можно получить спустя 60 секунд, чтобы не нагружать нашу систему.

3. Окно перехода шлюза в домашнюю сеть

Типичный пример, вы включили новое устройство, оно инициализировало Wifi точку доступа, далее мы подключились к ней, в данном окне и должны перевести в шлюз в домашнею сеть wifi. Приложение отправляет ws JSON на шлюз (форматы и примеры имееются), в ответ прилетает список доступных сетей, выбираем из списка сеть и вводим пароль.

4. Интерфейс dashboard (главный экран управления)

На данном экране должны располагаться :
1. Друзья кому предоставлен инвайт для управления и получение телеметрии вашими датчиками в квартире. Пока данный модуль будет в режиме демо (его выполнять пока нет необходимости)
2. Компонент какие у вас категории в которых будут датчики (Категории позволяют разбить комнаты).
3. В зависимости от выбранной категории показывается какие там есть датчики.
4. Компонент других квартир и инвайты которые вам предоставили друзья

4. Интерфейс поиска устройств и шлюзов

Данный интерфейс должен предоставлять вывод найденных устройств (датчиков и шлюзов). Все что будет найдено будет передано по WS в формате JSON. Интерфейс должен позволить нажать на датчик тем самым позволить ему работать в сети.



Вопросы, которые могут появиться в ходе выполнения работы

1. Облако работает по REST API.
2. Приложение должно быть реактивным (Mutations) Store.
3. Обмен данными со шлюзом происходит с помощью Websockets в формате JSON.
4. Регистрация адаптирована под SMS активацию.
5. Дизайн под приложение сделан в Sketch и будет передан исполнителю.
6. Приложение должно быть адаптировано только под английский язык (временно)

Постоянное сотрудничество с Исполнителем.

Если Исполнитель будет из Москвы вообще супер будет, готов лично встретиться, все показать и обьяснить.