从用 C 语言编程的微控制器客户端使用 SignalR(或任何 WebSockets 框架)服务器

Posted

技术标签:

【中文标题】从用 C 语言编程的微控制器客户端使用 SignalR(或任何 WebSockets 框架)服务器【英文标题】:Using SignalR (or any WebSockets framework) server from microcontroller client programmed in C 【发布时间】:2017-03-20 21:22:57 【问题描述】:

我仍在思考什么是最适合学习的 WebSockets 框架,它给了我想要的一切。

我是 C#.Net Core 程序员(这是我用来编写服务器的语言)。我想开始学习 SignalR,但我还没有开始,因为我仍然对从微控制器客户端使用 SignalR 服务器的能力感到困惑。

是否可以在 SignalR C#.Net Core 服务器和用 C 语言编程的 ARM Cortex M4 微控制器之间传输数据(没有任何操作系统)?

如果 SignalR 无法做到这一点,哪个 WebSockets 框架可能对我的情况有用(C# 服务器 C 客户端)?

对此有任何进一步的想法和建议吗?我对 WebSockets 还是很陌生,我不完全了解是否可以从客户端使用 SignalR(或任何 WebSockets 框架)服务器使用另一个框架(或者可能是纯 websockets)。

【问题讨论】:

【参考方案1】:

如果您使用 SignalR for ASP.NET Core,您实际上可以使用裸 websocket 连接到服务器。我展示了一个演示,其中有 3 个不同的客户端连接到 SignalR 服务器。有趣的是,其中一个客户端是基于 NodeMCU 的运行 lua 的板。您可以在我的post 中找到所有详细信息,包括代码和设置说明。

【讨论】:

我猜你就是我看过他关于 SignalR 的视频的微软人。目前我觉得 SignalR 很难学习,因为我想将它与 ASP.Net Core 一起使用,并且到目前为止还没有好的文档。我没有花太多时间,因为那个人(我猜你就是)说一切都可能改变,因为它仍处于 alpha 阶段。实际上,我打算在我的 ARM Cortex M4 MC 中使用任何可用的 C 库,因为我不知道 Lua。我从你的博客中了解到,我将如何使用纯 WebSockets,阅读 Lua 代码会帮助我在 C 中实现这一点吗? 不。我不是这个人:)。我在雷德蒙德的 MVP 峰会上展示了这个,而 Damian 在伦敦的 NDC 上展示了这个。事情仍在迅速变化,但它变得越来越稳定,并且大部分变化都在 ASP.NET 套接字层之上(即在集线器等)。我提到 lua 是为了表明新的 SignalR 可以与任何符合标准的 WebSocket 客户端一起使用,而无需拥有专用的 SignalR 客户端。因此,如果您在 C 中找到一个 WebSocket 库,它应该可以正常工作。

以上是关于从用 C 语言编程的微控制器客户端使用 SignalR(或任何 WebSockets 框架)服务器的主要内容,如果未能解决你的问题,请参考以下文章

使用 C、gcc、C99 和 Macros 优化微控制器的简约 OOP

Go语言编译器TinyGo,基于LLVM,在微控制器和小系统上编译和运行

用keil软体如何将汇编与C语言结合起来一起编写微控制器的程式

PIC 微控制器:扫描 4x4 键盘上的输入,仅使用 C 中的端口 C RC0-RC3

如何在微控制器中创建 UART Pass through

使用 for 循环的微控制器 p18f4520 的音频