Jednym z najbardziej przydatnych narzędzi w elektronice, jest programator AVR. Kosztuje on około 20-30zł(USBASP) i pozwala na wgrywanie oprogramowania na procesory AVR. Jeżeli jednak potrzebujemy szybko zaprogramować jeden układ bądź naprawić bootloader w arduino, a posiadamy układ ESP8266, możemy łatwo taki programator złożyć. Dodatkowo, programator ten jest bezprzewodowy, co pozwala na wbudowanie go w trudno dostępne miejsca.
Potrzebne elementy:
- Dowolny moduł ESP8266 posiadający min. 4 GPIO. (Np.: ESP-12). Moduł ESP-1 nie będzie działał z tym układem. Sam korzystam z płytki Nodemcu(ESP-12E+konwerter USB-RS232).
- Przejściówka RS232 do zaprogramowania tego układu. (Układ z którego korzystam, ta wbudowany ten „programator”)
- Garść kabli do płytki stykowej
- Płytka stykowa
- Procesor który chcemy zaprogramować.
- (Opcjonalnie) Konwerter poziomów napięcia.
Instalacja ESP8266 w Arduino IDE:
Potrzebujemy najnowszej wersji Arduino IDE. Uruchamiamy program, i wchodzimy w Plik->Preferencje. Znajdujemy napis „Dodatkowe adresy URL do menadżera płytek” i w polu po prawej wklejamy „http://arduino.esp8266.com/staging/package_esp8266com_index.json”. Wychodzimy z okna „Preferencje”, i z rozwijanej listy „Narzędzia„, wybieramy „Płytka”-„Menadżer Płytek”. Znajdujemy ESP8266 i klikamy „install„.
Podłączenie ESP8266.
Układ ESP8266 łączymy z konwerterem według tego poradnika. Sam układ podłączamy do procesora AVR w ten sposób:
ESP8266 | AVR |
---|---|
GPIO12 | MISO |
GPIO13 | MOSI |
GPIO14 | SCK |
GPIO5 | RESET |
!!! Układ ESP8266 obsługuje tylko napięcia 3.3V. Jeżeli chcesz zaprogramować układ 5V, musisz użyć konwertera poziomów napięcia.!!!
Wgrywanie programu na ESP8266.
W „Narzędziach” wybieramy „Generic ESP8266 module”, oraz ustawiamy port naszego konwertera. Z przykładów wybieramy „ESP8266AVRISP”. W kodzie zmieniamy:
- „ssid” na nazwę naszej sieci
- „pass” na hasło naszej sieci
- „reset_pin” na 5
Wgrywamy kod i otwieramy monitor szeregowy. Powinien być tam widoczny adres ip naszego układu.
Korzystanie z programatora.
W ustawieniach AVRDUDE ustawiamy jako programator „arduino”, a jako port (-P) „net:ADRES_IP:328”.
Komenda AVRDUDE powinna wyglądać podobnie do tej:
avrdude -c arduino -p attiny85 -P net:ADRES_IP:328… nasze polecenia
gdzie attiny45 to nazwa programowanego układu.
Mam nadzieję, że ten prosty układ okaże się przydatny dla wielu osób.