Как мне управлять встроенным программным обеспечением устройства в C # с использованием HTTP?

StackOverflow https://stackoverflow.com/questions/3727956

Вопрос

У меня есть кусочек аппаратного обеспечения с помощью встроенного пользовательского элемента, обращается, введя IP-адрес устройства в веб-браузер. Устройство подключено непосредственно к моему ПК через X-Over Ethernet кабель и статический IP-адрес. Мне нужно интегрировать контроль устройства в мое приложение C #.

Моя мысль состояла в том, чтобы использовать Packet Sniffer для мониторинга трафика между моим компьютером и устройством, одновременно играя с элементами управления устройством в моем веб-браузере. Затем выясняя, какие пакеты, которые мой компьютер отправляет, соответствует, какие элементы управления я использую в то время. Тогда я могу создать класс пакетов HTTP или TCP в моем приложении C # и отправить их на устройство, используя класс сокетов.

Тем не менее, у меня нет много опыта с сетевыми протоколами, поэтому, когда я использую Wireshark, чтобы отслеживать трафик между моим компьютером и устройством, я не уверен, где даже начать при обнаружении, какие пакеты делают то, что. У кого-нибудь есть идеи? Я открыт для всего. Спасибо!!

Редактировать: его трудно объяснить, что именно то, что есть мое устройство, но его в основном сложный датчик и обычно используется в промышленных приложениях, поэтому он, вероятно, с моментами, с помощью Modbus, с которым я умеренно знаком. Знаете ли вы, как я могу сказать, какой протокол используется путем изучения пакетов? Я заметил (используя WireShark), что пакеты, отправляемые с моего компьютера на устройство, происходят в шаблоне 1 HTTP-пакета, затем 5 пакетов TCP и повторяют эту той же последовательностью, если элемент управления открытыми в моем браузере. Есть ли ресурсы, которые могут дать мне лучшее понимание того, что происходит?

Это было полезно?

Решение

Если это контролируемое браузером, моя первая мысль будет изучать веб-страницы. Устройство отправляет в ваш браузер и посмотрим, что прочин устроиванию браузера, когда вы управляете элементами управления - это гораздо проще, чем возиться с Wireshark.

Есть ли что-то, что мне не хватает, что делает это невозможным (например, систему управления на основе Flash)? Если это только что сделано с HTML или JavaScript, и сообщения HTML-сообщения или что-то более сложное, как Ajax, оно должно быть относительно легко разработать интерфейс.

Другие советы

В зависимости от устройства он либо будет использовать вариант протокола Modbus (http://en.wikipedia.org/wiki/modbus.) или что-то неясное и пропризорное.

Лучшее, что нужно сделать, это продолжать отправлять ту же команду на устройство снова и снова, пока не сможете распознать сходство в пакетах.

Если это предприниматель, это, вероятно, будет что-то простое, как пара команд / данных или, возможно, BLOB XML. Если вы действительно не повезли, это будет сжато или закодировано, но если вы не взломаете игру или кассовую машину, это вряд ли.

Спрашивая производителя устройства, если они могут дать вам спецификацию часто работает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top