Jest to teoretycznie możliwe, ale w praktyce nie jest trywialne. Fragment kodu odpowiedzialny za ładowanie nowego szkicu do Arduino nazywa się bootloaderem . Wszystkie popularne wersje bootloaderów, które znam, są oparte na portach szeregowych / USB. Aby załadować szkic na osłonę WiFi, moduł ładujący musiałby zostać przepisany, aby komunikować się z osłoną WiFi zamiast szeregowej. Wymagałoby to trochę pracy, ale w praktyce nie jest to niemożliwe.
Pamiętaj, że musisz to zrobić bez względu na to, czy przechowujesz szkic na tarczy Wi-Fi (co wydaje mi się trudne: nie jestem pewien, czy jest to w ogóle możliwe), czy przesyłając szkic bezpośrednio do Arduino: bootloader będzie musiał komunikować się z tarczą, aby odczytać dane szkicu.
Istnieje sposób na łatwe przeprogramowanie Arduino bezprzewodowo, a to jest Bluetooth. Musisz zdobyć moduł Bluetooth (nie wiem, czy tarcza Bluetooth będzie działać) i podłączyć go do sprzętowych portów szeregowych. Program ładujący, który jest na twoim Arduino, może już mówić do portu szeregowego, więc problem został rozwiązany. Będziesz jednak musiał (potencjalnie) rozwiązać dwa inne problemy:
- Najtańsze moduły bluetooth, które znajdziesz w serwisie eBay, to 3,3 V. Oznacza to, że będziesz musiał zasilić je napięciem 3,3 V, a linia wysyłająca z Twojego Arduino będzie musiała zostać zmieniona z 5 V na 3,3 V. Możesz rozwiązać pierwszy podproblem (zasilanie), kupując moduł Bluetooth przystosowany do komunikacji 5V lub jeśli twój Arduino ma moc 3V3, wykorzystując go do zasilania modułu Bluetooth. Moduł gotowy na 5 V rozwiązuje również drugi problem; alternatywnie możesz przesunąć napięcie wyjściowe 5 V z Arduino, używając dowolnej z technik opisanych w tym pytaniu .
- Aby automatycznie zaprogramować Arduino, Arduino musi zostać zresetowane tuż przed przesłaniem szkicu: gdy Arduino działa normalnie bootloader nie jest aktywny. Zresetowanie Arduino aktywuje bootloader, umożliwiając przesyłanie nowych szkiców. na Arduino USB sprytnie używa linii DTR do resetowania urządzenia. Większość modułów szeregowych Bluetooth zapewnia jednak tylko wyjście TS / RX, więc prawdopodobnie będziesz musiał ręcznie zresetować Arduino, aby załadować szkic, chyba że znajdziesz moduł wyjściowy sygnału w module Bluetooth, który możesz podłączyć do obwodu resetowania .