Веб-страница ASP.NET для подключения устройства к USB-порту (COM) сервера - PullRequest
2 голосов
/ 19 мая 2009

Я работаю над тем, чтобы отправлять команды на плату Arduino с веб-сайта. Плата Arduino подключена к компьютеру через порт USB (COM-порт).

Мне удалось подключить и управлять платой с помощью программы VB.NET. Я также написал класс VB.NET, который может создавать экземпляры COM-соединения и отправлять и получать сообщения.

Мой следующий шаг - создать программу, которая будет действовать в качестве прокси между моим веб-сервером (IIS 7, работающим в Windows Vista) и платой Arduino. Когда пользователь попадает на мою страницу ASP.NET, страница отправит команду прокси-серверу, чтобы открыть соединение COM. Когда соединение открыто и готово, я могу отправлять команды прокси. В свою очередь, прокси-сервер отправит эти команды на доску и прослушает ответы, полученные от доски. Затем прокси-сервер передает эти сообщения обратно на страницу ASP.NET.

У меня есть несколько вопросов, надеюсь, группа поможет мне ответить ...

  1. Я в правильном направлении с этим подходом? Есть ли более простые или эффективные способы сделать это?

  2. Основная проблема, с которой я сталкиваюсь, заключается в том, что если второй пользователь откроет веб-страницу и попытается открыть COM-порт, возникнет ошибка. Это приведет к сбою первого соединения? Я думаю, что я могу сначала проверить, используется ли порт уже и дать второму пользователю сообщение.

  3. Есть ли другие потенциальные проблемы, которые я пропускаю или не вижу?

1 Ответ

1 голос
/ 19 мая 2009

Вместо того, чтобы хранить соединительный объект в HttpSessionState, сохраните его в HttpApplicationState, чтобы он был доступен для всех пользователей.

Вам необходимо соблюдать осторожность при синхронизации доступа к COM-порту, чтобы избежать путаницы и путаницы в последовательном соединении, инициированном отдельными HTTP-запросами, и запутать Arduino.

...