Mục lục:

Làm thế nào để 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 ?: 11 bước (có Hình ảnh)
Làm thế nào để 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 ?: 11 bước (có Hình ảnh)

Video: Làm thế nào để 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 ?: 11 bước (có Hình ảnh)

Video: Làm thế nào để 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 ?: 11 bước (có Hình ảnh)
Video: Bài 5 - Thiết lập chức năng thu phát wifi trên chíp esp8266 2024, Tháng mười một
Anonim
Làm thế nào để 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?
Làm thế nào để 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?

Như nhiều người bạn nghĩ Arduino là một giải pháp rất tốt để thực hiện tự động hóa tại nhà và robot

Nhưng về mặt giao tiếp, Arduinos chỉ đi kèm với các liên kết nối tiếp.

Tôi đang làm việc trên một robot cần được kết nối vĩnh viễn với một máy chủ chạy mã trí tuệ nhân tạo. Tôi đã cố gắng sử dụng mạng RF như cách tôi thường làm cho domotic nhưng nó không đủ hiệu quả. Khi robot di chuyển, tôi không thể sử dụng Ethernet Arduino Shield. Arduino Wifi Shield đắt tiền và đối với tôi dường như là thiết kế cũ.

Tôi cần thứ gì đó có thể trao đổi dữ liệu một cách rất đơn giản và hiệu quả với máy chủ.

Đó là lý do tại sao tôi quyết định thiết kế một Gateway dựa trên vi điều khiển ESP8266 rất rẻ và tiết kiệm điện

Tại đây bạn có thể tìm thấy cách xây dựng thành phần điện tử và tải xuống phần mềm.

Tôi đã sử dụng cổng này cho Tự động hóa gia đình và cho Robot.

Đâ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

Tôi đã thực hiện một hướng dẫn khác sử dụng tấm chắn ESP8266 và tránh hàn

Quân nhu

Tôi đã viết một hướng dẫn khác về chủ đề này

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.

Nó dễ sử dụng nhất với Arduino Mega có nhiều UART (ví dụ: Arduino Mega) nhưng cũng có thể chạy với UNO.

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

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

Nó có 3 đèn LED cho biết trạng thái và lưu lượng của Gateway.

Nó cung cấp một GPIO có thể được Arduino sử dụng để đợi Cổng kết nối WIFI và IP.

Nó chạy ở 3 chế độ khác nhau được thiết lập bằng các công tắc:

  • Chế độ cổng là chế độ bình thường
  • Chế độ cấu hình được sử dụng để thiết lập các thông số
  • Chế độ gỡ lỗi dành cho chế độ gỡ lỗi

Hầu hết các thông số có thể được sửa đổi để phù hợp với nhu cầu của bạn.

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

Trên Arduino của bạn, bạn sẽ cần

  • 1 x mô-đun ESP8266 - Tôi chọn MOD-WIFI-ESP8266-DEV của Olimex có giá khoảng 5 euro khá dễ sử dụng.
  • Nguồn điện 1 x 5v
  • Bộ điều chỉnh nguồn 1 x 3.3v - Tôi sử dụng LM1086
  • 1 x 100 tụ điện microfarad
  • 1 x mô-đun APG ULN2803 (có thể được thay thế bằng 3 x bóng bán dẫn)
  • 8 x điện trở (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
  • 3 x LED (đỏ, lục, lam)
  • 1 x PCB bảng mạch
  • một số dây và đầu nối

Chỉ trong các bước xây dựng, bạn sẽ cần

  • 1 x FTDI 3.3v cho cấu hình
  • Hàn sắt và thiếc

Trước khi hàn, điều quan trọng là phải thiết lập tất cả các thành phần trên breadboard và kiểm tra mọi thứ đều ổn.

Bước 4: Hãy bắt đầu với điện tử trên Breadboard

Hãy bắt đầu với điện tử trên Breadboard!
Hãy bắt đầu với điện tử trên Breadboard!

Bố cục điện tử có sẵn ở định dạng Fritzing

Bạn có thể tải xuống tại đây ở bước 1:

github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz

Chỉ cần làm như giản đồ bằng cách quan tâm đến điện áp.

Hãy nhớ rằng ESP8266 không hỗ trợ điện áp cao hơn 3,3v. FTDI phải được đặt thành 3,3v.

Bước 5: Hãy vào phần mềm

Hãy đi đến phần mềm!
Hãy đi đến phần mềm!

Hãy bắt đầu với phía Gateway

Tôi đã viết mã bằng Arduino IDE. Vì vậy, bạn cần ESP8266 được IDE gọi là bo mạch. Chọn bảng thích hợp với menu Công cụ / bảng.

Nếu bạn không thấy bất kỳ ESP266 nào trong danh sách có nghĩa là bạn có thể phải cài đặt ESP8266 Arduino Addon (bạn có thể tìm thấy quy trình tại đây).

Tất cả mã bạn cần đều có trên GitHub. Đã đến lúc tải xuống!

Mã chính của Gateway ở đó:

Trên Arduino tiêu chuẩn và ESP8266 bao gồm mã chính cần 2 mã này bao gồm: LookFoString được sử dụng để thao tác chuỗi và ở đó:

ManageParamEeprom được sử dụng để đọc và lưu trữ các thông số trong Eeprom ans ở đó:

Khi bạn nhận được tất cả mã, đã đến lúc tải nó lên ESP8266. Đầu tiên hãy kết nối FTDI với cổng USB trên máy tính của bạn.

Tôi khuyên bạn nên kiểm tra kết nối trước khi cố gắng tải lên.

  • Đặt màn hình nối tiếp Arduino sang cổng USB mới.
  • Đặt tốc độ thành 115200 cả cr nl (tốc độ mặc định cho Olimex)
  • Bật breadboard (ESP8266 đi kèm với phần mềm xử lý các lệnh AT)
  • Gửi "AT" bằng công cụ nối tiếp.
  • Đổi lại bạn phải nhận được "OK".

Nếu không kiểm tra kết nối của bạn và xem thông số kỹ thuật ESP8266 của bạn.

Nếu bạn nhận được "OK", bạn đã sẵn sàng tải lên mã

  • Tắt breadboard, đợi vài giây,
  • nhấn vào micro-swith màu đen của ESP8266. Nó là bình thường để có một số rác trên màn hình nối tiếp.
  • Nhấn vào IDE tải lên như đối với Arduino.
  • Sau khi tải lên hoàn tất, đặt tốc độ nối tiếp thành 38400.

Bạn sẽ thấy một cái gì đó như trong hình.

Chúc mừng bạn đã tải mã thành công!

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

Hãy thực hiện cấu hình!
Hãy thực hiện cấu hình!

Cấu hìnhGPIO phải được đặt thành 1 để vào chế độ cấu hình

Đầu tiên, hãy quét WIFI bằng cách nhập lệnh: ScanWifi. Bạn sẽ thấy danh sách các mạng được phát hiện.

  • Sau đó, đặt SSID của bạn bằng cách nhập "SSID1 = yournetwork"
  • Sau đó đặt mật khẩu của bạn bằng cách nhập "PSW1 = yourpassword"
  • Sau đó nhập "SSID = 1" để xác định mạng hiện tại
  • Nhập "Khởi động lại" để kết nối Cổng với WIFI của bạn.
  • Bạn có thể xác minh rằng bạn có một IP bằng cách nhập "ShowWifi".
  • Đèn LED màu xanh lam sẽ sáng và đèn LED màu đỏ nhấp nháy.

Đã đế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ước cuối cùng được yêu cầu là thiết lập cổng lắng nghe của máy chủ UDP bằng cách nhập "nghePort = xxxx".

Nhập "ShowEeprom" để kiểm tra những gì bạn vừa lưu trữ trong Eeprom

Bây giờ cắm GPIO2 xuống đất để thoát khỏi chế độ cấu hình

Gateway của bạn đã sẵn sàng hoạt động

Có một số lệnh khác mà bạn có thể tìm thấy trong tài liệu.

Bước 7: Hãy làm phần Arduino

Hãy làm về phía Arduino!
Hãy làm về phía Arduino!
Hãy làm về phía Arduino!
Hãy làm về phía Arduino!

Đầu tiên kết nối Arduino

Nếu bạn có Mega thì sẽ dễ dàng nhất để bắt đầu. Tuy nhiên, bạn có thể sử dụng Uno.

Để kiểm tra công việc của bạn, tốt nhất là sử dụng ví dụ.

Bạn có thể tải xuống ở đó:

Nó bao gồm mã SerialNetwork ở đây:

Chỉ cần tải lên mã bên trong Arduino của bạn.

Đèn LED màu xanh lá cây nhấp nháy mỗi khi Arduino gửi dữ liệu.

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

Hãy làm phía máy chủ!
Hãy làm phía máy chủ!
Hãy làm phía máy chủ!
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:

Chỉ cần chạy nó

Nhìn vào bảng điều khiển Java.

Nhìn vào màn hình Arduino.

Arduino gửi 2 gói tin khác nhau.

  • Cái đầu tiên chứa các chân kỹ thuật số từ 2 đến 6 trạng thái.
  • Giá trị thứ hai chứa 2 giá trị ngẫu nhiên, mức điện áp A0 tính bằng mV và đếm gia tăng.

Chương trình Java

  • in dữ liệu đã nhận ở định dạng thập lục phân
  • trả lời loại dữ liệu đầu tiên với giá trị bật / tắt ngẫu nhiên để bật / tắt đèn LED Arduino
  • trả lời loại dữ liệu thứ hai với số lượng nhận được và một giá trị ngẫu nhiên.

Bước 9: Đã đến lúc hàn

Đã đến lúc để làm một số hàn!
Đã đến lúc để làm một số hàn!
Đã đến lúc để làm một số hàn!
Đã đến lúc để làm một số hàn!
Đã đến lúc để làm một số hàn!
Đã đến lúc để làm một số hàn!

Nó hoạt động trên breadboard!

Đã đến lúc làm cho nó mạnh mẽ hơn bằng cách hàn các bộ phận trên PCB

Ngoài những gì bạn đã làm với breadboard, bạn phải thêm 3 đầu nối.

  • C1 1 x chân một sẽ được sử dụng để nhập trong chế độ theo dõi mạng.
  • C2 3 x chân một sẽ được sử dụng để chuyển đổi giữa chế độ chạy và cấu hình.
  • C3 6 x chân một sẽ được sử dụng để kết nối Gateway với Arduino hoặc FTDI.

C1 kết nối với GPIO2 phải được nối đất thủ công nếu bạn muốn kích hoạt dấu vết mạng.

C2 kết nối với GPIO 4 có thể được đặt ở 2 vị trí khác nhau. Một cái đặt thành nối đất cho chế độ chạy bình thường và một cái đặt thành 3,3v để vào chế độ cấu hình.

Đặt tất cả các thành phần trên PCB theo sơ đồ và sau đó bắt đầu hàn để có được sản phẩm cuối cùng!

Bước 10: Hãy làm bài kiểm tra cuối cùng

Image
Image

Khởi động chương trình kiểm tra Java.

Kết nối Arduino.

Bật nguồn cho Gateway.

Và nhìn vào bảng điều khiển Java, màn hình Arduino, đèn LED Arduino và đèn LED cổng.

Bước 11: Bạn có thể điều chỉnh thiết kế này theo yêu cầu riêng của mình

Về phần cứng

  • Nếu bạn chọn một số ESP8266 khác, bạn sẽ phải điều chỉnh các thông số kỹ thuật.
  • Nếu bạn chọn bộ điều chỉnh 3.3v khác, nó phải cung cấp hơn 500mA và bạn sẽ phải điều chỉnh tụ điện.
  • Bạn có thể sửa đổi điện trở LED để điều chỉnh độ sáng.
  • Bạn có thể tắt tất cả đèn LED nhưng tôi khuyên bạn nên giữ ít nhất màu đỏ.
  • Bạn có thể thay thế ULN2803 bằng 3 bóng bán dẫn (hoặc ít hơn, tôi chọn không giữ 3 đèn LED).
  • Tôi đã thử nghiệm nhưng ở đó nó phải hoạt động với bảng Arduino 3.3v. Chỉ cần kết nối Tx Rx với đầu nối 3.3v.

Về cấu hình

  • Bạn có thể lưu trữ 2 SSID khác nhau và chuyển đổi
  • Bạn có thể sửa đổi GPIO được sử dụng

Về phần mềm

Đề xuất: