Module thu phát Wifi ESP8266 NodeMCU Lua CP2102

95,000₫
Sản phẩm khuyến mãi
Sản phẩm vừa xem

Module thu phát Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản.

Module thu phát Wifi ESP8266 NodeMCU Lua được dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến IoT.

Kit RF thu phát Wifi ESP8266 NodeMCU Lua sử dụng chip nạp và giao tiếp UART mới và ổn định nhất là CP2102 có khả năng tự nhận Driver trên tất cả các hệ điều hành Window và Linux, đây là phiên bản nâng cấp từ các phiên bản sử dụng IC nạp giá rẻ CH340.

Đặc tính nổi bật Module thu phát Wifi ESP8266

  • Tích hợp 2 nút nhấn
  • Tích hợp chip chuyển usb – uart CH340

  • Full IO : 10 GPIO, 1 Analog, 1SPI , 2 UART, 1 I2C/I2S, PWM,v.v….

  • Được hỗ trợ bởi cộng đồng lớn mạnh Nodemcu

THÔNG SỐ KỸ THUẬT

  • Tương thích các chuẩn wifi : 802.11 b/g/n
  • Hỗ trợ: Wi-Fi Direct (P2P), soft-AP
  • Tích hợp TCP/IP protocol stack
  • Tích hợp TR switch, balun, LNA, power amplifier and matching network
  • Tích hợp bộ nhân tần số, ổn áp, DCXO and power management units
  • +25.dBm output power in 802.11b mode
  • Power down leakage current of <10uA
  • Integrated low power 32-bit CPU could be used as application processor
  • SDIO 1.1/2.0, SPI, UART
  • STBC, 1×1 MIMO, 2×1 MIMO
  • A-MPDU & A-MSDU aggregation & 0.4ms guard interval
  • Wake up and transmit packets in < 2ms
  • Dòng tiêu thụ ở Standby Mode < 1.0mW (DTIM3)

Các chẩn giao tiếp và các thông tin khác :

  • SDIO 2.0, SPI, UART
  • Integrated RF switch, balun, 24dBm PA, DCXO, and PMU
  • Integrated RISC processor, on-chip memory and external memory interfaces
  • Integrated MAC/baseband processors
  • Quality of Service management
  • I2S interface for high fidelity audio applications
  • On-chip low-dropout linear regulators for all internal supplies
  • Proprietary spurious-free clock generation architecture
  • Integrated WEP, TKIP, AES, and WAPI engines

 

Hướng dẫn cài đặt và sử dụng NodeMCU với trình biên dịch Arduino:

Link tải Driver CP2102.

http://www.instructables.com/id/Programming-ESP8266-ESP-12E-NodeMCU-Using-Arduino-/
https://github.com/esp8266/Arduino#installing-with-boards-manager

————————CODE THAM KHẢO———————

/* Cắm cable kết nối

 * Mở Device Manger để xem port

 * Vào Tools -> Board -> NodeMCU 1.0 (ESP-12E Module)

 * Vào Tools -> Port -> Chọn Port kết nối.

 * Nạp code xong dùng điện thoại có kết nối Wifi truy cập vào wifi có tên NSHOP, mật khẩu: 12345678

 */

 

#include <ESP8266WiFi.h>

#include <WiFiClient.h>

#include <ESP8266WebServer.h>

 

const char *ssid = "NSHOP";

const char *password = "12345678";

int stateLED = LOW;

 

ESP8266WebServer server(80);

 

void handleRoot() {

  response();

}

 

void handleLedOn() {

  stateLED = HIGH;

  digitalWrite(4, stateLED);

  digitalWrite(5, stateLED);

  response();

}

 

void handleLedOff() {

  stateLED = LOW;

  digitalWrite(4, stateLED);

  digitalWrite(5, stateLED);

  response();

}

const String HtmlHtml = "<html><head>"

                        "<BODY align="center">"

                        "<meta name="viewport" content="width=device-width, initial-scale=1" /></head>";

const String HtmlHtmlClose = "</html>";

const String HtmlTitle = "<h1>NamVietGroup</h1><br/>

";

const String HtmlLedStateLow = "<big>LED is now <b>OFF</b></big><br/>

";

const String HtmlLedStateHigh = "<big>LED is now <b>ON</b></big><br/>

";

const String HtmlButtons =

  "<a href="LEDOn"><button style="display: block; width: 100%;">ON</button></a><br/>"

  "<a href="LEDOff"><button style="display: block; width: 100%;">OFF</button></a><br/>";

 

void response() {

  String htmlRes = HtmlHtml + HtmlTitle;

  if (stateLED == LOW) {

    htmlRes += HtmlLedStateLow;

  } else {

    htmlRes += HtmlLedStateHigh;

  }

 

  htmlRes += HtmlButtons;

  htmlRes += HtmlHtmlClose;

 

  server.send(200, "text/html", htmlRes);

}

 

void setup() {

  delay(1000);

  Serial.begin(115200);

  Serial.println();

 

  WiFi.softAP(ssid, password);

 

  IPAddress apip = WiFi.softAPIP();

  Serial.print("visit:

");

  Serial.println(apip);

  server.on("/", handleRoot);

  server.on("/LEDOn", handleLedOn);

  server.on("/LEDOff", handleLedOff);

  server.begin();

  Serial.println("HTTP server beginned");

  pinMode(4, OUTPUT);

  digitalWrite(0, stateLED);

  pinMode(5, OUTPUT);

  digitalWrite(1, stateLED);

}

 

void loop() {

  server.handleClient();

}

 

Thu:

/* Cắm cable kết nối

 * Mở Device Manger để xem port

 * Vào Tools -> Board -> NodeMCU 1.0 (ESP-12E Module)

 * Vào Tools -> Port -> Chọn Port kết nối.

 * Nạp code.

 * Mở Serial Monitor chọn Both NL & CR, baud 115200.

 * Bấm nút reset trên module

 */

 

#include <ESP8266WiFi.h>

 

const char* ssid = "Linh Kien Dien Tu NSHOP";// wifi muốn kết nối------------------------------------------

const char* password = "dientuchatluong";

 

int ledPin = 13; // GPIO13

WiFiServer server(80);

 

void setup() {

  Serial.begin(115200);

  delay(10);

 

  pinMode(ledPin, OUTPUT);

  digitalWrite(ledPin, LOW);

 

  // Connect to WiFi network

  Serial.println();

  Serial.println();

  Serial.print("Connecting to ");

  Serial.println(ssid);

 

  WiFi.begin(ssid, password);

 

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

    delay(500);

    Serial.print(".");

  }

  Serial.println("");

  Serial.println("WiFi connected");

 

  // Start the server

  server.begin();

  Serial.println("Server started");

 

  // Print the IP address

  Serial.print("Use this URL to connect: ");

  Serial.print("http://");

  Serial.print(WiFi.localIP());

  Serial.println("/");

 

}

 

void loop() {

  // Check if a client has connected

  WiFiClient client = server.available();

  if (!client) {

    return;

  }

 

  // Wait until the client sends some data

  Serial.println("new client");

  while(!client.available()){

    delay(1);

  }

 

  // Read the first line of the request

  String request = client.readStringUntil('r');

  Serial.println(request);

  client.flush();

 

  // Match the request

 

  int value = LOW;

  if (request.indexOf("/LED=ON") != -1)  {

    digitalWrite(ledPin, HIGH);

    value = HIGH;

  }

  if (request.indexOf("/LED=OFF") != -1)  {

    digitalWrite(ledPin, LOW);

    value = LOW;

  }

 

// Set ledPin according to the request

//digitalWrite(ledPin, value);

 

  // Return the response

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

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

  client.println(""); //  do not forget this one

  client.println("<!DOCTYPE HTML>");

  client.println("<html>");

 

  client.print("Led pin is now: ");

 

  if(value == HIGH) {

    client.print("On");

  } else {

    client.print("Off");

  }

  client.println("<br><br>");

  client.println("<a href="/LED=ON""><button>Turn On </button></a>");

  client.println("<a href="/LED=OFF""><button>Turn Off </button></a><br />");  

  client.println("</html>");

 

  delay(1);

  Serial.println("Client disonnected");

  Serial.println("");

 

}

 

 

Bình luận