Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevok: 1 ] 
AutorSpráva
Offline

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

Registrovaný: 17.02.14
Prihlásený: 31.03.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok NapísalOffline : 10.02.2019 0:23

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č.


Odpovedať na tému [ Príspevok: 1 ] 


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

897

10.01.2020 12:43

martinius96 Zobrazenie posledných príspevkov

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

2075

16.09.2017 9:16

ado130 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mastermind - Logik cez Arduino a LCD

v Články

1

2203

23.08.2019 15:37

vaci Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hasičské stopky cez Arduino s displejom

v Články

0

1872

22.12.2018 22:52

martinius96 Zobrazenie posledných príspevkov

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

736

23.04.2020 1:06

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. DOMINATOR cez Arduino pre Airsoft / Paintball / Nerf Wars

v Články

2

2418

30.11.2018 21:41

eon5 Zobrazenie posledných príspevkov

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

v Elektronika

1

1073

15.12.2007 11:06

POM4R4NC Zobrazenie posledných príspevkov

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

v TV

6

1189

31.01.2007 15:20

Cmoud Zobrazenie posledných príspevkov

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

539

27.02.2017 12:23

RiJoY285 Zobrazenie posledných príspevkov

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

v Mobilné zariadenia

5

1041

26.12.2008 16:00

peter seal Zobrazenie posledných príspevkov

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

1196

09.05.2010 12:25

shiro Zobrazenie posledných príspevkov

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

v Sieťové a internetové programy

2

1286

19.01.2011 12:05

f4r0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Program na ovládanie PC cez smarthpone

v Ostatné programy

4

471

09.07.2015 8:43

Johnnny Zobrazenie posledných príspevkov

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

412

24.01.2014 9:38

shiro Zobrazenie posledných príspevkov

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

819

21.11.2020 12:53

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ovládanie WindowsMediaPlayer1 cez activex v delphi

v Delphi, Visual Basic

10

1056

07.11.2009 0:01

Fico Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra