https://arduino.cz/problemy-se-startem- ... 00-reseni/
Tu je i ten kód
Kód: Vybrat vše
#include <OneWire.h> //Onewire kniznica
#include <DallasTemperature.h> //knižnica senzorov DS18B20
#define ONE_WIRE_BUS 6 //definovany pin OneWire zbernice
OneWire oneWire(ONE_WIRE_BUS); //inicializacia pinu
DallasTemperature sensors(&oneWire); //priradenie ds18b20 senzorov na onewire zbernicu
#include <SPI.h> //SPI kniznica podporuje aj I2C pripojenia
#include <DHT12.h> //DHT12 kniznica chinese
#include "Adafruit_BMP280.h" //bmp280 kniznica s upravou na 0x76 adresu
#include <Ethernet.h> //wiznet w5100 kniznica
#define Hostname "Meno zariadenia v sieti" //hostname v sieti
Adafruit_BMP280 bmp; //inicializacia BMP senzora
DHT12 dht12; //inicializacia DHT12
byte mac[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }; //MAC ADRESA
char server[] = "www.mojastranka.sk"; //adresa webservera, zapisujte s www
IPAddress ip(192, 168, 1, 100); //LAN IP ak zlyha DHCP
EthernetClient client; //SPUSTENIE ETHERNETU AKO CLIENTA //INICIALIZACIA SENZORU DHT12
void setup() {
sensors.begin(); //start senzorov ds18b20
bmp.begin(); //start snimaca BMP
Serial.begin(9600); //SPUSTENIE SERIOVEJ LINKY --UART-- NA CITACIU RYCHLOST 9600
while (!Serial) {
;
}
}
void loop() { //ZACIATOK SLUCKY
if (Ethernet.begin(mac) == 0) { //V PRIPADE ZLYHANIA NASTAVENIA MAC ADRESY VYPIŠ
Serial.println("Chyba konfiguracie cez DHCP"); //SERIOVY VYPIS CHYBY KONFIGURACIE DHCP
Ethernet.begin(mac, ip); //NASTAVENIE IP A MAC ADRESY PRE ETHERNET MODUL
}
if (client.connect(server, 80)) { // AK SA NAPOJI NA SERVER NA PORTE 80 (HTTP)
sensors.requestTemperatures(); //VYZIADANIE HODNOT ZO SENZOROV
Serial.println("Pripojenie uspesne na webserver"); //VYPIS NA SERIOVU LINKU
client.print("GET /add.php?temp1="); //ZAČIATOK HTTP REQUEST --> client.print GET METODOU s oznacenim premennej, do ktorej pridame hodnotu v URL
client.print(sensors.getTempCByIndex(0)); // VYPIS HODNOTY 1. SENZORU NA INDEXE 0 DO URL
client.print("&temp2="); //TEXTOVE DOPLNENIE DRUHEJ PREMENNEJ DO KTOREJ UVEDIEME COMU SA ROVNA TAKTIEZ V URL
client.print(sensors.getTempCByIndex(1)); // VYPIS HODNOTY 2. SENZORU NA INDEXE 1 DO URL
client.print("&hum1="); //TEXTOVE DOPLNENIE TRETEJ PREMENNEJ DO KTOREJ UVEDIEME COMU SA ROVNA TAKTIEZ V URL
client.print(dht12.readHumidity()); // VYPIS VLHKOMERU DO LINKU, HODNOTA, KTOREJ SA ROVNA PREMENNA HUM1
client.print("&pres1="); //TEXTOVE DOPLNENIE STVRTEJ PREMENNEJ DO KTOREJ UVEDIEME COMU SA ROVNA TAKTIEZ V URL
client.print((bmp.readPressure() / 100) + 30, 120481927710843373493975903614); // VYPIS BAROMETRA DO LINKU + PRIPOCITANA KONSTANTA NA ZAKLADE NADMORSKEJ VYSKY PRE SPRAVNY PREPOCET NA RELATIVNY TLAK
client.println(" HTTP/1.1"); // UKONCENIE REQUESTU ZALOMENIM RIADKA A DOPLNENIM HLAVICKY HTTP S VERZIOU
client.println("Host: www.mojastranka.sk"); // ADRESA HOSTA, NA KTOREHO BOL MIERENY REQUEST (NIE PHP SUBOR)
client.println("Connection: close"); //UKONCENIE PRIPOJENIA ZA HTTP HLAVICKOU
client.println(); //ZALOMENIE RIADKA KLIENTSKEHO ZAPISU
client.stop(); // UKONCENIE PRIPOJENIA ETHERNET SHIELDU
Serial.println("Odoslane hlavicky s datami: "); //SERIOVY VYPIS O STAVE USPESNOSTI PRENOSU
Serial.println("Teplota von: "); //SERIOVY VYPIS TEXT O TEPLOTE
Serial.println(sensors.getTempCByIndex(0)); //SERIOVY VYPIS STAV TEPLOTY NA SENZORE EVIDOVANOM NA INDEXE 0
Serial.println("Teplota dnu: "); //SERIOVY VYPIS TEXT O TEPLOTE
Serial.println(sensors.getTempCByIndex(1)); //SERIOVY VYPIS STAV TEPLOTY NA SENZORE EVIDOVANOM NA INDEXE 1
Serial.println("Vlhkost vzduchu: "); //SERIOVY VYPIS TEXT O VLHKOSTI VZDUCHU
Serial.println(dht12.readHumidity()); //SERIOVY VYPIS STAVU VLHKOSTI
Serial.println("Atmosfericky tlak: "); //SERIOVY VYPIS TEXT O TLAKU VZDUCHU
Serial.println((bmp.readPressure() / 100) + 30, 120481927710843373493975903614); //SERIOVY VYPIS STAVU RELATIVNEHO TLAKU 30,... je konstanta pre nadmorsku vysku, ktora sa prirata k teplote. (Použite pri nadmorskej do 1000m nadmorska vyska/8,3 tuto hodnotu napiste namiesto 30,...)
Serial.println("Odpojenie uspesne."); //SERIOVY VYPIS O STAVE USPESNOSTI PRENOSU
} else { // AK SA PRIPOJENIE NA SERVER NEPODARI
Serial.println("Pripojenie zlyhalo"); //SERIOVY VYPIS O NEUSPESNOSTI PRIPOJENIA --> ŽIADNY HTTP REQUEST NEBOL VYKONANY
}
delay(15000); //15 SEKUND PAUZA, slucka sa zopakuje
}
Kód: Vybrat vše
if (Ethernet.begin(mac) == 0) {
Serial.println("Chyba konfiguracie cez DHCP");
Ethernet.begin(mac, ip);
}