Dobrý den,
Začínám se učit programovat v jazyce Wiring. Vymyslel jsem si takový projekt pěstírna na chilli papričky. Jako ovládačku jsem si vybral Arduino. Potřebuji, aby systém jel 24 hodin denně a spolehlivě. Podle mého názoru nějaké ovládačky s operačním systémem micro pc apod. jsou na toto hodně nevhodné. PLC zase pro změnu moc drahé a tak proto Arduino. Dokázal jsem inicializovat sd kartu kdy systém mi řekne, zda karta je připravená nebo nikoliv jako čtečku jsem použil ethernet shield. Jelikož kvůli paměti chci na sd kartu umístit soubor s nastavením například IP adresu Mac adresu atd. kterou v budoucnu budu moct upravovat přes síť. A také program už umí inicializovat soubor setting.txt na kartě, vypsat určitý řádek přes sériovou linku. Zaseknul jsem se u toho jak vložit určitý řádek třeba s ip adresou do nastavení síťové komunikace. Může mi někdo poradit jak na to? Vyjmout řádek uložit ho do proměnné třeba IP a tu použit v aplikaci. Ještě jsem zapomněl. Kód o šéfovat tak aby při výpadku sd karty byli nastaveny výchozí ip? Ani za boha na to nemohu přijít
// -------------------------------------------------------------------------------INICIALIZACE KARTA SD----------------------------------------------------------------------
// CS pro četčku karet na pinu 4
Serial.print("Inicializace SD karty...");
pinMode(4, OUTPUT);
//zkontroluje inicializaci karty
if (!SD.begin(chipSelect)) {
Serial.println("\nKarta nenalezena...");
return;
}
Serial.println("\nKarta inicializovana...");
// otevře soubor setting.txt
File dataFile = SD.open("setting.txt", FILE_READ);
// když soubor existuje
if (dataFile)
{
// Kdyz soubor existuje vypise hlasku nalezen
Serial.println("Soubor setting nalezen");
// inicializuje proměnou pro číslo řádku
int radek = 1;
// dokud nebudeme na konci souboru tak:
while (dataFile.available())
{
// přečte jeden bajt (znak) a uloží do proměné data
byte data = dataFile.read();
// když jsou data znak #13 (Enter, nový řádek)
if (data == 13)
{
// přičti k proměné řádek + 1
radek++;
}
// když je číslo řádku 4
// a
// znak není "řídící" (viz ASCI tabulka)-
// pouze zobrazitelné znaky
if (radek == 3 && data > 32)
{
// odešle byte (znak) na Serial Monitor
Serial.write(data);
}
}
// soubor opět zavřeme
dataFile.close();
}
// Když soubor chybi
else
{
// Když soubor chybi vypise hlasku soubor nenalezen
Serial.println("Nepodarilo se otevrit soubor setting");
}
// -------------------------------------------------------------------------------KONEC INICIALIZACE KARTA SD----------------------------------------------------------------------