Метеостанция
- Войдите на сайт для отправки комментариев
Втр, 02/10/2018 - 13:17
Доброго дня всем
Есть в наличии
Arduino Uno, W5100 и DS18B20
Хочу поставить метеостанцию но в коде ошибка, не соединяется с сервером куда данные передавать.
Подскажите пожалуйста.
#include <Adafruit_BMP280.h>
#include <SPI.h>
#include <DHT12.h>
#include <Ethernet.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 10
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
#define Hostname "Arduino"
Adafruit_BMP280 bmp;
byte mac[] = { 0x34, 0x64, 0xA9, 0x15, 0xFD, 0x04 };
char server[] = "185.50.25.50";
IPAddress ip(192, 168, 100, 28);
byte gateway[] = { 192, 168, 100, 1 };
byte subnet[] = { 255, 255, 255, 0 };
IPAddress dnServer(82, 209, 253, 2);
EthernetClient client;
int ledpripojenie = 8;
int ledodosielanie = 9;
DHT12 dht12;
void setup() {
pinMode(ledpripojenie, OUTPUT);
pinMode(ledodosielanie, OUTPUT);
sensors.begin();
bmp.begin();
delay(2000);
Serial.begin(115200);
while (!Serial) {
;
}
}
void loop() {
if (Ethernet.begin(mac) == 0) {
Serial.println("Ошибка конфигурации DHCP");
Ethernet.begin(mac, ip, gateway, subnet, dnServer);
}
for (int i = 0; i < 4; i++) {
digitalWrite(ledpripojenie, HIGH);
delay(150);
digitalWrite(ledpripojenie, LOW);
delay(150);
}
if (client.connect(server, 80)) {
digitalWrite(ledpripojenie, HIGH);
sensors.requestTemperatures();
Serial.println("Подключение к веб-серверу");
client.print("GET /add.php?temp1=");
client.print(sensors.getTempCByIndex(0));
client.print("&temp2=");
client.print(sensors.getTempCByIndex(1));
client.print("&hum1=");
client.print(dht12.readHumidity());
client.print("&pres1=");
client.print((bmp.readPressure() / 100) + 30, 120481927710843373493975903614);
client.println(" HTTP/1.1");
client.println("Host: 185.50.25.50");
client.println("Connection: close");
client.println();
for (int i = 0; i < 3; i++) {
digitalWrite(ledodosielanie, HIGH);
delay(400);
digitalWrite(ledodosielanie, LOW);
delay(150);
}
client.stop();
Serial.println("Отправляет заголовок данных: ");
Serial.println("Температура 1: ");
Serial.println(sensors.getTempCByIndex(0));
Serial.println("Температура 2: ");
Serial.println(sensors.getTempCByIndex(1));
Serial.println("Влажность воздуха: ");
Serial.println(dht12.readHumidity());
Serial.println("Атмосферное давление: ");
Serial.println((bmp.readPressure() / 100) + 30, 120481927710843373493975903614);
digitalWrite(ledpripojenie, LOW);
digitalWrite(ledodosielanie, LOW);
Serial.println("Отключение успешно.");
} else {
}
delay(15000);
}
cytanet, настройки сети в строчка 14-19 под себя подогнали? - или оставили те, что были в найденном коде? :)
ЗЫ - этот раздел - не для вопросов, а для хвастовства готовыми проектами
Под себя подгонял. под свою сеть.
Под себя подгонял. под свою сеть.
Для начала напишите программу без датчиков и лишних библиотек, которая выполняет только 2 задачи:
1. Соединяется с сервером
2. Передает ему что-то самое простое.