评论
修复了示例 YAML 文件“3axis_v4.yaml”。 |
我们仍在对模式进行细微的更改。一些示例可能已损坏。我们也在努力改进对 yaml 错误的反馈。 我会尽快加载并修复您的文件。 |
我尝试加载它并遇到类似的问题。如果您发送 $CD 来显示加载的配置,它似乎已经加载了所有内容。我不太确定它不高兴的是什么。你能告诉我你加载的是什么版本(wifi、wifibt、bt、noradio)吗? 我有一个正在开发的新版本。它似乎可以很好地加载。不知道为什么。 我可能会在当天结束前向您发送编译后的二进制文件。新版本的设计只是为了让 SD 卡和 SPI 总线更加灵活。 |
我在 Wifi 和 Wifibt 上进行了测试,结果相似。 奇怪地导出默认测试驱动器($CD=test.yaml)然后设置配置($Config/Filename=test.yaml)也会抛出关于配置错误的相同错误。 |
对了,不知道是什么问题。通常这样保存是一件好事,因为您会看到所有默认值供以后参考。 在 Wiki 上搜索 Discord。您可以在那里获得实时帮助,但我们已经在努力了。 |
测试了新的二进制文件。它正在工作,但我确实发现了问题的一部分。 这不起作用: name: "Wi-Fi Test"
board: "Wi-Fi Test"
comms:
telnet_enable: true
telnet_port: 23
http_enable: true
http_port: 80
hostname: fluidnc
wifi_sta:
ssid: My Wi-Fi Network
wifi_ap:
ssid: FluidNC
但这确实: name: "Wi-Fi Test"
board: "Wi-Fi Test"
comms:
telnet_enable: true
telnet_port: 23
http_enable: true
http_port: 80
hostname: fluidnc
wifi_sta:
ssid: My Wi-Fi Network
wifi_ap:
ssid: FluidNC
区别纯粹是最后多了一行。这是错误:
我还发现,当 Wi-Fi 连接成功但配置无效时,设备会在尝试连接后立即重置为默认 AP 设置。所以它会成功连接到我的 STA Wi-Fi,然后只要我打开 WebUI,它就会在试驾模式下重置设备。 |
很高兴听到你取得了更大的成功。感谢您的反馈。
我目前正在努力通过更好的信息使配置文件的创建不那么令人沮丧。更多的警告和忽略,更少的失败和回退到默认值。 |
那将是理想的。我正在做一些我相信也会有很大帮助的事情。 这是我为 YAML 文件创建的JSON 架构。 https://gist.github.com/ajquick/d6d3b67b5b8aede986e500d3be40b5ee 基本上,JSON 和 YAML 非常相似。JSON 已经有一个非常广泛采用的验证模式,而 YAML 几乎没有。从 YAML <-> JSON <-> YAML 来回转换非常简单。 我通过创建这个来设想:
JSON Schema库广泛存在于许多不同的语言中,因此希望可以从中创建许多有用的东西。 |
谢谢, 我们已经讨论过制作一个在线工具来完成您正在谈论的事情。我们最终将为本地文件系统提供串行上传协议。这将有助于在建立 Wifi 之前获得稳定的配置。 在一个地方验证、上传、监控会很棒。 你应该加入我们的 Discord。 |
版本 3.1.3 发布
我正在测试最新版本,看看它与 Grbl_Esp32 相比如何工作。我已经根据示例编写了一个 YAML 配置。无论我做什么,配置都是无效的,但它不会向我显示任何ERR消息来确定它们是什么。
我已经将 YAML 减少到最基本的设置,看看我是否能够确定问题出在哪里。我发现即使只有 Wi-Fi 设置它也会失败。
示例 YAML:
这是发生了什么:
如您所见,它尝试连接到名为“FluidNC”的 Wi-Fi STA,而不是我指定的 Wi-Fi 网络。
我意识到wifi_ap可能是必需的密钥,所以我将其重新添加并更新 YAML。
然后,我们进行了正确的连接尝试,随后失败并退回到试驾模式下的 AP。
如您所见,它连接到 YAML 文件中指定的 Wi-Fi 网络。然后它确定配置有问题,因此决定断开 Wi-Fi 并广播接入点。这种情况不会每次都发生,有时它会在 STA 模式下保持连接到 Wi-Fi。
在配置失败后尝试调整设置时会出现问题。
配置失败时,会产生以下错误:152: Configuration is invalid。检查 ERR 的引导消息。
但是,有些东西需要在 152 错误期间更改,但尝试进行更改会导致以下错误: 8:命令需要空闲状态。
在 152 错误期间可能需要更改的设置示例:
可能还有其他人。从这个问题中恢复的唯一方法是使用 $NXV 并彻底清除配置,然后通过进入 AP(试驾)模式重新开始,然后设置 Wi-Fi 密码并更新配置文件并重试。
尝试使用 $X 清除警报不会执行任何操作。它只是重复 152 错误。
有关完整信息,我尝试使用的 YAML 是这样的:
我应该提一下,其中一个示例配置文件的格式不正确。我最初的配置基于此文件:https ://github.com/bdring/FluidNC/blob/main/example_configs/3axis_v4.yaml
它似乎是基于较旧的模式。
最后,这只是我在努力测试配置几个小时后的看法:
Wi-Fi / AP / Bluetooth 设置应该返回到内存变量中进行配置。将 Wi-Fi 密码专门存储在内存中而所有其他设置都存储在 YAML 中会适得其反。我想看到的是这样的层次结构:
我对此的推理,除了处理 ESP32 连接到 STA 然后在配置失败期间回落到 AP 模式的头痛之外,是我设想在需要 Wi-Fi(或以太网)连接的环境中使用设备并且出于安全考虑,AP 模式是不需要的。是的,我知道接入点可以有一个非常复杂的密码,但我想有些人不希望强制回退到 AP。接入点回退是否可以作为一种选择,而不是默认情况下发生的事情?
YAML 文件是否可以写入内存(例如 Wi-Fi 密码),然后从 YAML 中删除密码并将更新后的文件保存到 SPIFF 文件系统?
示例:如果在 YAML 中找到 Wi-Fi 密码,则复制到内存变量,然后使用 $CD=(current config filename) 或其他方法覆盖 YAML 以删除该行并覆盖文件。