我想拥有一个基于ASP.NET Core的网站,该网站可以与ESP32(具有基于Arduino代码的程序的微控制器)进行通讯,并保持连接。类似于串行端口,而无需通过网络电缆。我发现websocket可能有效,并且是最好的解决方案(不是吗?)。 ESP32不支持SignalR,因此我必须使用原始websocket。我发现只能从控制器调用不支持的中间件解决方案。
想法是:ESP32和ASP.NET Core网站之间的保持活动连接。用户可以访问网站并触发操作(从浏览器/ api),将数据发送到ESP32。网站是公共部分。浏览器和ESP32是封闭的部分(我的意思是..没有公共IP地址)。我也想在触发动作后立即发送数据。 ESP32会在3秒内收到数据。
websocket是否正确?您能告诉我或指示我如何将数据从操作发送到websocket客户端吗?我找不到足够的信息来做到这一点。
答案 0 :(得分:0)
我最终不是通过Websocket而是通过以IHostedService运行的TcpListener使用TCP。我使用Queue制作了Singleton类,以排队来自API调用的消息。在周期中的IHostedService中,我检查是否有任何新的队列消息要发送。
使用WiFiClient库通过Wifi连接的ESP32。
简单快速