Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <Ethernet.h>
- #define LED1 5
- #define LED2 6
- #define LED3 7
- // assign a MAC address for the ethernet controller.
- // fill in your address here:
- byte mac[] = {
- 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
- };
- // nahradna IP
- IPAddress ip(192, 168, 1, 177);
- // initialize the library instance:
- EthernetClient client;
- char server[] = "internetveci.000webhostapp.com";
- //IPAddress server(64,131,82,241);
- unsigned long lastConnectionTime = 0; // premenne pre meranie casu posledneho HTTP Requestu
- const unsigned long postingInterval = 10L * 1000L; // premenne pre meranie casu posledneho HTTP Requestu
- void setup() {
- // start serial port:
- Serial.begin(9600);
- pinMode(LED1,OUTPUT);
- pinMode(LED2,OUTPUT);
- pinMode(LED3,OUTPUT);
- // give the ethernet module time to boot up:
- delay(1000);
- // start the Ethernet connection using a fixed IP address and DNS server:
- if(!Ethernet.begin(mac))
- Ethernet.begin(mac,ip);
- // print the Ethernet board/shield's IP address:
- Serial.print("IP addresa Arduina (nepodstatne): ");
- Serial.println(Ethernet.localIP());
- Serial.print("IP addresa DNS Servera (nepodstatne): ");
- Serial.println(Ethernet.dnsServerIP());
- }
- void loop() {
- String buffer=""; //buffer pre prijimanie znakov
- char c; //premenna pre nacitanie znaku
- boolean data=0; //priznak, ktory ukazuje, ci sme este v hlavicke, alebo uz za nou
- while (client.available()) { //citame odpoved zo servera, az pokial su znaky
- c=client.read(); //nacitaj jeden znak z tychto dat
- //Serial.write(c); //debug
- if(c!='\n') buffer+=c; //ak to nie je znak konca riadku, pridaj ho do buffra
- else { //ak to je znak konca riadku
- if(buffer.indexOf('\r')==0) data=1; //zisti, ci pred tym prijaty znak \r v buffri je na prvom mieste (index 0) a ak ano, nastav priznak, ze budu nasledovat data
- else if(data){ //ak uz sme v casti pre data
- if(buffer.indexOf("led1=1")>=0) {Serial.println("Zapinam LED1");digitalWrite(LED1,HIGH);} //ak obsahuje led1=1, zapni LED1
- if(buffer.indexOf("led1=0")>=0) {Serial.println("Vypinam LED1");digitalWrite(LED1,LOW);} //ak obsahuje led1=0, vypni LED1
- if(buffer.indexOf("led2=1")>=0) {Serial.println("Zapinam LED2");digitalWrite(LED2,HIGH);} //ak obsahuje led2=1, zapni LED2
- if(buffer.indexOf("led2=0")>=0) {Serial.println("Vypinam LED2");digitalWrite(LED2,LOW);} //ak obsahuje led2=0, vypni LED2
- if(buffer.indexOf("led3=1")>=0) {Serial.println("Zapinam LED3");digitalWrite(LED3,HIGH);} //ak obsahuje led3=1, zapni LED3
- if(buffer.indexOf("led3=0")>=0) {Serial.println("Vypinam LED3");digitalWrite(LED3,LOW);} //ak obsahuje led3=0, vypni LED3
- }
- buffer=""; //po nacitani riadku zmaz buffer
- }
- }
- // request sa posle len vtedy, ked uplynul pozadovany cas
- if (millis() - lastConnectionTime > postingInterval) {
- httpRequest();
- }
- }
- void httpRequest() {
- client.stop();
- if (client.connect(server, 80)) {
- Serial.println("connecting...");
- // odoslanie HTTP GET requestu:
- client.println("GET /arduino.php HTTP/1.1");
- client.print("Host: ");
- client.println(server);
- client.println("User-Agent: arduino-ethernet");
- client.println("Connection: close");
- client.println();
- // zapis casu posledneho requestu
- lastConnectionTime = millis();
- } else {
- // chybova hlaska v pripade neuspesneho spojenia
- Serial.println("connection failed");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment