Arduino 如何获取上传固件的日期和时间?

Arduino 如何获取上传固件的日期和时间?,arduino,esp8266,arduino-esp8266,Arduino,Esp8266,Arduino Esp8266,我在多个esp8266上安装了某种智能家居,我通过Arduino OTA定期更新其固件的代码。 有时我会忘记上传实际的代码。例如,我不记得了,如果我上传了一个新版本的固件到esp8266,它可以在厕所中使用:) 如果我理解正确,每个Arduino esp8266固件都是*.bin文件。每个文件都有创建时间。 问题是-esp8266是否存储通过OTA(或更新)上传的固件的日期和时间?是否有任何Arduino程序方法来获取该日期和时间?您应该创建一个函数,在每次上传之前返回版本并设置版本。 例如:

我在多个esp8266上安装了某种智能家居,我通过Arduino OTA定期更新其固件的代码。 有时我会忘记上传实际的代码。例如,我不记得了,如果我上传了一个新版本的固件到esp8266,它可以在厕所中使用:)

如果我理解正确,每个Arduino esp8266固件都是*.bin文件。每个文件都有创建时间。
问题是-esp8266是否存储通过OTA(或更新)上传的固件的日期和时间?是否有任何Arduino程序方法来获取该日期和时间?

您应该创建一个函数,在每次上传之前返回版本并设置版本。 例如: 常量字符串版本=“3.51”; 然后将其返回到串行、html页面专用、OTA服务器页面方法或mqtt。 我认为没有像你所尝试的那样简单的方法

// Provided by compiler at compile time.
const char compile_date[] = __DATE__ " " __TIME__;

Serial.print("Compile timestamp: ");
Serial.println(compile_date);
或者添加一个返回它的Web服务器端点,如http://device-ip/info

如果您使用像Visualcode这样的IDE,您可能可以设置一个自动生成编号定义

就我个人而言,我正在为ESP经理工作。在草图中包含一个小包装,用于建立Wifi,广播固件ID和mac地址。python服务器监听这些数据,将它们与mac的设备列表以及它们应该运行的固件进行比较,如果有不匹配的情况,则闪烁它们。你可以从它的日志中看到一切都在运行


我已经开始工作了,但还没有登记,如果有兴趣,请PM我,或者我稍后会用链接进行回复。

ESP8266数据表中说这些信息存储在哪里?不知道?读一下。Arduino开源文档是否涵盖了这一点?读一读。非常感谢你的这个想法。目前,我使用Arduino IDE为我的ESP闪存固件。你在说什么是ESP经理?是吗?我自己做的。这是它使用的一个例子。管理器只是一个原型python服务器。