Cập nhật nội dung chi tiết về Hướng Dẫn Sử Dụng Esp8266 Trong Các Ứng Dụng Internet Of Things (Phần 1) – Htelectronics mới nhất trên website Cuocthitainang2010.com. Hy vọng thông tin trong bài viết sẽ đáp ứng được nhu cầu ngoài mong đợi của bạn, chúng tôi sẽ làm việc thường xuyên để cập nhật nội dung mới nhằm giúp bạn nhận được thông tin nhanh chóng và chính xác nhất.
Giới thiệu về dòng chip Wifi ESP8266
Chip ESP8266 được phát triển bởi Espressif để cung cấp giải pháp giao tiếp Wifi cho các thiết bị IoT. Điểm đặc biệt của dòng ESP8266 là nó được tích hợp các mạch RF như balun, antenna switches, TX power amplifier và RX filter ngay bên trong chip với kích thước rất nhỏ chỉ 5x5mm nên các board sử dụng ESP8266 không cần kích thước board lớn cũng như không cần nhiều linh kiện xung quanh. Ngoài ra, giá thành của ESP8266 cũng rất thấp đủ để hấp dẫn các nhà phát triển sản phẩm IoT
Tóm lại, ESP8266 vừa tích hợp nhiều phần cứng hỗ trợ, vừa kích thước nhỏ, vừa hợp túi tiền thì sao chúng ta có thể cưỡng lại được, đúng không nào ?
Cấu trúc phần cứng của dòng chip ESP8266 có thể tóm tắt như sau:
Sử dụng 32-bit MCU core có tên là Tensilica
Tốc độ system clock có thể set ở 80MHz hoặc 160MHz
Không tích hợp bộ nhớ Flash để lưu chương trình
Tích hợp 50KB RAM để lưu dữ liệu ứng dụng khi chạy
Có đầy đủ các ngoại vi chuẩn đê giao tiếp như 17 GPIO, 1 Slave SDIO, 3 SPI, 1 I2C, 1 I2S, 2 UART, 2 PWM
Tích hợp các mạch RF để truyền nhận dữ liệu ở tần số 2.4GHz
Hỗ trợ các hoạt động truyền nhận các IP packages ở mức hardware như Acknowledgement, Fragmentation và Defragmentation, Aggregation, Frame Encapsulation v.v… (và phần stack TCP/IP sẽ được thực hiện trên firmware của ESP8266)
Do không hỗ trợ bộ nhớ Flash nên các board sử dụng ESP8266 phải gắn thêm chip Flash bên ngoài và thường là Flash SPI để ESP8266 có thể đọc chương trình ứng dụng với chuẩn SDIO hoặc SPI.
Chúng ta có thể thấy board ESP8266 chỉ cần thạch anh và SPI flash chip và vài linh kiện điện trở rất đơn giản phải không nào. Do đó việc tích hợp giao tiếp Wifi vào board ứng dụng với ESP8266 rất dễ dàng và nhanh chóng.
Về mô hình lập trình ứng dụng với ESP8266, chúng ta có thể chia làm 2 loại như sau:
Sử dụng firmware được cung cấp bởi Espressif và giao tiếp thông qua AT commands
Lập trình firmware trực tiếp vào ESP8266 sử dụng bộ thư viện SDK cung cấp bởi Espressif
Các chế độ boot up của ESP8266
Do ESP8266 không tích hợp Flash bên trong chip để lưu code ứng dụng nên chúng ta phải lưu code ứng dụng trong bộ nhớ ngoài bao gồm chip SPI Flash hoặc SDCard. Chúng ta có thể kết nối 1 số chân GPIO để báo cho ESP8266 nơi lưu code ứng dụng để từ đó ESP8266 có thể đọc code và thực thi.
Các chế độ boot up của ESP và cấu hình chân GPIO tương ứng như sau:
Chân MTD0 chính là chân GPIO15 của ESP8266. Chúng ta có thể kết nối điện trở kéo lên/kéo xuống hoặc dùng nút nhấn v.v.. trên board tạo tín hiệu High/Low cho các chân để chọn bộ nhớ chứa code trên board mà ESP8266 có thể đọc vào và thực thi (ví dụ như SPI Flash chip, SDCard). Ngoài ra ESP8266 còn chế độ cho phép truyền code ứng dụng từ máy tính thông qua UART và lưu vào bộ nhớ SPI Flash trên board. Chúng ta sẽ dùng chế độ này để nạp code mới cho các board ESP8266
Các loại module cho ESP8266 trên thị trường
Ngoại trừ module ESP-WROOM-02 được phát triển bởi chính Espressif cho mục đích nghiên cứu các tính năng của ESP8266, các module ứng dụng phổ biến hiện nay của ESP8266 đều được phát triển bởi công ty AI-Thinker
Hiện tại có khá nhiều module khác nhau cho ESP8266 được sản xuất bởi công ty AI-Thinker. Đặc điểm khác nhau giữa các module này bao gồm:
Loại anten sử dụng (PCB anten, chip anten hoặc gắn anten ngoài)
Dung lượng của chip Flash SPI trên board
Kích thước board của module
Có gắn khung nhôm chống nhiễu hay không
Số lượng pin GPIO đưa ra chân kết nối
Hiện tại AI-Thinker sản xuất 14 loại module cho ESP từ module ESP-01 đến ESP-14. Các bạn có thể tham khảo chi tiết tất cả 14 loại module này trong website http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family
Ở thị trường VN thì 3 module là ESP-01, ESP-07 và ESP-12F khá phổ biến và sẽ được sử dụng để demo trong các bài viết sau nên chúng ta sẽ giới thiệu sơ các module ở đây:
ESP-01
Sử dụng on-board PCB antenna Có 2 LED trên board để báo nguồn và báo TX Cung cấp 3 chân GPIO (GPIO0, GPIO2 và GPIO6) và 2 chân TXD/RXD cho UART Dung lượng SPI Flash 4MByte Đưa chân ra jumper luôn nên có thể kết nối trực tiếp với các board khác 1 cách nhanh chóng Thông tin chi tiết có thể tham khảo ở đây
ESP-07
Sử dụng chip anten on-board và có IPEX connector hỗ trợ gắn thêm anten ngoài để tăng khoảng cách truyền Có 2 LED trên board để báo nguồn và báo TX Đưa ra 9 chân GPIO, 2 chân TX/RX cho UART, 1 chân REST để reset chip, 1 chân ADC, 1 chân CH_PD để đưa chip vào chế độ low power Dung lượng SPI Flash trên board là 4MByte Có thể hàn thêm jumper để kết nối trực tiếp với board khác hoặc hàn trực tiếp lên board ứng dụng Thông tin chi tiết có thể tham khảo ở đây
ESP-12F
Sử dụng PCB anten on-board Đưa ra 11 chân GPIO, 2 chân TX/RX cho UART, các chân cho SPI, chân RST để reset chip, 1 chân ADC Dung lượng SPI Flash là 4MByte Có thể hàn jumper để căm dây vào các board khác hoặc hàn trực tiếp lên board ứng dụng Thông tin chi tiết có thể tham khảo ở đây
Qua 3 module ESP8266 trên chúng ta có thể so sánh nhanh như sau:
ESP-01 đơn giản nhất, số chân GPIO ít nhất và không có shield chống nhiễu
ESP-07 thì nhiều chân GPIO hơn, có shield chống nhiễu nhưng dùng chip antenna nên khoảng cách truyền không xa bằng PCB anten. Tuy nhiên có thể tăng khoảng cách truyền bằng cách gắn thêm anten ngoài với IPEX connector trên board
ESP-12F đưa ra nhiều chân GPIO nhất, có shield chống nhiễu và on-board PCB anten (lưu ý là mặc dù có các chân SPI nhưng đã được sử dụng để đọc SPI Flash bên trong nên chúng ta không thể sử dụng các chân này nha)
Do đó tùy vào yêu cầu của ứng dụng, chúng ta có thể lựa chọn module từ đơn giản đến phức tạp
Qua bài viết này, chúng ta đã được giới thiệu tổng quan về dòng chip ESP8266 cho giao tiếp Wifi của các thiết bị IoT. Đây là chip SOC tích hợp đầy đủ mạch RF và phần cứng để hỗ trợ truyền nhận dữ liệu trên Wifi nên không yêu cầu thiết kế board phức tạp; và đặc biệt giá thành lại rất rẻ nên rất phổ biến trong cộng đồng phát triển ứng dụng IoT. Trong bài viết, chúng ta đã khảo sát kiến trúc phần cứng, các ngoại vi, mạch nguyên lý cũng như các module phổ biến hiện nay của ESP8266. Đây chính là kiến thức cần thiết để tiếp tục tìm hiểu sâu hơn về cách sử dụng ESP8266 trong các bài viết tiếp theo.
Hướng Dẫn Sử Dụng Esp8266 Trong Các Ứng Dụng Internet Of Things (Phần 1)
Phần 1: Giới thiệu tổng quan về ESP8266
Giới thiệu về dòng chip Wifi ESP8266
Chip ESP8266 được phát triển bởi Espressif để cung cấp giải pháp giao tiếp Wifi cho các thiết bị IoT. Điểm đặc biệt của dòng ESP8266 là nó được tích hợp các mạch RF như balun, antenna switches, TX power amplifier và RX filter ngay bên trong chip với kích thước rất nhỏ chỉ 5x5mm nên các board sử dụng ESP8266 không cần kích thước board lớn cũng như không cần nhiều linh kiện xung quanh. Ngoài ra, giá thành của ESP8266 cũng rất thấp đủ để hấp dẫn các nhà phát triển sản phẩm IoT
Tóm lại, ESP8266 vừa tích hợp nhiều phần cứng hỗ trợ, vừa kích thước nhỏ, vừa hợp túi tiền thì sao chúng ta có thể cưỡng lại được, đúng không nào ?
Cấu trúc phần cứng của dòng chip ESP8266 có thể tóm tắt như sau:
Sử dụng 32-bit MCU core có tên là Tensilica
Tốc độ system clock có thể set ở 80MHz hoặc 160MHz
Không tích hợp bộ nhớ Flash để lưu chương trình
Tích hợp 50KB RAM để lưu dữ liệu ứng dụng khi chạy
Có đầy đủ các ngoại vi chuẩn đê giao tiếp như 17 GPIO, 1 Slave SDIO, 3 SPI, 1 I2C, 1 I2S, 2 UART, 2 PWM
Tích hợp các mạch RF để truyền nhận dữ liệu ở tần số 2.4GHz
Hỗ trợ các hoạt động truyền nhận các IP packages ở mức hardware như Acknowledgement, Fragmentation và Defragmentation, Aggregation, Frame Encapsulation v.v… (và phần stack TCP/IP sẽ được thực hiện trên firmware của ESP8266)
Do không hỗ trợ bộ nhớ Flash nên các board sử dụng ESP8266 phải gắn thêm chip Flash bên ngoài và thường là Flash SPI để ESP8266 có thể đọc chương trình ứng dụng với chuẩn SDIO hoặc SPI.
Chúng ta có thể thấy board ESP8266 chỉ cần thạch anh và SPI flash chip và vài linh kiện điện trở rất đơn giản phải không nào. Do đó việc tích hợp giao tiếp Wifi vào board ứng dụng với ESP8266 rất dễ dàng và nhanh chóng.
Về mô hình lập trình ứng dụng với ESP8266, chúng ta có thể chia làm 2 loại như sau:
Sử dụng firmware được cung cấp bởi Espressif và giao tiếp thông qua AT commands
Lập trình firmware trực tiếp vào ESP8266 sử dụng bộ thư viện SDK cung cấp bởi Espressif
Các chế độ boot up của ESP8266
Do ESP8266 không tích hợp Flash bên trong chip để lưu code ứng dụng nên chúng ta phải lưu code ứng dụng trong bộ nhớ ngoài bao gồm chip SPI Flash hoặc SDCard. Chúng ta có thể kết nối 1 số chân GPIO để báo cho ESP8266 nơi lưu code ứng dụng để từ đó ESP8266 có thể đọc code và thực thi.
Các chế độ boot up của ESP và cấu hình chân GPIO tương ứng như sau:
Chân MTD0 chính là chân GPIO15 của ESP8266. Chúng ta có thể kết nối điện trở kéo lên/kéo xuống hoặc dùng nút nhấn v.v.. trên board tạo tín hiệu High/Low cho các chân để chọn bộ nhớ chứa code trên board mà ESP8266 có thể đọc vào và thực thi (ví dụ như SPI Flash chip, SDCard). Ngoài ra ESP8266 còn chế độ cho phép truyền code ứng dụng từ máy tính thông qua UART và lưu vào bộ nhớ SPI Flash trên board. Chúng ta sẽ dùng chế độ này để nạp code mới cho các board ESP8266
Các loại module cho ESP8266 trên thị trường
Ngoại trừ module ESP-WROOM-02 được phát triển bởi chính Espressif cho mục đích nghiên cứu các tính năng của ESP8266, các module ứng dụng phổ biến hiện nay của ESP8266 đều được phát triển bởi công ty AI-Thinker
Hiện tại có khá nhiều module khác nhau cho ESP8266 được sản xuất bởi công ty AI-Thinker. Đặc điểm khác nhau giữa các module này bao gồm:
Loại anten sử dụng (PCB anten, chip anten hoặc gắn anten ngoài)
Dung lượng của chip Flash SPI trên board
Kích thước board của module
Có gắn khung nhôm chống nhiễu hay không
Số lượng pin GPIO đưa ra chân kết nối
Hiện tại AI-Thinker sản xuất 14 loại module cho ESP từ module ESP-01 đến ESP-14. Các bạn có thể tham khảo chi tiết tất cả 14 loại module này trong website http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family
Ở thị trường VN thì 3 module là ESP-01, ESP-07 và ESP-12F khá phổ biến và sẽ được sử dụng để demo trong các bài viết sau nên chúng ta sẽ giới thiệu sơ các module ở đây:
ESP-01
Sử dụng on-board PCB antenna Có 2 LED trên board để báo nguồn và báo TX Cung cấp 3 chân GPIO (GPIO0, GPIO2 và GPIO6) và 2 chân TXD/RXD cho UART Dung lượng SPI Flash 4MByte Đưa chân ra jumper luôn nên có thể kết nối trực tiếp với các board khác 1 cách nhanh chóng Thông tin chi tiết có thể tham khảo ở đây
ESP-07
ESP-12F
Qua 3 module ESP8266 trên chúng ta có thể so sánh nhanh như sau:
ESP-01 đơn giản nhất, số chân GPIO ít nhất và không có shield chống nhiễu
ESP-07 thì nhiều chân GPIO hơn, có shield chống nhiễu nhưng dùng chip antenna nên khoảng cách truyền không xa bằng PCB anten. Tuy nhiên có thể tăng khoảng cách truyền bằng cách gắn thêm anten ngoài với IPEX connector trên board
ESP-12F đưa ra nhiều chân GPIO nhất, có shield chống nhiễu và on-board PCB anten (lưu ý là mặc dù có các chân SPI nhưng đã được sử dụng để đọc SPI Flash bên trong nên chúng ta không thể sử dụng các chân này nha)
Do đó tùy vào yêu cầu của ứng dụng, chúng ta có thể lựa chọn module từ đơn giản đến phức tạp
Qua bài viết này, chúng ta đã được giới thiệu tổng quan về dòng chip ESP8266 cho giao tiếp Wifi của các thiết bị IoT. Đây là chip SOC tích hợp đầy đủ mạch RF và phần cứng để hỗ trợ truyền nhận dữ liệu trên Wifi nên không yêu cầu thiết kế board phức tạp; và đặc biệt giá thành lại rất rẻ nên rất phổ biến trong cộng đồng phát triển ứng dụng IoT. Trong bài viết, chúng ta đã khảo sát kiến trúc phần cứng, các ngoại vi, mạch nguyên lý cũng như các module phổ biến hiện nay của ESP8266. Đây chính là kiến thức cần thiết để tiếp tục tìm hiểu sâu hơn về cách sử dụng ESP8266 trong các bài viết tiếp theo.
Hướng Dẫn Sử Dụng Phần Mềm Elsa Hiệu Quả
Phương pháp, cách học phát âm hiệu quả với phần mềm ELSA
Được phát triển từ nền tảng công nghệ nhận diện giọng nói thông minh, phần mềm phát âm ELSA đã cải thiện tới 40% điểm phát âm của người dùng sau 4 tuần.
Để sử dụng hiệu quả ứng dụng đặc biệt này, bạn cần hoàn thành một bài kiểm tra đánh giá năng lực, kỹ năng từ đó xác định khả năng nói tiếng Anh của mình và có chương trình luyện tập phù hợp. Đặc biệt, trong quá trình luyện nói tiếng Anh, ELSA sẽ giúp bạn nhận dạng và chỉ ra những từ ngữ, lỗi sai trong cách phát âm của bạn và đề xuất cách sửa điều chỉnh lại chính xác. Vì thế, để cải thiện hiệu quả khả năng nói tiếng Anh với phần mềm ELSA, phương pháp tối ưu nằm ở sự kiên trì, chăm chỉ và luyện tập thường xuyên cùng phần mềm.
Cách sử dụng phần mềm ELSA
Hướng dẫn cách sử dụng phần mềm ELSA
Cũng như các phần mềm, ứng dụng trên di động khác, phần mềm ứng dụng ELSA có cách sử dụng khá đơn giản với cả hệ điều hành Android và IOS.
Trong quá trình học tiếng Anh với các bài học đa dạng, bạn sẽ được nghe phần mềm đọc trước, đồng thời theo dõi các chữ viết từ ngữ hiển thị trên màn hình và hãy chú ý đến những từ được gạch chân bởi đây là những từ bạn cần học cách phát âm chính xác. Sau khi đã ghi nhớ và sẵn sàng luyện phát âm, bạn nhấn vào biểu tượng micro để nói. Phần mềm sẽ tự động thu âm lại giọng nói của mình.
Khi đó, bằng khả năng nhận diện giọng nói công nghệ thông minh, phần mềm ELSA sẽ kiểm tra đồng thời đánh giá cách phát âm của bạn bằng các hiển thị: 10 điểm nếu bạn phát âm đúng hoàn toàn và màu xanh nếu gần đúng, màu đỏ nếu sai hoàn toàn cũng như chỉ ra những từ phát âm sai của người dùng.
Trải qua các bài tập đơn giản ban đầu, sử dụng phần mềm ELSA, bạn sẽ được luyện tập thêm những level cao hơn về trọng âm từ, trọng âm câu sao cho chuẩn nhất.
Phát âm cùng ELSA
Esp8266 Cho Người Không Biết Gì
Các phiên bản ESP8266
Hiện tại thì đã có tới 14 phiên bản của ESP8266, quá nhiều sự lựa chọn cho chúng ta. Nhưng vì ở Việt Nam không phải lúc nào cũng có đủ tất cả nên mình sẽ giới thiệu 2 phiên bản ESP8266 phổ biến hiện nay
ESP-01
Tính năng
Mạch nhỏ, gọn (24.75mm x 14.5mm)
Điện áp làm việc 3.3v
Tích hợp sẳn anten PCB trace trên module
Có hai led báo hiệu : led nguồn, led TXD
Có các chế độ: AP, STA, AT + STA
Lệnh AT rất đơn giản, dễ dàng sử dụng
Khoảng cách giữa các chân 2.54mm
Sơ đồ chân
Tính năng
Sử dụng nguồn 3.3v
Tích hợp anten PCB trace trên module
Tiêu chuẩn wifi : 802.11b/g/n, với tần số 2.4GHz và hổ trợ bảo mật WPA/WPA2
Khoảng cách giữa các chân 2mm
Sơ đồ chân
2 bản này có cái PCB màu xanh là bản thường, có cái PCB màu đen là bản mới nhất 12E, bản 12E là bản mới nhất, ra nhiều chân IO nhất và giá cũng chỉ hơn 10k. Nếu mua mới khuyến khích các bạn mua bản 12E
Ngoài ra chúng ta có thể sử dụng một kit thay thế bao gồm ESP8266 và phần giao tiếp với máy tính là NodeMCU, với kit này không có sẵn firmware AT nên nếu muốn dùng tập lệnh AT thì các bạn có thể dựa trên bài nạp firmware AT để có thể giao tiếp với MCU.
Chuẩn bị và kết nối
Đầu tiên là bước chuẩn bị đồ dùng để bắt đầu cho quá trình ngâm cứu, chúng ta cần có 3 thứ
Modul ESP8266 phiên bản v1 hoặc v12
Modul USB2UART (ở đây mình dùng modul PL2303)
Modul nguồn 3.3V (bạn có thể lấy nguồn từ PL2303 nhưng nên xài nguồn riêng cho ổn định do dòng của ESP tiêu thụ hơi lớn)
Một số dây cắm
Vậy là đã đầy đủ đồ nghề, giờ bắt đầu kết nối thôi, các bạn lưu ý khi mua mấy cái modul này thì bảo người bán test hàng cho mình trước, nếu có đồ sẵn ở nhà rồi thì đảm bảo các modul UART với nguồn còn hoạt động tốt nha. Quan trọng nhất là đừng cắm lộn nguồn – + là được rồi.
Đây là sơ đồ kết nối minh họa cho 2 phiên bản ESP8266 v1 và v12
Kết nối với ESP8266v1
Kết nối với ESP8266v12
Với NodeMCU chỉ cần nạp firmware AT vào là dùng thôi, không cần nối thêm dây.
Cấu hình
Việc kết nối đã xong, giờ chúng ta bắt đầu kiểm tra coi modul hoạt động thế nào
Đầu tiên là tải phần mềm terminal, có nhiều loại phần mềm và tùy vào phong cách cũng như sở thích của từng người, nếu mới dùng modul thì mình khuyên dùng phần mềm sscom
Lưu ý: Khi kết nối gõ lệnh AT dùng SSCOM không hiển thị gì thì cách khắc phục là bạn cần ngắt kết nối GPIO0 với GND.
Mình xin nói qua về cách sử dụng một chút
Số 2 là thông báo khi bắt đầu khởi động modul, nếu hiện thông báo này thì coi như bước giao tiếp đã thành công, không được thì bạn đổi lại baud xem thế nào. Mình xin nói thêm ở đây là cái chữ invalid làm mình khốn khổ thế nào, ban đầu cứ tưởng modul bị ra đi rồi nhưng không phải, vẫn hoạt động bình thường, mình kiểm tra mấy modul rồi thì có mỗi modul này bị như thế, các modul khác thì ra valid nha các bạn.
Tiếp tục dòng chữ AT ở vị trí số 4 sau đó ấn nút số 5
Quan sát kết quả ở vị trí số 6, nếu hiện OK là modul hoạt động tốt rồi
Kết nối vào mạng wifi
Đầu tiên dùng lệnh AT+RST để thực hiện reset lại modul, tiếp theo là thực hiện tuần tự theo các bước như bảng bên dưới, tạm thời mình chỉ đưa ra 1 số lệnh cơ bản và mô tả để các bạn có thể kết nối được vào wifi nhà mình thôi.
Kết
Bạn đang đọc nội dung bài viết Hướng Dẫn Sử Dụng Esp8266 Trong Các Ứng Dụng Internet Of Things (Phần 1) – Htelectronics trên website Cuocthitainang2010.com. Hy vọng một phần nào đó những thông tin mà chúng tôi đã cung cấp là rất hữu ích với bạn. Nếu nội dung bài viết hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!