开源改变世界!!

树莓派上带有通用 G 代码发送器的 grbl #153

推推 grbl 2年前 (2023-01-21) 35次浏览
关闭
chuck-h 打开了这个问题 2012 年 12 月 24 日 · 35条评论
关闭

树莓派上带有通用 G 代码发送器的 grbl#153

chuck-h 打开了这个问题 2012 年 12 月 24 日 · 35条评论

注释

树莓派上带有通用 G 代码发送器的 grbl #153
成员

这是个绝妙的主意!也许这是为 Grbl 获得无头控制器的最好和最便宜的方法。我想几乎每个人都有一个旧键盘、鼠标和布满灰尘的液晶显示器。我必须自己做类似的事情。太棒了。

树莓派上带有通用 G 代码发送器的 grbl #153

不错的设置。但是,请记住,@chamnit, Pis 有 a) HDMI 或 b) 复合视频输出,所以布满灰尘的 LCD 显示器是行不通的……;)

树莓派上带有通用 G 代码发送器的 grbl #153
成员

好吧,那真是太可惜了!我想以相当便宜的价格找到小型 DVI 显示器或带复合输入的旧 LCD 不会太难。我想知道树莓派是否可以为界面运行便宜的小型触摸屏(如果存在的话)。在我看来,我认为这将是一个很棒的终极设置。尽管冷却剂可能会破坏表面(虽然可以受到保护),但它们没有任何切屑堵塞的开口。

树莓派上带有通用 G 代码发送器的 grbl #153

从技术上讲,RPi(就像 BeagleBoard 的 DVI-D cape 一样)执行“HDMI 连接器上的 DVI 信号”,而不是纯/完整的 HDMI。对我们来说幸运的是,99% 的带 HDMI 输入的电视和显示器都会将其隐藏起来,您永远不会知道,但如果您遇到问题,了解这些技术细节会有所帮助。

此外,HDMI/DVI-D-to-VGA 适配器非常便宜,任何用于 PC 的显示器都有 VGA 输入,因此可以轻松解决接口问题。

RPi 有大量的 GPIO 可以连接任何可用的触摸屏,无论是笨拙的(4-5-7 线)还是智能的(SPI/I2C)。

树莓派上带有通用 G 代码发送器的 grbl #153

我对那些便宜的“DVI-D-to-VGA”适配器非常谨慎,@csdexter. 不久前在 Pi 论坛上对此进行了令人作呕的讨论,结论始终是便宜的适配器是简单的 DVI-I 到 VGA 直通(在这种情况下对我们没有任何作用),而实际的 DVI-D -to-VGA 从不便宜(〜另一个 Pi 的价格)。至于“老实说,它们是‘-D-’而且便宜,包装/制造商是这么说的!”,请参阅http://forums.whirlpool.net.au/archive/559174之类的主题……

树莓派上带有通用 G 代码发送器的 grbl #153
作者

我想知道您是否可以使用 RPi headless 将控件公开为 Web 应用程序,然后使用手机/平板电脑通过 wifi 运行它。

树莓派上带有通用 G 代码发送器的 grbl #153
成员

哦,天哪,这是个绝妙的主意。我一直对通过 wifi 流式传输 gcode 程序持怀疑态度,但 RPi 有一个用于存储的 sd 卡和一个完整的操作系统和一个库来备份它。我认为这可以工作并且工作得很好。如果喜欢看到这样的事情发生。

树莓派上带有通用 G 代码发送器的 grbl #153
作者

由于 Universal-GCode-Sender 是一个 java swing 应用程序,有人可以在其上尝试 AjaxSwing:
http ://www.creamtec.com/products/ajaxswing/ 。不开源,但至少单机版是免费的。不过,我自己做过零 Web 开发,所以我认为尝试它不会有效率。

树莓派上带有通用 G 代码发送器的 grbl #153
贡献者

这是我现在的设置,看起来工作正常。我确实有
第一代 RPi,所以我必须在 USB 保险丝上焊接一根电线才能
让 WiFi 加密狗工作——如果你有一个新的 RPi,保险丝
已经被拔掉了。我使用 Raspbian“wheezy”图像,我安装
了用于文件传输的 FTP 服务器和 VNC 以便能够看到桌面。我
将 Wifi 加密狗 (EDiMAX) 设置为静态 IP 地址。RPi 启动
后,我通过 SSH 进入 shell,如果需要,我可以启动 VNC 服务器。
FTP 服务器就像一直在运行的 SSH 服务器。我使用 FTP
将 gcode 文件和较新版本的 Univarsal GCode Sender 传输
到 RPi。在 VNC 上运行 Univarsal GCode Sender 的桌面是
非常慢。但是,在我选择文件并开始流式传输之后,这就
不再重要了。我还没有尝试 python 脚本,但我认为
它可以在 SSH 终端上正常工作。关于 RPi 上的网页;我认为编写一个小的 CGI 脚本来创建一个文件 上传对话框并使用这个新文件启动 python 脚本
会很容易。 我认为 Raspberry Pi 基金会正在考虑使用一个小型 LCD 显示器连接到两个特殊插座之一。最好 有一个本地显示器显示作业和 控制器的状态。但如果它是基于网络的,我想它也可以 在页面和表格上显示状态更新,智能手机也可以查看它。

问候,
马库斯舒尔茨

在 2012 年 12 月 25 日下午 02:11,Sonny Jeon 写道:

哦,天哪,这是个绝妙的主意。我一直对
通过 wifi 流式传输 gcode 程序持怀疑态度,但 RPi 有一个用于存储的 sd 卡和一个
完整的操作系统和一个库来备份它。我认为这可以工作并且工作
得很好。如果喜欢看到这样的事情发生。


直接回复此电子邮件或在 GitHub
#153(评论)上查看。

树莓派上带有通用 G 代码发送器的 grbl #153

@blinkenlight Elara 的 HP HDMI 转 VGA 适配器:29.52EUR 含增值税;Raspberry Pi B 的 CPC价格为38.07 欧元,含增值税。我相信“惠普”消除了疑虑,如果你以 30 欧元的价格买到惠普,我敢肯定“中国版”的售价要低得多。

@chuck-h有许多免费/开源 Java 框架可用于将您的应用程序移动到 Web。当然,需要多少工时仅取决于最初编写应用程序的程度(模块化)。

树莓派上带有通用 G 代码发送器的 grbl #153

我想自愿处理 webapp。服务器端和客户端。碰巧的是,我一直在工作中花费大量时间使用 GWT 来编写控制 Cold Rolling Mills 的 Web 应用程序。在服务器端使用 Java 和 Tomcat 来托管 webapp。任何可以运行 tomcat 的设备都可以很好地工作,我最近刚拿到 ODROID U2,可能是 grbl 的一个很好的外围设备。

这似乎是一个常见的故事,但我也刚买了房子,目前正在完成将我的 2 个车库改建为机械车间/实验室的工作。一旦完成,我将使用它来完成我的原型 2 英尺立方 CNC 的电气/软件系统设计。

无论如何,在这里的春天我应该做好准备并想做一些特定于 grbl 的东西作为对一个伟大的控制器项目的感谢。

斯科特

树莓派上带有通用 G 代码发送器的 grbl #153

你好呀。
我从一开始就关注这个线程,当我上周免费得到一个带有 DVI 的旧 15″ TFT 时,我上周末开始构建我的 MillberryPi。Raspberry
和 USB-Hub 被拧到 TFT 的背面并由通过 5V 3A BEC 监控 12V 电源。另外,我连接了一个 USB 鼠标和一个网络摄像头。
使用 XFCE 和 UniversalGCodesender 运行 Raspian,我可以轻松控制 grbl。然后我安装了 Vino(XFCE 之上的 VNC 服务器),这让我可以远程访问到显示器上显示的当前桌面,以及允许我通过浏览器查看网络摄像头的 mjpeg-streamer。

在我看来,解决方案作为建议的网络应用程序效果更好,因为我可以在地下室的 TFT 上开始本地铣削,然后回到楼上通过 VNC 控制机器并从我的任何 PC 或平板电脑上通过浏览器观看网络摄像头.

我开始在我的页面上记录这个 – 用德语 – 图片将随之而来。
http://der-frickler.net/technik/frickelfraese#der_fraesberry_pi

树莓派上带有通用 G 代码发送器的 grbl #153
成员

@scottrcarlson: 你是我的英雄!:) 我迫不及待地想看看结果如何。无论如何,我几乎没有完成车库改造中的电气工作,在我看到曙光之前还有很长的路要走。我也希望春天。祝你好运!

@derFrickler: 绝对是一个很酷的想法,而且非常实用。特别是网络摄像头的想法。这种方法没有任何问题,我可能会像你一样(最终)做同样的事情。虽然我不认为每个人都能拥有必要的技能来轻松设置这样的东西。我认为一个非常简单的网络服务器界面,易于运行、设置和使用,在我看来会很棒(并且在 RPi 上运行,现在数量超过一百万)。这将允许在任何支持网络的设备上立即控制 CNC 设备。根据我的经验,VNC 可能会很慢,一两秒的延迟有时可能意味着部件损坏,尽管可能很少见。

树莓派上带有通用 G 代码发送器的 grbl #153

我认为很少有人能够让安装 Vnc 包的 Web 服务器工作。尽管 Web 服务的响应速度不会比 vnc 连接快。

树莓派上带有通用 G 代码发送器的 grbl #153
成员

也许,也许不是。我敢打赌,有一种方法可以使它变得简单。您会在应用商店中看到所有这些“空中驾驶”应用。这些通常只是运行类型的应用程序。我的看法是,如果有网络服务器,您根本不需要标准显示器、键盘和鼠标设置。一个真正的无头系统,具有易于修改/自定义的基于 http 的界面。使用任何你想要的设备,从旧的退役智能手机或 ipad 到你家里的桌面。

VNC 在计算机上运行良好,但智能手机和平板电脑上的 VNC 应用程序非常糟糕。VNC 的屏幕分辨率几乎从不匹配设备的分辨率,因此虚拟键盘和鼠标之间似乎总是有很多繁琐的滚动和切换。单击专为鼠标设计的东西,而不是触摸屏上的手指。不是一个很好的界面,至少在这些设备上是这样。使用 Web 界面,这些可以很容易地编写为适合任何设备的大小。

但我想一如既往,细节决定成败。我敢肯定,无论是延迟还是其他原因,都会有一些问题。

树莓派上带有通用 G 代码发送器的 grbl #153
贡献者

到底是怎么回事?为什么不使用像 iteadstudio iboard 这样的东西
作为串行到以太网中继,或者从 SD 卡
扩展到 grbl 板。修改 UGS 以使用以太网连接
而不是串行端口应该不会太难。
这应该适用于任何用户:修改后的 UGS + iboard 闪现了
简单的 Arduino 草图和两根连接到 grbl 板的电缆。
(好吧,也许 + 支持 WiFi 的网络摄像头 :-)

树莓派上带有通用 G 代码发送器的 grbl #153
成员

@jgeisler0303: 你的方法也没有错。我想我想做的是使用两种最流行的电路板:Arduino 和 RPi。两者都非常便宜且无处不在。我认为@alpharesearch说 RPi 上的 VNC 和 uGS 很慢,理论上网络服务器应该更快。我们有 Linux 的开源库来(某种程度上)快速制作类似这样的原型。

由于数据包和延迟,我对使用以太网有点怀疑。这是另一类已经被探索过的蠕虫。将 RPi 通过 USB 连接到 grbl,直接从其广告卡或 USB 闪存驱动器流式传输,并通过以太网(或 wifi)上的 VNC/网络服务器提供实时数据和控制,这将是对可用硬件的一种很好的利用,而无需这样做很多。

我曾经研究过如果连接 LCD,您实际需要的实时数据量。事实证明,你需要很多。不仅仅是一个简单的 4×16 字符 LCD 所能提供的。超过 320×240 LCDS。您确实至少需要 VGA 之类的东西。智能手机、平板电脑、旧电视和旧电脑显示器是唯一对我来说有意义的东西,可以在不增加太多成本的情况下使用。

我不知道。也许我只是在做梦。

树莓派上带有通用 G 代码发送器的 grbl #153
贡献者

好点子!我认为我们现在应该能够做到这一点。我们可以使用
netcat 或更好的 socat 通过 TCP/IP 将串行端口流式传输到
Raspberry Pi。这将允许在“真实”PC 上更快地运行 UGS。
然而,我确实喜欢这样的想法,即能够关闭我的“真实”PC 或
重新启动或让它崩溃而不影响 CNC 工作。这就是为什么 Web
服务器类型的应用程序会很好,现在这已经
可以通过 FTP+SSH 实现。我可以将文件发送到 RPi,我可以
在命令行上启动 Python 脚本或通过 VNC 在 RPi 上运行 UGS,但
速度非常慢。

问候,
马库斯

PS:我没用过socat,不过周末会做一些测试。

在 2013-01-29 14:53,Jens Geisler 写道:

到底是怎么回事?为什么不使用像 iteadstudio iboard 这样的东西
作为串行到以太网中继,或者从 SD 卡
扩展到 grbl 板。修改 UGS 以使用以太网连接
而不是串行端口应该不会太难。
这应该适用于任何用户:修改后的 UGS + iboard 闪现了
简单的 Arduino 草图和两根连接到 grbl 板的电缆。
(好吧,也许 + 支持 WiFi 的网络摄像头 :-)


直接回复此电子邮件或在 GitHub
#153(评论)上查看。

树莓派上带有通用 G 代码发送器的 grbl #153

Divide et impera :-)
我们要达到什么目的?不,真的,我们要解决的问题是什么?不必靠近 CNC?不必为此配备专用 PC?不必将显示器直接连接到该 PC?

根据答案的不同,可用的解决方案将大不相同。

其次,如果您仔细规划关键性边界,则很容易分布式运行(例如通过网络)。例如,驱动步进电机的“盒子”应该与电机本身处于相同的临界边界内——所以我们不应该把网络放在那里,除非它是一个仅供我们使用的专用设置。

继续前进,发出 G 代码的“盒子”和解析它的“盒子”很可能处于不同的关键领域。我们可能不得不想出一个巧妙的缓冲解决方案,以确保任何依赖于 G 代码的东西以一定的最低速度进入,但除此之外,设计与这两个概念“盒子”之间的通信介质的属性无关”。

更进一步,向用户显示状态信息的“框”很可能处于第三个关键域——只要安全得到保证(即你仍然可以按下紧急停止并让它冻结),它不会如果我们正在流式传输 G 代码,控制面板是否反应缓慢或每分钟崩溃 2 次都无关紧要。当然,如果我们要用面板来做手工铣削,那么我们当然应该提高它的可靠性,也许还可以把它和其他更关键的“盒子”一起搬到另一个领域。

所以,总结一下:我们要解决的问题是什么?

树莓派上带有通用 G 代码发送器的 grbl #153

@csdexter– 好问题。我认为我们可以放心地假设我们中的许多人都有不同的期望和要求。

在我的例子中,我想在我的接线盒内打包一个无头服务器,它物理连接到 grbl 和其他关键子系统,我认为 linux 服务器是合适的,一些好的和防弹的,最小的,添加一个独立的无线路由器,并有一个用于 cnc 的隔离网络。我已经为手动铣削控制构建了一个物理控制面板。对于自动铣削作业、机器配置、3d 打印、激光切割、拉伸测试,我想启动我的笔记本电脑并连接到我的机器,并有一套应用程序来控制和交互。安全始终是一个问题,我相信一旦原型启动并运行,这些问题就可以而且将会得到解决。

至于流式 gcode,我永远不会喜欢从 Web 客户端逐行推送 gcode 的想法。即使使用 websockets,这似乎也不是一个好主意。我们只允许用户上传 gcode 文件然后执行它,在服务器端我们可以使用我们想要的任何东西将该信息推送到 grbl。

其他用途如下:

我想上传一个 STL 文件并用 Skeinforge 将其切片以完成打印作业。在我的 cnc 接线盒内准备好并配置一个无头 linux 盒会非常好。这样我就可以拿起我想要的任何笔记本电脑或计算机并上传我的 stl,让我的 webapp 运行 skeinforge 切片,在它可用和准备好时通知我,然后让我开始工作或排队。随着需求和应用程序的增长,这更有意义。

对不起,我现在都在说话。我将准备在春季晚些时候开始制作这只小狗的原型,并与感兴趣的人讨论细节。启动并运行一些东西不会花很长时间。我实际上已经编写了大部分代码,只需要组织它并实现最终的管道。然后我们将不得不就我们(每个人)想要/需要的东西进行更多讨论……我认为这会很有趣。

很棒的谈话!

斯科特

树莓派上带有通用 G 代码发送器的 grbl #153

再补充一件事。至于安装方便。多年来,我一直在部署独立的 Tomcat Web 服务器安装。没什么。我们可以提供预配置的设置,只需下载并运行即可。从那里,我有一个 webapp 充当安装/删除程序界面,带有一个有点原始的包管理系统。从这里我们可以下载附加的服务器端功能和 WAR 文件并进行简单部署。对于不干涉的用户,整个过程可能比在 Windows 上安装程序更简单。

斯科特

树莓派上带有通用 G 代码发送器的 grbl #153
成员

@csdexter: 同意。很好的问题。很难回答,因为每个人都“想要”不同的东西。

我想应该首先承认我并不总是 100% 的布线工作,当它运行的电压高到足以杀死我的笔记本电脑和/或 USB 端口(尽管一台蹩脚的笔记本电脑,但它不想死)。我认为这里的目标是为 Grbl 创建一个非常简单且功能强大的无头控制器,而不会让计算机或有线网络上的东西因真正糟糕的布线工作而冒险。此外,一台用于 CNC 机器的专用计算机不需要我将我的笔记本电脑暴露在一堆铝屑中,这些铝屑可能会使某些东西短路,也不需要我车库的严寒。

因此,用于控制和向 Grbl 提供 g 代码程序的 RPi 是最佳的,无论是有标准的监视器 BYKAM 设置还是通过 VNC 联网和整洁的网络摄像头来监视进度。25 美元。无需来回吹笔记本电脑。只是一个始终存在的专用界面,随时可用。这就是行业的做法,Grbl 没有理由不能或不应该这样做。

至于网络服务器的想法,这只是我们在应用新技术方面可以做的延伸。现在几乎每个人都拥有智能手机,而且总是随身携带。能够随时随地自由地观察 CNC 机床在其工作中的进展,这将是一件了不起的事情,至少对我来说是这样。更少的时间看机器移动或气喘吁吁地回到电脑前检查 VNC,更多的时间做其他事情。

最后一点。通常情况下,如果出现紧急情况,通常是在您校对一段新的 g 代码时,如果出现这种情况,您就在场、观察并准备好采取行动。一旦确定一切正常,您几乎可以让机器在无人值守的情况下运行,特别是如果您有足够的经验并且相信您的机器没有任何问题。这对于批处理作业很常见,在批处理作业中,您生产大量相同的零件,或者有一个可能需要数小时的非常长的程序。

树莓派上带有通用 G 代码发送器的 grbl #153
贡献者

如果我们为 Raspberry Pi 制作这个,我们应该只创建一个
安装了所有驱动程序和程序的 SD cad 映像。在这种情况下,我们
只需要找到一个可以托管这个 1-2 GB 文件的网页。用户
只需下载图像文件并通过 GUI 程序
(相关说明在官方 RPi 页面上)将其传输到 SD 卡。
将 SD 插入 RPi 并为开发板供电。我们需要创建
某种网页或 wiki 并记录所有特定于
我们图像的功能。
到目前为止,我可以在 VNC、FTP 和 SSH 方面提供帮助(也许还可以使用 telnet)。我们还可以
使用 Amanzon 的 10 美元加密狗(
我有)安装和配置 WLAN。
为基于虚拟以太网的 COM 端口创建一个设置(我将
很快测试)。
如果我们可以安装 Tomcat 并将 USG 移植到 Web 应用程序,这将非常
酷,我认为有一个 Swing 到 Web 应用程序工具。但我不能 100% 确定
许可条款以及我们是否可以在图像上显示它?

问候,
马库斯

在 2013 年 1 月 29 日下午 06:21,scottrcarlson 写道:

再补充一件事。至于安装方便。多年来,我一直在
部署独立的 Tomcat Web 服务器安装。
没什么。我们可以提供预配置的设置,只需下载
并运行即可。从那里,我有一个 webapp 充当安装/删除
程序界面,带有一个有点原始的包管理系统。
从这里我们可以下载附加的服务器端功能和 WAR
文件并进行简单部署。对于不干涉的用户,整个过程可能
比在 Windows 上安装程序更简单。

斯科特


直接回复此电子邮件或在 GitHub
#153(评论)上查看。

树莓派上带有通用 G 代码发送器的 grbl #153
贡献者

我不知道。也许我只是在做梦。

不可能!lasersaur 的人有一个很好的网络界面,他们通过 beaglebone(或者计算机,如果你想为机器专用的话)提供服务。他们使用 python 为网络应用程序提供服务,当我上次检查时,他们没有向网络界面发送实时数据。

我喜欢将其制作成网页并让机器连接到 wifi/lan 的想法。带着平板电脑/手机四处走动,在数控系统上运行作业真是太棒了!更不用说,使用 html/css/js 在界面/内部进行黑客攻击时进入门槛较低。

我今晚会做一个原型

树莓派上带有通用 G 代码发送器的 grbl #153

哇,那天晚上有这么多回复;_)

我只是想展示我的设置,而不是反对 Web 解决方案,我真的很惊讶它的外观和工作方式。我认为部署不会成为问题,一旦安装了 Java 和 rxtx-stuff,这应该是直截了当的。
您甚至可以为覆盆子准备一个随时可用的 SD 卡映像。您有使用 Tomcat 和 openjdk 的经验吗?在使用 openjdk 运行时,我们的 JBoss 遇到了几个问题。
就我自己而言,我不太喜欢 Web 应用程序(开发和使用它们),这就是为什么我的大多数客户端-服务器应用程序使用 JBoss 应用程序服务器,但使用 Java 客户端。

在考虑如何实现我的解决方案时,我虽然考虑过编写一个 android 应用程序并通过蓝牙使用它来将 GCode 流式传输到 grbl。GUI 已经准备就绪。
https://frickelserver.hermen.net/owncloud/public.php?service=files&t=ceded5a2386bc8915e90ee4dc55788e4

但我喜欢 Raspberry+TFT 和 VNC 解决方案的是我可以完全控制机器(在 90% 的案例中我需要),而无需额外的设备,并且可以选择从远程查看它。

顺便说一句,对于最重要的命令和控制主轴电机、激光和清洁器,我正在构建一个带有真实开关和额外 Arduino 的控制面板。
http://der-frickler.net/_media/technik/frickelfraese/samples/cnc_samples_29.jpg

我真的很喜欢看到有很多人在这个项目上工作。
真正酷的是 UniversalGCodeSender 中 gcode 路径的实时 3d 预览,但我听说这方面的工作 – 我认为这在网络上实现起来有点困难,但并非不可能。

约翰内斯

树莓派上带有通用 G 代码发送器的 grbl #153

@derFrickler
也许通过蓝牙流式传输不够可靠/不够快。该应用程序应该上传文件,然后从服务器查询状态。
所以我们需要的最基本的服务器是一个缓冲完整的 gcode 文件然后接收命令的程序。一种 gr​​bl 代理。

现在做一些广告:
我已经制作了这个程序:http
://www.youtube.com/watch? v=kqCFuzl11s4 当你有一台直接连接到 grbl 的计算机时它很棒,但它不能通过网络工作。

因此,如果我们创建一个标准的 grbl-proxy/server,不同的 guis/frontends 可以连接到它,那就太好了!
我们已经有了一大堆前端。
它需要的功能:

  • G代码文件上传
  • 控制:启动、停止、保持、复位
  • 状态报告:当前行号、工具位置
  • 直接点动控制
树莓派上带有通用 G 代码发送器的 grbl #153

嗨科迪,

如果距离很近,我认为蓝牙就足够了。grbl 缓存命令,串行速度仅为 9600 – 但这只是一个想法。

喜欢 (0)