Метеостанция
- Войдите на сайт для отправки комментариев
Втр, 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. Передает ему что-то самое простое.