• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
brak wielu (+/-30%) wpisow w bazie mysql
#1
Witam
Mam taki problem iz moje arduino z czujnikiem wysyła dane do bazy danych ale wiele wyników nie jest zapisywana.
Arduino powinno wysyłać co 300000ms czyli co 5 min. co na dobę daje 288 wpisów, w wpisywanych jest ok 200. Przeglądałem logi servera i w logach są tylko wpisane wartości. Arduino wysyła zapytanie do servera a php get pobiera i wstawia dane. Arduino jest w sieci lokalnej i łączy się przez router.
- wykluczam raczej problem po stronie servera
- połączenie neta raczej stabilne

- przypuszczam ze problem lezy w sprzęcie arduino albo błąd w samym kodzie.
Może mnie ktoś nakieruje ???


Kod:
// program pogodynka 0.1 02-09-2017
#include <SPI.h>
#include <Ethernet2.h>
#include <dht.h>

#define DHT21PIN 2    //przypisanie pinu 2 Arduino jako odczyt z sensora

dht DHT21;
byte mac[] = { 0x90, 0xA2, 0xDA, 0x10, 0xE0, 0xD0 };
IPAddress ip(192,168,0,35); //ip adress
char server[] = "pogodynka.abcflex.eu"; //
EthernetClient client;

void setup() {

 // Serial.begin starts the serial connection between computer and Arduino
 Serial.begin(115200);    //inicjalizacja monitora szeregowego
 Ethernet.begin(mac);  // start the Ethernet connection
 Serial.println("Program pogodynki.");
 Serial.println();  
}

void loop() {
 int chk = DHT21.read(DHT21PIN);         //sprawdzenie stanu sensora, a następnie wyświetlenie komunikatu na monitorze szeregowym
Serial.print("Sensor: ");
 switch (chk)
 {
   case DHTLIB_OK:
       Serial.print("OK, ");
       break;
   case DHTLIB_ERROR_CHECKSUM:
       Serial.println("Błąd sumy kontrolnej");
       break;
   case DHTLIB_ERROR_TIMEOUT:
       Serial.println("Koniec czasu oczekiwania - brak odpowiedzi");
       break;
   default:
       Serial.println("Nieznany błąd");
       break;
 }
 Serial.print("Hum(%): ");              //wyświetlenie wartości wilgotności
 Serial.print(DHT21.humidity, 0);
 Serial.print(" _ ");
 Serial.print("Temp*C: ");           //wyświetlenie temperatury
 Serial.println((float)DHT21.temperature, 0);
 delay(300000);                                  //opóźnienie między kolejnymi odczytami - 5min

 // Connect to the server (your computer or web page)  
 if (client.connect(server, 80)) {
 
 float temp = (DHT21.temperature);
 Serial.println( temp );

   client.print("GET /pogodynka/add1.php?"); // zaczyna lancych
   
   client.print("temp1="); // definicja temperatury
   client.print((float)DHT21.temperature, 0); // dana temperatura
       
   client.print("&hum="); // definicja wilgotnosci
   client.println((float)DHT21.humidity, 0); // dane wilgotnosci
   
   client.println("  HTTP/1.1"); // Part of the GET request
   client.println("Host: pogodynka.abcflex.eu"); //
   client.println("Connection: close"); //
   client.println(); // Empty line
   client.println(); // Empty line
   client.stop();    // Closing connection to server

 }

 else {
   Serial.println("--> connection failed\n");
 }
 delay(300000); // przerwa pomiedzy nastepnym wyslaniem danych 5min
}
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości