2

我正在研究一种从网站向 Arduino 板发送命令的方法。Arduino 板通过 USB 端口(COM 端口)连接到计算机。

我已经设法使用 VB.NET 程序连接和控制电路板。我还编写了一个 VB.NET 类,它可以实例化 COM 连接并发送和接收消息。

我的下一步基本上是创建一个程序,它将充当我的 Web 服务器(在 Windows Vista 上运行的 IIS 7)和 Arduino 板之间的代理。当用户访问我的 ASP.NET 页面时,该页面将向代理发送命令以打开 COM 连接。当连接打开并准备好时,我可以向代理发送命令。反过来,代理会将这些命令发送到董事会并监听它从董事会收到的响应。然后代理会将这些消息传递回 ASP.NET 页面。

我有几个问题希望群里能帮我解答...

  1. 我用这种方法走在正确的方向吗?有没有更简单或更有效的方法来做到这一点?

  2. 我看到的主要问题是,如果第二个用户打开网页并尝试打开 COM 端口,则会出现错误。这会导致第一次连接失败吗?我想我可以先检查端口是否已在使用中,然后给第二个用户一条消息。

  3. 是否还有其他我遗漏或没有看到的潜在挑战?

4

1 回答 1

1

与其将连接对象存储在 中,不如将其HttpSessionState存储在 中,HttpApplicationState以便所有用户都可以访问它。

您需要小心同步对 COM 端口的访问,以避免由单个 HTTP 请求发起的串行通信混淆并混淆 Arduino。

于 2009-05-19T15:22:37.187 回答