我想确定在我的Arduino Leonardo上运行的Arduino草图的名称。当我配置Arduino时,我就可以更改文件名,并让草图自动更改脚本中的数字。
这可能吗?
为了了解我们为什么要这样做,我们必须提供50个Arduinos,而不是手工编辑一堆脚本,我宁愿只更改文件名。
我不知道如何做我想要做的事情,但是为了向旁观者展示善意,我在这个代码中设置了Arduino上的EEPROM:
#include <EEPROM.h>
#include "EEPROMAnything.h"
// begin EDIT ME
char CONFIG_NUMBER[]="##"; // Config Number goes here
// end EDIT ME
char IPADDRESS[]="XX.XX.XX.XXX";
char APN[]="myapn";
const int buflen = 32;
struct config_t {
char model[buflen];
char serial_num[buflen];
char ipaddress[buflen];
char apn[buflen];
}configuration;
int ee_addr=0;
boolean registrationDone = false;
void setup(){
Serial.begin(115200);
Serial.println(F("Starting Up"));
}
void loop()
{
config_t configuration;
strcpy(configuration.model, MODEL);
strcpy(configuration.serial_num, SERIAL_NUM);
strcpy(configuration.ipaddress, IPADDRESS);
strcpy(configuration.apn, APN);
if (!registrationDone){
EEPROM_writeAnything(ee_addr,configuration);
registrationDone = true;
}
EEPROM_readAnything(ee_addr, configuration);
Serial.println(F("Settings"));
Serial.println(String(configuration.model));
Serial.println(String(configuration.serial_num));
Serial.println(String(configuration.ipaddress));
Serial.println(String(configuration.apn));
delay(5000);
}
提前感谢任何想法! 萨拉
答案 0 :(得分:2)
我没有对此code进行测试,但它似乎可以做你想做的事。
对我而言,虽然更容易维护的解决方案是使用外部.h文件来定义ID号,然后将其包含在草图中。然后,您可以编写一个桌面宏来增加.h文件中定义的数字,然后再配置每个板。