Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо выполнить: 

Техническое задание на разработку защитного программного обеспечения 

Операционная система - Raspbian Jessie и подобные дистрибутивы Linux, основанные на Debian 8. 

Аппаратная часть - Raspberry pi2, Orange pi plus. 

Требования: 

1. Защитное программное обеспечение должно позволять читать все файлы по точке монтирования "/' 

файловой системы. 

2. Защитное программное обеспечение должно позволять записывать файлы в определенных папках (все остальные папки запрещены для записи). 

3. Защитное программное обеспечение должно иметь доступ к определенному перечню портов. 

4. Защитное программное обеспечение должно иметь доступ к запуску, остановке, добавлению, удалению определенных сервисов (systemd) 

5. ЗПО не должно содержать вредоносных программ, отправлять и получать любые сетевые данные, кроме инициируемых со стороны ПО или в сторону ПО. 

6. Защитное программное обеспечение должно настраиваться при "компиляции". Папки с доступом на запись, порты и прочие настройки защитное программное обеспечение не должны находиться в свободном доступе. root пользователь не должен иметь возможности менять эти настройки. 

7. Защитное программное обеспечение должно сопровождаться руководством к использованию. 

  • ПО взаимодействует с брокером MQTT (mosquitto)
  • Настройки ПО загружает с файловой системы 

    /var/config/config.json

Пример файла: 

"accessories": [ 

"accessory": "ihomemqtt", 

"name": "Vol UP", 

"type": "AVcontrol", 

"subtype": "-", 

"technology": "SamsungTV", 

"G4_address": "", 

"HDL_address": "", 

"AV_command": "KEY_VOLDOWN", 

"Room": "Зал", 

“Order”: 10 

}, 

"accessory": "ihomemqtt", 

"name": "Temp", 

"type": "TemperatureSensor", 

"subtype": "Relay", 

"technology": "G4", 

"G4_address": "1/13", 

"HDL_address": "", 

"Room": "Кухня", 

“Order”: 20 

}, 

"accessory": "ihomemqtt", 

"name": "LUX", 

"type": "LightSensor", 

"subtype": "Relay", 

"technology": "G4", 

"G4_address": "1/13", 

"HDL_address": "", 

"Room": "Кухня", 

“Order”: 11 

}, 

"accessory": "ihomemqtt", 

"name": "DDP", 

"type": "Thermostat", 

"subtype": "Relay", 

"technology": "G4", 

"G4_address": "1/21", 

"HDL_address": "", 

"Room": "Зал", 

“Order”: 40 

}, 

"accessory": "ihomemqtt", 

"name": "Правая розетка", 

"type": "Outlet", 

"subtype": "Relay", 

"technology": "G4", 

"G4_address": "1/2/5", 

"HDL_address": "", 

"Room": "Зал", 

“Order”:536 

}, 

"accessory": "ihomemqtt", 

"name": "Левая розетка", 

"type": "Outlet", 

"subtype": "Relay", 

"technology": "G4", 

"G4_address": "1/2/6", 

"HDL_address": "", 

"Room": "Кухня", 

“Order”: 1 

], 

“rooms”: [ 

“name”:”Зал”, 

“order”:1 

}, 

“name”:”Кухня”, 

“Order”:2 

Этот файл состоит из двух разделов: 

accessories - отсюда мы используем акссессуары, определяем тип, порядок (в порядке возрастания поля Order) и привязываем к комнате. 

тип акссессуара используется для формирования внешнего вида управляемого элемента (Прилжоение 1, 2) 

rooms - отсюда мы используем имя комнат и порядок (в порядке возрастания поля Order) 

В приложении 3 вы можете найти краткое описание правил работы с этим файлом(вам оттуда нужна именно часть формирования топиков для подписки в mqtt). 

Результат разработки ПО: 

Разработать фронтенд и доработать бекенд : 

1. У нас есть разработанный бэкенд (написан на node JS + express), надо добавить страницу логина (естественно логин/пароль изначально admin/admin, при первом входе необходимо изменить, далее логин/пароль сохраняются). Должны быть два вида юзеров - админы и пользователи. 

Админы - могут вносить правки. 

Пользователи - могут заходить на страницы Rooms, Types и управлять там устройствами. 

2. Фронтенд на Angular JS: 

- сделать фронтенд, состоящий из трех tabs : Rooms, Types, Settings. Названия табов - внизу. Фон табов - зеленый или красный в зависимости от статуса подключения к mqtt. 

- на странице настроек три поля - логин, пароль и кнопка Сохранить. + ссылка на наш существующий фронтенд. (localhost:8888

- после Сохранения фронтенд соединяется с localhost по протоколу mqtt (порт 1883), с логином, паролем, указанными в настройках. 

- также после сохранения загружается файл /var/config/config.json 

- в этом файле указаны все устройства, а также зоны и комнаты. Зона - это несколько комнат объединенных. 

- логин должен быть реализован так, чтобы в Google Chrome была возможность запонмить пароль/логин 

Также в настройках можно указать - логин только по логину\паролю, либо всем подряд. 

- после того, как прописаны настройки, и config.json успешно загружен, на основании правил (указаны в файле) прописываются девайсы и топики для подписки. 

- по каждому девайсу формируется устройство. Каждое из этих устройств затем группируются на вкладке Room - по комнатам и на вкладке Types - по типам устройств. 

офомление итемов - предпочтение Angular Material 

Ну и по итогу пользователь может управлять всеми устройствами (по сути это publish в mqtt). 

Более подробная информация будет предоставлена лично. 

Интересуют сроки!

8 лет назад
zii
36 летРоссия
10 лет в сервисе
Была
6 лет назад
5 отзывов
  • Похожие заказы
  • Нужно написать программный продукт который будет доставать линии с букмекерских контор и сравнивать их по спортивных событиях. Каждый букмекер - отдельная библиотека. Количество букмекеров сверх 100. Некоторые букмекеры имеют api, xml. Другие нужно парсить. Пример сравнений на сайте ...

    Закрыт
    8 лет назад
  • Нужно написать библиотеку на R. Библиотека для построения decision trees. Детали алгоритма расскажу в Skype. Для данного проекта необходим человек с хорошим знанием R.

    Закрыт
    8 лет назад
  • $80

    Методы оптимизации на С++ Задание: решить задачу глобальной оптимизации комбинации методов Нелдера-Мида и мультистарта. Язык программирования: С/С++ Пояснения к заданию: Существует метод Нелдера-Мида и его уже готовый алгоритм на С++ в открытом доступе в интернете, который находит локальный! ...

    Прикладное ПО1 исполнитель
    Завершен
    8 лет назад
  • $2

    есть сайт [url=http://transinfo.by/]transinfo.by[/url] есть программа, но на сайт что-то поменял у себя и теперь прога не продлевает загрузки, а с разработчиком связи больше нету сайт [url=http://transinfo.by/]transinfo.by[/url] не наш и нужно доработать программу, которая будет продлевать загрузки от НАС, как будто это ...

    Закрыт
    8 лет назад
  • Необходимо рассчитывать длину маршрута в городе. Для определения стоимости поездки необходимо рассчитывать длину  маршрута между двумя координатами. Необходимо вставить код расчета в проект на VC2008 C#.  Предполагается использование средств Google API.  Вот пример готового решения: http://maps.googleapis.com/maps/api/directions/json?origin=54.978680,73.306757&destination=54.977496,%2073.386065&sensor=false Необходимо распарсить средствами ...

    Прикладное ПО1 исполнитель
    Завершен
    8 лет назад
  • Есть практически готовый шаблон (скрипт) для программы ZennoPoster, который позволяет валидировать базы Mail.Ru. Описание шаблона здесь: https://www.youtube.com/watch?v=yLcNqEj4tSg Сам файл шаблона можно скачать здесь: https://yadi.sk/d/Qn7GvSDoiWBfB В связи с изменениями, произошедшими скорее всего в поле отправки на невалидные адреса Mail.Ru, сами невалидные адреса ...

    Закрыт
    8 лет назад
  • $3000

    Нужно написать софт распознавания сигналов принятых посредством SDR. Есть исходники библиотек API SDR.  Необходимо будет хорошо задокументировать код и объяснить нашему программисту как вносить в него изменения. Возможна дальнейшее сотрудничество по усовершенствованию софта. Программа должна работать ...

    Закрыт
    8 лет назад
  • Необходимо найти существующий инструмент, который позволял бы осуществлять: "Распознавание / Таггинг / Классификацию изображений" Проект (модуль, инструмент) может быть установлен на любую Операционную Систему. Желательна возможность обучения. Рассматриваем как платные варианты, так и Open Source проекты.

    Закрыт
    8 лет назад
  • Необходим разработчик Delphi для выполнения "визуальных"/"косметических" доработок клиентского приложения. Планируются задачи выполняемые совместно с нашим серверным разработчиком. Возможно долговременное сотрудничество. На текущий момент перечень задач таков: 1. Добавить в контролы типа "сетка" возможность фильтрации данных в сетке. Включая следующие ...

    Закрыт
    8 лет назад