Mục lục:

Nối tiếp không dây (UART) cho Arduino / STM32 / v.v.: 3 bước (có hình ảnh)
Nối tiếp không dây (UART) cho Arduino / STM32 / v.v.: 3 bước (có hình ảnh)

Video: Nối tiếp không dây (UART) cho Arduino / STM32 / v.v.: 3 bước (có hình ảnh)

Video: Nối tiếp không dây (UART) cho Arduino / STM32 / v.v.: 3 bước (có hình ảnh)
Video: Lập trình STM32 bằng Arduino - 04: Thêm kết nối UART-USB lên Arduino 2024, Tháng mười một
Anonim
Nối tiếp không dây (UART) cho Arduino / STM32 / v.v
Nối tiếp không dây (UART) cho Arduino / STM32 / v.v
Nối tiếp không dây (UART) cho Arduino / STM32 / v.v
Nối tiếp không dây (UART) cho Arduino / STM32 / v.v

Hy vọng rằng mọi người sẽ đồng ý với tôi rằng Arduino Serial là một công cụ tuyệt vời để gỡ lỗi các dự án của bạn. Về cơ bản, đó là lựa chọn duy nhất để gỡ lỗi Arduino. Nhưng đôi khi, không thể hoặc thực tế để chạy cáp USB từ Arduino hoặc bất kỳ vi điều khiển nào khác vào máy tính của bạn.

Vì vậy, tôi đã tạo ra bảng UART-WiFi này, dựa trên ESP8266-01, ngày nay có giá khá rẻ. Các bo mạch này nhỏ, bạn có thể cắm nó vào breadboard, kết nối nguồn, RX, TX và nối đất và nó sẽ truyền mọi thứ mà nó nhận được từ UART đến máy tính của bạn qua WiFi và ngược lại.

Đặc trưng:

  • baudrate lên đến 115200 (về mặt lý thuyết thậm chí lên đến 921600, nhưng điều này không được kiểm tra)
  • nhận / gửi dữ liệu từ UART và gửi / nhận dữ liệu qua WiFi trực tiếp đến máy tính của bạn bằng cổng 23 (Telnet)
  • 18 linh kiện, bộ phận có giá khoảng 3,50 USD
  • PCB hai mặt 20 x 45 mm, tương thích với breadboard
  • Chân RX dung sai 5 V
  • đầu vào điện áp từ 12 V đến 3,3 V, dòng điện trung bình khoảng 80 mA

Tôi đã sử dụng những bảng này được khoảng nửa năm nay và tôi thấy chúng cực kỳ hữu ích. Tôi thậm chí còn thích chúng hơn cầu nối USB-UART, bởi vì với bảng mạch của tôi, tôi chỉ cần cắm một trong số chúng vào bảng mạch chính và tôi không cần phải lo lắng về việc chạy cáp khắp bàn làm việc của mình. Bạn cũng không có bất kỳ phần cứng nào khác, không có cổng USB miễn phí và các bo mạch này cung cấp khả năng cách ly hoàn toàn với máy tính của bạn, đây là một biện pháp phòng ngừa an toàn tốt và bạn không cần phải lo lắng về các tiềm năng nối đất khác nhau.

Bước 1: Cách thức hoạt động

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

Sau khi cấp nguồn cho mô-đun, mô-đun sẽ bắt đầu cố gắng kết nối với WiFi được xác định trước. Trong giai đoạn đó, đèn LED màu vàng nhấp nháy. Sau khi kết nối, đèn LED màu vàng vẫn sáng. Sau đó, mô-đun đang chờ kết nối từ máy khách Telnet (xem bước tiếp theo) và đèn LED màu xanh lục nhấp nháy. Sau khi kết nối được thiết lập thành công, thiết bị đầu cuối Telnet sẽ hiển thị cho bạn lời nhắc, hỏi về tốc độ truyền mong muốn. Bạn nhập baudrate vào thiết bị đầu cuối và bạn đã hoàn thành! Giờ đây, bất cứ thứ gì bạn nhập vào thiết bị đầu cuối sẽ được gửi qua WiFi và sau đó nó được xuất ra từ chân TX của ESP8266. Tương tự, bất kỳ thứ gì xuất hiện trên chân RX đều được gửi đến thiết bị đầu cuối. Về cơ bản, bạn không thể phân biệt được sự khác biệt giữa bảng điều khiển nối tiếp và telnet.

Đèn LED:

  • màu vàng (ngoài cùng bên trái) - Trạng thái Wifi, nhấp nháy - đang cố kết nối, sáng - đã kết nối
  • xanh lục (thứ hai từ trái sang) - Trạng thái Telnet. nhấp nháy - đang chờ kết nối, màu xanh lục - đã kết nối
  • màu xanh lam (hai cái ngoài cùng bên phải) - RX và TX

Bước 2: Cách thiết lập

Cách thiết lập
Cách thiết lập
Cách thiết lập
Cách thiết lập
Cách thiết lập
Cách thiết lập
Cách thiết lập
Cách thiết lập

Sự liên quan

Chỉ có một chút phức tạp là bạn cần một số loại định danh cho mọi thiết bị Telnet (tương tự như mọi cổng nối tiếp có một số). Trong dự án của tôi, tôi đã sử dụng IP tĩnh. Thông thường, khi một thiết bị kết nối với WiFi, nó sẽ tự động nhận địa chỉ IP từ máy chủ DHCP. Đây được gọi là địa chỉ IP động, nhưng vấn đề ở đây là địa chỉ IP có thể thay đổi. Vì vậy, tôi đã lập trình bảng theo cách sao cho nó luôn nhận được địa chỉ IP được xác định trước, trong trường hợp của tôi là 192.168.2.20x, trong đó x là số hiệu của bảng. Đây được gọi là địa chỉ IP tĩnh. Sau đó, bạn chỉ cần kết nối bàn điều khiển Telnet với 192.168.2.20x: 23 và bạn đã sẵn sàng.

Là một bảng điều khiển, bạn có thể sử dụng nhiều ứng dụng khác nhau, hai ứng dụng được biết đến nhiều nhất có lẽ là PuTTY hoặc YAT (Yet Another Terminal). Tôi sử dụng cái sau và trong phần hình ảnh, bạn có thể thấy cách thiết lập nó - bạn chỉ cần biết địa chỉ IP tĩnh đã đề cập trước đó.

Chương trình cơ sở

Phần sụn được viết bằng Arduino IDE và bạn có thể tìm thấy nó trên GitHub của tôi. Nếu bạn muốn lập trình ESP8266 của mình, bạn cần phải xem xét tiêu đề và sửa đổi một số biến ở đó, cụ thể là:

  • ssid - tên của WiFi mà bạn muốn bảng kết nối
  • pass - mật khẩu cho WiFi đó
  • ip - IP tĩnh mà bạn muốn hội đồng quản trị có; chọn thứ gì đó bên ngoài DHCP pool (hoặc chỉ chọn thứ gì đó trong khoảng 200 - 250, thường là miễn phí)
  • gateway - IP của bộ định tuyến của bạn
  • mạng con

Bạn có thể lấy hai thông tin cuối cùng từ dòng lệnh, bằng cách nhấn Win + R, nhập "cmd" và sau đó nhập "ipconfig". Xem hình ảnh.

Tất nhiên bạn cần Arduino IDE, chuỗi công cụ esp8266, v.v., nhưng có rất nhiều hướng dẫn khác về điều đó.

Bảng

Bạn cũng cần sản xuất PCB. Mặc dù nó không phức tạp và về mặt lý thuyết bạn có thể tự làm ở nhà, nhưng tôi khuyên bạn nên sử dụng một số nhà sản xuất PCB của Trung Quốc. Nó rẻ và hoạt động tốt. Tôi đã sử dụng ALLPCB và hài lòng.

Quyền lực

Bạn cần cung cấp nguồn điện cho bo mạch. Bạn có thể cấp nguồn trực tiếp cho nó với 3,3 V (jumper JP1 ở vị trí 3,3 V) hoặc cấp điện áp qua bộ điều chỉnh 3,3 V (jumper ở vị trí khác). Bộ điều chỉnh có thể chấp nhận điện áp lên đến 12 V. Tất cả các tụ điện đã được tích hợp trên bo mạch.

Bước 3: Kết luận

Phần kết luận
Phần kết luận

Như tôi đã nói trước đây, tôi thấy những bảng này rất hữu ích cho việc tạo mẫu, không chỉ với Arduino mà với bất kỳ MCU nào nói chung. Và tôi đã sử dụng chúng được khoảng nửa năm nay và tôi không gặp vấn đề gì với chúng.

Mã nguồn, tệp Eagle và một số hình ảnh có thể được tìm thấy trên GitHub của tôi hoặc trong tệp zip bên dưới. Nhưng tôi khuyên bạn nên sử dụng GitHub, vì có thể có phiên bản mới hơn.

Nếu bạn có bất kỳ câu hỏi, nhận xét hoặc đề xuất nào, vui lòng để lại bên dưới.

Đề xuất: