Mục lục:

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Không phức tạp: 5 bước
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Không phức tạp: 5 bước

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Không phức tạp: 5 bước

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Không phức tạp: 5 bước
Video: Review PZEM-004T with Arduino ESP32 ESP8266 Python & Raspberry Pi : PDAControl 2024, Tháng sáu
Anonim
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Không phức tạp
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Không phức tạp

Hướng dẫn này nhằm giúp những người đã mua Bộ chuyển đổi WIFI Shield TTL không dây ESP8266 ESP-12E UART và không biết cách sử dụng nó với Arduino.

Ban đầu, hướng dẫn này được viết bằng tiếng Bồ Đào Nha ở Brazil. Tôi đã cố gắng hết sức để viết nó bằng tiếng Anh. Vì vậy, hãy tha thứ cho tôi vì một số sai lầm có thể có trong văn bản.

Các hướng dẫn này được chia như sau:

Bước 1: Tìm hiểu về Bộ chuyển đổi WIFI Shield TTL không dây ESP8266 ESP-12E UART cho Arduino

Bước 2: Nâng cấp chương trình cơ sở trên ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter cho Arduino

Bước 3: Shiald, Shield, More và Moer? Nó có quan trọng không?

Bước 4: Shield Moer - Giải quyết giao tiếp nối tiếp RX / TX

Bước 5: Máy chủ web với ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter cho Arduino

Tôi khuyên bạn nên đọc tất cả các bước để tìm hiểu càng nhiều càng tốt về lá chắn này.

Bước 1: Tìm hiểu về Bộ chuyển đổi WIFI Shield TTL không dây ESP8266 ESP-12E UART cho Arduino

Bộ chuyển đổi WIFI Shield TTL không dây ESP8266 ESP-12E UART (Shield WiFi ESP8266) giúp dễ dàng kết nối Arduino với mạng WiFi thông qua ESP8266. Khi sử dụng nó, không cần phải gắn một mạch với nhiều thành phần và dây để kết nối ESP8266 với Arduino, chỉ cần gắn bo mạch vào Arduino, định vị đường dẫn chuyển đổi DIP theo chế độ hoạt động của lá chắn và lập trình Arduino kết nối với mạng WiFi. Ngoài ra, bảng có thể được sử dụng mà không cần Arduino, vì nó có sẵn tất cả các chân cắm của ESP-12E.

Trong tấm chắn có thông tin rằng nó được tạo ra bởi một người tên là WangTongze và người sở hữu quyền của nó là elecshop.ml. Ban đầu, người tạo ra chiếc khiên đã cố gắng gây quỹ cho dự án của mình thông qua Indiegogo (trang tài trợ tập thể), nhưng anh ta đã không thành công trong việc huy động tiền.

Các tính năng của ESP8266 mô hình ESP-12E:

- Kiến trúc RISC 32 bit- Bộ xử lý có thể hoạt động ở 80MHz / 160MHz- Bộ nhớ flash 32MB- 64kB cho hướng dẫn- 96kB cho dữ liệu- WiFi gốc chuẩn 802.11b / g / n- Hoạt động ở chế độ AP, Trạm hoặc AP + Trạm- Nó có 11 chân kỹ thuật số- Nó có 1 chân tương tự với độ phân giải 10 bit- Chân kỹ thuật số ngoại trừ D0 có ngắt, PWM, I2C và một dây- Có thể lập trình thông qua USB hoặc WiFi (OTA) - Tương thích với Arduino IDE- Tương thích với các mô-đun và cảm biến được sử dụng trong Arduino

Dưới đây bạn có thể đọc các tính năng chính của lá chắn này:

- Kích thước của Arduino Uno R3 và chân cắm tương thích với Arduino Uno, Mega 2560, Leonardo và các dẫn xuất. - Các phiên bản nhỏ của Arduino (ví dụ: Nano và Pro Mini) tương thích, nhưng kết nối phải được thực hiện thông qua jumper. - Điện áp Arduino (5V) được sử dụng để cấp nguồn cho lá chắn. - Có bộ điều chỉnh điện áp AMS1117 3.3V, do đó, điện áp 5V do Arduino cung cấp được giảm xuống để cấp nguồn cho lá chắn mà không cần nguồn bên ngoài. - Nó được tích hợp bộ chuyển đổi mức logic, do đó mức TTL của Arduino (5V) không làm hỏng ESP8266 hoạt động với mức TTL 3.3V. - Nó có công tắc DIP 4 chiều dùng để thay đổi các chế độ hoạt động của bo mạch. - Các chế độ hoạt động có sẵn: WiFi Shield cho Arduino / gửi lệnh AT thông qua Arduino / nâng cấp phần sụn thông qua bộ chuyển đổi độc lập / bên ngoài nối tiếp USB. - Nó có đèn LED chỉ báo (PWR / DFU / AP / STA)..- Nó có nút ESP-RST để đặt lại ESP8266. - Th e ESP8266 chân ADC có sẵn ở hai dạng trên bảng, dạng thứ nhất trên chân có dải đọc 0 đến 1V và dạng thứ hai ở dải 0 đến 3,3V.

Trong hình ảnh, các phần chính của tấm chắn được tô sáng:

Hình ảnh
Hình ảnh

A (Mã PIN KỸ THUẬT SỐ): chuỗi các chân được Arduino sử dụng.

B (ESP8266 PINS): ESP8266-12E và các chân tương ứng của chúng. Ở mặt sau của tấm có danh pháp của các chốt.

C (KẾT NỐI USB SERIAL BÊN NGOÀI): Chuỗi chân được sử dụng để kết nối bộ chuyển đổi USB Nối tiếp bên ngoài để cập nhật chương trình cơ sở hoặc gỡ lỗi của ESP8266.

D (SHIELD MAINTENANCE PINS): Chuỗi ba chân được xác định là Chỉ bảo trì và được sử dụng để xác minh rằng bộ điều chỉnh điện áp đang nhận và cung cấp điện áp một cách chính xác. KHÔNG NÊN ĐƯỢC SỬ DỤNG NÓ LÀM NGUỒN CUNG CẤP.

E (DIP SWITCH ĐỂ SỬA ĐỔI CÁC CHẾ ĐỘ VẬN HÀNH): Công tắc DIP bốn chiều để thay đổi chế độ hoạt động.

CONTACT 1 (P1) và CONTACT 2 (P2): được sử dụng để kết nối RX (đại diện bởi P1) và TX (đại diện bởi P2) của ESP8266 với các chân Arduino D0 (RX) và D1 (TX). P1 và P2 ở vị trí TẮT vô hiệu hóa kết nối RX từ ESP8266 đến Arduino TX và TX từ ESP8266 đến Arduino RX.

CONTACT 3 (P3) và CONTACT 4 (P4): dùng để bật và tắt chế độ nâng cấp firmware cho ESP8266. Để cho phép ghi / tải phần sụn trên ESP8266, P3 và P4 phải ở vị trí BẬT. Khi P4 ở vị trí BẬT, đèn LED DFU sẽ sáng, cho biết rằng ESP8266 đã được bật để nhận phần sụn. Để tắt chế độ cập nhật chương trình cơ sở và đặt ESP8266 thành hoạt động bình thường, chỉ cần đặt P3 và P4 thành TẮT.

LƯU Ý: Tất cả 4 tiếp điểm ở vị trí TẮT cho biết rằng ESP8266 đang hoạt động ở chế độ bình thường bên cạnh Arduino

F (AD8 TỪ ESP8266): chỉ định chân cho ESP8266 ADC. Một chân hoạt động trong dải 0 đến 1V và một chân khác hoạt động trong dải 0 đến 3,3V. Các chân này sẽ chỉ được sử dụng khi sử dụng ESP8266 một mình (chế độ độc lập).

G (ESP8266 RESET): nút dùng để đặt lại ESP8266. Bất cứ khi nào bạn thay đổi vị trí của các công tắc DIP, bạn phải nhấn nút ESP-RST.

H (ANALOG PIN VÀ NGUỒN CUNG CẤP): chuỗi các chân được Arduino sử dụng.

Tấm chắn này có một điểm đặc biệt trong các tiếp điểm P1 và P2 của Công tắc DIP và đặc biệt này, trên thực tế, nó tạo ra một sự nghi ngờ lớn đối với những người cố gắng sử dụng tấm chắn.

Theo người tạo ra chiếc khiên, khi kết nối nó với Arduino chỉ cần 2 chân. Các chân này sẽ là D0 và D1 (tương ứng là RX và TX của Arduino) và ngoài ra, các tiếp điểm P1 và P2 của Công tắc DIP trên tấm chắn phải ở vị trí BẬT cho kết nối.

Trong một trong những tài liệu tiếng Trung duy nhất mà tôi có được về chiếc khiên này, người tạo ra tấm bảng nói:

P1 và P2 là bộ mã hóa bit và được sử dụng để xác định xem nối tiếp ESP8266 có được kết nối với Arduino D0 và D1 hay không.

Trong một phần khác của tài liệu, nó được đề cập:

Bảng mở rộng này giữ cho nối tiếp Arduino luôn bận, kết nối RX từ ESP8266 đến TX từ Arduino và TX từ ESP8266 đến Arduino RX.

Các chân D0 (RX) và D1 (TX) của Arduino tương ứng với giao tiếp nối tiếp / USB gốc, vì vậy các chân này luôn bận bất cứ khi nào chúng tôi gửi mã tới bảng hoặc sử dụng màn hình nối tiếp. Do đó, nếu các tiếp điểm P1 và P2 của lá chắn ở vị trí BẬT, ESP8266 sẽ sử dụng Arduino D0 và D1 và sẽ không thể gửi mã hoặc sử dụng nối tiếp vì nó sẽ bận. Ngoài ra, để gửi các lệnh AT đến lá chắn, cần phải kết nối ESP8266 RX với Arduino RX và ESP8266 TX được kết nối với Arduino TX. Điều này sẽ chỉ xảy ra nếu chúng ta đảo ngược các kết nối như thể hiện trong hình ảnh bên dưới:

Hình ảnh
Hình ảnh

Xem tôi đã uốn cong các tiếp điểm D0 và D1 của tấm chắn và kết nối Arduino D0 với D1 của tấm chắn và D1 của Arduino với D0 của tấm chắn. Khi sử dụng kết nối theo cách này (Arduino được sử dụng làm cầu nối), tôi có thể gửi các lệnh AT đến ESP8266 và xác nhận những gì tôi đã tưởng tượng.

Hình thức hoạt động tiêu chuẩn của lá chắn yêu cầu một mã (ví dụ: máy chủ web hoặc phần sụn) được nạp vào lá chắn và một mã khác được tải vào Arduino để gửi, nhận và diễn giải dữ liệu đến thông qua chuỗi gốc. Chi tiết hơn về hình thức giao tiếp này sẽ được xem trong các bước tiếp theo.

Dù sao, tính năng này của lá chắn không can thiệp vào hoạt động của nó, vì chúng tôi thường mô phỏng một nối tiếp trên các chân kỹ thuật số Arduino khác để chúng tôi có thể có sẵn sê-ri gốc. Ngoài ra, nếu cần gửi lệnh AT tới lá chắn, chúng ta có thể kết nối nó với Arduino qua bốn dây cáp hoặc sử dụng bộ chuyển đổi USB nối tiếp.

Cuối cùng, tấm chắn rất ổn định và làm cho việc lắp ráp các mạch rất dễ dàng. Tôi đã thử nghiệm với Arduino Uno R3 và Mega 2560 R3.

Trong bước tiếp theo, bạn sẽ học cách nâng cấp / thay đổi phần sụn lá chắn.

Bước 2: Nâng cấp chương trình cơ sở trên ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter cho Arduino

Để kết nối tấm chắn với máy tính, cần sử dụng bộ chuyển đổi USB nối tiếp. Nếu bạn không có bộ chuyển đổi USB nối tiếp thông thường, bạn có thể sử dụng bộ chuyển đổi Arduino Uno R3 làm thiết bị trung gian. Có một số mẫu bộ chuyển đổi USB nối tiếp trên thị trường, nhưng đối với hướng dẫn này, tôi đã sử dụng Bộ chuyển đổi USB nối tiếp PL2303HX TTL.

Để nâng cấp lá chắn, hãy sử dụng:

Công cụ tải xuống ESP8266 Flash

Phần sụn sẽ được sử dụng là:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware

Khi bạn đã tải xuống chương trình và phần sụn, hãy sao chép cả hai vào thư mục gốc (ổ C) của Windows.

Giải nén flash_download_tools_v2.4_150924.rar và thư mục FLASH_DOWNLOAD_TOOLS_v2.4_150924 sẽ được tạo.

Sử dụng bộ chuyển đổi USB nối tiếp Arduino Uno R3 làm thiết bị trung gian:

Bước tiếp theo là kết nối tấm chắn với máy tính. Nếu bạn không có bộ chuyển đổi USB nối tiếp tiêu chuẩn, bạn có thể sử dụng Arduino Uno R3 để làm cầu nối giữa lá chắn và máy tính. Ngoài Arduino Uno R3 với cáp USB, bạn sẽ cần:

01 - Bộ chuyển đổi Wi-Fi không dây ESP8266 ESP-12E UART Bộ chuyển đổi TTL04 - Cáp Jumper Nam-Nữ

LƯU Ý: Trước khi lắp sơ đồ nối dây Arduino, bạn phải tải mã trống trên bảng để đảm bảo rằng bộ chuyển đổi USB nối tiếp không được sử dụng. Tải mã bên dưới vào Arduino của bạn và tiếp tục:

void setup () {// đặt mã thiết lập của bạn ở đây, để chạy một lần:} void loop () {// đặt mã chính của bạn ở đây, để chạy nhiều lần:}

Hình ảnh
Hình ảnh

LƯU Ý: Hãy lưu ý khi gắn chân lá chắn 3.3V vào Arduino.

Sử dụng Bộ chuyển đổi USB TTL nối tiếp PL2303HX:

Bạn sẽ cần các mục sau ngoài Bộ chuyển đổi USB nối tiếp PL2303HX TTL:

01 - Bộ chuyển đổi Wi-Fi không dây ESP8266 ESP-12E UART Bộ chuyển đổi TTL04 - Cáp Jumper Nam-Nữ

Hình ảnh
Hình ảnh

LƯU Ý: PL2303 có nguồn 5V và 3V3. Sử dụng nguồn 3V3 và bỏ qua chân 5V

Sau khi bạn thực hiện một trong các sơ đồ kết nối trên, chỉ cần kết nối cáp USB (với Arduino và máy tính) hoặc bộ chuyển đổi USB nối tiếp với máy tính.

Sau đó đi tới 'Bảng điều khiển' trong Windows, 'Trình quản lý thiết bị' và trong cửa sổ mở ra, hãy chuyển đến 'Cổng (COM và LPT)'. Bạn có thể thấy thiết bị được kết nối và số cổng COM mà nó đã được cấp phát. Để minh họa, tôi đã kết nối cả Arduino và bộ chuyển đổi USB nối tiếp trên máy tính và trong hình ảnh bên dưới, bạn có thể thấy cách các thiết bị xuất hiện trong trình quản lý:

Hình ảnh
Hình ảnh

Nếu bạn đang sử dụng PL2303HX và nó không được Windows nhận dạng, hãy truy cập bài Serial TTL USB Converter PL2303HX - Cài đặt trong Windows 10, xem cách giải quyết và sau đó quay lại để tiếp tục.

Bây giờ đi tới thư mục FLASH_DOWNLOAD_TOOLS_v2.4_150924 và chạy ESP_DOWNLOAD_TOOL_V2.4.exe:

Hình ảnh
Hình ảnh

Trên tấm chắn, đặt các tiếp điểm P3 và P4 của Công tắc DIP ở vị trí BẬT và sau đó nhấn nút ESP-RST trên thẻ để tấm chắn vào chế độ nâng cấp chương trình cơ sở:

Hình ảnh
Hình ảnh

Với chương trình đang mở, bỏ chọn tùy chọn 'SpiAutoSet', chọn cổng COM, chọn 'BAUDRATE' 115200, bỏ chọn bất kỳ hộp kiểm nào được đánh dấu trong 'Cấu hình đường dẫn tải xuống', định cấu hình các tùy chọn khác như được hiển thị bên dưới và nhấp vào 'BẮT ĐẦU':

Hình ảnh
Hình ảnh

Nếu giao tiếp với ESP8266 WiFi Shield là OK, bạn sẽ thấy thông tin trong 'THÔNG TIN ĐÃ PHÁT HIỆN', 'Địa chỉ MAC' và 'ĐỒNG BỘ HÓA':

Hình ảnh
Hình ảnh

LƯU Ý: Nếu chương trình trả về 'FAIL', hãy kiểm tra xem bạn đã chọn đúng cổng COM chưa, kiểm tra xem các phím P3 và P4 của công tắc DIP có BẬT không, nhấp vào nút ESP-RST, nhấp vào DỪNG và một lần nữa nhấp vào BẮT ĐẦU.

Trong 'Cấu hình đường dẫn tải xuống', bạn nên chọn tệp 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' đã tải xuống. Nhấp vào '…' của trường đầu tiên và trong cửa sổ mở ra, hãy điều hướng đến thư mục bạn đã đặt phần sụn và chọn tệp 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin'. Trong trường 'ADDR', hãy điền vào khoảng chênh lệch 0x00000 và chọn hộp kiểm để hoàn tất. Khi hoàn tất, bạn sẽ có các cài đặt như hình dưới đây:

Hình ảnh
Hình ảnh

Bây giờ hãy nhấp vào BẮT ĐẦU để bắt đầu quá trình:

LƯU Ý: Nếu bạn đang sử dụng bộ chuyển đổi USB nối tiếp Arduino làm thiết bị trung gian giữa tấm chắn và máy tính, hãy nhấp vào nút ESP-RST của tấm chắn trước khi nhấp vào BẮT ĐẦU. Nếu bạn đang sử dụng bộ chuyển đổi USB nối tiếp thông thường, quy trình này không cần thiết

Hình ảnh
Hình ảnh

Chờ quá trình nâng cấp chương trình cơ sở hoàn tất (sẽ mất khoảng bảy phút để quá trình hoàn tất):

Hình ảnh
Hình ảnh

Sau khi hoàn tất quá trình nâng cấp firmware, đóng cửa sổ ESP_DOWNLOAD_TOOL_V2.4, đưa các tiếp điểm P3 và P4 của DIP Switch về vị trí OFF và nhấn nút ESP-RST trên tấm chắn để nó có thể thoát khỏi chế độ nâng cấp firmware.

Bây giờ hãy mở Arduino IDE để bạn có thể gửi các lệnh AT đến bảng để xác minh rằng phần sụn đã được cập nhật chính xác và bảng đang phản hồi các lệnh.

Với IDE đang mở, hãy vào menu 'Công cụ' và sau đó trong tùy chọn 'Cổng', chọn cổng COM. Lưu ý trong hình ảnh bên dưới rằng tôi đã chọn cổng COM7 (cổng của bạn có thể sẽ khác):

Hình ảnh
Hình ảnh

Bạn KHÔNG cần phải chọn bảng trong IDE vì điều này không liên quan đến việc gửi các lệnh AT.

Mở 'Màn hình nối tiếp' và ở phần chân trang, hãy kiểm tra xem tốc độ có được đặt thành 115200 hay không và nếu 'Cả hai, NL và CR' được chọn:

Hình ảnh
Hình ảnh

Bây giờ gõ lệnh 'AT' (không có dấu ngoặc kép) và nhập 'ENTER' hoặc nhấp vào 'Gửi'. Nếu kết nối đang hoạt động, bạn sẽ phải trả lại thông báo 'OK':

Hình ảnh
Hình ảnh

LƯU Ý: Nếu gửi lệnh KHÔNG nhận được bất kỳ phản hồi nào hoặc nhận được một chuỗi ký tự ngẫu nhiên, hãy thay đổi tốc độ từ 115200 của màn hình nối tiếp thành 9600 và gửi lại lệnh

Trong 'Serial Monitor', nhập lệnh 'AT + GMR' (không có dấu ngoặc kép) và nhập 'ENTER' hoặc nhấp vào 'Gửi'. Nếu bạn nhận được phản hồi như hình dưới đây, nghĩa là ESP8266 WiFi Shield của bạn đã được cập nhật thành công:

Hình ảnh
Hình ảnh

Nếu bạn muốn thay đổi tốc độ truyền thông với lá chắn 9600, hãy nhập lệnh 'AT + UART_DEF = 9600, 8, 1, 0, 0' (không có dấu ngoặc kép) và nhập 'ENTER' hoặc nhấp vào 'Gửi'. Nếu bạn nhận được thông tin như hình dưới đây, thì tốc độ truyền thông đã thay đổi:

Hình ảnh
Hình ảnh

LƯU Ý: Khi thay đổi tốc độ baudrate của tấm chắn, bạn cũng nên thay đổi tốc độ từ 115200 thành 9600 trong phần chân của Monitor Serial. Sau đó, gửi lại lệnh 'AT' (không có dấu ngoặc kép) và nhấn 'ENTER' hoặc nhấp vào 'Gửi'. Nếu bạn nhận được câu trả lời là 'OK' thì liên lạc đang hoạt động

Nếu bạn muốn sử dụng lá chắn để gán WiFi cho Arduino, tốc độ truyền thông lý tưởng là 9600 baud.

Trong bước tiếp theo, bạn sẽ tìm hiểu xem bạn có tấm chắn nào, vì có thể tìm thấy ít nhất ba tấm chắn trên thị trường có vẻ giống nhau, nhưng trên thực tế, những tấm chắn này có một số điểm khác nhau, ngay cả trong câu hỏi làm việc với Arduino thông qua giao tiếp thông qua nối tiếp gốc.

Bước 3: Shiald, Shield, More và Moer? Nó có quan trọng không?

Nếu đó là Bộ chuyển đổi WIFI Shield TTL không dây ESP8266 ESP-12E UART, có thể tìm thấy ít nhất ba bảng có vẻ giống nhau, nhưng trên thực tế, các bảng này có một số điểm khác nhau, ngay cả trong câu hỏi làm việc với Arduino thông qua giao tiếp nối tiếp bản địa.

Sau đây, bạn có thể thấy những gì phân biệt các bảng và tìm ra cái nào là của bạn.

Shiald WiFi ESP8266:

Hình ảnh
Hình ảnh

Lưu ý rằng trên bảng này từ Shield được viết "Shiald" và từ "more" có chữ "m" ở dạng chữ thường. Trong các bài kiểm tra tôi đã thực hiện trong một thời gian dài, bảng KHÔNG cho thấy bất kỳ sai sót nào trong hoạt động của nó.

Bảo vệ WiFi ESP8266:

Hình ảnh
Hình ảnh

Lưu ý rằng trên bảng này từ Shield được viết đúng và từ "More" có chữ "M" được viết hoa. Trong vấn đề hoạt động, bảng này hoạt động giống như phiên bản Shiald, tức là bảng không bị lỗi.

Vậy ý bạn là bo mạch Shiald và Shield chỉ có sự khác biệt về vấn đề tơ PCB?

Vâng, hai thẻ này chỉ có sự khác biệt trong vấn đề viết của hai từ. Mạch trên cả hai bảng đều giống nhau và cả hai đều hoạt động hoàn hảo với Arduino hoặc một mình (chế độ độc lập). Xem xét rằng Arduino đã tải đúng mã và một trong các tấm chắn cũng có phần sụn chính xác, sau khi gắn tấm chắn vào Arduino và kết nối cáp USB, chỉ cần đặt các tiếp điểm P1 và P2 của công tắc DIP ở vị trí BẬT và giao tiếp thông qua nối tiếp gốc (chân D0 và D1) giữa các bo mạch sẽ được thực hiện.

Một số người nói rằng phiên bản Shiald này có kết nối không dây không ổn định, nhưng tôi khẳng định rằng không có sự bất ổn nào cả.

Shield WiFi ESP8266 (Moer):

Hình ảnh
Hình ảnh

Lưu ý rằng trên bảng này từ Shield được viết đúng và từ "More" được viết "Moer", tức là sai. Thật không may, bảng này không hoạt động theo cách mà nó cần và nếu nó được gắn vào Arduino (với công tắc DIP tiếp điểm TẮT hoặc BẬT) và người dùng cố gắng tải mã trên Arduino, một thông báo lỗi sẽ xuất hiện trong IDE dưới dạng tải sẽ không thành công.

Nếu lá chắn của bạn là cái được viết bằng Moer và bạn gặp khó khăn khi sử dụng nó với Arduino của mình thông qua giao tiếp nối tiếp bản địa, hãy chuyển sang bước tiếp theo và tìm hiểu cách giải quyết vấn đề. Nếu lá chắn của bạn KHÔNG PHẢI LÀ Moer, hãy chuyển sang Bước 5.

Bước 4: Shield Moer - Giải quyết giao tiếp nối tiếp RX / TX

Nếu bảng (Moer) này được ghép nối với Arduino (với công tắc DIP tiếp điểm TẮT hoặc BẬT) và người dùng cố gắng tải mã trên Arduino, một thông báo lỗi sẽ xuất hiện trong IDE vì quá trình tải sẽ không thành công. Điều này là do lỗi thành phần được sử dụng trong việc xây dựng lá chắn.

Tấm chắn có cấu tạo và hoạt động chính xác, đã hàn hai MOSFET Kênh N và được xác định là J1Y. Một trong các bóng bán dẫn J1Y được kết nối với ESP8266 RX và bóng kia được kết nối với ESP8266 TX. Trong hình ảnh bên dưới, bạn có thể thấy hai bóng bán dẫn được đánh dấu:

Hình ảnh
Hình ảnh

Bóng bán dẫn J1Y này là BSS138 có mục đích cho phép các mạch mức logic 5V giao tiếp với các mạch mức logic 3.3V và ngược lại. Vì ESP8266 có mức logic là 3,3V và Arduino có mức logic là 5V, nên cần sử dụng bộ chuyển đổi mức logic để đảm bảo hoạt động hoàn hảo của ESP8266.

Trong tấm chắn Moer, có hai bóng bán dẫn được hàn trên bảng được xác định là J3Y. Trong hình ảnh bên dưới, bạn có thể thấy hai bóng bán dẫn được đánh dấu:

Hình ảnh
Hình ảnh

Bóng bán dẫn J3Y là một S8050 NPN và loại bóng bán dẫn này thường được sử dụng trong các mạch khuếch đại. Vì một số lý do tại thời điểm xây dựng lá chắn Moer, họ đã sử dụng transistor J3Y thay cho bộ chuyển đổi mức logic J1Y.

Bằng cách này, các chân RX và TX của ESP8266 sẽ không hoạt động như bình thường và do đó lá chắn sẽ không có bất kỳ giao tiếp nối tiếp nào với Arduino. Khi lá chắn giao tiếp với Arduino thông qua nối tiếp gốc (chân D0 và D1), với nó được kết hợp với quá trình tải mã Arduino (trong Arduino) sẽ không bao giờ được hoàn thành thành công, bởi vì trong một số trường hợp, sẽ luôn có khoảng 2,8V trong RX và Arduino TX hoặc 0V không đổi, tất cả là do các bóng bán dẫn sai.

Sau tất cả những thông tin này, rõ ràng là giải pháp duy nhất cho lá chắn Moer, là thay thế các bóng bán dẫn J3Y bằng các bóng bán dẫn J1Y. Đối với quy trình này, bạn sẽ cần ngoài lá chắn kiên nhẫn của Moer và:

01 - Sắt hàn01 - Thiếc01 - Kẹp hoặc Kìm kim01 - Hàn Sucker02 - BSS138 (J1Y)

Bóng bán dẫn BSS138 (J1Y) được sử dụng trong Bộ chuyển đổi mức logic 3.3V / 5V.

LƯU Ý: Quy trình sau đây yêu cầu bạn biết cách xử lý mỏ hàn và bạn là người có ít kinh nghiệm hàn nhất. Các thành phần sẽ bị loại bỏ và những thành phần sẽ được thay thế là các thành phần SMD và đòi hỏi sự cẩn thận và kiên nhẫn hơn khi hàn bằng mỏ hàn thông thường. Chú ý không để mỏ hàn quá lâu ở các cực của bóng bán dẫn vì điều này có thể làm hỏng chúng

Với mỏ hàn nóng, đốt nóng một trong các cực của bóng bán dẫn và đặt một ít thiếc. Thực hiện quy trình này cho mỗi đầu cuối của hai bóng bán dẫn. Việc hàn thừa ở các đầu cực sẽ giúp bạn dễ dàng tháo các bóng bán dẫn hơn:

Hình ảnh
Hình ảnh

Bây giờ lấy nhíp / kìm, giữ bóng bán dẫn ở hai bên, làm nóng bên của bóng bán dẫn chỉ có một đầu cuối và buộc bóng bán dẫn lên để đầu cuối rời khỏi vật hàn. Vẫn với nhíp / kìm giữ bóng bán dẫn, hãy thử đặt đầu mỏ hàn vào hai cực còn lại và ép bóng bán dẫn lên để hoàn thành việc nhả bóng bán dẫn khỏi bảng. Làm điều này cho cả hai bóng bán dẫn và rất cẩn thận:

Hình ảnh
Hình ảnh

Tháo hai IC J3Y ra khỏi tấm chắn, chỉ cần định vị IC J1Y vào vị trí, giữ nó bằng nhíp / kìm và đốt nóng từng đầu của tấm chắn để thiếc tiếp xúc với tiếp điểm. Nếu các tiếp điểm có độ hàn thấp, hãy đốt nóng từng tiếp điểm và đặt thêm thiếc. Làm điều này cho cả hai bóng bán dẫn và rất cẩn thận:

Hình ảnh
Hình ảnh

Sau khi sửa chữa, tấm chắn của nó trước đây không có giao tiếp trực tiếp với Arduino, bắt đầu có kết nối với bo mạch thông qua nối tiếp gốc (chân D0 và D1).

Thử nghiệm đầu tiên để xác nhận rằng việc sửa chữa đã thành công là gắn tấm chắn (với tất cả các tiếp điểm của công tắc DIP TẮT) vào Arduino, kết nối cáp USB với bo mạch và máy tính, đồng thời cố gắng tải mã vào Arduino. Nếu mọi thứ đều ổn, mã sẽ được tải thành công.

Bước 5: Máy chủ web với Bộ chuyển đổi WIFI Shield TTL không dây ESP8266 ESP-12E UART cho Arduino

Yêu cầu chính để tiếp tục bước này, bạn nên thực hiện bước 2.

Như tôi đã đề cập trước đó, để sử dụng lá chắn với Arduino thông qua nối tiếp gốc (chân D0 và D1), cần phải tải một mã vào lá chắn và Arduino phải được tải một mã khác để gửi, nhận và diễn giải dữ liệu được bán thông qua sê-ri gốc. Trong lá chắn, chúng ta có thể đặt một phần sụn của các lệnh AT và lập trình Arduino để gửi các lệnh đến lá chắn nhằm kết nối với mạng WiFi và điều khiển các đầu vào và đầu ra của Arduino.

Trong bước này, chúng tôi sẽ sử dụng thư viện WiFiESP, vì nó đã có tất cả các chức năng cần thiết để tích hợp ESP8266 (Shield WiFi ESP8266 trong trường hợp của chúng tôi) vào Arduino và gán WiFi cho bo mạch. Thư viện WiFiESP hoạt động bằng cách gửi các lệnh AT, sau đó kết nối mạng không dây của bộ định tuyến và bất kỳ yêu cầu nào được thực hiện tới máy chủ web sẽ dẫn đến việc gửi các lệnh AT tới lá chắn.

Để thư viện WiFiESP hoạt động, phiên bản chương trình cơ sở lệnh AT ít nhất phải là 0,25 hoặc cao hơn. Vì vậy, nếu bạn không biết phiên bản lệnh AT của lá chắn của mình, hãy chuyển sang bước 2 để cập nhật bo mạch với phần sụn có phiên bản lệnh AT 1.2.0.0 và sau đó quay lại để tiếp tục.

Một điều tôi đã xác định được trong các thử nghiệm của mình với tấm chắn và Arduino là vì giao tiếp giữa chúng xảy ra thông qua nối tiếp gốc (chân D0 và D1), nên việc nối tiếp phải được sử dụng riêng cho giao tiếp giữa chúng. Do đó, tôi không khuyên bạn nên sử dụng "Serial.print () / Serial.println ()" để in thông tin trên màn hình nối tiếp Arduino IDE hoặc bất kỳ chương trình nào khác hiển thị thông tin nối tiếp.

Theo mặc định, thư viện WiFiESP được định cấu hình để hiển thị lỗi nối tiếp, cảnh báo và thông tin giao tiếp khác giữa Arduino và ESP8266. Như tôi đã đề cập trước đây, nối tiếp nên được phát hành để giao tiếp giữa Arduino và lá chắn. Do đó, tôi đã chỉnh sửa một tệp từ thư viện và tắt hiển thị tất cả thông tin trong sê-ri. Thông tin duy nhất sẽ được hiển thị trên màn hình nối tiếp là các lệnh AT mà thư viện gửi đến lá chắn để kết nối với mạng không dây hoặc các lệnh AT để thực hiện các yêu cầu được gửi đến máy chủ web.

Tải xuống thư viện WiFIESP đã sửa đổi và cài đặt nó trong Arduino IDE:

Mod WiFIESP

Trong thư mục cài đặt thư viện, bạn chỉ cần truy cập vào đường dẫn "WiFiEsp-master / src / tiện ích" và bên trong nó có tệp "debug.h" đã được chỉnh sửa để vô hiệu hóa hiển thị thông tin trên serial. Ví dụ: mở tệp trong Notepad ++, chúng ta có các dòng 25, 26, 27, 28 và 29 hiển thị số tương ứng cho các loại thông tin sẽ được hiển thị trên màn hình nối tiếp. Lưu ý rằng số 0 vô hiệu hóa hiển thị tất cả thông tin trên màn hình nối tiếp. Cuối cùng, trong dòng 32, tôi đã định cấu hình "_ESPLOGLEVEL_" với giá trị 0:

Hình ảnh
Hình ảnh

Nếu bạn muốn sử dụng thư viện WiFiESP trong các dự án khác với ESP8266 và cần thông tin được hiển thị trên màn hình nối tiếp, chỉ cần đặt "_ESPLOGLEVEL_" thành giá trị 3 (giá trị mặc định của thư viện) và lưu tệp.

Vì lá chắn của bạn đã có phiên bản chương trình cơ sở lệnh AT 0.25 trở lên, hãy tiếp tục.

Gắn tấm chắn vào Arduino của bạn (Uno, Mega, Leonardo hoặc phiên bản khác cho phép gắn tấm chắn), đặt tất cả các điểm tiếp xúc của công tắc DIP ở vị trí TẮT, kết nối đèn LED giữa chân 13 và GND và kết nối cáp USB với Arduino và máy tính:

Hình ảnh
Hình ảnh

Tôi đã sử dụng Arduino Mega 2560, tuy nhiên, kết quả cuối cùng sẽ giống nhau nếu bạn đang sử dụng một bảng Arduino khác cho phép ghép nối tấm chắn.

Tải xuống mã từ liên kết và mở nó trong Arduino IDE:

Máy chủ web mã

Nếu bạn đang sử dụng Arduino Leonardo, hãy chuyển đến dòng 19 và 20 của mã và thay đổi từ Serial thành Serial1, như thể hiện trong hình ảnh bên dưới:

Hình ảnh
Hình ảnh

Trong mã, bạn phải nhập tên mạng WiFi của bạn ở dòng char * ssid = "TÊN MẠNG WIFI CỦA BẠN";, mật khẩu nên nhập ở dòng char * password = "MẬT KHẨU CỦA MẠNG WIFI CỦA BẠN"; và trên dòng WiFi.config (IPAddress… bạn nên nhập địa chỉ IP khả dụng trên mạng không dây của mình vì mã này sử dụng IP tĩnh:

Hình ảnh
Hình ảnh

Trong menu "Công cụ", chọn "Bảng" và chọn mô hình Arduino của bạn. Vẫn trong menu "Công cụ", chọn tùy chọn "Cổng" và kiểm tra cổng COM mà Arduino của bạn đã được cấp phát.

Nhấp vào nút để gửi mã đến Arduino và chờ tải.

Sau khi tải mã trên Arduino, hãy ngắt kết nối cáp USB khỏi thẻ, đặt các tiếp điểm P1 và P2 của Công tắc DIP của tấm chắn ở vị trí BẬT và kết nối lại cáp USB với Arduino.

LƯU Ý: Miễn là các tiếp điểm P1 và P2 của lá chắn ở vị trí BẬT, bạn sẽ không thể gửi mã đến Arduino vì nối tiếp gốc sẽ bận. Hãy nhớ mỗi khi bạn thay đổi vị trí của công tắc DIP công tắc, hãy nhấn nút ESP-RST

Mở ngay màn hình nối tiếp Arduino IDE:

Hình ảnh
Hình ảnh

Khi mở màn hình nối tiếp, bạn có thể làm theo các lệnh AT đang được gửi đến lá chắn để chạy máy chủ web. Nếu không có thông tin nào được hiển thị khi mở màn hình nối tiếp, hãy nhấn nút ĐẶT LẠI trên Arduino của bạn và đợi.

Lưu ý rằng trên màn hình nối tiếp, lệnh "AT + CIPSTA_CUR" hiển thị địa chỉ IP để kết nối với máy chủ web và lệnh "AT + CWJAP_CUR" hiển thị tên và mật khẩu của mạng không dây mà lá chắn được kết nối:

Hình ảnh
Hình ảnh

Sao chép địa chỉ IP hiển thị trên màn hình nối tiếp, mở trình duyệt internet của bạn, dán địa chỉ IP và nhấn ENTER để truy cập. Một trang web tương tự như bên dưới sẽ được tải:

Hình ảnh
Hình ảnh

Trang web có một nút sẽ chịu trách nhiệm bật / tắt đèn LED được kết nối với chân 13 của Arduino. Nhấn nút để bật / tắt đèn LED và xem trạng thái hiện tại được cập nhật trên trang.

Ví dụ, bạn cũng có thể truy cập trang web thông qua điện thoại thông minh hoặc máy tính bảng.

Xem video dưới đây để biết kết quả cuối cùng:

Đây là một thực hành đơn giản, vì mục đích là để cho thấy việc sử dụng lá chắn với Arduino dễ dàng như thế nào. Tất cả các dự án mà bạn tìm thấy trên internet sử dụng ESP8266 để gán WiFi cho Arduino, đều có thể được tái tạo với Tấm chắn WiFi này, sự khác biệt là bạn sẽ không cần gắn bộ chia điện áp trong bảng mạch điện tử để giao tiếp các nền tảng và đơn giản dự án bạn sẽ không phải lo lắng về việc cấp nguồn cho mạch với nguồn điện bên ngoài. Ngoài ra, dự án của bạn sẽ có một thẩm mỹ dễ chịu hơn nhiều.

Bây giờ bạn đã biết cách tích hợp Shield WiFi ESP8266 với Arduino từ máy chủ web, chỉ cần sửa đổi mã và thực hiện một số dự án phức tạp hơn hoặc bắt đầu phát triển mã của riêng bạn.

Một lần nữa, xin lỗi vì sự thất bại trong tiếng Anh.

Nếu bạn có câu hỏi về tấm chắn, chỉ cần hỏi và tôi sẽ sẵn lòng trả lời.

Đề xuất: