我正在研究从网站向Arduino板发送命令的方法。 Arduino板通过USB端口(COM端口)连接到计算机。
我已经设法使用VB.NET程序连接和控制电路板。我还写了一个VB.NET类,可以实例化COM连接并发送和接收消息。
我的下一步是基本上创建一个程序,作为我的Web服务器(在Windows Vista上运行的IIS 7)和Arduino板之间的代理。当用户访问我的ASP.NET页面时,该页面将向代理发送命令以打开COM连接。当连接打开并准备就绪时,我可以向代理发送命令。反过来,代理会将这些命令发送到电路板并监听它从电路板收到的响应。然后,代理将这些消息传递回ASP.NET页面。
我有几个问题,希望小组能帮我回答......
我采用这种方法是正确的方向吗?有更简单或更有效的方法吗?
我看到的主要问题是,如果第二个用户打开网页并尝试打开COM端口,则会出现错误。这会导致第一次连接失败吗?我想我可以先检查端口是否已被使用,并向第二个用户发送消息。
我还有其他潜在的挑战吗?
答案 0 :(得分:1)
不是将连接对象存储在HttpSessionState
中,而是将其存储在HttpApplicationState
中,以便所有用户都可以访问它。
您需要小心同步对COM端口的访问,以避免单个HTTP请求启动的串行通信混淆并混淆Arduino。