Tôi có thể lập trình lại Arduino của mình thông qua tấm chắn wifi không?


9

Arduino của tôi được nối với một số đèn trên bể cá của tôi và tôi có thể điều khiển chúng từ trình duyệt web trên mạng LAN của mình. Tôi tự hỏi nếu tôi có thể sửa đổi chương trình trên Arduino mà không cần phải cắm nó vào máy thông qua USB thì sẽ hơi bất tiện. Phải có một số cách tôi có thể tận dụng kết nối wifi.

Tôi đã sử dụng khiên wixel của Pololu để gửi các chương trình không dây (nó chỉ hoạt động như một đài phát thanh cổng nối tiếp) nhưng đó là một công nghệ khác với khiên WiFi của tôi.

Có ai biết một cách tôi có thể làm điều này thông qua WiFi không? Có lẽ nếu tôi tải mã mới lên bộ nhớ flash trong tấm chắn WiFi, thì nó có thể khởi động từ bộ nhớ flash không? Tôi không chắc làm thế nào để làm điều đó hoặc nếu nó thậm chí có thể.

Có lẽ một cách tiếp cận hoàn toàn khác sẽ đơn giản hơn?

Câu trả lời:


8

Có thể, trên lý thuyết, nhưng không tầm thường trong thực tế. Đoạn mã chịu trách nhiệm tải bản phác thảo mới của bạn vào Arduino được gọi là bộ nạp khởi động . Tất cả các phiên bản phổ biến của bộ tải khởi động mà tôi biết là dựa trên nối tiếp / USB. Để tải một bản phác thảo qua khiên WiFi, bộ tải khởi động sẽ phải được viết lại để liên lạc với khiên WiFi thay vì nối tiếp. Điều này sẽ mất một số công việc, nhưng không phải là không thể trong thực tế.

Lưu ý rằng bạn sẽ phải thực hiện việc này bất kể bạn đang lưu trữ bản phác thảo trên tấm chắn WiFi (điều mà tôi nghĩ sẽ khó khăn: Tôi không chắc liệu điều này có khả thi hay không) hoặc tải trực tiếp bản phác thảo lên Arduino của bạn: bootloader sẽ cần giao tiếp với tấm chắn để đọc dữ liệu phác thảo.


Có một cách để lập trình lại Arduino của bạn không dây một cách dễ dàng, và đó là Bluetooth. Bạn sẽ cần phải có một mô-đun Bluetooth (Tôi không biết liệu tấm chắn Bluetooth có hoạt động không) và kết nối nó với các cổng nối tiếp phần cứng . Bộ tải khởi động trên Arduino của bạn đã có thể nói chuyện nối tiếp, do đó vấn đề được giải quyết. Bạn sẽ phải (có khả năng) giải quyết hai vấn đề khác:

  • Các mô-đun bluetooth chi phí thấp nhất bạn tìm thấy trên Ebay là 3,3V. Điều này có nghĩa là bạn sẽ phải cung cấp cho họ nguồn điện 3,3V và dòng gửi từ Arduino của bạn sẽ cần phải được thay đổi điện áp từ 5V sang 3.3V. Bạn có thể giải quyết vấn đề phụ (nguồn) đầu tiên bằng cách mua mô-đun Bluetooth được tạo cho giao tiếp 5V hoặc nếu Arduino của bạn có nguồn 3V3 sử dụng nguồn đó để cấp nguồn cho mô-đun Bluetooth. Một mô-đun sẵn sàng 5V cũng giải quyết vấn đề thứ hai; cách khác, bạn có thể thay đổi điện áp đầu ra 5V từ Arduino của bạn bằng cách sử dụng bất kỳ kỹ thuật nào được mô tả trong câu hỏi này .
  • Để lập trình Arduino của bạn tự động, Arduino cần được thiết lập lại ngay trước khi bản phác thảo được tải lên: khi Arduino chạy bình thường, bộ tải khởi động không hoạt động. Đặt lại Arduino kích hoạt bộ nạp khởi động, cho phép tải lên các bản phác thảo mới. trên Arduino USB khéo léo sử dụng dòng DTR để đặt lại thiết bị. Tuy nhiên, hầu hết các mô-đun nối tiếp Bluetooth chỉ cung cấp TS / RX, do đó bạn có thể phải đặt lại thủ công Arduino để tải lên bản phác thảo, trừ khi bạn có thể tìm thấy một số tín hiệu đầu ra trên mô-đun Bluetooth mà bạn có thể kết nối với mạch đặt lại .

2

Hôm nay, tôi đã biết đến một sản phẩm có thể đạt được điều này: ESP8266. Nó sẽ cho phép bạn lập trình / lập trình lại arduino của bạn thông qua kết nối wifi. Các công ty khác nhau sản xuất các phiên bản của chip trên các sắp xếp bảng đột phá khác nhau. Cụ thể, nó có thể trở thành WiFi AVRISP cho Arduino.

Bạn cũng có thể tự lập trình ESP8266 với Arduino SDK và nó có rất nhiều sức mạnh riêng.

Xem ở đây trên whatimadetoday (không phải bài viết của tôi) để có phần giới thiệu tốt về cách sử dụng ESP8266 và Arduino SDK. Khi SDK được thiết lập để lập trình ESP8266, bạn có thể duyệt vào các ví dụ của IDE và tìm "Arduino_Wifi_AVRISP".

Bạn có thể tìm thấy bảng với giá dao động từ khoảng $ 5- $ 15.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.