Прикрутить javascript код к кнопкам (код частично есть)+разместить
Всем доброго!
Есть такая задача: для собственного фана - делаю радиоуправляемые машинки через интернет.
Всё уже почти сделано. Нужно допилить вебчасть.
В чем суть: нужно прикрутить javascript код, который частично есть. И разместить это на страничке (которая тоже есть).
Сам я тоже программер - просто с веб частью дружу не сильно (я больше по железу). Частично запилил вебчасть-но понял, что буду "долго и печально" :-)
А теперь вкратце по проекту:
1) есть сайт-заготовка на вордпресс;
2) есть страничка, на которой нужно разместить всё - для управления оффлайн роботами для хоккея;
Как происходит взаимодействие человека и робота:
- Человек выбирает на страничке свободного робота и жмет кнопку "УПРАВЛЯТЬ РОБОТОМ";
- После этого система начинает захват кнопок на клавиатуре ("стрелочки" и правый Ctrl). Благодаря этому, -человек может управлять роботом;
- Человек может развернуть для удобства окно трансляции youtube- на весь экран и всё равно - у него будет работать захват кнопок. Управление роликом youtube-отключено;
-Если человек ОТЖАЛ кнопку "УПРАВЛЯТЬ РОБОТОМ" - робот освобождается, о чем сигнализирует заливка кнопки и номера робота - и им может управлять любой желающий;
Как происходит взаимодействие человека и видеоролика(ов):
- Человек может выбрать ролик и развернуть его во весь экран;
- Человек может свернуть ролик, выбрать другой и так же развернуть во весь экран (или смотреть в стандартном, маленьком виде) - это если видеотрансляций несколько.
Как осуществляется управление пользователями:
Пока никак. Все роботы доступны для управления только админам сайта.
Если есть идея, как прикрутить систему управления пользователями - для любых пользователей, не только админов (для вордпресс вроде есть масса-даже как то юзал, но мало) - готов выслушать.
Как осуществляется работа системы в целом:
1) Через MQTT-протокол и MQTT-брокер (если не имели дела, -бояться не надо, я все объясню, там все просто. Вам даже делать особо ничего не придется, код уже есть практически. В любом случае, тему я знаю хорошо, на уровне программера, - так что это вообще не проблема, все подскажу);
2) Любое нажатие кнопки (и отжатие) - шлет сообщение в топик робота. И робот едет/останавливается.
Например нажатие кнопки ← - для робота 1, - шлет сообщение в топик: robot1/left. Сообщение выглядит как (например) 1. Отжатие кнопки-шлет 0.
И так далее, для всех кнопок и всех роботов.
Существенный момент: событие keydown (в javascript коде) - должно генерировать только 1 отсылку сообщения в топик. Я знаю, что если клавиша нажата- идет бесконечный повтор. Это нужно устранить. То есть, при нажатой кнопке не должно постоянно слаться сообщение. Отсылается толдько 1 раз, при нажатии и 1 раз при отжатии.
3) Каждый робот - постоянно читает сообщения своих топиков и выполняет приходящие задания;
3) Почему нельзя слать команды с сайта -напрямую на робота, а нужно использовать в качестве посредника mqtt-брокер: для устранения проблем с NAT и проходом "за роутер". Постоянные смены IP и их прописывание, проброс портов и прочий геморрой. Этого можно избежать-если использовать mqtt-брокер.
Вот как то так в целом это все выглядит. Физическая часть (сами роботы) уже готовы и настроены. Требуется только допилить вебчасть. Все поясняющие картинки имеются ниже.
Внимательно выслушаю все предложения!
P.S. Сразу скажу, это просто проект "по фану" - одного человека. Это не "супербизнес" и не серьезный подход с огромным бюджетом и ТЗ на 500 листов.
Поэтому, наверняка для студий, этот проект будет неинтересен, т.к. денег -к сожалению мало.
В любом случае, буду рад любому предложению и самым внимательным образом его рассмотрю!
В случае интересного предложения, готов принять его немедленно!