注释
|
你好@arthurwolf, Node.js 服务器后端在该软件中起着重要作用,它用于处理与 CNC 铣削控制器的串行通信,还提供 AJAX/WebSocket API 调用以定义前端和后端之间的抽象通信层。此外,还包括访问控制、服务器配置设置和用户帐户管理。 我还没有尝试通过 HTTP 发送 G 代码的以太网接口,但我会将通信放在后端而不是前端。运行服务器实例可以确保发送G代码时的适当稳定性,它不会受到桌面环境中CPU负载的影响,并且即使不小心关闭了用户的浏览器也可以继续当前正在运行的作业。https://github.com/LaserWeb/lw.comms/issues/1中讨论了类似的问题。LW4 正在朝着同一件事前进。 为了让桌面用户更容易安装,尤其是那些没有 Node.js 经验的用户,每个版本都提供了由 CI 生成的预构建 Mac / Windows / Linux 应用程序(下载:https ://github.com/cheton /cnc/发布)。它的行为类似于本机应用程序,因此用户无需担心 Node.js 的安装。 |
|
没关系。 这里的想法本质上是将应用程序变成一个可以在安卓平板电脑上运行的 html 页面。这样你就可以将平板电脑粘到你的机器上并用它来控制它。 干杯。 |
|
谢谢你的解释。无需额外安装即可在 Smoothieboard 上托管 Web 界面对我来说很有意义。我刚刚查看了 LaserWeb3 上的 Smoothie 实现(例如public/js/smoothie.js和public/js/socketcomms.js),现在我很清楚了。 一开始,将在服务器端添加对以太网通信的支持,将 Smoothie 作为另一个后端服务。同时,我将研究如何制作一个简化的 Web 界面(不依赖 Node.js)作为 Smoothieboard 的附加组件,这应该会为 Smoothieboard 用户带来便利。 |
|
这真是个了不起的消息。一旦你调查了它,如果你能衡量工作量,并给我你的小时价格,我也可以考虑寻找资金来支付你这项工作的费用(直接以太网链接而不通过后端)
|
|
你好@arthurwolf, 请问查询状态指令是否为“?” telnet模式支持吗? 从 USB 端口连接时可以使用类似 Grbl 的状态命令,但在 telnet 模式下 $ telnet 192.168.1.250
Trying 192.168.1.250...
Connected to 192.168.1.250.
Escape character is '^]'.
Smoothie command shell
> get status
<Idle,MPos:0.0000,0.0000,0.0000,WPos:0.0000,0.0000,0.0000>
> G0X10Y10
ok
> get status
<Idle,MPos:10.0000,10.0000,0.0000,WPos:10.0000,10.0000,0.0000>
>
我刚刚跟踪了SimpleShell.cpp中的代码,返回字符串的末尾 https://github.com/Smoothieware/Smoothieware/blob/edge/src/modules/utils/simpleshell/SimpleShell.cpp#L847 } else if (what == "status") {
// also ? on serial and usb
stream->printf("%s\n", THEKERNEL->get_query_string().c_str());
} else {
谢谢! |
|
嘿。是的, ?是“grbl”命令之一,它们应该以比其他所有命令更高的优先级执行,但这仅针对 USB 实现。不幸的是,这意味着以太网根本没有命令。我认为现在您很想使用“获取状态”。我不确定额外的行是关于什么的,我会问。
|
|
这是我所期望的:
但实际上它在调用“get status”时返回两个连续的“\n”:
这只是一个小问题,但希望得到修复。:) |
|
某处是否有 cncjs 分支使用以太网端口与 smoothieboard 通信? 添加此功能的最佳位置在哪里?在 cncjs-controller ( https://github.com/cncjs/cncjs-controller ) 里面? |
|
我问了同样的问题,他们告诉我这个功能将在新版本里程碑中可用,我正在等待
|
|
如果您需要有关如何与 Smoothieboard 交谈的帮助/信息,请随时问我。这应该很容易添加。
|
|
Smoothieboard 部分看起来很简单。通过网络连接发送数据也应该是直接的(api 与串口非常相似)。 cncjs-controller 中有一些串行端口访问正在进行(例如 listPorts())。 |
|
好吧,我不知道,我确实多次尝试编辑 cncjs,但在安装时它使用默认设置工作,我什至无法添加某人制作的小部件,所以如果你能制作视频来说明如何做,我会很高兴或在八月拍照片2018年9月3日晚上9点,fishpepper <notifications@github.com<mailto:notifications@github.com>> 写道: Smoothieboard部分看起来很简单。通过网络连接发送数据也应该是直接的(api 与串口非常相似)。我正在努力寻找添加此功能的正确位置…cncjs-controller 中正在进行一些串行端口访问(例如 listPorts())。另一方面,各个控制器内部发生了一些串行事件。— 你收到这个是因为你发表了评论。直接回复此邮件,在GitHub上查看< #99(评论)>,或使线程静音 < https://github.com/notifications/unsubscribe-auth/Ag_FBMI72gxDYg8ZVw3XeTELq4szlxzGks5uNJ3GgaJpZM4LC5Yr >。
|
|
我一起破解了第一个版本。你可以在这里找到我的叉子:https ://github.com/fishpepper/cncjs 请参阅 SmoothieController.js 设置您的 IP 和端口:
警告:请勿在正在运行的机器上使用它! 它似乎有效,但存在一些问题:
我想我会在这里放弃。为了让它正常运行,必须修改 smoothie 固件。 我想我会买一根更好的 USB 数据线,然后再试一次……这台机器过去 20 多个小时都运行良好。它刚刚开始在 USB 上产生随机挂起:( |
|
无论你做什么,它仍然是一样的,即使它开始看起来很好,因为随着时间的推移,电线会沾上灰尘,变弱等等,而且掉落也有一些原因,计算机的电源有很多 rezons,所以要修复那个以太和它的最好的,如果不是巨大的纸张打印机将只是 usb 而不是以太网支持,因为他们知道它会产生问题,并尝试在 usb 旁边传递一个高电压它会掉落它只是糟透了:P |
|
所以我会继续等待新的cncjs版本milstone |


你好。
你用 NodeJS 做什么?
Smoothieboard 有一个以太网接口和一个用于发送 Gcode 的 http 接口。
如果这个项目增加了对此的支持,是否可以将这个应用程序简单地打包为一个 html 页面,而不需要 nodejs ?
干杯。