Технический форум по робототехнике.
denissyslo » 23 мар 2014, 04:58
Отличная связка получилась: OR-WRT + OR почти готовый комплект.
Но мне не нравится функционал базовой версии.
Хочу немного доделать страничку управления роботом, а именно расширить функционал:
1) добавить возможность установки величины ШИМ для каждого из двигателей. немного переделать алгоритм поворота.
2) добавить несколько ползунков для pan & tilt
3) организовать вывод данных с датчиков на главную страничку.
Если есть люди, увлеченные тем же, надеюсь, мы сможем общими усилиями это сделать.
Пока, как понимаю, надо слить главную страничку и ковырять ее.
=DeaD= » 23 мар 2014, 13:26
Сохрани и выложи сюда страницу с роутера, помогу чем смогу

вообще отладку страницы лучше делать на ПК, а потом уже выкладывать отлаженную на роутер.
А можно так и пользоваться страницей с ПК, не сохраняя её на роутере.
denissyslo » 23 мар 2014, 16:48
ок. Выкладываю.
А можно так и пользоваться страницей с ПК, не сохраняя её на роутере.
Такое возможно?
Добавлено спустя 5 минут 18 секунд:вскрыл страничку, беглым взглядом посмотрел - интересно. кое-что понятно. Надо приложить голову к доделыванию новых функций.
Ладно пошел спать.
- Вложения
-
index.zip
- (1.66 КиБ) Скачиваний: 0
=DeaD= » 24 мар 2014, 14:08
denissyslo писал(а):А можно так и пользоваться страницей с ПК, не сохраняя её на роутере.
Такое возможно?

Разумеется, для этого надо в странице все ссылки сделать абсолютными на твой IP робота:
1) <link rel="stylesheet" type="text/css" href="res/main.css"/>
2) document.write("<img alt='Robot Eye' class='bot-eye' src='http://" + document.location.host + ":8080/?action=stream'/>")
3) <form id="serialForm" action="/cgi-bin/serial.cgi" method="POST" target="hidden">
4) <iframe name="hidden" src="/nothing.html" style="width: 1px;height: 1px;visibility: hidden"></iframe>
5) <a href="admin/index.html">Robot administration</a>
Например, если адрес 192.168.0.55, то это будет выглядеть так:
1) <link rel="stylesheet" type="text/css" href="http://192.168.0.55/res/main.css"/>
2) document.write("<img alt='Robot Eye' class='bot-eye' src='http://192.168.0.55:8080/?action=stream'/>")
3) <form id="serialForm" action="http://192.168.0.55/cgi-bin/serial.cgi" method="POST" target="hidden">
4) <iframe name="hidden" src="http://192.168.0.55/nothing.html" style="width: 1px;height: 1px;visibility: hidden"></iframe>
5) <a href="http://192.168.0.55/admin/index.html">Robot administration</a>
elmot » 24 мар 2014, 22:28
Тогда уж css лучше тоже на ПК держать, а потом тудой залить.
denissyslo » 26 мар 2014, 18:02
Сделал, что бы страничка управляла с ПК.
Только при этом окно камеры не активно, ну да ладно.
Может кто-нибудь разъяснить как работает этот код:
- Код: Выделить всё • Развернуть
function scrollCam(val)
{
document.getElementById("scr").parentNode.scrollLeft=val;
};
Я так понимаю, к нему где-то есть кусок кода на яве?
В общем хочу сделать еще один скролбар для второй сервы.
Еще есть идея сделать (продублировать) управление двумя сервами (pan&tilt) с кнопок, что бы при нажатии одной кнопки серва медлено крутилась в одну сторону. Но как это сделать без задержки не приложу ума. Есть идеи на этот счет?
=DeaD= » 26 мар 2014, 18:16
Там такая схема - чтобы не происходило переполнение командами и при потере одной команды, чтобы не терялось нужное положение, я сделал так - элемент управления определяет желаемое положение сервы, а команда на сервер посылается 10 раз в секунду, вот тут это определяется:
- Код: Выделить всё • Развернуть
window.setInterval(
function(){
var pos = document.getElementById("scr").parentNode.scrollLeft;
if(lastPos!=pos){
submitUART("#9 P" +(pos + 700));
lastPos=pos;
};
},100
);
Добавлено спустя 56 секунд:Вот кусок html для отображения бегунка с id="scr":
- Код: Выделить всё • Развернуть
<div style="width:320px;height: 20px;margin-top: 15px;overflow-x: scroll;display: inline-block;"
onscroll="scrollCam(this.scrollLeft)">
<div id="scr" style="width:1920px;height: 1px;display: block;" ></div>
</div>
Добавлено спустя 46 секунд:Выше приведенная функция лишь ставит бегунок в нужное положение:
- Код: Выделить всё • Развернуть
function scrollCam(val)
{
document.getElementById("scr").parentNode.scrollLeft=val;
};
denissyslo » 26 мар 2014, 18:18
ok. спасибо за информацию. Буду понемногу перваривать

denissyslo » 27 мар 2014, 08:10
Следующие вопросы могут показаться простыми, но прошу отнестись с пониманием:
- Код: Выделить всё • Развернуть
document.getElementById("scr").parentNode.scrollLeft=val;
Не в курсе вообще как оно и что работает в HTML. можно пояснить как работает эта строчка?
=DeaD= » 27 мар 2014, 09:03
Устанавливает положение бегунка. Подробней - уже CSS читать надо про аттрибут scrollLeft.
cesar » 01 июл 2014, 15:36
Hello DeaD
Leveraging asunto on this topic
How do I change to use between 70-250
To control a servo motor.
Could you tell me
thank
=DeaD= » 17 июн 2015, 18:39
cesar писал(а):Hello DeaD
Leveraging asunto on this topic
How do I change to use between 70-250
To control a servo motor.
Could you tell me
thank
Hello cesar!
Insufficient information about your problem.
Do you mean servo position interval or something else?
If yes - you need to change servo parameter formula ( submitUART("#9 P" +
(pos + 700)); ).
best regargs
Slavik » 01 июл 2015, 01:13
Привет всем! Отличная идея поработать над веб-интерфейсом. Считаю, что OR-WRT супер крутая вещь, потенциал которой недооценен.
Я только учусь на программиста, так что вряд ли помогу мудрым старческим советом, но если что, то я в теме.
Slavik » 01 июл 2015, 07:28
Думаю, не я один заметил, что пользоваться OR-WRT на мольном очень неудобно, в то время как именно со смартфоном приятнее всего играться роботом.
А возможно ли вообще, сделать такую страничку, что бы при работе акселерометра или героскопа на мобильном выполнялась функция submitUART()? Очень хочется, что бы была возможность управлять роботом при помощи мобильного телефона, да так что бы управление осуществлялось при помощи сенсоров положения. Что бы не строгать какой-нить новый апп, можно же сделать мобильную версию для index.html. И в мобильной версии сделать так что бы картинка подгонялась по высоте экрана, наложить на изображение прозрачные кнопки слева (газ) и справа (тормоз), и осуществить реакцию на поворот экрана.
Я может сильно фантазирую, но кажеться что уже есть библиотеки для JS что бы отлавливать события акселерометра и героскопа. Сам то я не шарю (пока), но может для кого-то это дело 5 минут.
И хотелось бы иметь админку для управления роботом. Например, что бы была возможность поменять параметры портов, или назначить значения кнопок. И ещё много всего хотелось бы, но не хочу лепить в одну кучу.
elmot » 04 июл 2015, 13:49
Вообще-то написание простой программы для андроида - не есть суперзадача. Где-то у меня даже валялся расшифровщик mjpeg на яве, только для настольной, на переделать должно быть просто.