0

我正在试验这个设备,当我把它安装到面包板上时遇到了麻烦。它工作了一段时间,然后偶尔重新启动。有时是几分钟,有时是几个小时。

我正在使用使用默认模块 + 单线模块构建的当前整数主 NodeMCU 固件。

我正在使用的部分:

  • ESP-201
  • 一个 170 点的面包板
  • CP2102 USB转TTL转换器
  • LM1117T稳压器
  • 1000 µF 16V 电容器

我弯曲了前销,以便 ESP-201 适合面包板(https://flic.kr/p/GzCp4k

接线:

  • CP2102 5v ---- LM1117T 5v
  • ESP-201 中文 ---- 3V3
  • ESP-201 IO15 ---- 接地
  • GND和3V3之间的电容

加上所有连接的 GND 和 3V3。为了上传程序,我将前面的 4 个引脚分别连接到 GND、3V3、RX 和 TX 到 GND、3V3、TX 和 RX。后来我把这些电线拆掉了。

我的配置图片:https ://flic.kr/p/GbiPBE 。

再生产

您需要一个 ThingSpeak 频道来检查重启。创建一个并记下写入密钥。

您可以使用以下简单程序进行测试(只需填写WIFI SSID、PASSWORD和WRITE_KEY):

local WIFI_SSID = "..."
local WIFI_PASSWORD = "..."
local WRITE_KEY = "..."

tmr.alarm(0, 5000, tmr.ALARM_SINGLE, function()
    wifi.setmode(wifi.STATION)
    wifi.sta.config(WIFI_SSID, WIFI_PASSWORD)

    tmr.alarm(1, 60000, tmr.ALARM_AUTO, function()
        print("Doing something...")
    end)

    local connout = nil
    connout = net.createConnection(net.TCP, 0)

    connout:on("receive", function(connout, payloadout)
    if (string.find(payloadout, "Status: 200 OK") ~= nil) then
        print("Posted OK");
    end
    end)

    connout:on("connection", function(connout, payloadout)

    connout:send("GET /update?api_key="..WRITE_KEY.."&field1=1"
    .. " HTTP/1.1\r\n"
    .. "Host: api.thingspeak.com\r\n"
    .. "Connection: close\r\n"
    .. "Accept: */*\r\n"
    .. "User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n"
    .. "\r\n")
    end)

    connout:on("disconnection", function(connout, payloadout)
    connout:close();
    collectgarbage();
    end)

    connout:connect(80,'api.thingspeak.com')
end)

它只是记录设备何时启动(或重新启动),并启动一个计时器,以便设备无法睡眠。将其保存为init.lua,以便在设备重启时启动。

给设备加电,让它运行一段时间。您应该会时不时地看到重新启动:

ThingSpeak 图表

如果设备不在面包板上,则无需重新启动即可工作。

PS:我也把这个问题发到了Reddit

4

0 回答 0