Arkadaşlar merhaba, uzun zamandır projemin üzerinde denemeler yapıyorum. Saatte 1 kere sıcaklık verisini alıp GPRS ile client sorgusu yapıp veritabanını yazdırıyor. Fakat bi düzensizlik var, çıldırmak üzereyim. Arduinoya enerjiyi veriyorum verileri saatte bir göndermeye başlıyor sonra bi ara veri gelmiyor 2 saat sonra geliyor, bazen hiç gelmiyor, bazen 5-6 saat sonra gelmemeye başlıyor, gidiyorum ışıkları yanıyor enerji var ama tıkanmış kalmış, resetliyorum düzeliyor falan filan. - Klon arduino kullanıyorum, hunharca kullandım, acaba düzensiz çalışma ondan mı kaynaklanıyor? - Kodlarda mı sıkıntı var? - Watdog tarzı bişey mi kullanmam lazım? Ben bu cihazı evde adaptörle besliyorum, şu düzeni sağladığımda araziye çıkaracağım ama lanet olsun ki güvenemiyorum. 10 Watt Güneş Paneli + Solar Charger Controller + 12V 9A akü ile sistemi bile kurdum. Kullandığım kodları sizinle paylaşıyım belki yanlış olan bir şey vardır, bir fikir verirsiniz: `
define ONE_WIRE_BUS 8
define PINNUMBER “”
// APN data
define GPRS_APN “internet” // replace your GPRS APN
define GPRS_LOGIN “” // replace with your GPRS login
define GPRS_PASSWORD “” // replace with your GPRS password
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
GSMClient client;
GPRS gprs;
GSM gsmAccess;
unsigned long suankizaman,oncekizaman=0;
char server = “semercioglufidancilik.com”;
int port = 80;
int sayac,i=0;
void setup() {
// initialize serial communications and wait for port to open:
Serial.begin(9600);
sensors.begin();
Serial.println(“Arduino Datalogger Hazirlaniyor..”);
}
void loop() {
suankizaman =millis();
if(suankizaman - oncekizaman >= 60000) //1 dakikada bir sayac degiskeni artacak
{
oncekizaman = suankizaman;
sayac++;
}
if(sayac == 60) //60 dakika = 1 saat
{
sayac = 0;
sensors.requestTemperatures();
Serial.println(“Modem aciliyoor!”);
boolean notConnected = true;
while (notConnected) {
if ((gsmAccess.begin(PINNUMBER) == GSM_READY) &
(gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY)) {
notConnected = false;
} else {
Serial.println(“Baglanti hatasi!”);
delay(1000);
}
Serial.println(“baglaniyor…”);
}
i++;
String path;
path= “”;
path += “/arduino/php/add_data.php?id=”;
path += i;
path += “&sicaklik=”;
path += double (sensors.getTempCByIndex(0));
if (client.connect(server, port)) {
// Make a HTTP request:
client.print("GET ");
client.print(path);
client.println(" HTTP/1.1");
client.print("Host: ");
client.println(server);
client.println("Connection: close");
client.println();
Serial.println("veri yazildi..");
} else {
// if you didn’t get a connection to the server:
Serial.println(“veri yazilamadi!”);
}
gsmAccess.shutdown();
Serial.println(“Modem kapatildi!”);
}
}
`