Arduino Leonardo で実行されている Arduino スケッチの名前を特定したいと思います。これは、Arduino をプロビジョニングするときに、ファイル名を変更して、スケッチでスクリプト内の番号を自動的に変更できるようにするためです。
これは可能ですか?
なぜこれを行っているのかを理解するために、50 台の Arduino をプロビジョニングする必要があり、一連のスクリプトを手動で編集するのではなく、ファイル名を変更するだけです。
私は自分がやろうとしていることをどのように行うのかわかりませんが、傍観者への誠意を示すために、ここに私が 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);
}
アイデアをお寄せいただきありがとうございます。サラ