WiFi LED ovládání pomocí ESP8266

Příklad ukazuje, jak odesílat data přes web do modulu ESP8266 pomocí Arduina. Program ovládá LED diody připojené k desce Arduino.

Příklad používá následující prvky:

  • Počítač vybavený kartou WiFi

Propojení ESP-01 a Arduina

Sériové rozhraní UART se používá pro komunikaci mezi WiFi modulem založeným na systému ESP8226 a deskou Arduino. V tomto případě bude použita jeho softwarová verze, hardware UART, tj. Piny 1 a 0, zůstane uživateli k dispozici. Systémy by měly být připojeny, například pomocí kabelů typu female-male, a to následovně:

Kolík ESP8266 Pin Arduino
Tx 2
Rx 3
Vcc 3,3 V
CH_PD

3,3 V

GND GND

LED diody by měly být připojeny k pinům 11, 12 a 13 Arduina přes odpor omezující proud diody . Jeho hodnota určuje jas LED diody, příliš nízký odpor může diodu poškodit, při příliš vysokém odporu nebude svítit. Doporučujeme zvolit hodnotu odporu v rozsahu od 220 Ω do 1,5 kΩ .

Program pro Arduino

V příkladu byl použit následující kód:

 

#include  // zahrnutí knihovny pro podporu softwarového rozhraní UART
        
SoftwareSerial esp01 (2,3); // Inicializace softwarového rozhraní UART: 2-RX (připojení k modulu ESP Tx); 3-TX (připojení k modulu Rx ESP)
    
neplatné nastavení ()
{
  Serial.begin (9600); // Inicializace hardwarového rozhraní UART rychlostí 9600 b / s - pro komunikaci s počítačem přes USB
      esp01.begin (9600); // Inicializace softwarového rozhraní UART rychlostí 9600 b / s - pro komunikaci s modulem ESP
      
  pinMode (11, VÝSTUP); // nastavení kolíku 11 jako vstupu pro LED č. 1
  digitalWrite (11, LOW); // dát pin 11 nízký stav - dioda 1 je ve výchozím nastavení vypnutá
      
  pinMode (12, VÝSTUP); // nastavení pinu 12 jako vstupu pro LED č. 2
  digitalWrite (12, LOW); // dát pin 12 nízký stav - dioda 2 je ve výchozím nastavení vypnutá
      
  pinMode (13, VÝSTUP); // nastavení pinu 13 jako vstupu pro LED č. 3
  digitalWrite (13, LOW); // dát pin 13 nízký stav - LED 3 je ve výchozím nastavení vypnutá
       
  // Odeslání inicializačních příkazů pro ESP
  sendData ("AT + RSTrn", 2000); // reset modulu
  sendData ("AT + CWMODE = 2yrn", 1000); // nastavení v režimu přístupového bodu sendData ("AT + CIFSRrn", 1000); // získat IP adresu (standardně 192.168.4.1) sendData ("AT + CIPMUX = 1rn", 1000); // povolit režim vícenásobného připojení sendData ("AT + CIPSERVER = 1,80rn", 1000); // nastavit server na port 80} void loop () {if (esp01.available ()) // zkontrolovat, zda modul přijal data {if (esp01.find ("+ IPD,")) {delay (1000) ; // čekat na vyplnění vyrovnávací paměti daty // přečíst ID připojení int connectionId = esp01.read () - 48; // čtení hodnoty ASCI: 48 odečteno, protože read () vrací desítkovou hodnotu ASCII na pozici 48 esp01.find ("pin ="); // hledejte frázi „pin =“ a umístěte tam „kurzor“ int pinNumber = (esp01.read () - 48) * 10; // získejte první číslici, např. pro pin 13, první číslice je 1, vynásobte ji 10 pinNumber + = (esp01.read () - 48); // získejte druhou číslici, např. pro pin 13, druhá číslice je 3, přidejte ji k předchozímu výsledku digitalWrite (pinNumber ,! digitalRead (pinNumber)); // změnit stav vybraného pinu // zavřít připojení String closeCommand = "AT + CIPCLOSE ="; closeCommand + = connectionId; // ID připojení číst nejprve closeCommand + = "rn"; sendData (closeCommand, 1000); // odeslání příkazu pro ukončení připojení}}} / * * Funkce, která odesílá příkazy do modulu ESP01 * Parametry: * příkaz - příkaz k odeslání * timeout - časový limit pro odpověď * / String sendData (String command, const int timeout) {String response = ""; esp01.print (příkaz); // odeslání příkazu do ESP01 long int time = millis (); while ((time + timeout)> millis ()) {while (esp01.available ()) // pokud existují nějaká data z modulu, pak se načte {char c = esp01.read (); // načtení další znakové odpovědi + = c; }} Serial.print (odpověď); návratová odpověď; }

Získejte kód pro Arduino

HTML kód pro odesílání dat

Zkopírujte níže uvedený kód a použijte například systémový Poznámkový blok s příponou .html.


Ovládání LED pomocí ESP8266

Stáhněte si HTML kód

Program také používá knihovnu JQuery. Stáhněte si jej a uložte do adresáře, kde je umístěn výše uvedený soubor .html.

Spusťte program

Nejprve se musíte k modulu připojit jako přístupový bod (podobně jako např. Bezdrátový router). Po navázání připojení otevřete vytvořený web pomocí libovolného prohlížeče. Pomocí jednoho ze tří tlačítek můžete LED zapnout nebo vypnout.

zveme vás ke spolupráci!