roboforum.ru

Технический форум по робототехнике.


Управление роботом с Android. Что выбрать, PHP или SSH?

Обсуждаем рождающиеся мысли и результаты экспериментов.

Управление роботом с Android. Что выбрать, PHP или SSH?

Сообщение alexkov87 » 25 окт 2013, 21:37

Добрый день!

Предисловие
Я делаю машинку, которая умеет смотреть по сторонам и ездить (для начала) и управляется со смартфона по wifi.
Сразу оговорюсь, что в робототехнике как и программировании я пока новичок.

Реализовано
Робот уже умеет "дергать лапками" и "крутить головой", а также делится тем, что видит посредством Mjpeg streamer.
Сейчас я управляю им с помощью SSH-команд вида XXYYY, которые отправляются на встроенный UART роутера MR3020, к которому, в свою очередь, подключен МК ATmega328 с загрузчиком ардуино. Смотрю видео пока через браузер, а отправляю команды из Putty. В общем, ничего особенного.

Задача и вопрос
Сейчас я пишу приложение для смартфона (android). Оно будет выводить поток mjpeg, а также будет два джойстика для управления колёсами и сервоприводами камер. Сейчас передо мной встал вопрос: "А нужен ли мне веб-сервер на PHP, который я поднял на чистой openWRT с прикручиванием флешки к роутеру". Или я могу отправлять команды и получать ответы посредством того же SSH, чем пользуюсь сейчас.

То есть вопрос заключается в том, можно ли обойтись без посредника (веб-сервера)? Я не нашёл ответа, но быть может есть какие-то подводные камни, о которых я не подозреваю?

Мне это представляется сейчас практически на одном уровне. Т.е. в одном случае я использую GET или POST запрос (AndroidHttpClient), а в другом команды прямо в UART, открыв SSH сессию (есть библиотека для adnroid JSch).

P.S. Я подключаюсь со смартфона к точке доступа на MR3020 (то есть сеть локальная), я решил так, чтобы не зависеть от наличия интернета в местах покатушек.
P.P.S. Если ошибся темой — перенесите куда надо, пожалуйста.
alexkov87
 
Сообщения: 7
Зарегистрирован: 04 окт 2013, 23:44

Re: Управление роботом с Android. Что выбрать, PHP или SSH?

Сообщение elmot » 26 окт 2013, 01:12

Ну и вопросик. Как что будем делать летать или на бензине?

PHP на роутере не место - слишком тяжеловесная хреновина. Мое глубокое имхо.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Управление роботом с Android. Что выбрать, PHP или SSH?

Сообщение alexkov87 » 26 окт 2013, 02:50

Не, всё вовсе не так серьёзно:) И не летать, и не на бензине. Обычная маленькая машинка на L298N (~16 х 30см).

Я вот тоже, когда все пакеты php зарядил — подумал, что очень уж много. Думаю, если от него избавиться — можно выгадать 1-2 fps для mjpeg и попробовать избавиться от флешки.

Просто все проекты, что я расматривал (на которые опирался) используют веб-сервер зачем-то (может потому что почти все управляют из веб морды?). Вот и задался вопросом, о том что он не обязателен в моём случае?
alexkov87
 
Сообщения: 7
Зарегистрирован: 04 окт 2013, 23:44

Re: Управление роботом с Android. Что выбрать, PHP или SSH?

Сообщение elmot » 26 окт 2013, 09:24

сам по себе вебсервер ничем не плох, а вот всякиэ блэкджеки к нему, типа пхп - вот это тормозня. Проще надо быть, не разводить бегемотов ради пары строчек в uart
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Управление роботом с Android. Что выбрать, PHP или SSH?

Сообщение alexkov87 » 26 окт 2013, 13:41

Понял, спасибо! А что насчёт SSH? Хочу попробовать через него общаться, стоит или нет, как думаете?
alexkov87
 
Сообщения: 7
Зарегистрирован: 04 окт 2013, 23:44

Re: Управление роботом с Android. Что выбрать, PHP или SSH?

Сообщение elmot » 26 окт 2013, 14:49

У ssh есть и плюсы, и минусы. Задержки там могут быть(а могут и не быть), через прокси-сервера не проходит, и тд
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Управление роботом с Android. Что выбрать, PHP или SSH?

Сообщение alexkov87 » 26 окт 2013, 15:01

Понятно. Задержек вроде бы сейчас не наблюдается. А подключение у меня прямое, без прокси. Попробую так, если что переделаю, надо же руку набивать (а может шишки)). Спасибо огромное за помощь.

P.S. Пользуясь случаем. Ваши знания мне немало помогают в мире роботов. Спасибо, что делитесь.
alexkov87
 
Сообщения: 7
Зарегистрирован: 04 окт 2013, 23:44

Re: Управление роботом с Android. Что выбрать, PHP или SSH?

Сообщение Footniko » 16 ноя 2013, 15:08

Что-то не пойму, зачем вам php сервер на роутере? У меня подобная машинка есть. Управляю ей полностью через браузер(PHP+JavaScript). В Php есть функция, которая умеет работать с сокетами(fsockopen) - просто открываем соединение с адресом роутера и шлем ему команды, которые тот переправляет микроконтроллеру - все дела.
Я не силен в электронике, поэтому, если буду задавать дурацкие вопросы - не злитесь!
Аватара пользователя
Footniko
 
Сообщения: 15
Зарегистрирован: 07 окт 2012, 11:44
прог. языки: PHP, JavaScript, JAVA

Re: Управление роботом с Android. Что выбрать, PHP или SSH?

Сообщение Angel71 » 16 ноя 2013, 15:46

работать с сокетами очень легко, вот только ваш вариант реализации с php/js - это дело такое :) в одной ситуации будет хорошим вариантом, в другой просто какафонией. для клиента на смартфоне - это имхо полный ппц, если в планах нет пунктика "размещу ка я это всё потом на локальном сервачке".
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Управление роботом с Android. Что выбрать, PHP или SSH?

Сообщение alexkov87 » 18 дек 2013, 15:06

Про PHP написал по глупости. Отговорили сразу, как можно наблюдать выше. Веб-сервер попробовал, но кое что не устроило. Сделал на ssh. Пока общаюсь так. Но ещё не всё реализовано.

Всем спасибо. Тема закрыта, этап выбора пройден, в принципе:)
alexkov87
 
Сообщения: 7
Зарегистрирован: 04 окт 2013, 23:44

Re: Управление роботом с Android. Что выбрать, PHP или SSH?

Сообщение oxid » 12 мар 2014, 18:54

веб сервер имеет накладные расходы на установление соедиения (если не делать keep-alive).
ssh в целом быстрее. Но если вы команды сам писать не будете, то зачем он?
Можно установить постоянное соединение c ssl например между клиентом на телефоне и сервером на роботе.
oxid
 
Сообщения: 51
Зарегистрирован: 16 июл 2013, 03:47
прог. языки: C, Perl, Java
ФИО: Денис


Вернуться в Идеи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 40

cron