注释
使用WiFi的LaserGRBL用户不多,不知谁来解答。
当连接打开时,LaserGRBL 进入连接状态并启动计时器。
现在,如果 LaserGRBL 从 grbl 收到任何报告机器状态的状态报告(空闲、运行、暂停、门…),右下角状态栏中显示的状态反映收到的状态,但如果它没有收到从在不到 10 秒的时间内连接到其他东西,超时到期并且连接将关闭。
恕我直言,您的系统未正确桥接从 arduino 到 pc 的串行连接 |
是的,需要沟通
是的
否,连接然后由于超时而断开连接。 看到你的?- 会话日志 |
Ciao Fabio 在 comlog 文件中,您可以找到从 LaserGRBL 发送/接收的所有串行数据。 |
Ciao Fabio |
再见 arkypita,
我仔细检查了设备之间的电气连接,但看不到任何错误。
Ciao Pinuxx |
对不起,你是对的。我已经为串行调试实现了 comlog.txt。 您可以下载 v3.0.5 https://github.com/arkypita/LaserGRBL/releases/download/v3.0.5/install.exe,我在其中为 telnet 和 websocket 添加了完整的 tx-rx 日志记录。可以使用 comlog 开关激活(如前所述)。 我建议使用 telnet 版本而不是 websocket。 我实际上正在使用集成了 ESP8266 的 arduino 开发板,它运行良好。以前我用的是备用的 ESP8266,它也能用。我认为这是你的硬件问题。
原理图中的分压器应该可以工作:https ://github.com/arkypita/ESP8266-SerialTelnet 我建议在 ESP8266 电源线附近放一个大电解电容。当 esp 开始传输时,它会消耗大量电流,并且如果电压下降可以自行复位。https://internetofhomethings.com/homethings/?p=396 |
WiFi 和 USB 不能一起工作。 |
@fabbbio986 |
再见 Arkypita, 不幸的是我现在有另一个问题。我试图将图像从 LaserGRBL 发送到 CNC,但出现了很多这样的错误: 如果我观察运动的行为还有一些其他问题:
我已将流模式从缓冲更改为同步,将线程模式从超快更改为快速,错误消失了,但其他问题仍然存在。 编辑:这里有我的会话的socketlog.txt,我有这些错误。 |
Ciao Pinuxx, |
嗨,法比奥。 |
从上一个继续.. |
图像中显示的错误清楚地表明,有时 LaserGRBL 发送了一个有效命令,但 grbl 收到了损坏的命令。通常这是由于串行端的电气干扰造成的。 |
再见 arkypita e pinuxx! |
应该很简单,只需发送一个带有 gcode 的字符串,然后是 \n webSocketClient.sendData(“G0 X10 Y10\n”); |
谢谢!我错过了“\n”! (我必须使用 webSocket.sendTXT(“G0 X10 Y10\n”); 命令而不是 webSocketClient.sendData(“G0 X10 Y10\n”); 否则 IDE 会给我一个错误)。
我已经写了几行来读取来自服务器的传入文本,并按照此处的建议与字符串(“ok”)进行比较,但是在编译时它给我一个关于交叉初始化的错误。
. 这个想法是检查来自服务器的传入消息,如果消息“正常”,它使我能够从客户端发送另一个命令。 |
好的,我在这里更新! 现在我对从 GRBL 单元收到的文本有点问题。 我试着解释一下我的设置:
在 Wemos D1 Mini 上,我修改了标头 WebSockets.h(请参阅 WEBSOCKETS_NETWORK_TYPE 定义),如下所示:Links2004/arduinoWebSockets#119 在 wemos D1 mini 上,我使用了一个 if 函数,当收到 TXT 时,比较 2 个字符串并检查 GRBL 消息: `
其中 ok 定义为:const char ok[] = “ok\r\n” 如果我只连接 wemos 和 Arduino,一切正常,但当我尝试同时连接 LaserGRBL 时出现问题。
`
` 你有什么解释吗? 谢谢! |
也许 |
但是我不确定是否理解了该项目的全部含义。你能给我解释一下吗(也用意大利语,可能会更容易)。 |
不,我试过使用“ok\n”,但 strcmp 函数给了我 3 作为输出值。
是的当然!
我的想法是从无线吊坠发送 JOG 命令到激光器以自由移动激光头,所以我遵循这些说明:https ://github.com/gnea/grbl/wiki/Grbl-v1.1-慢跑 通过检查我在吊坠上收到的串行监视器并将其与 laserGRBL 生成的 comlog 文件进行比较,收到的所有数据都是相同的(所以我没有丢失任何消息),除了我按下吊坠时的一些消息按钮:
我使用 strstr 函数而不是 strcmp 绕过了这个问题,但我不明白为什么我在同一个字符串中有两条消息(我认为是同步问题)。 我借此机会问你另一个问题:释放挂件上的按钮后,我想发送一个 0x85 命令,这是一个点动取消实时命令,以获得低延迟的感觉。 0x85命令描述为:
你知道我怎样才能通过 websocket 发送这种消息吗? 意大利语版本: Sì,certamente!
L’idea è di inviare un comando JOG dal Pendant wireless al laser per spostarlo liberamente e quindi sto seguendo queste istruzioni: https://github.com/gnea/grbl/wiki/Grbl-v1.1-Jogging Controllando sul monitor seriale ciò che ricevo sul pendant e confrontandolo con il file comlog generato da laserGRBL, tutti i dati ricevuti sono identici (quindi non ho messaggi persi); la differenza la ho su alcuni messaggi quando premo il pulsante sul pendant:
Ho aggirato questo problema usando la funzione strstr invece di strcmp ma non riesco a capire perché ho entrambi i messaggi nella stessa stringa (penso un problema di sincronizzazione). |
大家好!
首先感谢 arkypita 分享你的作品!
我通过 USB 连接将 laserGRBL 与我的 3D 打印激光雕刻机一起使用,但现在我正尝试通过 ESP8266 使用它。
目前,我正在尝试使用连接到上面有 CNCshield 的 arduino UNO 的 NodeMCU 板(ESP8266 12-e)。
我必须首先强调我在草图 websocketserver.ino上传过程中遇到的一个问题:当 arduino IDE 编译草图时,它在第 145 行给我一个错误。我发现上传草图的唯一方法是更改从“const char”到“const unsigned char”。
那是正常的吗?
有没有其他人遇到过同样的问题?
这是给出的错误消息:
正如我之前所说,通过这个小修改,我已经上传了草图,并且我使用 Web 界面成功地将 nodeMCU 板连接到我的 wifi 网络。
之后,我通过路由器设置为 nodeMCU (192.168.1.7) 分配了一个静态地址。
打开 laserGRBL 后,我切换到 LaserWeb8266 模式并在Socket URL字段中输入地址:ws://192.168.1.7:81并单击连接按钮。
此时程序给我消息(在左侧窗口)Connected但右下角的状态是Connecting大约10秒后状态变为Disconnected。
在这 10 秒内,我无法发送任何“gcode 命令”,但如果我发送“WIFIRESET”命令,它就会起作用。
laserGRBL 在连接过程中是否需要确认消息(来自 esp8266 + arduino)以建立连接?
这可能是由于 nodeMCU 和 arduino 之间的连接不良造成的吗?
即使没有连接到 RX 和 TX 引脚,LaserGRBL 是否应该连接到 nodeMCU?
谢谢您的帮助!