Mục lục:

Cổng UDP / IP nối tiếp cho Arduino dựa trên lá chắn ESP8266: 8 bước
Cổng UDP / IP nối tiếp cho Arduino dựa trên lá chắn ESP8266: 8 bước

Video: Cổng UDP / IP nối tiếp cho Arduino dựa trên lá chắn ESP8266: 8 bước

Video: Cổng UDP / IP nối tiếp cho Arduino dựa trên lá chắn ESP8266: 8 bước
Video: [Giao thức UDP - 02] Áp dụng cho ESP32 2024, Tháng mười một
Anonim
Cổng UDP / IP nối tiếp cho Arduino Dựa trên Lá chắn ESP8266
Cổng UDP / IP nối tiếp cho Arduino Dựa trên Lá chắn ESP8266

Tôi đã xuất bản vào năm 2016 hướng dẫn này "Cách tạo cổng Wifi của riêng bạn để kết nối Arduino của bạn với Mạng IP". Vì tôi đã thực hiện một số cải tiến mã và tôi vẫn đang sử dụng giải pháp này.

Tuy nhiên, hiện nay có một số tấm chắn ESP8266 cho phép thực hiện điều tương tự mà không cần hàn miễn là bạn không sử dụng bo mạch Micro hoặc Nano.

Tài liệu hướng dẫn này sẽ giải thích cách sử dụng các lá chắn ESP82 này làm cổng UDP / IP nối tiếp.

Đây là một phần của cơ sở hạ tầng tự động hóa gia đình toàn cầu, bạn có thể xem tại đây

Thông tin thêm về lá chắn với hướng dẫn này

Quân nhu

1 Arduino Mega (tốt nhất là có ít nhất 1 Mega để phát triển và 1 Uno cho giai đoạn chạy)

1 Bộ chuyển đổi WIFI Rokoo ESP8266 ESP-12E UART

1 FTDI 3.3v

2 dây breadboard

Bước 1: Nó hoạt động như thế nào?

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

Gateway dựa trên mô-đun ESP8266

Mô-đun này được kết nối từ một phía với liên kết nối tiếp từ phía bên kia vào mạng IP với Wifi.

Nó hoạt động như một hộp đen. Các gói dữ liệu đến từ liên kết nối tiếp được gửi đến một cổng IP / Udp và ngược lại.

Bạn chỉ cần thiết lập cấu hình của riêng mình (IP, WIFI…) trong lần đầu tiên bạn bật Gateway.

Nó có thể chuyển ASCII thô và dữ liệu nhị phân (không có HTTP, JSON…)

Nó được thiết kế để kết nối các đối tượng với phần mềm máy chủ sản xuất tại nhà cần truyền nhanh và thường xuyên các gói dữ liệu ngắn.

Bước 2: Chức năng chính là gì?

Chủ yếu nó là một hộp đen chuyển đổi dữ liệu nối tiếp sang gói UDP theo cả hai cách.

Nhưng cổng cũng có thể tự hoạt động bằng cách gửi thông tin nội bộ đến máy chủ và nhận một số lệnh từ máy chủ.

Arduino có thể gửi và nhận tin nhắn đến / từ một máy chủ được kết nối qua Internet chỉ bằng cách in / đọc một liên kết nối tiếp. Nhà phát triển Arduino không cần bận tâm đến giao thức IP.

Trên hết, nó cung cấp một GPIO có thể được Arduino sử dụng để kiểm tra xem Cổng kết nối có được kết nối chính xác với WIFI hay không và Cổng có thể tự động kết nối với 2 SSID khác nhau trong trường hợp bị lỗi.

Gateway có 2 chế độ chạy khác nhau được chọn bằng cách thiết lập GPIO

Đặt GPIO tiếp đất và Cổng vào ở chế độ cấu hình.

Đặt GPIO miễn phí và Cổng vào ở chế độ chạy cổng.

Trên hết, cấu hình Gateway UDP / IP có thể được sửa đổi từ xa

Bước 3: Xây dựng vật liệu

Xây dựng vật liệu
Xây dựng vật liệu

Rất ít thứ được yêu cầu

1 Tấm chắn ESP8266 - Tôi đã tìm thấy Mô-đun mở rộng tấm chắn WiFi nối tiếp UNO R3 ESP8266 này với giá chưa đến 9 €

1 UNO là đích Arduino đích

1 Mega đó là công cụ phát triển arduino (bạn có thể làm mà không có nhưng khá khó gỡ lỗi)

1 FTDI 3.3 / 5v để phát triển

Một số dây

Bước 4: Tải xuống mã Gateway

Tải xuống mã Gateway
Tải xuống mã Gateway

Trong bước này, Arduino chỉ được sử dụng để cấp nguồn (với USB hoặc nguồn điện khác) trên lá chắn ESP8266

Kết nối ESP8266 GPIO4 với mặt đất (để vào chế độ cấu hình)

Hãy chú ý đặt FTDI thành 3.3v theo yêu cầu của tấm chắn

Kết nối FTDI với tấm chắn (RX với TX)

Đặt công tắc lá chắn đã đặt thành 1: tắt 2: tắt 3: bật 4: bật

Kết nối phía USB của FTDI với máy tính của bạn

Đặt lại tấm chắn bằng nút nhấn ESP-RST

Tải xuống mã Gateway trên GitHub

Mở Arduino IDE

  • Chọn cổng màn hình FTDI
  • Mở IDE Serial Monitor - Đặt tốc độ thành 38400
  • Chọn bảng mô-đun Generic ES8266
  • Nâng cấp chương trình cơ sở lá chắn bằng mã cổng

Đặt công tắc 3: tắt 4: tắt

Mở IDE Serial Monitor

Đặt lại tấm chắn bằng nút nhấn ESP-RST

Bạn phải thấy thông báo trên màn hình bắt đầu bằng "Khởi tạo EEPROM" "Khởi tạo hoàn tất"….

Đã đến lúc thực hiện cấu hình

Bước 5: Hãy thực hiện cấu hình Gateway

Khi tải xuống mã cổng lần đầu tiên, ESP8266 Eeprom sẽ được khởi tạo với các giá trị mặc định. Bạn sẽ thấy loại thông báo này "đặt tham số: x size: yy"

Bạn có thể tìm thấy các giá trị này bên trong định nghĩa mã của paramValue. Tất nhiên bạn có thể thay đổi các giá trị mặc định này trước khi tải xuống mã nhưng bạn cũng có thể đặt cấu hình của mình bằng lệnh sau đó. Điều này tốt hơn nếu bạn dự định có nhiều cổng nối chỉ giữ một phiên bản mã.

Sử dụng cổng nối tiếp màn hình để gửi lệnh (đặt thành NL và CR).

Vì SSID hiện chưa được xác định, hãy đợi "Không thể kết nối với thử lại thứ hai của bạn: 5"

Sau đó, quá trình quét WIFI sẽ tự động bắt đầu

Đã đến lúc đặt SSID của bạn bằng các lệnh sau:

  • SSID1 = yourchoice1
  • PSW1 = yourpsw1
  • SSID2 = yourchoice2
  • PSW2 = yourpsw2
  • SSID = 1 (để chọn SSID để bắt đầu)
  • Khởi động lạiWifi

Sau một vài giây, bạn có thể kiểm tra kết nối bằng lệnh "ShowWifi". Bạn phải xem địa chỉ IP mà cổng vào từ máy chủ DNS của bạn. Nếu đúng như vậy, đã đến lúc phải đi xa hơn

Đã đến lúc xác định địa chỉ máy chủ IP của bạn bằng cách nhập 4 địa chỉ con (máy chủ sẽ chạy mã kiểm tra Java). Ví dụ:

  • "IP1 = 192"
  • "IP2 = 168"
  • "IP3 = 1"
  • "IP4 = 10"

Bằng cách gửi một lệnh trống, bạn sẽ thấy tất cả các lệnh được hỗ trợ mà bạn có thể sử dụng sau này để phù hợp với yêu cầu của mình. Tất cả các giá trị tham số được lưu trữ trong Eeprom và cần tính đến việc khởi động lại.

Tháo dây cấu hình

Lá chắn hiện đang hoạt động như một cửa ngõ

Bước 6: Tải xuống Ví dụ về mã Arduino

Tải xuống Ví dụ về mã Arduino
Tải xuống Ví dụ về mã Arduino

Đầu tiên hãy tải xuống mã Arduino chính ở đó trên GitHub

Sau đó tải xuống mã Arduino định nghĩa lệnh này và mã liên kết nối tiếp này vào thư viện của bạn

Sau đó, mở mã chính bằng IDE Arduino mới

Tắt tấm chắn Công tắc 1 và 2 để giải phóng liên kết nối tiếp 0 của Arduino cho kết nối USB

Đặt lại lá chắn

Kết nối dây FTDI với Mega Serial 2 (TX FTDI với RX Mega, v.v.)

Khởi động Arduino IDE mới (hoặc công cụ TTY), kết nối Usb FTDI và bắt đầu theo dõi liên kết nối tiếp

Tải lên mã Arduino bên trong Mega

Bật công tắc lá chắn 1 và 2 để kết nối liên kết nối tiếp Arduino 0

Đặt lại lá chắn

Bạn phải thấy thông báo này "bắt đầu in USB" trên màn hình

Bước 7: Hãy làm ở phía máy chủ

Ví dụ máy chủ là một chương trình Java mà bạn có thể tải xuống tại đây trên GitHub

Chỉ cần chạy nó và nhìn vào bảng điều khiển Java và nhìn vào màn hình FTDI

Bạn sẽ thấy các trao đổi dữ liệu giữa máy chủ và Arduino

Bước 8: Để tiến xa hơn

Để đi xa hơn
Để đi xa hơn
Để đi xa hơn
Để đi xa hơn

Ví dụ mã Arduino này dựa trên một phần khung của cơ sở hạ tầng tự động hóa tại nhà của tôi.

Nếu bạn quan tâm đến cơ sở hạ tầng này, hãy cho tôi biết. Tôi sẽ xuất bản các nguồn.

Nếu bạn chỉ muốn sử dụng cổng, bạn có thể đơn giản hóa mã Arduino.

Sau khi phát triển và kiểm tra mã của bạn trên Arduino Mega, bạn có thể dễ dàng thay thế nó bằng Uno!

Ngoài ra, bạn có thể kết nối dây giữa Arduino GPIO 7 và ESP8266 GPIO 5 nếu bạn muốn Arduino kiểm tra kết nối Wifi

Đề xuất: