评论
你的 websocket 端口是 81 吗?浏览器是否连接到它?以下是我在启动时在 Firefox 调试输出中获得的网络流量(使用 F12 打开): 101 响应是您在打开 websocket 时希望看到的。
它重新加载对我来说很好,查看调试输出有什么线索吗?
它是但应该可用,缺少的主要是访问控制——我没有花时间研究为什么它不起作用。身份验证似乎有效,因此修复起来应该不会太难。
目前您必须研究webui 服务器代码,也许还需要查看 webui 流量。 顺便说一句,我昨天提交了更新 – 这允许将 WebUI 首选项保存到 www 文件夹。 |
抱歉回复你晚了@terjeio. 我无法检查你问的是什么。我的路由器有一些问题。然后我尝试使用交叉以太网电缆与 teensy4.1 直接通信但没有成功。我使用带有 USB 到以太网转换器电缆的 Mac。这会是个问题吗?另外,#define network_ipmode 值 0 和 1 都试过了。我非常熟悉 LAN 和 IP 地址分配。对于 dhcp 模式,我假设它接受 dhcp ip 分配而不是 dhcp 主机。我对吗? |
为什么不?您使用的是哪种浏览器?我相信现在大多数都有开发模式,F12 使用 Firefox 和 Edge 打开开发面板/窗口 – IIRC Chrome 以及其他可能。websocket 端口在控制器设置中 – 由于您已经启动并运行了 ftp 和 webui,因此您的其他网络设置都是正确的,因此无需更改它们。
是的。 我想知道 PIO 是否使用最新的 Teensy 库,1.53 有间歇性延迟问题,这些问题已在 1.54 中修复。 |
对不起,如果我无法正确解释你。我的意思是我的网络路由器出现故障,因此无法将我的 grblHAL 连接到我的 mac。无论如何,今天我会得到新的,但我仍然想知道与交叉电缆的直接连接及其设置。 |
让我的路由器启动并运行。进一步使用 ip 和 webui。观察到以下情况:
|
可以直接用wschat.html文件测试websocket通信,在103行编辑IP地址和端口号打开即可。 |
wschat.html 完美地连接和通信。但是对于webui,chrome开发者工具显示连接失败! |
这很奇怪,当 webui 运行时,你能在另一个选项卡/窗口中连接 wschat.html 吗? |
是的。我同时在 pc1 (windows) 中启动了 webui 并在 pc2 (mac) 中启动了 wschat.html。在 wschat 中获得成功。但是,观察到 webui 之前在 pc2 中不工作。因此,我对防火墙的疑虑较少,而对 webui 代码/库或其任何设置的疑虑更多,因为链接断开导致任何代码内的 ip 未更新? |
我忘了检查同一台电脑,不同选项卡中的同一浏览器。明天会做,因为现在是晚上,我回到家了。 |
webui 中对 websocket 连接的响应是什么(查看开发输出)? |
我确定我首先启动了 webui。它没有成功。然后我开始 wschat,这是成功的。明天将提供有关 webui 页面的开发工具信息的更多信息。 |
/preferences.json?1633243403760&PAGEID=:1 加载资源失败:服务器响应状态为 404(找不到文件) 404:找不到请求的文件。
(index):17 启用 ping |
如果有帮助,以下是 wschat 中的行(最新的在上面): <空闲|MPos:-0.800,28.124,15.000|Bf:35,1023|FS:0,0|Pn:PXYZHS> |
这很奇怪 – Chrome 问题?您是否尝试过使用其他浏览器? 这是在 websocket 连接上调用的函数,也是可以添加某种调试输出的地方。
WebUI 中丢失的数据很容易解释,因为这些是从 websocket 流中提取的——没有连接,没有数据可以显示。 Yoy 可以忽略 404 响应 – 直到您在 WebUI 中保存首选项,这些才会显示。请注意,只有最新的提交才能保存这些。 |
我的天啊。正确的。铬问题。但我们不能真正称之为浏览器问题。wschat 在 chrome 中运行良好!我已经检查了 webui 工作的 safari 浏览器!但同样不适用于歌剧!我不擅长编码,但我会尝试自己找出问题。如果我能得到任何东西,我会在这里发布。我怀疑 index.html.gz 有问题。会挖掘更多。谢谢。 |
著名的。谢谢。 |
我认为,luc 主要为所有 ESP 板开发 ESP3D,这些 ESP 板的网络应用程序存储内存非常少,因此他可能选择了 gulp 和其他基于此的库。如果我们从一个完整的网络应用程序重新开始,它应该比理解和编辑 ESP3D 代码花费的时间更少(因为我们有足够的存储空间)。我具有开发 nodejs Web 应用程序的初级到中级技能。我真正不知道的唯一一件事是将服务器端代码绑定到 js。是否有现成的 api 可供我用作模板? |
Websocket 通信可以“按原样”使用,因为它只是标准 grbl 请求/响应协议的串行流包装器。 通过向核心添加一些函数指针,即使在运行时也可以用新的协议替换标准的 grbl 协议。这可能是核心的一部分或在插件中。 在协议之上使用 http 请求(rest API?)也可能是一种选择,WebUI 使用它但依赖于 websocket 连接来取回一些响应——也许是因为那是唯一可行的解决方案? http 请求和响应有一个缺点——开销,这是您无法避免的。我不知道这是否是个问题,尤其是对于高速激光雕刻? 我不完全确定您将什么定义为 API,因为可能定义了多个级别的 API,如果从浏览器中看到,那么grblHAL WebUI API 可以作为一个示例,因为它解析 http 请求并通过 html 返回响应和一个 websocket 流。 |
好的。我的印象是您修改了 ESP3D 代码以适应 grblHAL 但现在我可以理解 server.c 是您作为“中间件”编写的文件。如果我错了,请纠正我。 |
您是完全正确的,WebUI 代码(尚未)由我修改。server.c(和commands.c)是 WebUI 协议的后端/中间件。 |
谢谢(你的)信息。 |
让我告诉你,所有基于网络的协议都运行得非常快。之前我在 grbl_esp32 项目中使用了 ESP3D webui,但由于 wifi,文件上传速度非常慢。我总是喜欢 FTP 客户端(我使用 FileZilla),它在从 SD 上传和删除文件和文件夹时非常方便,并且使用 teensy4.1 的本地以太网,速度非常快。由于有以太网,webui 中的上传速度也很快。这是为了信息/反馈目的。 |
我正在尝试激活 webui,但出现此错误 我有 grblHAL Teensy 4.1 Pro 控制器 #define USB_SERIAL_CDC 2 // 1 个用于 Arduino 类库,2 个用于 PJRC C 库。注释掉以使用 UART 通信。 // 如果所选的板图支持三个以上的电机联动和/或 |
你好@terjeio,
只是想分享我在webui、ftp和sd上玩了一段时间后的初步印象。
看来,webui还在初期开发中。我想知道如何将 html、css、js 项目映射到内部绑定。我的意思是,如何托管服务器,使用网页向串行控制台发送命令,以便我 csn 设计自己的应用程序。