Kontrola 4-oro kanalnog releja preko WiFi koristeci Android telefon

Odgovori
Message
Autoru
necalj
Početnik
Postovi: 3
Pridružio se: Ned Mar 11, 2018 11:36 pm

Kontrola 4-oro kanalnog releja preko WiFi koristeci Android telefon

#1 Post od necalj » Pon Mar 12, 2018 12:03 am

Pozdrav svima, ja sam Neca student na T.F. "Mihajlo Pupin" u Zrenjaninu. Pronasao sam ovaj forum i video da su teme za Arudino programiranje veoma zanimljive, i nadam se dobrom druzenju i zabavi ovde :)

Arduino programiranjem se bavim iz hobija, i to su uglavnom osnovne i neki stini mali projekti cisto iz zabave. Kao sto sam vec pomenuo student sam, i prijavio sam se za izradu seminarskog rada u vidu Arduino projekta, jer mi je delovalo dosta interesatno da odradim tako nesto, medjutim kako sam uzeo da smisljam ideju i plan, ovaj projekat mi deluje dosta kompleksnije nego sto sam zamislio u prvom trenutku.

Tema je kao sto i naslov kaze: Kontrolisanje 4-oro kanalnog releja preko WiFi koristeći mobilni telefon Android.
Elemente koje koristim su: Arduino UNO, ESP8266, 4oro kanalni relej i mobilni telefon Android.

Ja sam to ovako zamislio, a bio bih zahvalan ako bi me neko uputio gde gresim i posavetovao za neku bolju ideju :)

Sto se tice same aplikacije za telefon, skinuo bih neku gotovu sa Google Pay sotre, ima ih nekoliko gde vec ima gotovih interfejsa u vidu 4 prekidaca/tastra ili varijante gde sam pravim interfejs aplikacije.
Kod za 4oro kanalni relej sam vec ispisao i uploadovo u ArduionoUNO i testirao, radi. Kada otvorim Serial Monitor u Arduino programu i upisem broj 1 upali se relej-1, kada upisem opet broj 1 ugasi se relej-1, i tako dalje za otale, to funkcionise preko Serial Monitora.

E sada ja sam zamislio. Da se ispise neki kod i uploaduje u ESP8266 i da on emituje WiFi konekciju. U telefon u podesavanjima odabiram tu WiFi mrezu nakacim se na nju i sada sam povezan sa ESP8266.
Dalje da kada ja u aplikaciji pritisnem taster1, da ta aplikacija posalje broj 1 preko ESP8266 u ArduinoUNO on iscita broj 1 i odradi komadu koja znaci da upali/ugasi relej 1.

Da li je ovo ovako izvodljivo?

Korisnikov avatar
DenisHD
Početnik
Postovi: 369
Pridružio se: Sre Jan 04, 2017 11:32 am

Re: Kontrola 4-oro kanalnog releja preko WiFi koristeci Android telefon

#2 Post od DenisHD » Uto Mar 13, 2018 7:01 am

Jeste izvodljivo itekako! :D I drago mi je što se još neko interesuje za arduino osim mene i ovde nas forumaša! :D Ako te zanima arduino, nemoj da ti je to samo za školu, istražuj, isprobavaj i druge kodove i kući u slobodno vreme, probaj sam da nešto isprogramiraš, jer tako najbolje vežbaš i programiranje! :D
E sad što se tiče konkretnog projekta, tebi ESP8266 u "saradnji" sa arduinom hvata wifi signal, i tako omogućuje arduinu da se npr. kontroliše sa telefona.. E sad to što si ti napisao da bi isprogramirao esp8266 da šalje wifi signal i da se na isti povežeš sa telefonom, ok je može i tako.. ali zamisli sad hoćeš da npr, upališ neki relej i da bi to uradio moraš da se konektuješ na njegov wifi, a u drugom trenutku vež hoćeš nešto da surfuješ netom.. ne možeš dok se opet ne konektuješ na npr. tvoj kuni net, ili skolski wifi.. zato je praktičnije da ti isprogramiraš taj ESP8266 da on hvata wifi signal tj. da se konektuje na kućni, školski ili koji god wifi, i da ga tako kontrolišeš.. e sad malo bi bio problem sa tim aplikacijama što si ti našao jer vrv moraju da budu direktno konektovani na ESP8266.. ali postoji jedna veoma dobra aplikacija, sa kojom uz dodatak verifikacionog koda koji e stavlja u arduino ili ESP8266 kod (nzm tačno, pošto nisam radio još sa tom kombunacijom arduina i wifi modula), i posle ti možeš bukvalno da odeš lupam sad u Ameriku npr. i da odatle kontrolišeš tvoje releje, samo mora da bude i ESP8266 konektovan na wifi kako bi imao internet konekciju... Aplikacija se zove Blynk i imaš i istoimeni YT kanal koji snima tutorijale za tu aplikaciju.. evo i linka: https://www.youtube.com/channel/UCKWBP3 ... C_Q/videos
U ovoj aplikaciji možeš bukvalno da samo na vidžetima za button da odabereš koji hoćeš pin na arduinu da kontrolišeš i to je to.. ali to neka ti bude samo za probu.. jer tako aplikacija zna da bude bagovita.. tako da je bolje da za svaki button ispišeš kod u kodu za arduino, kako bi tačno imao definisano arduino i app, da ne dodje do bagovanja u smislu ti uključiš neki relej u app a na arduinu i relejima nema odziva... Još nešto u aplikaciji ti kad ubaciš vidžet za button on je po defaultu podešen kao taster, ali ti kad klikneš na njega (dok nije pokrenut projekat u aplikaciji) otvaraju ti se podešavanja istog, i ti možeš u podešavanjima da promeniš da ti je taj button kao klasični prekidač.. jednomklikneš relej je uključen, drugi put klikneš, relej je isključen...

necalj
Početnik
Postovi: 3
Pridružio se: Ned Mar 11, 2018 11:36 pm

Re: Kontrola 4-oro kanalnog releja preko WiFi koristeci Android telefon

#3 Post od necalj » Uto Mar 13, 2018 3:41 pm

Sinoc sam se nesto igrao bas sa tom Blynk aplikacijom. I uspeo sam da napravim to sto meni treba ali uz pomoc WeMos D1 modula (sto na sebi ima integrisan WiFi modul). Bas kao sto si rekao njega sam nakacio na moj ruter, telefon takodje na ruter, i u aplikaciji napravio 4 prekidaca i koji pin sta da radi...
To je sve OK kada se pravi projekat za sopstvene potrebe ili slicno, ali meni ovo ne moze da prodje na ispitu. Zato sto profesor zahteva vise linja koda kako bi mogao da me propita koja sta radi i da odbranim svoj rad. Ovde jedina linija koda je example NodeMCU u kome se nalaze parametri za konektovanje za ruter, i taj token koji poziva aplikaciju, svo ostalo "programiranje-kodovanje" radi aplikacija u telefonu Blyink tako da ova varijanta mi ne odgovara.

Takodje sam pokusao da sve ovo isto odradim sa ArduinoUNO + ESP8266 modul ali nisam uspeo. Uploadujem kod u ESP8266 on se nakaci na moj ruter, ali mislim da je problem u komunikaciji izmedju ESP8266 i ArduinoUNA preko RX i TX tu nesto gresim...
Videcu sa profesorom da li smem da koristim taj WeMos D1 modul za projekat, ili bas moram biti ogranicen sa ArudinoUNO + ESP8266.

Tvoj predlog sto se tice onog dela da kacim WiFi na ruter i telefon kako bih imao ujedno i konekciju sa Arduino i internet mi takodje ne odgovara. Za neke licne projekte i drugo nesto ta ideja je odlicna, ali meni to ne odgovara iz sledeceg razloga. Ja cu onda biti prinudjen da na dan ispita tj. odbrane rada moram da programiram svoj projekat, jer ne znam da li ce se ispit odrzati u amfitetatru ili ucionici, tj da li moram da ubacujem parametre za amfiteatar ruter, ili za prvi/drugi sprat ruter, u zavisnosti gde se nalazim...
Tako da moram da se direktno konektujem na taj wifi, internet mi nije potreban :)

Gledao sam na youtube neke varijante ljudi su pravili preko WebServera ili slicno, ali tu mi nista nije jasno. Tako da moram da kopam, trazim i istrazujem kako da odradim projekat. Posto literature nemam, parola profesora je imas internet snadji se...

Korisnikov avatar
DenisHD
Početnik
Postovi: 369
Pridružio se: Sre Jan 04, 2017 11:32 am

Re: Kontrola 4-oro kanalnog releja preko WiFi koristeci Android telefon

#4 Post od DenisHD » Sre Mar 14, 2018 9:31 am

Vezano za ovo što ne znaš na koji ruter da podesiš.. Ako imaš laptop, na njega prebaci ceo folder sa onim skečom za projekat i tamo gde ćeš prezentovati svoj rad samo pitaš đifru wifi-ja i ukucaš i pustiš da se uploaduje.. Ako ne može tako, možeš ti i na fonu da uključiš deljenje neta, i da se prikačiš na net od tvog mobilnog.. :D A ovo što si rekao da ti se poveže ESP8266, ali arduino ne reaguje.. Kažem ti.. prouči te tutorijale što sam ti linkovao, i na osnovu njih i ti ispiši kod za svaki pin koji hoćeš da kontrolišeš preko BLYNK_WRITE() funkcije, i onda samo u app iste te pinove izabereš na vidžetima za button.. :D Probaj tako, jer i meni se dešavalo da ili baguje u smislu da kasni 1-2 sekunde uključi relej nakon moje komande sa fona, ili ubaguje skroz.. znači ništa ne reaguje.. a kad sam ubacio taj kod još, onda je proradilo.. :D Probaj, pa ako te bude opet zezalo, imaš i njihov forum https://community.blynk.cc/, pa možeš tamo i da šitaš šta te zeza.. :D I ja sam tamo nedavno pitao za jedan moj projekat, pošto sam imao problema sa kodom, i pomogli su mi.. :D Ne boj se ako ne znaš baš engleski.. ni ja ne znam baš, ali pored njihovog forumma sam imao još dva taba sa google translate-om, i razumeli su me šta hoću da kažem.. :D
A za onaj WeMos D1 pitaj profesora, to bi ti bilo najbolje na njemu da odradiš projekat, kad ti već radi.. :D
A za one web servere što si pominjao, ako misliš na to da se registruješ na besplatnom hosting sajtu pa da tamo odradiš neku stranicu sa buttonima.. to je mnogo više od samih dugmića.. moraš da poznaješ PHP i da pored toga isprogramiraš celu bazu podataka..i opet moraš da imaš pristup netu sa tim projektom.. :D
Evo mog pokušaja da napravim nešto sa tim web serverom.. :D Napravio samo stranicu, a ni to mi baš nije išlo, jer se za html dosta manje zanimam, jer hoću da usavršim programiranje u C-u, kako bi mogao dobro da isprogramiram arduino, NodeMCU, ili sličnu pločicu.. :D https://denishd.000webhostapp.com/

necalj
Početnik
Postovi: 3
Pridružio se: Ned Mar 11, 2018 11:36 pm

Re: Kontrola 4-oro kanalnog releja preko WiFi koristeci Android telefon

#5 Post od necalj » Pet Jul 06, 2018 8:32 am

Hej cao, nikako da stignem da sednem za komp i da se javim. Uspeo sam da resim problem i da napravim seminarski.

Problem sam resio koristeci WeMos D1 modul, (onaj sto na sebi ima integrisan WiFi-ESP8266).
Android aplikaciju koju sam koristio je napravljena MIT App Invetor (http://appinventor.mit.edu). Aplikaciju je dosta prosto izraditi, uploadovo sam slike dole u postu kako izgleda aplikacija. Imate dva dela Designer i Blocks, u Designer delu pravite izgled vase aplikacije tj. interfejs kako ce izgledati na telefonu, dok u Blocks sekotur imate gotove blokove koje samo potrebno sloziti i povezati sa onim dugmicima ili sta drugo da ste stavili u interfejsu. Neko uputstvo koje sam koristio koristilo mi je sa ovog video klipa Link: https://www.youtube.com/watch?v=TpXV-B2pRiI.

U sustini radi na sledecu foru, Android aplikacija kada se stisne neki taster odlazi na IP adresu od od ESP8266 modula i tamo ostavlja poruku broj releja i ON ili OFF (r1on, r1off, r2on, r2off itd.), a Arduino loop radi tako sto takodje odlazi na IP adresu proverava poruke koje su tamo ukoliko se poruka poklapa sa nekim od poruka, salje signal da upali/ugasi relej.


Evo ga i Arduino kod koji sam izradio i koristio ako nekome bude trebalo mozda ikad za nesto :)

Kod: Obeleži sve

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

const char *ssid = "SeminarskiRad";
const char *pass = "";
String command;

ESP8266WebServer server(80);
void respond(){
  server.send(200,"text/html","<h1> Pozdrav, konektovani ste na uređaj </h1>");
}

void setup() {
Serial.begin(115200);
pinMode(D2,OUTPUT);
pinMode(D5,OUTPUT);
pinMode(D6,OUTPUT);
pinMode(D7,OUTPUT);
WiFi.softAP(ssid,pass);
IPAddress IPserver = WiFi.softAPIP();
Serial.println(IPserver);
server.on("/",respond);
server.begin();
server.onNotFound([](){
    command=server.uri();
  server.send(200,"text/plain",command);
});
}
 
void loop() 
 {
 server.handleClient();
if(command.equals("/r1on"))
    {
  digitalWrite(D2,LOW);
  delay(50);
    }
if(command.equals("/r1off"))
    {
  digitalWrite(D2,HIGH);
  delay(50);
   }

server.handleClient();
if(command.equals("/r2on"))
{
  digitalWrite(D5,LOW);
  delay(50);
}
if(command.equals("/r2off"))
{
  digitalWrite(D5,HIGH);
  delay(50);
}

server.handleClient();
if(command.equals("/r3on"))
{
  digitalWrite(D6,LOW);
  delay(50);
}
if(command.equals("/r3off"))
{
  digitalWrite(D6,HIGH);
  delay(50);
}

server.handleClient();
if(command.equals("/r4on"))
{
  digitalWrite(D7,LOW);
  delay(50);
}
if(command.equals("/r4off"))
{
  digitalWrite(D7,HIGH);
  delay(50);
}

}
Nemate potrebne dozvole da pogledate prikačene fajlove u ovom postu.

Korisnikov avatar
zokce
Početnik
Postovi: 1007
Pridružio se: Sre Okt 18, 2017 7:57 pm
Lokacija: Juzna Srbija

Re: Kontrola 4-oro kanalnog releja preko WiFi koristeci Android telefon

#6 Post od zokce » Pet Jul 06, 2018 9:04 am

Neco, bice nesto od tebe, bravo. ;)
Без старца нема ударца!

Korisnikov avatar
DenisHD
Početnik
Postovi: 369
Pridružio se: Sre Jan 04, 2017 11:32 am

Re: Kontrola 4-oro kanalnog releja preko WiFi koristeci Android telefon

#7 Post od DenisHD » Sub Jul 21, 2018 1:08 am

Super što si se snašao! :D
Samo ne mogu da vidim slike, a nije do chroma jer sam na firefoxu.. jel i ovo neki vid cenzure od strane modera? :D #Troll

Korisnikov avatar
zokce
Početnik
Postovi: 1007
Pridružio se: Sre Okt 18, 2017 7:57 pm
Lokacija: Juzna Srbija

Re: Kontrola 4-oro kanalnog releja preko WiFi koristeci Android telefon

#8 Post od zokce » Sub Jul 21, 2018 9:09 pm

Samo se b(r)ezobrazluci cenzurišu.
Без старца нема ударца!

Korisnikov avatar
dekip
Početnik
Postovi: 54
Pridružio se: Ned Dec 30, 2018 9:44 pm

Re: Kontrola 4-oro kanalnog releja preko WiFi koristeci Android telefon

#9 Post od dekip » Pon Dec 31, 2018 2:27 pm

A možeš da čitaš i Svet Kompjutera. ;)

https://www.sk.rs/2018/06/sklp04.html
https://www.sk.rs/2018/07/sklp05.html

Pozdrav.

Odgovori

Ko je OnLine

Korisnika u ovom forumu: Nema registrovanih korisnika i 1 gost