Ethernet a posielanie dat
Napsal: 02 srp 2019, 22:22
Ahojte
Mam jedno arduino ktore meria napatia zdroja a zalozneho zdroja, a posiela to do DB
Inspiroval som sa https://www.tweaking4all.com/hardware/a ... data-push/
Stacilo by mi ak data posle raz za minutu ale nefunguje to
Ked skratim interval napr na 10s na posielanie funguje to
Akosi nejde mi to dohlavy preco.
Mam jedno arduino ktore meria napatia zdroja a zalozneho zdroja, a posiela to do DB
Inspiroval som sa https://www.tweaking4all.com/hardware/a ... data-push/
Stacilo by mi ak data posle raz za minutu ale nefunguje to
Ked skratim interval napr na 10s na posielanie funguje to
Akosi nejde mi to dohlavy preco.
Kód: Vybrat vše
#include <UIPEthernet.h> //ENC28J60
#define Z12 A0
#define B12 A1
#define Z5 A2
#define B5 A3
//hodnoty napati
float b12;
float z12;
float b5;
float z5;
float analog_value;
//hodnoty pouzitych rezistorov
float R1 = 20000.0;
float R2 = 10000.0;
float R3 = 1000.0;
float R4 = 4700.0;
unsigned long last_record;
boolean napajanie;
//ENC28j60
byte mac[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0x01 };
EthernetClient client;
char server[] = "192.168.0.10";
void setup()
{
Serial.begin(9600);
msgs(1,"**********************************");
msgs(1,"Akcia: Nastavujem vstupne porty");
pinMode(B12, INPUT);
pinMode(B5, INPUT);
pinMode(Z12, INPUT);
pinMode(Z5, INPUT);
msgs(1,"Akcia: Inicializujem ethernetovy modul");
// start Ethernet and UDP
Ethernet.begin(mac);
if (Ethernet.begin(mac) == 0)
{
msgs(1,"Modul sa nepodarilo nakonfigurovat, nedostal IP");
for(;;);
}
msgs(0,"Pridelena IP Addresa: ");
Serial.println(Ethernet.localIP());
msgs(1,"**********************************");
last_record = millis();
}
void loop()
{
nacitanie_napati();
if (millis()-last_record > 10000)
{
posli_data();
last_record = millis();
}
}
void nacitanie_napati()
{
//zistenie napatia zdroja
analog_value = analogRead(Z12);
z12 = (analog_value*5.0/1024.0)/(R2/(R1+R2));
analog_value = analogRead(Z5);
z5 = (analog_value*5.0/1024.0)/(R4/(R3+R4));
//zistenie napatia baterie
analog_value = analogRead(B12);
b12 = (analog_value*5.0/1024.0)/(R2/(R1+R2));
analog_value = analogRead(B5);
b5 = (analog_value*5.0/1024.0)/(R4/(R3+R4));
}
void vypis()
{
msgs(0,"Napatie zdroja: ");
msgs(0,String(z12));
msgs(0,"V/");
msgs(0,String(z5));
msgs(1,"V");
msgs(0,"Napatie baterie: ");
msgs(0,String(b12));
msgs(0,"V/");
msgs(0,String(b5));
msgs(1,"V");
}
void posli_data()
{
if (client.connect(server, 80))
{
// Make a HTTP request:
client.print( "GET /monitoring/monitoring_power.php?");
client.print("z12=");
client.print(z12);
client.print("&&");
client.print("z5=");
client.print(z5);
client.print("&&");
client.print("b12=");
client.print(b12);
client.print("&&");
client.print("b5=");
client.print(b5);
client.println( " HTTP/1.1");
client.print( "Host: " );
client.println(server);
client.println( "Connection: close" );
client.println();
client.println();
client.stop();
}
else msgs(1,"SPOJENIE NEUSPESNE");
last_record = millis();
vypis();
}
void msgs(boolean type, String msg)
{
if(type == 0) Serial.print(msg);
if(type == 1) Serial.println(msg);
}