Ahoj..
po delší době jsem se vrátil ke snaze odesílat teplotu přes Arduino do DB.
Vše funguje „dobře“ až do chvíle kdy jsem ho místo VDSL linky připojil do LTE T-Mobile.
Na VDSL lince mi z 10 teplot do databáze dorazilo občas jen 6 teplot, ale i to by šlo tolerovat, ale po připojení na LTE router tak mi přijde tak 1 z 20.
Původně jsem měl nastavený interval odesílání 10 minut, což by bohatě stačilo pokud to chodí jak má. I když jsem zkrátil interval na jednu minutu tak stále dostanu teplotu tak jednou za hodinu, občas tři ne..
Původní DHCP přidělování jsem změnil na pevnou IP, stále žádná změna.
#include "DHT.h"
#include "Ethernet.h"
#include <SPI.h>
byte mac[] = { 0x90, 0xAD, 0xDA, 0x0F, 0x96, 0xFE }; // MAC adresa
IPAddress dnServer(192, 168, 8, 1); // IP adresa DNS serveru
IPAddress gateway(192, 168, 8, 1); // IP adresa brany
IPAddress subnet(255, 255, 255, 0); // MASKA
IPAddress ip(192, 168, 8, 2); // IP adresa zarizeni
EthernetClient client;
#define DHTPIN 2 // Cislo digitalniho PINu
#define DHTTYPE DHT11 // TYP senzoru - ADAFRUIT knihovna podporuje vice typui
DHT dht(DHTPIN, DHTTYPE);
long previousMillis = 0;
unsigned long currentMillis = 0;
long interval = 250000; // READING INTERVAL
int t = 0; // TEMPERATURE VAR
int h = 0; // HUMIDITY VAR
String data;
void setup() {
Serial.begin(115200);
{
Ethernet.begin(mac, ip, dnServer, gateway, subnet);
//print out the IP address
Serial.print("IP = ");
Serial.println(Ethernet.localIP());
}
dht.begin();
delay(10000); // GIVE THE SENSOR SOME TIME TO START
h = (int) dht.readHumidity();
t = (int) dht.readTemperature();
data = "";
}
void loop(){
currentMillis = millis();
if(currentMillis - previousMillis > interval) { // READ ONLY ONCE PER INTERVAL
previousMillis = currentMillis;
h = (int) dht.readHumidity();
t = (int) dht.readTemperature();
}
data = "temp1=" + String(t) + "&hum1=" + String(h);
if (client.connect("www.motomotycin.cz",80)) { // REPLACE WITH YOUR SERVER ADDRESS
Serial.println("Data pro odeslani");
Serial.println(data);
client.println("POST /add.php HTTP/1.1");
client.println("Host: motomotycin.cz"); // SERVER ADDRESS HERE TOO
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(data.length());
client.println();
client.print(data);
}
if (client.connected()) {
client.stop(); // DISCONNECT FROM THE SERVER
}
delay(50000); // WAIT FIVE MINUTES BEFORE SENDING AGAIN
}