开源改变世界!!

考虑 LCD/OLED 显示器支持 #214

推推 grbl 2年前 (2023-01-29) 113次浏览
打开
bdring 打开了这个问题 2019 年 9 月 12 日 · 41 条评论
打开

考虑 LCD/OLED 显示器支持#214

bdring 打开了这个问题 2019 年 9 月 12 日 · 41 条评论

注释

考虑 LCD/OLED 显示器支持 #214
所有者

我正在考虑添加对本地显示的支持。我正在研究可能有意义的硬件和布线选项。我欢迎任何建议。

我认为这个有线接口应该支持显示器、一些按钮和可能的 SD 卡。这将允许一个全功能的本地控制或吊坠。

我判断解决方案的标准之一是对 ESP32 的 I/O 要求最少。理想情况下,它是单个 I2C 或 SPI 连接。这排除了很多现有的 RepRap 解决方案。

考虑 LCD/OLED 显示器支持 #214

嗨巴特,

我认为这是一个很棒的点子。我会想到 Nextion 的东西。这样,如果像我这样的菜鸟想要更大的屏幕或不同的东西,我们可以配置它。
https://nextion.tech/

考虑 LCD/OLED 显示器支持 #214
合作者
luc-github 评论了 2019 年 9 月 12 日  

我已经测试了 Nextion 并且对我来说它不适应它使用串行,特定协议, – 并且屏幕反应性不如 ILI9143 + xtp2046 在 spi 模式下 – 我放弃了它的开发用于 esp3d nextion
唯一好的是用于 UI 设计的 IDE

使用 I2C oled 128×64 很容易集成,几个库为 ESP32 工作,另一种可能性是 TFT 和 SPI,它使用 CS + DC + MISO/SCK/MOSI 并且有适合它们的库和 ESP32

我现在正在为 ESP3D 开发触摸屏,所以我做了几个工作台和测试。
只是我的 2 美分

考虑 LCD/OLED 显示器支持 #214

@LUC-Github 很高兴知道。我正准备去买一个哈哈。

考虑 LCD/OLED 显示器支持 #214
合作者

我有几个——甚至是带有 rtc 和 gpio 的那个,你需要为每个分辨率做一个 FW,所以最后没有真正的收获——而且它们并不便宜

考虑 LCD/OLED 显示器支持 #214
合作者
luc-github 评论了 2019 年 9 月 12 日  

有非常好的库来获得相同级别的 UI – https://littlevgl.com/ 真的很棒
,但我认为对于 GRBL 简单的 UI 就可以了,I2C 可以满足需求:就像这样适用于 esp 32 https://github .com/ThingPulse/esp8266-oled-ssd1306

对于我使用的 TFT:https ://github.com/Bodmer/TFT_eSPI

考虑 LCD/OLED 显示器支持 #214
詹姆斯·牛顿 评论了 2019 年 9 月 12 日  

请考虑将 USB OTG 用于旧手机或廉价平板电脑。只需 10 美元的电缆,您就可以拥有一个漂亮的显示器,其中包含您喜欢的任何功能,而无需占用额外的引脚。如果不想写app,可以用DroidScript之类的app,用JavaScript写一个app,插上USB OTG手机自动运行,也可以编译成app(小捐助) 如果你想做一个独立的。

根据您所拥有的东西,成本可能低至零,而且实际上不会超过 Nextion。手机在 eBay 等网站上几乎一无所获……例如,一部 Galaxy S3 只需 20 美元。有一个技巧:您必须使用一种可以在一根 USB 电缆上充电和运行 OTG 的设备。列表和一些其他选项位于:
http ://techref.massmind.org/techref/io/usb/OTG.htm

举个例子(请记住,可以支持任何图形/前面板外观,这种简约布局正是我想要的)
http://techref.massmind.org/techref/language/DroidScript/BusPirate/index。 htm
(向下滚动查看图片)

我现在正在扩展 DroidScript“应用程序”以支持无头 Linux 机器(又名 RasPi 零):
https ://github.com/JamesNewton/nixPanel

我真的很想看到某种通用的 /graphics/ 终端应用程序,比如 Nextron 的 UI 部分,但我目前没有时间专注于此,老实说,当它出现时我很无能为力谈到GUI设计。但我可以想象出既可以作为文本界面又可以作为 GUI 界面的东西。例如,ESP32 可以说:

Menu: Select Mode
1. Configuration
2. Jog
3. Run Job
Input: mode #

这会在您的串行终端上显示得很好。但是如果手机/平板电脑通过 OTG 连接到同一个 USB 端口,并且应用程序正在运行,它会看到“菜单:”并抓取标题,然后查找数字项目并从中制作按钮,然后抓取“输入:”之后的文本,如果用户按下“Jog”按钮,它会将“模式 2”喷射回 ESP32。

希望我传达的是总体思路:开发一种适用于标准终端上的人机交互的语法,以及在应用程序中制作控制面板的线索。这具有(重要的)优势,即不需要在 ESP32 上添加一堆额外的 GUI 代码。并且…允许用户自定义控制面板的外观和大小。

还有很多其他方法可以做到这一点。例如,当应用程序启动时,它可以向 ESP32(或其他设备)发出信息请求。例如“echo $PANEL_SETTINGS”并期望返回一系列描述符,这些描述符定义了控制面板的布局。

嵌入其中的是菜单的描述以及应该为每个菜单选择发送什么字符串。如上例。

以及状态字段和要查找的字符串以获取值以更新 GUI 上的状态。例如,如果 ESP32 发送:“LIMIT SWITCH 1 PRESSED”然后打开“X LIMIT”图标。这可能是 PANEL_SETTINGS 中的一个字符串,例如Icon: warning @upperright highlight: "LIMIT SWITCH 1 PRESSED" normal: "LIMIT SWITCH 1 CLEARED". 希望你明白了。

任何数量的其他标准 GUI 界面项目:滑块、增量/减量、文本输入、文本输出等…

是的,这听起来像是自己的项目,但我认为它可以从非常简单的控件开始。只有几个按钮和状态字段。然后它可以自己生长。我很乐意提供帮助,我现在还不能开始。

考虑 LCD/OLED 显示器支持 #214
所有者作者

@JamesNewton

我长期以来一直抵制有线显示器的主要原因是我一直觉得平板电脑、PC 或智能手机是更好的选择。

已经支持蓝牙并提供非常高的性能。有几个非常好的应用程序已经兼容。

WebUI 也工作得很好。虽然更新速度比蓝牙慢,但无需为Android、IOS、Windows等开发应用程序。如果你有浏览器,它就可以使用。

像 ESP32 这样的设备上的 USB OTG 是一项艰巨的任务。我知道最新版本的家庭可能有它,但这是一个单核处理器,不太可能运行我们现在拥有的。

虽然我不是 100% 在有线显示器上出售,但我可以看到一个坚固且密封的吊坠,带有一个老式的急停装置,也许冷的慢跑轮有它的优势。这些功能都在固件中,因此只需要一个代码库。

考虑 LCD/OLED 显示器支持 #214

@bdring叹。你完全错过了我评论的重点。对不起,我没能像往常一样有效地沟通。

USB OTG 不适用于 ESP32,它适用于手机/平板电脑。它允许手机/平板电脑代替 PC 连接到 ESP 32,并以低得多的成本提供专用显示器/界面。您不需要在…上实施 USB OTG

没关系。如果它不明显,就没有理由继续尝试解释它。

考虑 LCD/OLED 显示器支持 #214
所有者作者

@JamesNewton对不起,我让你叹了口气。你说“将 USB OTG 用于旧手机”你对“to”的使用让我失望了。

我以前曾多次在平板电脑上使用 USB OTG 连接到 Grbl。对于 ESP32 开发模块附带的一些 USB 芯片,我在平板电脑的驱动程序可用性方面遇到了问题。

在这里,我有一个廉价的中国平板电脑,通过 USB OTG 集成到 Inventables X-Controller 中。我也连接了视频慢跑控制器。我大约 4 年前这样做了。

考虑 LCD/OLED 显示器支持 #214

考虑 LCD/OLED 显示器支持 #214 bdring 添加了 讨论 标签 2019 年 9 月 12 日
考虑 LCD/OLED 显示器支持 #214
合作者
luc-github 评论了 2019 年 9 月 12 日  

但是屏幕需要输入,所以也需要 i2c 键盘——对吗?
或 3×4 键盘 3 根电线,但意味着需要另一根电线

考虑 LCD/OLED 显示器支持 #214
味三 评论了 2019 年 9 月 12 日  

如果我明白@JamesNewton建议正确,手机上运行的应用程序将发送串行命令,因此不需要 I2C。输入将通过 USB 串口连接到 ESP。

该应用程序可以查询 ESP 的序列号,以保持应用程序上的信息配置更新。有点像 Candle 或 bCNC 等 PC 程序。

我想这里使用 OTG 而不是蓝牙的目的是为了让手机电池也能充电。否则,使用蓝牙也会有类似的效果。

考虑 LCD/OLED 显示器支持 #214
所有者作者

您现在可以在不对固件进行任何更改的情况下进行 OTG。如果你想给它充电,你需要让控制器保持供电,即使在不使用时也是如此。这是硬件问题,不是固件问题。我建议使用带有单独充电插头的普通双电缆。

如果您有线,只需将其连接以充电并使用蓝牙即可。

这两种方法完全支持并具有出色的性能。这个线程是关于一个可能的固件解决方案。

考虑 LCD/OLED 显示器支持 #214

本地显示显示谁连接或连接情况?机械状态?可以帮助操作者解决一些使用中的问题。

考虑 LCD/OLED 显示器支持 #214

我认为这是一个不错的选择,我希望你 fork 这个 repo,添加更多 LCD 支持,并添加更多未来
https://github.com/mstrens/grbl_controller_esp32

考虑 LCD/OLED 显示器支持 #214

我认为这是一个不错的选择,我希望你 fork 这个 repo,添加更多 LCD 支持,并添加更多未来
https://github.com/mstrens/grbl_controller_esp32

执照 ?

考虑 LCD/OLED 显示器支持 #214

@Engineer2Designer未提及所有者许可证

考虑 LCD/OLED 显示器支持 #214

屏幕输入可以改成下面的pin吗?
#define CONTROL_RESET_PIN GPIO_NUM_2 // Uno A0
#define CONTROL_FEED_HOLD_PIN GPIO_NUM_4 // Uno A1
#define CONTROL_CYCLE_START_PIN GPIO_NUM_35 // Uno A2 … ESP32 需要外部上拉
用户旋转编码

考虑 LCD/OLED 显示器支持 #214

使用 serial 将允许使用 gcode 命令进行慢跑,家庭等……并且 grbl 通过 serial 报告它的状态和 pos 以供显示。

仅用于慢跑的另一个最小选择是通过 i2c 的 Wii 双节棍。它有一个用于 x/y 点动的小操纵杆和 2 个用于 z 向上/向下的按钮。

考虑 LCD/OLED 显示器支持 #214

小提示:使用平板电脑或手机通过 OTG 进行显示的另一个优势(正如我上面所建议的)是它们具有进行可视化的处理能力。例如,您可以放入许多开源 G-CODE 渲染 Javascript 中的任何一个,并根据位置报告(如 derFrickler 提到的那样)进行实时更新并进行漂亮的预览。由于它都是 JS,因此您可以对 Web 界面使用相同的开发工作。通过一些工作,您实际上可以将 Web 界面重新用作前面板界面。或者,如果您决定需要更适合较小屏幕的布局,则可以重复使用其中的一部分。而且…一个好的 USB OTG 适配器可以支持/多个/设备,因此您可以插入鼠标、键盘、XBOX 控制器,等等…

考虑 LCD/OLED 显示器支持 #214

是的,但这是不同的目的,
真正的按钮和操纵杆比触摸屏更适合慢跑。
不想错过我在其他机器上的吊坠。
https://der-frickler.net/_media/technik/railmill/img_20190824_181457.jpg

考虑 LCD/OLED 显示器支持 #214

叹息我不明白为什么人们听不懂我在说什么。

  1. ESP32 GRBL通过USB OTG连接平板/手机
  2. XBOX 等…还可以通过 USB OTG 连接到平板电脑/手机
  3. 你按下“真正的按钮和操纵杆”,平板电脑/手机就会发送 g 代码来让机器慢跑到 ESP32,它“比触摸屏慢跑更好”……因为我不建议使用触摸屏到…

我不是在写英文吗?

关键点:ESP32 不需要额外的代码或 IO 引脚来支持“附加的另一件事”,因此它可以专注于获取 G-CODE 和生成脉冲。

考虑 LCD/OLED 显示器支持 #214
所有者作者

@JamesNewton是的,我们能理解你。请尽量不要如此对抗。

你说的已经支持了。这个线程是关于完全不同的东西。它将是可选的,并且不会与您描述的方法冲突。

考虑 LCD/OLED 显示器支持 #214

很抱歉,我不明白这个线程仅限于添加硬件并且排除了现有的 USB 接口。我要说的是,我并没有真正了解这种方法的优势,但如果您想研究这种方法,我将取消关注此问题并停止纠缠。

考虑 LCD/OLED 显示器支持 #214
德弗里克勒 评论了 2019 年 9 月 24 日  

@james牛顿,抱歉,一定也错过了关于在 OTG 上使用硬件控制器的部分。
我多年来一直使用 grbl,不是通过 OTG 在平板电脑上使用它,而是在带有 GRBL 控制器和 UGS 的 Raspi(第一代 265mB)上使用它,工作正常,但需要在运行 GCode Sender 的机器上进行设置。

对于 Grbl_Esp32,我非常喜欢从 SD 卡运行作业并使用任何设备查看 Web 界面的想法。意味着拥有完整的 CNC 机器,无需在任何其他机器/设备上进行配置。

喜欢 (0)