이론적으로는 가능하지만 실제로 사소한 것은 아닙니다. 새 스케치를 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 회로에서 재설정 회로에 연결하기 위해 마샬링 할 수있는 일부 신호 출력을 찾을 수 없다면 .