【问题标题】:NodeMCU custom built firmware http.get fails with a code of -1NodeMCU 定制固件 http.get 失败,代码为 -1
【发布时间】:2017-02-10 14:07:52
【问题描述】:

我最近得到了一个使用https://github.com/slaff/esp8266.dev.box 的 NodeMCU 工具链,但是当我尝试执行 http.get 时,它立即失败并显示代码 -1,即使使用来自 https://nodemcu-build.com/ 的固件它工作正常。两种固件的堆空间大致相同,自定义构建的固件和云构建的固件都使用不同的 URL。

它不使用的 URL 是私有的,但总体而言,它链接到一个 google 表格并获取一个 CSV 文件。即使 CSV 文件是单个“0”,它仍然会失败,并且通过链接到大约 20 个字符的 .txt 文件的 URL 成功。

它不起作用的示例网址: https://docs.google.com/spreadsheets/d//pub?output=csv&gid=0&single=true&gridlines=false&chrome=false

我构建时的 user_modules.h: http://pastebin.com/1LbxmS2B

我的 user_config.h: http://pastebin.com/qBixhqyC

我的 Lua 代码(在我成功连接到 wifi 后运行):

http.get(url, nil, function(code, data)
  print(code, data)
end)

我在构建固件时是否做错了什么?非常感谢任何帮助。

【问题讨论】:

  • 我们应该如何分辨?你没有向我们展示 Lua 代码。您没有向我们展示您构建 NodeMCU 的配置。而且您似乎在比较苹果和橙子(“使用自定义构建的固件,它可以使用不同的 url”)?
  • 让我试着澄清一下。使用 nodemcu-build.com 的固件,两个 url 都可以工作。使用我的自定义固件,运行完全相同的代码,它在一个 url 上失败。我正在用一些代码更新问题。

标签: lua esp8266 nodemcu


【解决方案1】:

您的user_config.h 没有启用 SSL 支持(第 67 行),默认情况下它是关闭的。

【讨论】:

  • 完美运行。我将如何将我从您的云构建器那里获得的一对二进制文件编译成一个单独的二进制文件?
  • 使用srec_cat 将两个二进制文件合二为一。看看我的 Docker 镜像是如何做到的:github.com/marcelstoer/docker-nodemcu-build/blob/master/…
猜你喜欢
  • 1970-01-01
  • 2011-04-11
  • 2017-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多