ENGINNERS ESP8266 Ban phát triển NodeMCU
Internet of Things (IoT) đã và đang là một lĩnh vực có xu hướng trong thế giới công nghệ. Nó đã thay đổi cách chúng tôi làm việc. Các đối tượng vật lý và thế giới kỹ thuật số hiện được kết nối với nhau hơn bao giờ hết. Hãy ghi nhớ điều này, Espressif Systems (Một công ty bán dẫn có trụ sở tại Thượng Hải) đã phát hành một bộ vi điều khiển hỗ trợ WiFi siêu nhỏ, đáng yêu - ESP8266, với mức giá không thể tin được! Với giá chưa đến 3 đô la, nó có thể giám sát và kiểm soát mọi thứ từ mọi nơi trên thế giới - hoàn hảo cho bất kỳ dự án IoT nào.
Ban phát triển trang bị mô-đun ESP-12E chứa chip ESP8266 có bộ vi xử lý Tensilica Xtensa® 32-bit LX106 RISC hoạt động ở tần số xung nhịp có thể điều chỉnh từ 80 đến 160 MHz và hỗ trợ RTOS.
Chip ESP-12E
- Tensilica Xtensa® 32-bit LX106
- Tần số xung nhịp từ 80 đến 160 MHz.
- RAM bên trong 128kB
- Đèn flash ngoài 4MB
- Bộ thu phát Wi-Fi 802.11b / g / n
Ngoài ra còn có RAM 128 KB và bộ nhớ Flash 4MB (để lưu trữ chương trình và dữ liệu) vừa đủ để đối phó với các chuỗi lớn tạo nên web các trang, dữ liệu JSON / XML và mọi thứ chúng ta sử dụng trên các thiết bị IoT ngày nay. ESP8266 Tích hợp bộ thu phát Wi-Fi 802.11b / g / n HT40, vì vậy nó không chỉ có thể kết nối với mạng WiFi và tương tác với Internet mà còn có thể thiết lập một mạng của riêng mình, cho phép các thiết bị khác kết nối trực tiếp với nó. Điều này làm cho ESP8266 NodeMCU trở nên linh hoạt hơn.
Yêu cầu về điện năng
Như điều hành voltage phạm vi của ESP8266 là 3V đến 3.6V, bảng đi kèm với một vol LDOtage điều chỉnh để giữ voltage ổn định ở 3.3V. Nó có thể cung cấp lên đến 600mA một cách đáng tin cậy, là quá đủ khi ESP8266 kéo đến 80mA trong quá trình truyền RF. Đầu ra của bộ điều chỉnh cũng được chia ra một trong các cạnh của bảng và được dán nhãn là 3V3. Chân này có thể được sử dụng để cấp nguồn cho các linh kiện bên ngoài.
Yêu cầu về điện năng
- Hoạt động Voltage: 2.5V đến 3.6V
- Bộ điều chỉnh 3.3V 600mA trên bo mạch
- 80mA hoạt động hiện tại
- 20 μA trong Chế độ Ngủ
Nguồn cho ESP8266 NodeMCU được cung cấp qua đầu nối USB MicroB trên bo mạch. Ngoài ra, nếu bạn có điện áp 5V được điều chỉnhtage nguồn, chân VIN có thể được sử dụng để cấp trực tiếp cho ESP8266 và các thiết bị ngoại vi của nó.
Cảnh báo: ESP8266 yêu cầu nguồn cấp 3.3V và mức logic 3.3V để giao tiếp. Các chân GPIO không chịu được 5V! Nếu bạn muốn giao diện bo mạch với các thành phần 5V (hoặc cao hơn), bạn sẽ cần thực hiện một số chuyển cấp.
Thiết bị ngoại vi và I / O
ESP8266 NodeMCU có tổng cộng 17 chân GPIO được chia ra cho các tiêu đề chân ở cả hai mặt của bảng phát triển. Các chân này có thể được chỉ định cho tất cả các loại nhiệm vụ ngoại vi, bao gồm:
- Kênh ADC - Kênh ADC 10 bit.
- Giao diện UART - Giao diện UART được sử dụng để tải mã tuần tự.
- Đầu ra PWM - Chân PWM để làm mờ đèn LED hoặc điều khiển động cơ.
- Giao diện SPI, I2C & I2S - Giao diện SPI và I2C để kết nối tất cả các loại cảm biến và thiết bị ngoại vi.
- Giao diện I2S - Giao diện I2S nếu bạn muốn thêm âm thanh vào dự án của mình.
I / Os đa kênh
- 1 kênh ADC
- 2 giao diện UART
- 4 đầu ra PWM
- Giao diện SPI, I2C & I2S
Nhờ tính năng ghép kênh chân của ESP8266 (Nhiều thiết bị ngoại vi ghép kênh trên một chân GPIO duy nhất). Có nghĩa là một chân GPIO duy nhất có thể hoạt động như PWM / UART / SPI.
Công tắc trên bo mạch & Đèn báo LED
ESP8266 NodeMCU có hai nút. Một được đánh dấu là RST nằm ở góc trên cùng bên trái là nút Reset, tất nhiên được sử dụng để đặt lại chip ESP8266. Nút FLASH khác ở góc dưới cùng bên trái là nút tải xuống được sử dụng trong khi nâng cấp chương trình cơ sở.
Công tắc & Chỉ báo
- RST - Đặt lại chip ESP8266
- FLASH - Tải xuống các chương trình mới
- Đèn LED xanh lam - Người dùng có thể lập trình
Bo mạch cũng có một chỉ báo LED mà người dùng có thể lập trình và được kết nối với chân D0 của bảng.
Truyền thông nối tiếp
Bo mạch bao gồm Bộ điều khiển Cầu nối USB-to-UART CP2102 từ Silicon Labs, giúp chuyển đổi tín hiệu USB thành nối tiếp và cho phép máy tính của bạn lập trình và giao tiếp với chip ESP8266.
Truyền thông nối tiếp
- Bộ chuyển đổi USB-to-UART CP2102
- Tốc độ truyền thông 4.5 Mbps
- Hỗ trợ kiểm soát luồng
Nếu bạn đã cài đặt phiên bản cũ hơn của trình điều khiển CP2102 trên PC của mình, chúng tôi khuyên bạn nên nâng cấp ngay bây giờ.
Liên kết nâng cấp Trình điều khiển CP2102 - https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
Sơ đồ chân ESP8266 NodeMCU
ESP8266 NodeMCU có tổng cộng 30 chân giao tiếp với thế giới bên ngoài. Các kết nối như sau:
Để đơn giản, chúng ta sẽ tạo các nhóm chân có chức năng tương tự nhau.
Chân điện Có bốn chân nguồn viz. một chân VIN & ba chân 3.3V. Chân VIN có thể được sử dụng để cung cấp trực tiếp cho ESP8266 và các thiết bị ngoại vi của nó, nếu bạn có điện áp 5V được điều chỉnhtagnguồn e. Các chân 3.3V là đầu ra của một vol trên bo mạchtage điều chỉnh. Các chân này có thể được sử dụng để cấp nguồn cho các thành phần bên ngoài.
GND là một chân nối đất của bảng phát triển ESP8266 NodeMCU. I2C Pins được sử dụng để kết nối tất cả các loại cảm biến I2C và thiết bị ngoại vi trong dự án của bạn. Cả I2C Master và I2C Slave đều được hỗ trợ. Chức năng giao diện I2C có thể được thực hiện theo chương trình và tần số xung nhịp tối đa là 100 kHz. Cần lưu ý rằng tần số đồng hồ I2C phải cao hơn tần số đồng hồ chậm nhất của thiết bị phụ.
Ghim GPIO ESP8266 NodeMCU có 17 chân GPIO có thể được gán cho các chức năng khác nhau như I2C, I2S, UART, PWM, IR Remote Control, LED Light và Button theo lập trình. Mỗi GPIO hỗ trợ kỹ thuật số có thể được định cấu hình để kéo lên hoặc kéo xuống bên trong hoặc đặt thành trở kháng cao. Khi được định cấu hình làm đầu vào, nó cũng có thể được đặt thành trình kích hoạt cạnh hoặc trình kích hoạt mức để tạo ra các ngắt CPU.
Kênh ADC NodeMCU được nhúng với SAR ADC chính xác 10 bit. Hai chức năng có thể được thực hiện bằng cách sử dụng ADC viz. Kiểm tra nguồn điện voltage của chân VDD3P3 và đầu vào thử nghiệm voltage của chân TOUT. Tuy nhiên, chúng không thể được thực hiện cùng một lúc.
Ghim UART ESP8266 NodeMCU có 2 giao diện UART, tức là UART0 và UART1, cung cấp giao tiếp không đồng bộ (RS232 và RS485) và có thể giao tiếp với tốc độ lên đến 4.5 Mbps. UART0 (chân TXD0, RXD0, RST0 & CTS0) có thể được sử dụng để giao tiếp. Nó hỗ trợ kiểm soát chất lỏng. Tuy nhiên, UART1 (chân TXD1) chỉ có tín hiệu truyền dữ liệu nên nó thường được sử dụng để in nhật ký.
Chân SPI ESP8266 có hai SPI (SPI và HSPI) ở chế độ phụ và chính. Các SPI này cũng hỗ trợ các tính năng SPI có mục đích chung sau:
- 4 chế độ thời gian chuyển định dạng SPI
- Lên đến 80 MHz và đồng hồ chia 80 MHz
- Lên đến 64-Byte FIFO
Ghim SDIO ESP8266 có Giao diện Đầu vào / Đầu ra Kỹ thuật số Bảo mật (SDIO) được sử dụng để giao tiếp trực tiếp với thẻ SD. Hỗ trợ 4 bit 25 MHz SDIO v1.1 và 4 bit 50 MHz SDIO v2.0.
Chân PWM Bo mạch có 4 kênh Điều chế độ rộng xung (PWM). Đầu ra PWM có thể được thực hiện theo chương trình và được sử dụng để điều khiển động cơ kỹ thuật số và đèn LED. Dải tần số PWM có thể điều chỉnh từ 1000 μs đến 10000 μs, tức là từ 100 Hz đến 1 kHz.
Chân điều khiển được sử dụng để điều khiển ESP8266. Các chân này bao gồm chân Chip Enable (EN), chân Reset (RST) và chân WAKE.
- Chân EN - Chip ESP8266 được bật khi chân EN được kéo CAO. Khi kéo THẤP, chip hoạt động ở mức công suất tối thiểu.
- Chân RST - Chân RST được sử dụng để thiết lập lại chip ESP8266.
- WAKE pin - Wake pin được sử dụng để đánh thức chip khỏi chế độ ngủ sâu.
Nền tảng phát triển ESP8266
Bây giờ, chúng ta hãy chuyển sang những thứ thú vị! Có nhiều nền tảng phát triển khác nhau có thể được trang bị để lập trình ESP8266. Bạn có thể sử dụng Espruino - SDK JavaScript và chương trình cơ sở mô phỏng chặt chẽ Node.js hoặc sử dụng Mongoose OS - Hệ điều hành dành cho các thiết bị IoT (nền tảng được đề xuất bởi Espressif Systems và Google Cloud IoT) hoặc sử dụng bộ phát triển phần mềm (SDK) do Espressif cung cấp hoặc một trong những nền tảng được liệt kê trên WiKiPedia. May mắn thay, cộng đồng ESP8266 tuyệt vời đã đưa lựa chọn IDE tiến thêm một bước nữa bằng cách tạo một tiện ích bổ sung Arduino. Nếu bạn mới bắt đầu lập trình ESP8266, đây là môi trường chúng tôi khuyên bạn nên bắt đầu và là môi trường mà chúng tôi sẽ ghi lại trong hướng dẫn này.
Tiện ích bổ sung ESP8266 này cho Arduino dựa trên công trình tuyệt vời của Ivan Grokhotkov và phần còn lại của cộng đồng ESP8266. Kiểm tra kho lưu trữ ESP8266 Arduino GitHub để biết thêm thông tin.
Cài đặt ESP8266 Core trên Windows OS
Hãy tiến hành cài đặt lõi Arduino ESP8266. Điều đầu tiên là cài đặt Arduino IDE mới nhất (Arduino 1.6.4 trở lên) trên PC của bạn. Nếu không có nó, chúng tôi khuyên bạn nên nâng cấp ngay bây giờ.
Liên kết cho Arduino IDE - https://www.arduino.cc/en/software
Để bắt đầu, chúng tôi sẽ cần cập nhật trình quản lý hội đồng quản trị với một tùy chỉnh URL. Mở Arduino IDE và đi tới File > Tùy chọn. Sau đó, sao chép bên dưới URL vào Giám đốc Ban bổ sung URLhộp văn bản s nằm ở cuối cửa sổ: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Nhấn OK. Sau đó, điều hướng đến Trình quản lý bảng bằng cách đi tới Công cụ> Bảng> Trình quản lý bảng. Nên có một vài mục mới ngoài bảng Arduino tiêu chuẩn. Lọc tìm kiếm của bạn bằng cách gõ esp8266. Nhấp vào mục nhập đó và chọn Cài đặt.
Các định nghĩa bảng và công cụ cho ESP8266 bao gồm một tập hợp hoàn toàn mới gồm gcc, g ++ và các mã nhị phân đã biên dịch, lớn hợp lý khác, vì vậy có thể mất vài phút để tải xuống và cài đặt (tệp lưu trữ file là ~ 110MB). Khi quá trình cài đặt hoàn tất, một dòng chữ CÀI ĐẶT nhỏ sẽ xuất hiện bên cạnh mục nhập. Bây giờ bạn có thể đóng Trình quản lý Hội đồng quản trị
Arduino cũample: Chớp mắt
Để đảm bảo lõi ESP8266 Arduino và NodeMCU được thiết lập đúng cách, chúng tôi sẽ tải lên bản phác thảo đơn giản nhất - The Blink! Chúng tôi sẽ sử dụng đèn LED trên bo mạch cho bài kiểm tra này. Như đã đề cập trước đó trong hướng dẫn này, chân D0 của bảng được kết nối với đèn LED màu xanh trên bo mạch và người dùng có thể lập trình được. Hoàn hảo! Trước khi tải lên bản phác thảo và chơi với đèn LED, chúng ta cần đảm bảo rằng bảng được chọn đúng cách trong Arduino IDE. Mở Arduino IDE và chọn tùy chọn NodeMCU 0.9 (Mô-đun ESP-12) trong menu Arduino IDE> Công cụ> Bảng của bạn.
Bây giờ, cắm ESP8266 NodeMCU vào máy tính của bạn qua cáp USB micro-B. Khi bo mạch đã được cắm vào, nó sẽ được gán một cổng COM duy nhất. Trên máy Windows, đây sẽ là một cái gì đó giống như COM # và trên máy Mac / Linux, nó sẽ có dạng /dev/tty.usbserial-XXXXXX. Chọn cổng nối tiếp này trong menu Arduino IDE> Công cụ> Cổng. Cũng chọn Tốc độ tải lên: 115200
Cảnh báo: Cần chú ý hơn đến việc chọn bo mạch, chọn cổng COM và chọn Tốc độ tải lên. Bạn có thể gặp lỗi espcomm_upload_mem khi tải lên các bản phác thảo mới, nếu không thực hiện được.
Sau khi bạn hoàn thành, hãy thửample phác thảo bên dưới.
thiết lập void()
{pinMode (D0, OUTPUT);} void loop ()
{digitalWrite (D0, HIGH);
trì hoãn(500);
digitalWrite(D0, THẤP);
trì hoãn(500);
Sau khi mã được tải lên, đèn LED sẽ bắt đầu nhấp nháy. Bạn có thể cần phải nhấn vào nút RST để ESP8266 của bạn bắt đầu chạy bản phác thảo.
Tài liệu / Tài nguyên
![]() |
ENGINNERS ESP8266 Ban phát triển NodeMCU [tập tin pdf] Hướng dẫn Ban phát triển NodeMCU ESP8266, ESP8266, Ban phát triển NodeMCU |