Mục lục:
- Quân nhu
- Bước 1: Nó hoạt động như thế nào?
- Bước 2: Chức năng chính là gì?
- Bước 3: Xây dựng vật liệu
- Bước 4: Tải xuống mã Gateway
- Bước 5: Hãy thực hiện cấu hình Gateway
- Bước 6: Tải xuống Ví dụ về mã Arduino
- Bước 7: Hãy làm ở phía máy chủ
- Bước 8: Để tiến xa hơn
Video: Cổng UDP / IP nối tiếp cho Arduino dựa trên lá chắn ESP8266: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
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?
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
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
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
Đầ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
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:
Công tắc chuyển tiếp IOT điều khiển bằng giọng nói dựa trên Arduino (Google Home & Alexa được hỗ trợ): 11 bước
Công tắc chuyển tiếp IOT điều khiển bằng giọng nói dựa trên Arduino (Được Google Home & Alexa hỗ trợ): Dự án này mô tả cách tạo công tắc chuyển tiếp IOT, điều khiển bằng giọng nói, dựa trên Arduino. Đây là một bộ chuyển tiếp mà bạn có thể bật và tắt từ xa bằng ứng dụng dành cho iOS và Android, cũng như kết nối nó với IFTTT và điều khiển nó bằng giọng nói của bạn bằng Goog
Truyền dữ liệu NBIoT Cách sử dụng tấm chắn dựa trên mô-đun BC95G - Kiểm tra UDP và báo hiệu trạng thái mạng: 4 bước
Truyền dữ liệu NBIoT Cách sử dụng khiên dựa trên mô-đun BC95G - Kiểm tra UDP và báo hiệu trạng thái mạng: Về dự án này: Kiểm tra khả năng mạng NB IoT và truyền dữ liệu UDP thô bằng lá chắn xyz-mIoT bởi itbrainpower.net được trang bị modem Quectel BC95G. Thời gian cần thiết: 10-15 phút Độ khó: trung gian.Remarque: kỹ năng hàn là yêu cầu
Tạo cổng USB dựa trên bo mạch SAMD21 thành cổng nối tiếp phần cứng !: 3 bước
Tạo cổng USB của bo mạch dựa trên SAMD21 thành cổng nối tiếp phần cứng !: Ngày nay tiêu chuẩn sử dụng cổng USB của bo mạch Arduino (hoặc bất kỳ cổng nối tiếp tương thích nào khác) làm cổng nối tiếp mô phỏng. Điều này rất hữu ích để gỡ lỗi, gửi và nhận dữ liệu từ các bảng đáng yêu của chúng tôi. Tôi đang làm việc trên uChipwhen, thông qua datash
Nhiệt kế hồng ngoại không tiếp xúc dựa trên Arduino - Nhiệt kế dựa trên IR sử dụng Arduino: 4 bước
Nhiệt kế hồng ngoại không tiếp xúc dựa trên Arduino | Nhiệt kế dựa trên IR sử dụng Arduino: Xin chào các bạn trong phần hướng dẫn này, chúng tôi sẽ tạo một Nhiệt kế không tiếp xúc bằng arduino. nhiệt độ sau đó trong phạm vi đó
SmartMirror dựa trên web sử dụng giao tiếp nối tiếp: 6 bước
SmartMirror dựa trên web sử dụng giao tiếp nối tiếp: Hướng dẫn này được cung cấp với tất cả mã đã sẵn sàng để sử dụng. Quá trình phát triển rất phức tạp nhưng một khi nó được thiết lập, nó thực sự dễ dàng tùy chỉnh. Hãy xem và tận hưởng;)