blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
3
SLEDUJETE BLOG
PHP, Arduino programátor
deadawp



Ovládanie relé cez Arduino s webaplikáciou
pridal deadawp 10.2. 2019 o 18:51



Ahoj, idem sa opäť podeliť s ďalším projektom. 
Robil som trošku špecifický projekt pre 2 chaty, ktoré sú ovládané na diaľku, kedy má každý z používateľov (majiteľov každej chaty) svoje stránky, kde si spravuje svoje výstupy, v pozícii mikrokontroléra bolo Arduino Due a Ethernet shield W5100, ktoré má dostatok GPIO pinov aj pre 16 kanálové relé. To bolo umiestnené v jednej chate z ktorej sa riadili obe. Nakoľko Arduino Due nemá každý, keďže je z inej cenovej kategórie, vzorové zverejnené Arduino kódy pre tento sú uspôsobené pre 2 dosky Arduino Mega s Ethernet shieldami W5100 od Wiznetu, aby ste si ich mohli aj fyzicky reálne vyskúšať.

Web časť pre projekt je napísaná v jazyku PHP, stará sa o správu prihlásení, zmeny stavov relé, zmeny názvov pre relé a zmenu prihlasovacích kontaktov. Existujú 2 používateľské kontá, v každom z nich je možné ovládať 8 výstupov. Jeden používateľ nevidí na výstupy druhého a ani ich nemôže meniť. Súčasne môžu byť vo webaplikácii aj obaja používatelia naraz a každý z nich si môže spravovať svoje výstupy, jeden druhého neobmedzujú a svoju aktivitu nevidia.
Demo, ktoré som pripravil má tieto prihlasovacie údaje, s ktorými je možné webaplikáciu vyskúšať:

1. používateľ

    Meno: user1
    Heslo: user1

2. používateľ

    Meno: admin
    Heslo: admin

Prihlasovacie údaje sa dajú vo web časti zmeniť, mení si ich každý používateľ samostatne.
Stránky sa skladajú z login stránky a funkčných stránok za prihlásením. Ak nie je používateľ prihlásený, nebude sa môcť na fukčné stránky dostať, bude automaticky presmerovaný na login stránku. 

Funkčné stránky (za prihlásením) majú za úlohu:

    Prepínanie relé (ZAP/VYP)
    Zmena názvov relé
    Zmena prihlasovacích informácii
    Náhľad Arduino kódu
    Bezpečné odhlásenie z aplikácie


Hardvérové charakteristiky:
Existujú hlavné 2 typy relé, ktoré sa k Arduinu pre tento účel používajú. Elektromagnetické relé, prostredníctvom ktorých je možné spínať maximálne 230V 10A v striedavej sústave, prípadne 30V 10A v jednosmernej sústave. Tento typ relé je vhodný aj pre kapacitnú záťaž, či pre spínanie vyšších výkonov do 2,3kW pri striedavej sústave. 



V prípade spínania nižších výkonov, napríklad svetiel sú obľúbené SSR relé, ktorými je možné spínať maximálne 230V 2A pri striedavej sústave. 



Relé majú prakticky neobmedzenú životnosť, nakoľko nemajú mechanickú časť. Jedinou limitáciou pri tomto type relé (používanom pri Arduine) je iba možnosť spínať striedavý prúd, nakoľko sa ako riadiaci prvok používa polovodičová súčiastka triak.

Screenshoty webaplikácie:




Funkčnosť Arduino scriptov
Cyklické čítanie stavov relé v 5 - sekundových intervaloch s ich aplikáciou ihneď po prečítaní. Odozva 5 sekúnd na zmenu je maximálna. 
Arduino program pre 8 relé s loginom user1 heslom user1:

#include <SPI.h>
#include <Ethernet.h> //Zmenit pre Ethernet2.h pre W5500
const int vystup1 = 0;
const int vystup2 = 1;
const int vystup3 = 2;
const int vystup4 = 3;
//D4 vynechany - pre SD kartu
const int vystup5 = 5;
const int vystup6 = 6;
const int vystup7 = 7;
const int vystup8 = 8;

byte mac[] = { 0xAA, 0xBB, 0xCC, 0x81, 0x7B, 0x4A }; //fyzicka adresa MAC
char serverName[] = "www.arduino.php5.sk"; // webserver
IPAddress ip(192, 168, 1, 254);
EthernetClient client;
String readString;
int x=0; //pocitadlo riadkov
char lf=10; //line feed character
void setup(){
pinMode(vystup1, OUTPUT);
pinMode(vystup2, OUTPUT);
pinMode(vystup3, OUTPUT);
pinMode(vystup4, OUTPUT);
pinMode(vystup5, OUTPUT);
pinMode(vystup6, OUTPUT);
pinMode(vystup7, OUTPUT);
pinMode(vystup8, OUTPUT);
 if (Ethernet.begin(mac) == 0) {
    Serial.println("DHCP nepridelilo adresu, skusam so statickou...");
    Ethernet.begin(mac, ip); //nastav k mac adrese i IP adresu staticku
  }
  Serial.begin(9600); 
}
void stav_vystup1(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele1.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup1, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup1, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
  void stav_vystup2(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele2.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup2, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup2, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
    void stav_vystup3(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele3.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup3, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup3, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
 void stav_vystup4(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele4.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup4, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup4, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
    void stav_vystup5(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele5.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup5, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup5, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
void stav_vystup6(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele6.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup6, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup6, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
void stav_vystup7(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele7.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup7, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup7, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
 void stav_vystup8(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele8.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup8, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup8, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }

void loop(){
stav_vystup1();
stav_vystup2();
stav_vystup3();
stav_vystup4();
stav_vystup5();
stav_vystup6();
stav_vystup7();
stav_vystup8();
delay(5000); //opakuj slucku loop o 5 sekund
} 

 

Arduino program pre 8 relé s loginom admin heslom admin

#include <SPI.h>
#include <Ethernet.h>
const int vystup1 = 0;
const int vystup2 = 1;
const int vystup3 = 2;
const int vystup4 = 3;
//D4 vynechany - pre SD kartu
const int vystup5 = 5;
const int vystup6 = 6;
const int vystup7 = 7;
const int vystup8 = 8;

byte mac[] = { 0xAA, 0xBB, 0xCC, 0x81, 0x7B, 0x4C }; //fyzicka adresa MAC
char serverName[] = "www.arduino.php5.sk"; // webserver
IPAddress ip(192, 168, 1, 253);
EthernetClient client;
String readString;
int x=0; //pocitadlo riadkov
char lf=10; //line feed character
void setup(){
pinMode(vystup1, OUTPUT);
pinMode(vystup2, OUTPUT);
pinMode(vystup3, OUTPUT);
pinMode(vystup4, OUTPUT);
pinMode(vystup5, OUTPUT);
pinMode(vystup6, OUTPUT);
pinMode(vystup7, OUTPUT);
pinMode(vystup8, OUTPUT);
 if (Ethernet.begin(mac) == 0) {
    Serial.println("DHCP nepridelilo adresu, skusam so statickou...");
    Ethernet.begin(mac, ip); //nastav k mac adrese i IP adresu staticku
  }
  Serial.begin(9600); 
}
void stav_vystup1(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele10.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup1, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup1, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
  void stav_vystup2(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele11.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup2, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup2, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
    void stav_vystup3(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele12.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup3, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup3, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
 void stav_vystup4(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele13.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup4, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup4, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
    void stav_vystup5(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele14.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup5, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup5, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
void stav_vystup6(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele15.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup6, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup6, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
void stav_vystup7(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele16.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup7, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup7, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }
 void stav_vystup8(){
  if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /rele/rele17.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  // ukonc HTTP/1.1 spojenie
    client.println(); //koneic requestu
  } 
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj 
    else if (x==12) readString += c; //nasa premenna

   } 
if(readString=="ZAP"){
  digitalWrite(vystup8, HIGH); 
  }else if(readString=="VYP"){
  digitalWrite(vystup8, LOW);  
    }
    else{
 Serial.println("Nepodporovany stav! - chyba");
 }  
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  }

void loop(){
stav_vystup1();
stav_vystup2();
stav_vystup3();
stav_vystup4();
stav_vystup5();
stav_vystup6();
stav_vystup7();
stav_vystup8();
delay(5000); //opakuj slucku loop o 5 sekund
} 

Zdrojové kódy sú plne kompatibilné s webovou stránkou na adrese: https://arduino.php5.sk/rele/
Viac informácii o projekte je možné nájsť na: https://arduino.php5.sk/ovladanie-rele.php
Program je plne kompatibilný aj s iným - často využívaným Ethernet modulom Wiznet W5200 či W5500 pre Arduino. V zdrojových kódoch je nutné modifikovať iba knižnicu na Ethernet2.h.
Program po nahratí plne komunikuje s webom po HTTP protokole a zmeny stavov z webového rozhrania si môžete vyskúšať. Pri projekte treba pamätať aj nato, že relé sú prepnuté na dobu neurčitú, čo je aj nevýhoda tohto projektu, napríklad pri použití relé na kotol, či iný rizikový spotrebič.

 

 

 



Prístupov 743
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDOVAŤ
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
Prepočet atmosférického tlaku na hladinu...
[ 17.5.2019] (príspevkov 0)
Monitor výšky hladiny vody v studni
[ 29.4.2019] (príspevkov 0)
Meteostanica - ESP32 - Webclient
[ 19.4.2019] (príspevkov 0)
Webportál - Vykurovanie cez internet - o...
[ 24.3.2019] (príspevkov 0)
Capture points (DOMINATION) - Arduino + ...
[ 23.2.2019] (príspevkov 0)
Notifikátor udalostí cez mikrokontróler
[ 22.2.2019] (príspevkov 0)
Ovládanie relé cez Arduino s webaplikáci...
[ 10.2.2019] (príspevkov 0)
Meteostanica s ESP8266 - NodeMCU
[ 5.2.2019] (príspevkov 0)
Wifi teplomer s ESP8266
[ 3.2.2019] (príspevkov 0)
RFID systém so správou on-line s wifi ko...
[ 1.2.2019] (príspevkov 0)