Мой сайт Пятница
15.11.2024
04:17
Приветствую Вас Гость | RSS Главная | Next6 | Регистрация | Вход
Меню сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Мини-чат

    Продолжение:
     
    Продолжу, пожалуй.
    Все бы ничего, но программа по управлению роботом написана не для сетевого использования. Для удаленного управления я использовал программу " TeamViewer ". Это бесплатная (это если не на работе и не в офисе и в общем - только в индивидуальном смысле) программа "Удаленного Рабочего Стола". Ее официальный сайт: http://www.teamviewer.com/ru/index.aspx . Она предлагается в нескольких вариантах. В общем описывать ее не буду, в интернете она находится не на последних местах, так что можно найти и ее описание и ее настройку. От себя только могу сказать одно: ПРОГРАММА ОТЛИЧНЕЙШАЯ.
    Все бы хорошо, только дополнительный посредник в работе программ - не самое сильное звено, лучше их оставить в дополнительном варианте, а основной составить самому. Так что потихоньку начал писать для варианта управления своим роботом, минуя программы "Удаленных рабочих столов". Плюс ко всему - если голосовое сообщение можно воспроизвести через речевой синтезатор, то послушать ответ - составляет проблему. Как итог - перелопачен интернет и на гора им выданы две программы (в исходниках разумеется):
    Это исходник по захвату WEB-камеры через сеть. Написан на Visual Basic. Сам исходник прост как мычание, только вот я не понимаю Basic, поэтому свою слегка переписал под C#.
     
    Это исходник по передаче текстовых сообщений и голосового общения.
     
    Значится в оригинальном исполнении заставить эти программы работать так как мне было надо - не хватило ума, поэтому я их объединил в одну. Теперь в одной программе идет и удаленный захват с WEB-камеры и управление удаленной программой через текстовые сообщения и захват звука с удаленного микрофона. Нерешенным остался вопрос в удаленном выборе и запуске WEB-камеры. То есть если камеру инициализировать при старте программы, то камера запускается, а если тоже самое попробовать проделать через сеть - камера отказывается работать.
    В процессе работы с программой оказалось, что моему варианту программы требуется DirectX (точнее DirectX SDK). Это все бесплатно и ставится с сайта Микрософта.
    Как проверить - установлено ЭТО у вас или нет? Проще простого. Для WindowsXP: Кнопка ПУСК-> Выполнить-> ввести команду dxdiag -> Дождаться пока диагностика завершиться и перейти на вкладку: Файлы DirectX, и посмотреть есть ли в перечне файлов следующие: Microsoft.DirectX.DirectSound.dll и прочие Microsoft.DirectX.YYY.dll где под YYY написаны разные слова DirectPlay, DirectDraw и т.д. Если их нет - надо ставить DirectX SDK.
     
    Итак - пока выкладываю промежуточную версию программы (исходник):
     
     Ссылка на необходимые библиотеки: - архив распаковать и поместить в \Мои документы\Visual Studio 2008\Projects\
     Ссылка на Сервер: - архив распаковать и поместить туда же
     Ссылка на Клиент: - архив распаковать и поместить туда же.
     
     Отдельно ссылка только на собраную программу:
     
    Эти программы пока находятся в промежуточном варианте. Дальше я в них буду добавлять функции по управлению Роботом. А пока их можно использовать в чистом виде - как удаленный захват с WEB-камеры с захватом звука. Там все просто,пояснять ничего не буду. Необходимые лейблы с пояснениями - поставите сами, я для этого исходники и выкладываю.
    Плюс ко всему этот исходник и программа страшно капризная, часто подвисает и очень критично относится к последовательности подключения к серверу, ну и отключение от сервера тоже капризное. В общем надо дописывать команды отключения (иначе exception - исключения (ошибка системная)).
    А в общем, у предложеной программы наряду с основным ее достоинством - крайней простотой кода, очень мощный недостаток. Нельзя нормально разорвать соединение. Серверная часть, если ее попробовать выгрузить, очень неохотно это делает. Приходится через "Диспетчер задач" снимать подвисшее приложение. В общем - работаю над ней.
    За сегодня (25 декабря 2011 г.) немного изменил программу, дописал сброс клиентской части состояние аккумулятора серверной, состыковал состояние COM-порта (клиент теперь видит - включен порт или нет), отключил передачу звука от клиента к серверной части (в дальнейшем можно будет вести голосовой обмен по желанию, пока - отключил потому как - мешает). И серверная часть теперь видит состояние загрузки процессора. Надо будет завтра дописать сброс загрузки процессора на сервере - клиенту.
     
    Собрал промежуточную версию.
     
    В строке IP-адреса, ставить текущий IP-адрес компьютера, на котором запущена серверная часть. Проблема сброса аудио пока не решена. Если во время работы клиента отсоединить передачу звука, то для восстановления передачи звука придется перезапускать клиент. COM-порт назначен COM4. Сброс для запоминаний настроек программы пока не предусмотрен. Этож промежуточная версия. Но - зато прикольно удаленно управлять чем-то и заодно слышать, что там в настоящий момент происходит.
     

    Copyright MyCorp © 2024 Бесплатный конструктор сайтов - uCoz