Wi-Fi 쉴드를 통해 Arduino를 다시 프로그래밍 할 수 있습니까?


9

내 Arduino는 수족관의 조명에 연결되어 있으며 LAN의 웹 브라우저에서 제어 할 수 있습니다. 조금 불편한 USB를 통해 컴퓨터에 연결하지 않고 Arduino의 프로그램을 수정할 수 있는지 궁금합니다. Wi-Fi 연결을 활용할 수있는 방법이 있어야합니다.

Pololu의 Wixel Shield를 사용하여 프로그램을 무선으로 전송했지만 (직렬 포트 라디오 역할 만 함) 이는 WiFi Shield와 다른 기술입니다.

WiFi를 통해이 작업을 수행 할 수있는 방법을 아는 사람이 있습니까? WiFi 쉴드의 플래시 메모리에 새 코드를 업로드하면 플래시 메모리에서 부트로드 될 수 있습니까? 나는 그것을하는 방법이나 가능한 경우 확실하지 않습니다.

완전히 다른 접근법이 더 간단할까요?

답변:


8

이론적으로는 가능하지만 실제로 사소한 것은 아닙니다. 새 스케치를 Arduino에로드하는 코드를 부트로 더라고 합니다. 내가 아는 부트 로더의 모든 인기있는 버전은 직렬 / USB 기반입니다. WiFi 쉴드 위에 스케치를로드하려면 직렬 대신 WiFi 쉴드와 통신하기 위해 부트 로더를 다시 작성해야합니다. 이것은 약간의 작업이 필요하지만 실제로는 불가능하지 않습니다.

WiFi 쉴드에 스케치를 저장하는지 (어려울 수도 있습니다 : 이것이 가능한지 확실하지 않습니다) 또는 스케치를 Arduino에 직접 업로드하는지에 관계없이이 작업을 수행해야합니다. 부트 로더는 스케치 데이터를 읽으려면 실드와 통신해야합니다.


Arduino를 무선으로 쉽게 다시 프로그래밍 할 수있는 방법이 있으며 이것이 바로 블루투스입니다. 블루투스 모듈 (블루투스 실드가 작동하는지 모르겠 음)을 얻어 하드웨어 시리얼 포트에 연결해야합니다 . Arduino에있는 부트 로더는 이미 직렬로 통신 할 수 있으므로 문제가 해결됩니다. 그래도 두 가지 다른 문제를 (잠재적으로) 해결해야합니다.

  • Ebay에서 가장 저렴한 블루투스 모듈은 3.3V입니다. 즉, 3.3V 전원을 공급해야하며 Arduino의 전송 라인은 5V에서 3.3V로 전압을 이동해야합니다. 5V 통신용 Bluetooth 모듈을 구입하거나 Arduino가 3V3 전원을 사용하여 Bluetooth 모듈에 전원을 공급하는 경우 첫 번째 (전원) 하위 문제를 해결할 수 있습니다. 5V 지원 모듈도 두 번째 문제를 해결합니다. 또는 이 질문에 설명 된 기술 중 하나를 사용하여 Arduino에서 5V 출력을 전압 이동시킬 수 있습니다 .
  • Arduino를 자동으로 프로그래밍하려면 스케치가 업로드되기 직전에 Arduino를 재설정해야합니다. Arduino가 정상적으로 실행되면 부트 로더가 활성화되지 않습니다. Arduino를 재설정하면 부트 로더가 활성화되어 새 스케치를 업로드 할 수 있습니다. Arduino USB에서 DTR 라인을 영리하게 사용하여 장치를 재설정합니다. 그러나 대부분의 Bluetooth 직렬 모듈은 TS / RX 만 제공하므로 스케치를 업로드하기 위해 Arduino를 수동으로 재설정해야합니다. Bluetooth 회로에서 재설정 회로에 연결하기 위해 마샬링 할 수있는 일부 신호 출력을 찾을 수 없다면 .

2

오늘 저는 이것을 달성 할 수있는 제품인 ESP8266을 알게되었습니다. Wi-Fi 연결을 통해 arduino를 프로그래밍 / 재 프로그래밍 할 수 있습니다. 다양한 회사에서 다양한 보드 구성으로 칩 버전을 생산합니다. 특히 Arduino의 WiFi AVRISP가 될 수 있습니다.

Arduino SDK를 사용하여 ESP8266 자체를 프로그래밍 할 수도 있으며 자체 기능이 많이 있습니다.

ESP8266 및 Arduino SDK를 사용하는 방법에 대한 좋은 소개는 내 게시물이 아닌 whatimadetoday에서 여기를 참조 하십시오 . SDK가 ESP8266을 프로그래밍하도록 설정되면 IDE의 예제를 탐색하여 "Arduino_Wifi_AVRISP"를 찾을 수 있습니다 .

약 $ 5- $ 15 범위의 가격으로 보드를 찾을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.