16x relé - multiuser webaplikácia - Arduino + Ethernet shield

Tvoříte zajímavý projekt? Pochlubte se s ním.
Pravidla fóra
Vkládejte prosím jen HOTOVÉ projekty, které chcete představit ostatním.
Odpovědět
martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

16x relé - multiuser webaplikácia - Arduino + Ethernet shield

Příspěvek od martinius96 » 27 úno 2018, 21:43

Ahoj, idem sa opäť podeliť s ďalším projektom, ktorý vie mnohým z vás pomôcť pri riešení problematiky ako spínať relé na diaľku.
Robil som trošku špecifický projekt pre 2 chaty, ktoré sú ovládané na diaľku, kedy má každý z používateľov 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é. Nakoľko Due nemá každý, budú kódy pre tento projekt uspôsobené pre 2 dosky Arduino Uno s Ethernet shieldami W5100.

Web časť je napísaná v PHP procedurálnym štýlom. Existujú 2 používateľské kontá, v ktorých je možné ovládať 8 výstupov pre každého používateľa. 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.

1. používateľ
  • Meno: user1
  • Heslo: user1
2. používateľ
  • Meno: admin
  • Heslo: admin
Prihlasovacie údaje sa dajú vo web časti zmeniť na vami zvolené, kedykoľvek je ich možné zmeniť podľa potreby. Po zmene údajov vám ešte vaše údaje systém vypíše, aby ste mali istotu, že na aké údaje bolo vaše meno a heslo zmenené (napríklad invertované y a z môže znefunkčniť prihlaśenie) všetky mená a heslá do aplikácie sú uložené hashom algoritmu SHA1, teda s pevnou dĺžkou.
Systém nepoužíva databázu, teda ho len stačí skopírovať na stránky a pracovať s ním.

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.
Obrázek
Funkčné stránky majú za úlohu:
  • Prepínanie relé
  • Zmena názvov relé
  • Zmena prihlasovacích informácii
  • Uloženie Arduino kódu
  • Bezpečné odhlásenie z aplikácie
Arduino Uno kód pre prvých 8 relé (user1):

Kód: Vybrat vše

#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, 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 Uno kód pre druhých 8 relé (admin)

Kód: Vybrat vše

#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
} 
Oba tieto sketche pre Arduina sú napojené na stránku https://arduino.php5.sk/rele/, kde je možné sketch aj vyskúšať priamo s použitím web rozhrania na tejto stránke. Vďaka bootstrapu sa dajú relé v stĺpci ovládať aj prostredníctvom smartfónu, či iného zariadenia.
Pri prepisovaní sketch pre váš projekt/web pamätajte na tieto veci:
  • Ethernet shield W5100 podporuje iba HTTP stránky
  • Nastavte si adresu na váš web (pre server i host)
  • Zmeňte si IP adresu podľa vášho rozsahu, ktorý používate vo vašej LAN
  • Na jedno relé je možné napojiť max 10A pri 230V
  • Dĺžka prijatej response, z ktorej sa parsuje premenná, ktorá je uložená v textovom súbore sa môže líšiť v závislosti od enginu servera (Apache/Nginx) a i jeho konfigurácie. Ak sa dáta nečítajú správne (nesprávny riadok sa parsuje), treba zmeniť parameter x
Screenshoty webaplikácie:
Obrázek
Obrázek
Obrázek
Web časť: https://ulozto.sk/!GSxqEHGQBqtw/smartreleapp-zip
Viac o projekte: https://arduino.php5.sk/ovladanie-rele.php
Ďalšie zaujímavé projekty môžete nájsť i na mojom webe: https://arduino.php5.sk


martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: 16x relé - multiuser webaplikácia - Arduino + Ethernet shield

Příspěvek od martinius96 » 19 kvě 2018, 14:38

Spôsob ako si vyrátať čítaný riadok z Arduina je spísaný v jednoduchom návode tu: https://arduino-forum.cz/viewtopic.php?f=38&t=432

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů