projekty@dakohran.cz

ESP 8266 NodeMCU – 01 dálkově ovládané výstupy

ESP 8266 NodeMCU – 01 dálkově ovládané výstupy

NodeMCU – 01, 4x LED, 4x odpor 220 Ohm, mobil nebo tablet

Tak tenhle modulek je opravdu perfektní hračka za pár korun. Je postaven na bázi ESP 8266, má Wi-Fi a pracuje na napětí 3,3 V. K dispozici jsou 4 DI / DO piny nebo 2x DI / DO + RxD a TxD ( SW volitelné ). Modul na „černém tišťáku“ má k dispozici 1024 KB, na modrém 512 KB Flash paměti. Na českých shopech se dá sehnat od cca. 60 Kč.

Pomocí tohoto projektu dokážeme ovládat 4 LED diody pomocí aplikace v mobilním telefonu nebo v tabletu ať již z domácí sítě nebo vnější ( mobilní data, cizí Wi-Fi )

Schéma zapojení je jednoduché, LED 1 připojíme na GPIO0, LED 2 na GPIO1, LED 3 na GPIO2 a LED 4 na GPIO3 přes rezistory 220 Ohm. ( Modul spíná kladný potenciál ).

Nahrajeme do NodeMCU – 01 program :

// Ovládání 4 výstupů ESP-01 ( Wi-Fi ) 

#include <ESP8266WiFi.h>

const char* ssid = "XXXXXXXXXX";      // ZADEJTE JMÉNO VAŠÍ WIFI SÍTĚ

const char* password = "YYYYYYYYYY";  // ZADEJTE HESLO VAŠÍ WIFI SÍTĚ

WiFiServer server(80);

//Jako výstupy použít piny : 

int myPins[]={0,1,2,3};

// Počet použitých pinů ( pro mobilní aplikaci ) 

int noOfDevices=4;



String data;

void setup() {

for(int i=0;i<sizeof(myPins);i++){

  pinMode(myPins[i],OUTPUT);

  digitalWrite(myPins[i],0);

 }



  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {

    delay(500);

 

  }

  

  server.begin();

}

void loop() {

WiFiClient client = server.available();

  if(client){

// Přijatá data z mobilní aplikace převeď na pole znaků
String text=client.readStringUntil('\n');

text.remove(0,5);

text.remove(noOfDevices,text.length());

if(text!="favic"){

data=text;


//Změň úroveň ( status ) na pinech

for (int i=0;i<noOfDevices;i++) {

    if (data[i]=='0'){

       digitalWrite(myPins[i],0);

     }

   else if(data[i]=='1'){

       digitalWrite(myPins[i],1);


         }

   

       }

       /*------------Pošli do aplikace když byl status pinů úspěšně změněn--------------*/



       client.println("HTTP/1.1 200 OK");

       client.println("Content-Type: text/html");

       client.println("");

       client.print("success");



}



client.flush();  

}

}

Tak, po nahrání programu modul restartujeme a zjistíme, jakou IP adresu mu přiřadil náš router. Spustíme libovolný softík na skenování domácí sítě. Já použiji Advanced IP Scanner ( ke stažení na konci článku ).

Zde je vidět, že můj router přiřadil modulu adresu 192.168.1.34 Jestli máte v domácí síti více těchto modulů, váš modul poznáte podle MAC adresy která mu byla přidělená při Flashování NodeMCU. Pro větší přehlednost jsem z foto vyjmul všechny ostatní zařízení v síti kromě našeho modulu

POKUD ROUTER RESETUJETE NEBO NODEMCU-01 VELMI DLOUHO NEBUDE NA VAŠÍ SÍTI, ROUTER MU PŘIŘADÍ NOVOU IP ADRESU, KTERÁ NEMUSÍ SOUHLASIT S PŮVODNÍ !!!!

Zkouška funkčnosti na domácí síti :

Do telefonu nebo tabletu nainstalujeme aplikaci Smart Remote Esp8266 Wifi Controller z Google Play nebo stáhneme na konci tohoto článku.

Po spuštění aplikace stisneme tlačítko nastavení ( vedle stopek ), potom na „Enter Your Ip Adress“ a zadáme naší IP adresu 192.168.1.34 Tlačítkem + můžeme přidávat další „výstupy“ v aplikaci, delším stiskem na tlačítko se dostaneme do jeho editace.

Zkouška funkčnosti

Natavení pro ovládání z vaší domácí sítě i mimo ni.

Smysl tohoto zařízení by byl ztracen, kdyby nebylo možno výstupy i mimo domácí síť ( např. zapnout topení před cestou na chalupu nebo během dovolené rozsvítit nejaké světla doma, aby to vypadalo, že v bytě někdo je ).

Nastavení je jednoduché, nicméně podotýkám, že budete měnit nastavení routeru. Případné chybné nastavení Vám může znefunkčnit Vaši domácí síť.

V Internetovém prohlížeči zadejte adresu Vašeho routeru, většinou to bývá 192.168.0.1 nebo 192.168.1.1 – popřípadě lze zjistit programem Advanced IP Scanner. Poté zadejte Vaše přihlašovací údaje k routeru a najděte záložku Port Range Fowarding ( Směřování portů ). Do volného pole zadejte síťovou konfiguraci NodeMCU-01 – IP adresu,port 80,protokol TCP. Uložte změny, hotovo !

Dalším krokem bude zjištění Vaší veřejné IP adresy. Do prohlížeče napište www.mojeip.cz Poznamejte si Vaši veřejnou adresu, např. 86.12.34.56

Tuto adresu si změňte v nastavení aplikace. Nyní můžete ovládat výstupy NodeMCU-01 jak z Vaší domácí sítě ( domácí Wi-Fi, tak i z cizí – mobilní data ). Zjednodušeně řečeno, v routeru jste vytvořili “ Bypass „, který z Internetu přijme data z Vaší veřejné IP adresy a „přepošle“ je na NodeMCU s adresou 192.168.1.34 ve Vaší domácí síti ( příklad ).

To je vše, příjemnou zábavu !

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.