Placeholder

ENTHERNET ESP8266 (V12)

 

150.000

Giá bán 

150.000

Quantity:
Save
Compare
Category: .

Product Description

Tổng quan

ESP8266 là dòng chip Low-power và là một wifi SOC nên cần rất ít linh kiện ngoài (tầm 7 thành phần) Hoạt động trong dãi nhiệt -40°C to +125°C

Mạch tích ở High Level

ESP8266EX là một trong những dòng chip tích hợp Wifi trong lĩnh vực công nghiệp. Với kích thước chỉ 5mmx5mm, ESP8266EX cần rất ít linh kiện hỗ trợ ngoài

ESP8266EX được tích hợp 32-bit Tensilica MCU, các ngoại vi cơ bản, antenna switches, RF balun, khuếch đại công suất, khuếch đại nhận nhiễu thấp (low noise), bộ lọc và các modules quản lý nguồn.

32-bit Tensilica MCU

ESP8266EX tích hợp vi xửa lý Tensilica L106 32-bit (MCU) là dòng chip low-power, 16-bit RSIC, tốc độ clock cao nhất là 160 MHz. Nếu hệ thống hoạt động với Real Time Operation System (RTOS) và Wi-Fi stack thì ta có khoảng 80% khả năng xử lý cho ứng dụng người dùng.

Low Power Management

Với những ứng dụng cho mobile, thiết bị điện tử cẩm tay và Internet of Things (IoT), ESP8266EX hoạt động với mức tiệu thụ năng lượng rất thấp với nhưng công nghệ độc quyền. Tính năng tiết kiệm năng lượng với 3 chế độ hoạt động – active mode, sleep mode và deep sleep mode, vì vậy cho phép hiện thực những thiết bị với thời lượng Pin rất lớn.

Là thiết kế bền vững

Hoạt động với dãi nhiệt khá rộng  -40°C to +125°C (trong công nghiệp), ESP8266EX có thể hoạt động tốt trong môi trường công nghiệp. Với sự tích hợp cao, dòng chip này hoạt động với rất ít linh kiện ngoài làm tăng độ tin cậy, chặt chẽ và ổn định cao.

 

ESP8266-12 là module wifi giá rẻ và được đánh giá rất cao cho các ứng dụng liên quan đến Internet và Wifi cũng như các ứng dụng truyền nhận sử dụng thay thế cho các module RF khác.

ESP8266 là một chip tích hợp cao, được thiết kế cho nhu cầu của một thế giới kết nối mới, thế giới Internet of thing (IOT). Nó cung cấp một giải pháp kết nối mạng Wi-Fi đầy đủ và khép kín, cho phép nó có thể lưu trữ các ứng dụng hoặc để giảm tải tất cả các chức năng kết nối mạng Wi-Fi từ một bộ xử lý ứng dụng.

ESP8266 có xử lý và khả năng lưu trữ mạnh mẽ cho phép nó được tích hợp với các bộ cảm biến, vi điều khiển và các thiết bị ứng dụng cụ thể khác thông qua GPIOs với một chi phí tối thiểu và một  PCB tối thiểu.

Đặc tính nổi bật

  • SDIO 2.0, SPI, UART
  • 32-pin QFN ( Chip esp8266)
  • Tích hợp RF switch, balun, 24dBm PA, DCXO, and PMU
  • Tích hợp bộ xử lý RISC, trên chip bộ nhớ và giao diện bộ nhớ bên ngoài
  • Tích hợp bộ vi xử lý MAC / baseband
  • Chất lượng quản lý dịch vụ
  • Giao diện I2S cho độ trung thực cao ứng dụng âm thanh
  • On-chip thấp học sinh bỏ học điều chỉnh tuyến tính cho tất cả các nguồn cung cấp nội bộ
  • Kiến trúc giả miễn phí thế hệ đồng hồ độc quyền
  • Tích hợp WEP, TKIP, AES, và các công cụ WAPI

Thông số kỹ thuật

  • Wifi 802.11 b/g/n
  • Wi-Fi Direct (P2P), soft-AP
  • Tích hợp giao thức TCP / IP stack
  • Tích hợp TR chuyển đổi, balun, LNA, bộ khuếch đại quyền lực và phù hợp với mạng
  • PLLs tích hợp, quản lý, DCXO và các đơn vị quản lý điện năng
  • + Công suất đầu ra 19.5dBm ở chế độ 802.11b
  • Tích hợp công suất thấp 32-bit CPU có thể được sử dụng như là bộ vi xử lý ứng dụng
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, MIMO 1 × 1, 2 × 1 MIMO
  • A-MPDU & A-MSDU tập hợp & 0.4ms khoảng bảo vệ
  • Thức dậy và truyền tải các gói dữ liệu trong <2ms
  • Chế độ chờ tiêu thụ điện năng <1.0mW (DTIM3)

Các lệnh AT cơ bản dùng cấu hình module wifi ESP8266

Tập lệnh AT của module ESP8266 dùng để cấu hình các chế độ hoạt động

của module ESP8266 (bao gồm các module từ ESP8266-01 đến ESP8266-12)

theo các chế độ làm việc Station, Access Point, hay cả hai. Các tập lệnh AT

cho ESP8266 khá quan trọng để tương tác với các thiết bị khác thông qua UART.

Các lệnh AT chung

AT Kiểm tra lệnh, luôn trả về “OK”
AT+RST Khởi động lại module
AT+GMR Truy vấn phiên bản Firmware

Các lệnh AT cấu hình module wifi

AT+CWMODE = <mode> Cài đặt chế độ 1 = Station 2 = Access Point  3 = Both
AT+CWMODE? Truy vấn chế độ đã cài đặt
AT+CWMODE =? Truy vấn chế độ đã cài đặt
AT+CIPMUX = <mode> Cài đặt số lượng các kênh kết nối
AT+CIPMODE = <mode> Cài đặt số lượng các kênh kết nối 0 = 1 kênh kết nối 1 = Nhiều kênh kết nối
AT+CIPMODE = <mode> Cài đặt chế độ dữ liệu 0 = transparent  1 = Data
AT+CIPMODE? Truy vấn chế độ dữ liệu cài đặt

– Các lệnh AT đối với Module Wifi cầu hình là Station / client / Access Point

AT+CWJAP = <ssid>, <password> Kêt nối với 1 mạng wifi
AT+CWJAP? Truy vấn mạng wifi đang kết nối
AT+CWLAP Truy vấn các mạng wifi có thể kết nối
AT+CWQAP Đóng kế nối wifi với một Access Point
AT+CIFSR Xem địa chỉ IP của module
AT+CWSAP=<ssid>,<password> , <chan>, <enc> Cài đặt các thông số cho Access Point
AT+CWSAP? Xem cài đặt hiện tại của Access Point
AT+CWLIF Danh sách các station đang kết nối

Ngoài những lệnh AT cơ bản này ra, ESP8266 còn rất nhiều các lệnh AT

khác, tham khảo tại đây:

* Các thiết bị cần thiết để cấu hình cho moduel ESP8266

– 1 module ESP8266

– 1 module UART PL2303

– Phần mềm ARDUINO IDE

* Nối dây

PL2303 ESP8266
Rx Tx
Tx Rx
3.3V Vcc và CH_PD
GND GDN

* Cấu hình cho Module ESP8266

Test một vài lệnh AT cơ bản như sau:

Các bạn phải Add Board cho Arduino IDE để có thể làm việc với ESP8266 Mở Serial Monitor trên

Arduino IDE lên và chọn tốc độ phù hợp, phần nhập liệu chọn both LN &CR

– Tốc độ giao tiếp mặc định(Baud rate): 9600 hoặc 115200

– Các lệnh AT nên được viết hoa

– Các lệnh AT phải được kết thúc bởi 2 dấu CR (\ r) + LF(\n), tương đương với 2 byte 0x0D + 0x0A

– Việc cài đặt các kết nối wifi sẽ tự động được lưu lại và không phải cài đặt lại khi reset module.

Thiết lập phần cứng với Module ESP8266

Chúng tôi thiết lập thêm một số linh kiện để module có thể hoạt động được.

Đầu tiên, bạn cần cấp nguồn cho chip. Dòng chip này hoạt động ở 3.3V, bạn phải cẩn thận nếu bạn kết nối ESP8266 với các thiết bị 5V.

Tiếp theo, bạn cần 1 Module  USB to TTL (USB-UART) để nạp chip. Kêt nối TX và RX pins của module USB-UART  với RX và TX pins của ESP8266

Chân GPIO 2 nên set lên high lúc boot. Chân GPIO 0 phải được set low trong lúc upload 1 chương trình mới, và high lúc boot. Nếu bạn sử dụng model ESP-12, chân GPIO 15 nên là low lúc boot. Các đường kết nối nên sử dụng các điện trở, ở đây tôi dùng điện trở 2.2K. Chân CH_PD  (chip-enable) bạn nên luôn để mức high.

Bạn nên mắc 1 nút reset module cho tiện trong lúc thao tác với module.

Chúng ta có mạch như sau:

ESP8266_12E-FTDI_bb
Cách lắp mạch trên Breadboard

Sử dụng Arduino IDE

ESP8266 được hỗ trợ bởi Arduino IDE, nếu bạn chưa cài đặt, bạn có thể dowload tại đây (Đảm bảo phiên bản là 1.6.4 hoặc cao hơn).  Lý do chính cho việc sử dung Arduino IDE cho ESP8266 thay cho SDK của Espressif là vì nó đơn giản và có công động lớn.

Bây giờ bạn cần thêm một extension vào Arduino IDE để có thể sử dụng để lập trình ESP8266. Vào File > Preferences và trong Additional Boards Managers URLs, nhập URL cho ESP8266 pagekage: http://arduino.esp8266.com/stable/package_esp8266com_index.json . Sau đó vào Tools > Board và mở Boards Manager. Tìm esp8266 (ESP8266 community) và Install nó. Vào Tools > Board và chọn board tương ứng (Generic ESP8266 nếu bạn đang sử dụng model ESP-01). Bạn đã sẵn sàng để upload chương trình đầu tiên. Chọn một chương trình đơn giản (ví dụ Blink) từ File > Examples và upload để chắc chắn rằng bạn đã thiết lập mọi thứ hoàn toàn.  Việc upload mất khoảng một lúc để hoàn thành, cửa sổ dưới sẽ như thế này:

Window
Window

 

Trên đây tôi chỉ giải thích cách đơn giản nhất những gì phải làm để bắt đầu và chạy ESP8266, và chúng khá vắn tắt vì tôi mặc định rằng bạn có một ít kinh nghiệm về điện tử và vi điều khiển. Nếu bạn thiếu một số thông tin hoặc có vấn đề nào đó, hãy comment câu hỏi bên dưới bài này.

Thingspeak

Sau khi upload và chạy thành công chương trình blink, chúng ta sẽ làm gì đó khó hơn. Bạn có thể kết nối với internet và truyền nhận dữ liệu. Khi bạn add extension của ESP8266 vào Arduino IDE, vào File > Examples và bạn sẽ thấy hàng chục ví dụ. Tôi đề nghị bạn nên thử một vài chương trình để làm quen với những hàm cơ bản để kết nối (connecting) với một server, thiết lập một client hoặc webserver, gửi HTTP request… ESP8266 là dòng chip đa năng, với số lượng lớn các ứng dụng. Nó có thể hoạt động như một station kết nối với local access point, hoặc như một asscess point, hoặc cả 2 cùng một lúc.

Nếu bạn tìm ESP8266 tutorials online, bạn có thể gặp rất nhiều tutorials giới thiệu về cách nào kết nối với ESP8266 với platform gọi là Thingspeak. Đó là một open source IOT platform cho phép bạn kết nối với thiết bị của bạn, thu thập và hiển thị dữ liệu. Các kết nối được tiến hành thông qua HTTP protocol. Nó cho phép bạn viết Matlab code để hiện thực việc nhận dữ liệu, rất tiện lợi. Bạn có thể dễ dàng lấy bất cứ dữ liệu nào từ webpage. Có rất nhiều resources cho nó, nên chúng tôi không đưa hết chúng ở đây, thay vào đó, tôi sẽ hướng dẫn bạn một ví dụ về việc gửi POST request với các giá trị ADC (Analogue to Digital Converter) được đẩy lên Thingspeak channel của bạn (lưu ý là ADC trên ESP8266 là 10-bit với max là 1V). Chúng tôi đã kết nối một biến trở (potentiometer) với ADC cho mục đích này (Sử dụng 1k potentiometer với 2 điện trở 1k trong khoảng maximum output)

ESP8266_12E-FTDI_bb-potentiometer

Thingspeak cung cấp khả năng để thiết lập các phản ứng khi có một tác động từ sự thay đổi dữ liệu. Ví dụ, bật máy làm lạnh khi nhiệt độ tăng vượt ngưỡng trên. Vì nó là opensource, nên có giới hạn về thời lượng trao đổi dữ liệu.

Sau khi bạn tạo một account tại https://thingspeak.com, vào Channels > My Channels và click vào New Channel. Đặt một cái tên tương ứng vào phần mô tả (description) nếu cần. Sau đó check các box cho các field và đặt tên chung, ví dụ như ADC Value. Chúng ta chỉ cần 1 field cho Demo này. Có thêm một số options khác như tạo các channel public hoặc thêm kinh độ và vĩ độ. Sau khi điền những giá trị này, click Save Channel. Dưới Private View, bạn nên xem dồ thị tương ứng với field đầu tiên từ channel của chúng ta với tên là ADC Value. Bây giờ, vào API keys. Chúng ta muốn gửi một con số (ADC value) thông qua POST request. Vì chúng ta muôn viết vào một channel, chúng ta cần Write API Key (cái mà sẽ được đưa vào trong body của request). API Key này dùng cho mục đích định danh (authentication). Copy và lưu chuỗi ký tự này. Sau đó vào Data Import/Export. Phía bên phải, bạn sẽ thấy một danh sách các API khả dụng. Bạn có thể thấy một định dạng của một POST request chúng ta muốn gửi. Chúng ta phải xác định API key và giá trị field. Định dạng này được dùng trong code dưới đây:

#include <ESP8266WiFi.h>

//enter your values for ssid and password
const char* ssid     = "";
const char* password = "";
const char* host = "api.thingspeak.com";

//enter write API key 
String api_key = "";

void setup() {

Serial.begin(115200);

// We start by connecting to a WiFi network
  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");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {

int ADC_value = analogRead(A0); 
  
  // Use WiFiClient class to create TCP connections
  WiFiClient client;
  const int httpPort = 80;
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  }
  
  // We now create a URI for the request
  String url = "/update.json";
  
  String content = String("api_key=") + api_key + "&" + "field1=" + ADC_value;
  int content_length = content.length();
           
  Serial.print("Requesting URL: ");
  Serial.println(url);
    
  client.print(String("POST ") + url + " HTTP/1.1" + "\r\n" +
  "Host: " + String(host) + "\r\n"
  "Content-Length: " + content_length + "\r\n\r\n" + 
  content + "\r\n\r\n"
  );

int _time = millis();
 
  while(!client.available()){
    delay(1);
    if(millis()-_time>3000){ //wait 3 seconds max for response
      Serial.println("No response.");
      break;
    }
  }
                
  while(client.available()){
    String line = client.readStringUntil('\r'); //print response
    Serial.print(line);
  }
       
  client.stop();
  Serial.println("closing connection"); 
  delay(15000); //thingspeak limit
}

Sau khi upload chương trình này, bạn nên xem các điểm trên dồ thị hiển thị giá trị ADC. Ở đây, khoảng thời gian nhỏ nhất cho 2 lần request là 15s.

ADC values
ADC values

Bây giờ bạn có để gắn một sensor vào kênh ADC để hiển thị vài gía trị vật lý, ví dụ như cảm biến nhiệt. Tôi khuyên bạn nên vào App và dạo vòng vòng để xem cái nào có thể mở rộng hệ thống của bạn. Thêm Matlab code để sử dụng dữ liệu (hiển thị, lưu, chuyển đổi, tính toán ý nghĩa dữ liệu…) hoặc làm một số việc khi có một thay đổi từ giá trị cảm biến.

Việc quản lý năng lượng rất quan trong trong Internet of Things. Thật may là có một cách để giảm việc tiệu thụ năng lượng trên ESP8266. Nó hỗ trợ vài chế độ sleep (modem, light và deep). Hiệu quả nhất là deep sleep mode và sóng radio bị tắt khi chi vào chế độ này. Mức tiêu thu sẽ rớt một cách đáng kể xuống 10uA (khoảng 70mA trong chế độ thường).

Nếu chúng ta muốn chip vào chế độ deep sleep mode. Chúng ta viết dòng code ESP : deepSleep(15000000, WAKE_RF_DEFAULT) thay cho delay(15000). Lưu ý rằng trong fuction này được set với đơn vị microseconds. Sau 15s, chúng ta muốn chip phải wake up. Chúng ta phải sử một điển nhỏ trong hardware. Bạn phải đật một tụ (tôi dùng tụ 10uF) giữa RST và GPIO 16, chúng ta sẽ giảm mức tiêu thụ năng lượng đáng kể

ESP8266_12E-FTDI_bb-potentiometer-cap

Bạn vừa built ứng dụng IOT đầu tiên! Trong bài kế tiếp, chúng ta sẽ cùng hiện thực các chuẩn giao tiếp và IBM Bluemix platform cái mà sẽ cho phép chung ta build nhiều hệ thống phức tạp

Reviews

There are no reviews yet.

Be the first to review “ENTHERNET ESP8266 (V12)”

Your email address will not be published. Required fields are marked *