Как стать автором
Обновить

Делаем из смартфона websocket-пульт управления радиоуправляемой машинкой

Время на прочтение8 мин
Количество просмотров16K
Всего голосов 51: ↑49 и ↓2+47
Комментарии12

Комментарии 12

Какие получились задержки управления?
Библиотека сервера Websocket своя или откуда-то взявшаяся?
Получалось ли сделать пропорциональное управление?

Заблюренные адреса в локальной сети - зачем...

Задержки не измерял - но, по ощущениям "мгновенно".

Библиотеку можно качнуть тут.

Пропорциональное управление делать не пробовал.

Адреса - не знаю зачем. Реверанс в сторону моей паранойи :-)))

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

Сделать пропорциональное управление не должно быть проблемой. Всё просто упирается в само управление на телефоне.

Задержки будут в зависимости от качества сигнала, я создал достаточное количество вариаций машинок на радиоуправлении по web-socket (esp8266/esp32) включая разные способы проброса видео через онного. Так вот, это не юзабельно скажем в квартире, заехал в соседнюю комнату в угол под диван и т.д. появляются провалы. Далее возникают проблемы с кешем сообщений на уровне смартфона, можно делать ответ-вопрос с uuid, но теряем скорость. Поиграться да, но не надежно к сожалению.

Конечно, качество сигнала будет влиять. Я о том, что это уже не проблема WS. С плохим сигналом любой подход будет плохо работать или с задержками.

А если сигнала вообще нет, то и вообще не будет работать вне зависимости от выбора протокола.

У меня вроде не было особых проблем езды "в углу под диваном", но я через роутер делаю, а не p2p. Первый раз слышу, что бы WS что-то сам кешировал на своё усмотрение. Или речь о чём-то другом?

Да. Не судите слишком строго. "желание мнимой безопасности" требует своих жертв :-)

"Я тебя по айпи вычислю!" (с)

«нажали на кнопку управления — машинка поехала, отпустили кнопку управления — машинка остановилась» - Я так и сделал на Bluetooth, машинка выехала за пределы досягаемости и помчалась прочь. :)

Кстати сказать, если ничего не путаю - то по спецификации, протокол bluetooth 5 - до 300 метров пробивает. По идее, можно по одному синему зубу управлять, без nrf-ок. Только вот не факт, что esp32 поддерживает его (не интересовался просто).

Я это к тому что нужно учитывать что сигнал может пропасть, телефон зависнуть, и т.д.
Алгоритм едем пока не придёт команда стоп подвержен такой ошибке, как я описал.

На такой дальности работает только режим Long Range/Coded Phy, который есть не везде.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий