ESP8266 Lua - node.dsleep(...) 有上限吗?

ESP8266 Lua - does node.dsleep(...) have upper limit?

有人知道 Lua 中的 node.dsleep() 函数是否有上限吗?我的意思是最长的睡眠时间。我试着设置了几分钟,没问题,非常准确。 但是当我需要将它设置为 4 小时时,它并不可靠,ESP 大多在 30 分钟后唤醒。

感谢您的回答!

柿子

这似乎是固件限制。

Per the NodeMCU documentation:

node.dsleep() Enters deep sleep mode, wakes up when timed out.

The maximum sleep time is 4294967295us, ~71 minutes. This is an SDK limitation. Firmware from before 05 Jan 2016 have a maximum sleeptime of ~35 minutes.

这似乎是由 32 位整数的限制引起的。 4294967295 是无符号 32 位整数可以存储的最大数。根据信息,我们可以假设,在提到的固件更新之前,这最初是一个有符号整数,最大休眠时间为 2147483647us。这相当于 35 分 47.5 秒。