[ Príspevok: 1 ] 
AutorSpráva
Online

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 01.12.24
Príspevky: 451
Témy: 198 | 198
Bydlisko: Poprad-okolie

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.
Ovládanie relé cez Arduino s webaplikáciou
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.
Ovládanie relé cez Arduino s webaplikáciou
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.
Ovládanie relé cez Arduino s webaplikáciou
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.
Ovládanie relé cez Arduino s webaplikáciou
Screenshoty webaplikácie:
Ovládanie relé cez Arduino s webaplikáciou
Ovládanie relé cez Arduino s webaplikáciou
Ovládanie relé cez Arduino s webaplikáciou
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
Kód:
#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
Kód:
#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íspevok: 1 ] 


Ovládanie relé cez Arduino s webaplikáciou



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Ovládanie relé IR ovládačom - Prijímač KY-022

v Články

0

1060

10.01.2020 12:43

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

Ovládanie hlasom pre Arduino/NodeMCU/ESP32/Raspberry/Orange Pi ... projekty

v Mikropočítače

1

2437

16.09.2017 9:16

ado130

V tomto fóre nie sú ďalšie neprečítané témy.

Hasičské stopky cez Arduino s displejom

v Články

0

1952

22.12.2018 22:52

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

Mastermind - Logik cez Arduino a LCD

v Články

1

2453

23.08.2019 15:37

vaci

V tomto fóre nie sú ďalšie neprečítané témy.

Kaskáda posuvných registrov 74HC595 ovládaná cez Arduino

v Články

0

904

23.04.2020 1:06

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

DOMINATOR cez Arduino pre Airsoft / Paintball / Nerf Wars

v Články

2

2462

30.11.2018 21:41

eon5

V tomto fóre nie sú ďalšie neprečítané témy.

ovladanie cez USB

v Elektronika

1

1233

15.12.2007 11:06

POM4R4NC

V tomto fóre nie sú ďalšie neprečítané témy.

ovladanie cez IRda

v TV

6

1247

31.01.2007 15:20

Cmoud

V tomto fóre nie sú ďalšie neprečítané témy.

ovladanie druheho PC cez internet

v Sieťové a internetové programy

2

1360

19.01.2011 12:05

f4r0

V tomto fóre nie sú ďalšie neprečítané témy.

ovládanie obrazoviek cez jeden PC

v Monitory, televízory a projektory

2

601

27.02.2017 12:23

RiJoY285

V tomto fóre nie sú ďalšie neprečítané témy.

Ovladanie elektroniky cez infraport W200I

v Mobilné zariadenia

5

1104

26.12.2008 16:00

peter seal

V tomto fóre nie sú ďalšie neprečítané témy.

Ovládanie PC cez wifi siet

v Sieťové a internetové programy

1

1256

09.05.2010 12:25

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Ovládanie WindowsMediaPlayer1 cez activex v delphi

v Delphi, Visual Basic

10

1106

07.11.2009 0:01

Fico

V tomto fóre nie sú ďalšie neprečítané témy.

Program na ovládanie PC cez smarthpone

v Ostatné programy

4

503

09.07.2015 8:43

Johnnny

V tomto fóre nie sú ďalšie neprečítané témy.

Ovládanie Arduina cez UART z počítača

v Články

0

966

21.11.2020 12:53

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

Vysokorychlostny prenos obrazu cez vzdialene ovladanie

v Sieťové a internetové programy

3

446

24.01.2014 9:38

shiro



© 2005 - 2024 PCforum, edited by JanoF