Mục lục:

3 cách đơn giản để lập trình một mô-đun ESP8266 12X: 5 bước (có hình ảnh)
3 cách đơn giản để lập trình một mô-đun ESP8266 12X: 5 bước (có hình ảnh)

Video: 3 cách đơn giản để lập trình một mô-đun ESP8266 12X: 5 bước (có hình ảnh)

Video: 3 cách đơn giản để lập trình một mô-đun ESP8266 12X: 5 bước (có hình ảnh)
Video: [PEEE210229] - Design a digital clock using 7 segments LED and 74HC595 – part2 2024, Tháng mười một
Anonim
3 cách đơn giản để lập trình một mô-đun ESP8266 12X
3 cách đơn giản để lập trình một mô-đun ESP8266 12X

Nếu bạn không quen thuộc với bộ điều khiển vi mô ESP8266, tôi thực sự cảm thấy bạn đã bỏ lỡ! Những điều này thật đáng kinh ngạc: chúng rẻ, mạnh mẽ và tốt nhất là có WiFi tích hợp! ESP8266 bắt đầu hành trình của mình như một phần bổ sung WiFi trên bo mạch cho các bảng Arduino truyền thống hơn nhưng ngay sau đó, cộng đồng đã nhận ra sức mạnh của chúng và hỗ trợ thêm để có thể lập trình trực tiếp với Arduino IDE.

Ngày nay, nếu bạn đang muốn sử dụng ESP8266 cho dự án của mình, tôi khuyên bạn nên sử dụng bảng phát triển như Wemos D1 Mini * (giao hàng 2,50 đô la !!) hoặc Adafruit Feather Huzzah. Các bo mạch này có tất cả các chân cắm có thể sử dụng được, có thể dễ dàng lập trình thông qua đầu nối micro USB và có bộ điều chỉnh 3.3V tích hợp. Nhưng nếu bạn muốn sử dụng ESP8266 trong một dự án với PCB tùy chỉnh thì sao? Cách dễ nhất là sử dụng mô-đun ESP12 và trong Tài liệu hướng dẫn này, tôi sẽ chỉ cho bạn một vài cách đơn giản để lập trình chúng. * = Liên kết liên kết

Bước 1: Xem Video

Đây là video có tất cả thông tin có trong Có thể hướng dẫn nếu bạn muốn xem. Trên kênh của tôi, tôi làm rất nhiều việc với ESP8266s nên kênh của tôi nói chung có thể đáng để xem nếu loại nội dung đó khiến bạn quan tâm!

Bước 2: Bước trước: Thiết lập để lập trình ESP8266

Image
Image

Nếu bạn chưa từng sử dụng ESP8266 hoặc Arduino trước đây, chúng tôi sẽ cần thiết lập phần mềm một chút. Tôi có một video dành riêng cho việc này. Nó chỉ dài 5 phút và đi qua mọi thứ bạn cần thiết lập.

Nếu video không thực sự là sở thích của bạn, hãy xem bài học 2 của Lớp học IoT tuyệt vời của Becky, nó cũng giải quyết mọi thứ bạn cần.

Trước khi chuyển sang phần tiếp theo, bạn có thể tải một bản phác thảo đơn giản lên ESP8266 (chẳng hạn như ví dụ về nhấp nháy được đề cập trong cả video và bài học của Becky)

Bước 3: Phương pháp 1: Lập trình viên pin "Frog"

Phương pháp 1
Phương pháp 1

Đây có lẽ là cách dễ nhất để lập trình mô-đun ESP12. Về cơ bản, bạn chỉ cần đưa mô-đun vào bảng và sau đó nó hoạt động chính xác như một trong những bảng phát triển đã đề cập trước đó. Tôi đã chọn bảng Wemos D1 Mini từ bảng thả xuống khi lập trình.

  • Lập trình viên hơi tốn kém nếu bạn chỉ làm một vài bảng.
  • Bo mạch chỉ có thể được lập trình theo cách này trước khi chúng được hàn vào PCB của bạn

Cái tôi đã mua là từ Aliexpress, nhưng tôi tin rằng nhà thiết kế ban đầu là một người dùng trên Tindie tên là Fred. Chúng đã được bán hết vào thời điểm đó nên tôi đã kết thúc với trang Aliexpress, nhưng tôi sẽ liên kết với cả hai.

  • Lập trình mô-đun ESP cửa sổ bật lên Aliexpress *
  • Fred's Frog Pin ESP Module lập trình viên

* = Liên kết liên kết

Bước 4: Phương pháp 2: Sử dụng cơ bản bất kỳ bộ chuyển đổi USB sang nối tiếp nào

Phương pháp 2: Về cơ bản sử dụng bất kỳ bộ chuyển đổi USB sang nối tiếp nào
Phương pháp 2: Về cơ bản sử dụng bất kỳ bộ chuyển đổi USB sang nối tiếp nào
Phương pháp 2: Về cơ bản sử dụng bất kỳ bộ chuyển đổi USB sang nối tiếp nào
Phương pháp 2: Về cơ bản sử dụng bất kỳ bộ chuyển đổi USB sang nối tiếp nào
Phương pháp 2: Về cơ bản sử dụng bất kỳ bộ chuyển đổi USB sang nối tiếp nào
Phương pháp 2: Về cơ bản sử dụng bất kỳ bộ chuyển đổi USB sang nối tiếp nào

Đối với phương pháp tiếp theo, chúng tôi sẽ đặt mô-đun ESP theo cách thủ công vào chế độ lập trình và sau đó sử dụng về cơ bản bất kỳ bộ chuyển đổi USB sang nối tiếp nào để lập trình ESP8266, ngay cả PL2303 này * có giá 50c đã được phân phối!

Hoạt động binh thương:

Trước khi bắt đầu lập trình, trước tiên chúng ta cần xem xét các thành phần bên ngoài mà ESP8266 cần để chạy. Để hoạt động bình thường, mô-đun ESP-12 cần những điều sau

  • EN, RST và GPIO 0 cần được kéo lên cao bằng cách sử dụng điện trở 10K
  • GPIO 15 cần được kéo xuống đất bằng điện trở 10K
  • Nguồn điện 3.3V có khả năng cung cấp dòng điện khoảng 250mA (Nên sử dụng giới hạn giữa VCC và GND)

Với cấu hình trên, ESP8266 khi được bật nguồn sẽ ở chế độ hoạt động Bình thường, vì vậy nó sẽ chạy bất kỳ bản phác thảo nào bạn đã lập trình cho nó. Bạn có thể mua bảng đột phá cho các mô-đun ESP-12 * thực sự hữu ích để thử nghiệm các thiết lập khác nhau. Các mô-đun có thiết lập điện trở cho chân EN và GPIO 15, vì vậy bạn vẫn cần thêm điện trở kéo lên cho RST và GPIO 0,

Bật chế độ lập trình:

Để đưa nó vào chế độ lập trình, GPIO 0 cần được kéo xuống thấp khi ESP đang khởi động. Cách dễ nhất để làm điều này là thêm các nút vào GPIO 0 và chân RST kết nối với đất khi được nhấn. Sau đó, để bật chế độ flash, bạn chỉ cần

  • Nhấn và giữ nút GPIO 0
  • Nhấn nút RST
  • Sau đó, buông cả hai nút

Bạn không cần thực hiện trình tự này vào bất kỳ thời điểm cụ thể nào trong quá trình tải lên hoặc bất kỳ điều gì, khi ESP ở chế độ lập trình, ESP sẽ ở đó cho đến lần đặt lại tiếp theo, vì vậy chỉ cần thực hiện các bước bất kỳ lúc nào trước khi tải lên.

Lập trình với bộ chuyển đổi USB sang nối tiếp:

Kích hoạt chế độ chương trình mới chỉ là một nửa trận chiến, bây giờ chúng ta cần thực sự lập trình mô-đun. Hầu hết các bộ điều hợp USB sang nối tiếp không thể cung cấp đủ dòng điện cho ESP8266, vì vậy bạn nên cấp nguồn cho ESP8266 bằng nguồn 3.3V bên ngoài.

Để kết nối bộ lập trình, bạn cần kết nối các chân sau (cũng được hiển thị trong hình trên):

  • Kết nối TX của lập trình viên với RX của ESP8266 (Không phải lỗi đánh máy, các kết nối bị đảo ngược)
  • Kết nối RX của lập trình viên với TX của ESP8266
  • Kết nối Ground của lập trình viên với Ground của ESP8266

Để tải lên bản phác thảo của bạn, hãy làm theo các bước sau:

  • Chọn số cổng của Bộ điều hợp nối tiếp của bạn (Công cụ-> Cổng)
  • Bật chế độ lập trình trên ESP8266 của bạn như được mô tả ở trên
  • Nhấp vào nút tải lên. (Nếu nó không thành công, hãy kiểm tra lại hệ thống dây điện của bạn và thử đặt lại bo mạch của bạn vào chế độ lập trình)
  • Nhấp vào nút đặt lại khi quá trình tải lên hoàn tất

Đây là cài đặt bảng tôi đã sử dụng khi tải lên bằng phương pháp này:

  • Hội đồng quản trị: Mô-đun ESP8266 chung
  • Chế độ đèn flash: DIO
  • Kích thước đèn flash: 4M (3M Spiffs)
  • Phương pháp đặt lại: ck
  • Tần số flash: 40MHz
  • Tốc độ tải lên: 115200

Điều cuối cùng cần lưu ý là định hướng LED_BUILIN cho mô-đun ESP8266 chung chỉ đến chân 1, nhưng đèn LED tích hợp của mô-đun ESP12 được kết nối với chân 2 (Nó hoạt động ở mức thấp cũng giống như một FYI). Vì vậy, nếu bạn đang thử nghiệm một bản phác thảo nhấp nháy, bạn sẽ cần sử dụng số 2 thay vì LED_BUILTIN

* = Liên kết liên kết

Bước 5: Phương pháp 3: Lập trình tự động Reset bằng NodeMCU

Phương pháp 3: Lập trình tự động đặt lại bằng NodeMCU
Phương pháp 3: Lập trình tự động đặt lại bằng NodeMCU
Phương pháp 3: Lập trình tự động thiết lập lại bằng NodeMCU
Phương pháp 3: Lập trình tự động thiết lập lại bằng NodeMCU

Nếu bạn đã sử dụng bất kỳ bảng phát triển ESP nào, bạn sẽ nhận thấy rằng về cơ bản tất cả chúng đều không yêu cầu bạn bật chế độ lập trình theo cách thủ công bằng cách sử dụng các nút, vậy chúng thực hiện điều đó như thế nào?

Hầu hết các chip nối tiếp từ USB sang đều có các chân bổ sung xuất tín hiệu ở các giai đoạn khác nhau của quá trình tải lên và với việc sử dụng một số mạch bên ngoài, có thể kích hoạt mức thấp của GPIO 0 và các yêu cầu đặt lại. RuiMoteiro có một hướng dẫn về chủ đề này bằng cách sử dụng bảng FTDI và ESP8266.

Nhưng tôi nghĩ rằng có một cách tiếp cận đơn giản hơn cho điều này, và điều tốt hơn nữa là rất có thể bạn đã có mọi thứ bạn cần để làm điều đó! Bạn có thể sử dụng bảng phát triển ESP8266 chẳng hạn như NodeMCU làm lập trình viên *.

Lợi ích của việc sử dụng NodeMCU là gì?

Những ưu điểm chính của việc sử dụng NodeMCU với tư cách là một lập trình viên là:

  • Bạn có thể cấp nguồn trực tiếp cho ESP8266 từ các chân 3V của NodeMCU
  • Sẽ xử lý việc tự động đặt lại / bật chế độ lập trình
  • Chi phí giao hàng khoảng 2,50 đô la (và có thể được sử dụng như bảng nhà phát triển thông thường khi không lập trình cho người khác!)

Bạn có thể sử dụng cùng một cách tiếp cận này với bất kỳ bảng nhà phát triển nào có ghim kích hoạt chip của ESP8266.

Làm thế nào nó hoạt động?

Tôi lấy ý tưởng này từ một Youtuber có tên Mika Kurkela, trong video của anh ấy, anh ấy đang sử dụng NodeMCU để lập trình mô-đun ESP-01, nhưng chúng ta có thể sử dụng ý tưởng tương tự cho mô-đun ESP12.

Về cơ bản, chúng tôi sẽ vô hiệu hóa ESP8266 trên NodeMCU bằng cách buộc chân EN ở mức thấp, điều này sẽ ngăn mô-đun ESP8266 trên NodeMCU khởi động. Sau đó, chúng tôi sẽ kết nối tất cả các chân có liên quan của bảng NodeMCU với ESP8266 bên ngoài của chúng tôi.

Lên dây

Để kết nối nó, bạn sẽ cần dây tiêu chuẩn ESP8266 như được hiển thị trong bước trước và sau đó thêm các kết nối sau (cũng được hiển thị trong hình trên):

  • Kết nối 3V của NodeMCU với VCC của ESP8266
  • Kết nối GND với GND
  • Kết nối TX của NodeMCU với TX của ESP8266 (Điều này khác với bước trước)
  • Kết nối RX của NodeMCU với RX của ESP8266
  • Kết nối D3 của NodeMCU với GPIO 0 của ESP8266 (D3 là GPIO 0 của ESP8266)
  • Kết nối RST của NodeMCU với RST của ESP8266
  • Kết nối EN của NodeMCU với GND

Tải lên bản phác thảo

Sau khi kết nối ESP8266, bạn cần thực hiện những việc sau:

  • Chọn số cổng của NodeMCU (Công cụ-> Cổng)
  • Chọn loại Bo mạch "NodeMCU 1.0 (Mô-đun ESP12-E)"
  • Bấm tải lên

Và đó là nó! Nó sẽ tự động bật chế độ lập trình và sẽ tự động thiết lập lại khi tải lên xong để nó bắt đầu thực hiện phác thảo.

Sử dụng điều này trong thiết kế bảng của bạn

Để sử dụng phương pháp này trong thiết kế bảng của bạn, bạn chỉ cần chia nhỏ các chốt sau:

  • Đất
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

Và khi bạn muốn lập trình bo mạch của mình, hãy đấu dây nó lên như trên.

Hy vọng rằng bạn thấy Hướng dẫn này hữu ích, nếu bạn có bất kỳ câu hỏi nào, vui lòng hỏi!

* = Liên kết liên kết

Đề xuất: