Создать графическую WEB панель управления для готового устройства.
Требование к исполнителю:
Знание верстки и WEB дизайна, чтобы страница хорошо выглядела на всех устройствах, умение сделать отзывчивый дизайн.
Знать как добавить элементы на страницу, перенести, настроить и связать с кодом обработчиком на сервере, WEB программирование.
Разработка дизайна элементов WEB страницы, это могут быть кнопки, линейные индикаторы, динамические элементы, графики и динамические календари связанные с базой данных MySQL.
Умение написать серверных скриптов обработчиков для элементов WEB страницы.
Для меня не важно какие будут скрипты и основа всего этого WEB проекта, вы можете использовать NodeJS или любые другие фемвёрки, любые скрипты которые может поддерживать WEB-сервер на Linux. Могу одно сказать что некоторые люди пытались это сделать на CMS типа WordPress, у них ничего не получилось, потому что не смогли создать такой дизайн как мне нужен, чтобы он так работал как я хотел и не смогли связать дизайн с MQTT брокером, потому что нужно было писать скрипты-обработчики.
Мне все равно на чем вы это сделаете, для меня важен результат и чтобы это работало на моём сервере.
Умение работать с базой данных MySQL и уметь взаимодействовать базы данных с веб страницей.
ЗАДАНИЕ:
Создать WEB панель с графическим интерфейсом визуализации данных полученых от MQTT сервера.
MQTT сервер работает как на своём протоколе так и через WEB Socket.
Обязательно должен быть авторизованный вход по двум полям ввода это:
Логин - он же логин к подключению к MQTT серверу и это уникальное имя топика MQTT сервера и он же имя пользователя базы данных MySQL конкретного клиента.
Пароль - он же пароль для подключения к MQTT серверу и это также пароль базы данных MySQL конкретного клиента.
Естественно все логины и пароли которые могут авторизоваться должны храниться в базе данных WEB панели управления, чтобы можно было идентифицировать клиента и предоставить доступ к его собственной панели управления.
Когда пользователь авторизуется, то загружается WEB страница с MQTT клиентом например JS MQTT клиент или на PHP или на Python или это будет проект на NodeJS, не важно. Должна загрузится страница с графическими элементами управления и отображения информации полученной от созданной копии MQTT клиента которая авторизуется с MQTT сервером по логину, топику, паролю авторизованного клиента.
И далее пользователь используя элементы управления настраивает режим работы и отправляет команды уже исполнительному устройству а также просматривает архивную информацию накопленную в базе данных, либо журнал действий.
Архитектуру проекта мы можем пересмотреть если у вас будут предложения по улучшению или это упростит вашу работу.
Я открыт к диалогу и готов выслушать все замечания и предложения.
Дизайн и логику работы я предоставлю после того как вы будете уверены что понимаете вышеописанное и будете готовы это реализовать.
Немного слов об устройстве, которое уже работает и не требует никаких доработок и программирования:
Устройство имеет подключение к MQTT брокеру и является клиентом MQTT сервера.
Каждое устройство имеет свой уникальный топик на MQTT сервере через который и взаимодействует с внешним миром.
Через MQTT брокер устройство отправляет информацию в свой топик на сервер MQTT, который находится в интернете на VPS сервере.
WEB панель управления можно также разместить на том-же VPS сервере.
Устройство также принимает команды от авторизованных клиентов MQTT сервера.
Для управления и чтения информации через MQTT брокер а также формат команд существует API, где всё полностью описано.
На данный момент я проводили тестирование с использованием JavaScript клиентом MQTT, все прекрасно работает, но проект требует расширения и доработки.
Я понимаю что проект довольно сложный в реализации, потому что многие пробовали его реализовать так как мы хотим в течении года, но так ничего не вышло из этого, в итоге я потерял много денег и времени.
Вам нужно понимать выше описанное и уметь это делать.
Я готов содействовать и подробно отвечать на все вопросы а также помогать.
Оплату работы мы будем обсуждать.
Сроки выполнения и этапы работы и оплаты мы обсудим.
Вы должны продемонстрировать свою работу сделав часть проекта на своей стороне или сервере, чтобы я мог понять ваш уровень квалификации и готовности выполнить этот сложный в понимании проект.
Возможно также сотрудничество и участие в развитии проекта а также вашу карьеру компании, стать частью команды разработчиков, но это обговорим лично.
Спасибо за внимание, жду ваших предложений.