roboforum.ru

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

Ubuntu linux и KernelChip

Ubuntu linux и KernelChip

Strangerx » 29 авг 2011, 04:34

Здравствуйте уважаемые пользователи roboforum, хотел подружить KernelChip Модуль Ke-USB24R с сервером на линукс Убунту. Возникла проблемма: Убунта запрашивает с модуля какие то данные, очевидно с целью его проверить на работоспособность но у модуля свой собственный язык запросов и он на запросы посылаемые Убунтой отвечает коротко "#ERR" из-за этого невозможно считать а порой и запросить у модуля какую-либо информацию, т.к. модуль постоянно занят ответом на запросы Убунты. на других ОСях проверял, все пашет как надо...
Помогите пожалуйста в решении этой проблеммы.
С Уважением Странник...

Re: Ubuntu linux и KernelChip

Strangerx » 29 авг 2011, 23:24

Ну и вот еще вопрос, правда не по теме: как передать на "мозг" робота (asus wl500gp) информацию о том что батарея разряжена?

Re: Ubuntu linux и KernelChip

Strangerx » 14 сен 2011, 19:27

->UP<-
Неужели ни кто не знает?

Re: Ubuntu linux и KernelChip

=DeaD= » 14 сен 2011, 19:34

Как с этим KernelChip'ом это делать - фиг знает, тут вроде его не используют...

В целом заряд батареи проверяется просто - заводите напряжение питания с неё на АЦП через резисторный делитель и замеряете напряжение на ней.

Re: Ubuntu linux и KernelChip

Strangerx » 15 сен 2011, 14:00

За половину ответа спасибо большое, на счет Kernelchip, там суть в том что ubuntu шлет проверочные запросы на виртуальный cdc_acm а так как kernelchip не модем он стандартно не отвечает, а сыпет ошибки, так вопрос в том как отключить проверку "модема"...

Re: Ubuntu linux и KernelChip

Strangerx » 27 сен 2011, 22:02

->UP<-
ну помогите плз, так и не нашел ответа...

Re: Ubuntu linux и KernelChip

vadinator » 27 сен 2011, 22:39

С производителями пообщайтесь...или с продаванами на край...

Re: Ubuntu linux и KernelChip

Strangerx » 29 сен 2011, 23:47

Производители не колятся, говорят что с другими ОСями проблемм нет... так что походу остается только менять этот Ubuntu...

Re: Ubuntu linux и KernelChip

boez » 30 сен 2011, 00:04

Или найти, какой конкретно демон в убунте (подозреваю, какой-нить hotplug) шлет эти команды в порт. И сказать ему, чтобы этого не делал.

Re: Ubuntu linux и KernelChip

Vooon » 30 сен 2011, 08:12

А через что модуль подключается? Если это последовательный порт (любой tty) то я знаю кто этот нехороший демон — modem-manager (часть network-manager).

Re: Ubuntu linux и KernelChip

Strangerx » 06 окт 2011, 00:52

модуль подключается через cdc_acm, системой определяется как /dev/ttyACM0
modem-manager и network-manager не установлены... демон какой-то явно присутствует, осталось узнать какой...
проблема пока не решена...

Re: Ubuntu linux и KernelChip

d.a.gerashenko » 15 янв 2013, 03:55

У меня была довольно интересная ситуация с этим модулем, пока гуглил, несколько раз натыкался на эту ветку форума, решил отписаться.
В наличии у меня: мой стационарный компьютер, микрокомпьютер Raspberry PI model B и модуль KernelChip Ke-USB24R с 4-мя реле.
К микрокомпьютеру подключаюсь со стационарного компьютера через локальную сеть с помощью клиента PuTTY.
В микрокомпьютер через USB воткнут модуль Ke-USB24R.
Модуль сам установился и определился как устройство /dev/ttyACM0.
Микрокомпьютер работает под управления Raspbian, что, наверное, одно и тоже что Debian, там же не далеко и Ubuntu.
Далее начались странности.
Я подключился к микрокомпьютеру через PuTTY и запустил команду echo -e '$KE,REL,1,1\r\n\' > /dev/ttyACM0
Ничего не произошло.
Попытался получить ответ cat /dev/ttyACM0
Ничего.
Я подключился к микрокомпьютеру через еще одно окно PuTTY, на одном запустил
cat /dev/ttyACM0
на другом начал слать команды.
На команду echo -e '$KE\r\n\' > /dev/ttyACM0 модуль вообще ничего не возвращал, никаких OK он не выдавал.
На команду echo -e '$KE,REL,1,1\r\n\' > /dev/ttyACM0 он то ничего не слал, то слал кучу ERR#, то срабатывал и слал кучу ERR#.
В общем случайным образом я догадался, что дело было в питании, я поменял адаптер для микрокомпьютера с 700mA до 1A, и реле стало работать с одной консоли, т.е. теперь не надо было постоянно читать ответ, чтобы хотя бы одна команда из 5 сработала.
Ответы реле я уже не стал читать, так что не знаю, шлет ли оно ошибки или нет, меня устроило то, что оно хотя бы начало стабильно работать.
Все кончилось написание php скрипта, который открывал файл, блокировал его, очищал, включал реле на 3 секунды и выключал, сбрасывал буфер, снимал блокировку и закрывал.
Еще один интересный момент, без sleep сразу после открытия файла и перед закрытием не работает, возможно в это время происходит какая-нибудь инициализация, в общем я не вдавался в подробности, мне было достаточно.
Вот php скрипт:
$fh = fopen("/dev/ttyACM0", "r+");
if (flock($fh, LOCK_EX)) {
ftruncate($fh, 0);
sleep(2);
fwrite($fh,"\$KE,REL,1,1\r\n",13);
sleep(3);
fwrite($fh,"\$KE,REL,1,0\r\n",13);
sleep(2);
fflush($fh);
flock($fh, LOCK_UN);
} else {
echo "File locking error";
}
fclose($fh);


cron
Rambler\'s Top100 Mail.ru counter