Projekt Ethernet termostat je dostupný zdarma vo forme strojových kódov pre cieľovú platformu Arduino Uno / Nano (s čipom AVR ATmega328P). Verzia obsahuje celkom 6 strojových - predkompilovaných programov pre Ethernet shield Wiznet W5100 a W5500, firmvéry sa líšia statickou / dynamickou adresou získanou cez DHCP server. Strojový kód (.hex) zaručuje, že daný program je kompatibilný a má totožnú funkčnosť na všetky zariadenia, do ktorých sa nahrá a spustí. Nahratie firmvéru je rýchle a jednoduché cez nástroj AVRDUDE / XLoader s grafickým rozhraním. Hlavná aplikácia sa spustí ihneď po nahratí firmvéru. Kód je tak univerzálny a poskytuje možnosť na ukážku poskytnúť autorovi záujemcom o vyskúšanie projektu jeho build bez prístupu ku zdrojovému (.ino) kódu. Nakoľko má každý Ethernet termostat rovnakú - preddefinovanú MAC adresu, je možné v LAN sieti využívať iba jeden termostat, inak dôjde ku konfliktu MAC adries a nebude komunikovať ani jeden termostat!
Názov firmvéru | Shield / modul | IPv4 |
---|---|---|
dynamic_W5100.hex SK | W5100 | priradená cez DHCP (obsahuje i maintain pre predĺženie lease time / vyžiadanie novej IP) |
dynamic_W5500.hex SK | W5200 až W5500 | priradená cez DHCP (obsahuje i maintain pre predĺženie lease time / vyžiadanie novej IP) |
static_W5100_1_254.hex SK | W5100 | 192.168.1.254 |
static_W5100_4_1.hex SK | W5100 | 192.168.4.1 |
static_W5500_1_254.hex SK | W5200 až W5500 | 192.168.1.254 |
static_W5500_4_1.hex SK | W5200 až W5500 | 192.168.4.1 |
PHY_thermostat_SK | ESP32 + PHY LAN8720 | priradená cez DHCP (pozri WiFi termostat pre nahratie firmvéru) |
Pre nahratie strojového kódu do Arduina je možné využiť nástroj AVRDUDE, ktorý pre nahrávanie skompilovaného programu využíva i prostredie Arduino IDE. Nástroj je možné spúšťať priamo z príkazového riadku (CLI), ale je nutné správne nastaviť všetky konfigurovateľné údaje (rýchlosť nahrávania firmvéru, cieľový COM port, cieľový mikrokontróler a nalinkovať avrdude.conf) a tak nie je vhodný pre menej skúsených programátorov, či laikov. Pre menej skúsených používateľov je vhodná alternatíva XLoader. Táto Windows aplikácia (nástroj) s jednoduchým grafickým rozhraním umožňuje výber firmvéru - strojového kódu (.hex), cieľovej platformy a vie dynamicky ukázať COM port, na ktorom sa zariadenie nachádza, ak je jeho ovládač nainštalovaný v operačnom systéme. XLoader umožňuje nahrať firmvér do AVR platforiem t.j. Arduino Uno, Nano, Duemilanove (AtMega328 / AtMega168), Arduino Mega (AtMega1280 / AtMega2560) a pod... Jednoduchým kliknutím na Upload je možné strojový kód automatizovane nahrať (XLoader využíva podobne ako Arduino IDE nástroj AVRDUDE). Okno XLoadera informuje o úspešnom uploade formou výpisu počtu uploadovaných bajtov. Od tohto momentu je termostat plne aktívny. V prípade DHCP verzie firmvéru sa pridelená IP adresa vypíše do UART monitoru (115200 baud/s).
V prípade nahrávania firmvéru cez AVRDUDE je nutné špecifikovať COM port manuálne priamo v príkaze pre nahratie firmvéru do mikrokontroléra. Aktuálny port, kde je prihlásený mikrokontróler nájdete v Správcovi zariadení. Zariadenie je najčastejšie označené ako USB-SERIAL CH340 v prípade klonov, alebo napr. Arduino Uno v prípade originálnych Arduino dosiek. U verzií Arduina Nano je možné nájsť aj označenie FT232RL device, ak používa prevodník FTDI232RL. Baudrate pre New Bootloader je: 115200 baud/s, pre Old Bootloader: 57600 (najmä čínske verzie Arduina Nano V3.0). Na nesprávny baudrate upozorní samotné rozhranie XLoader hláškou o neúspešnom nahratí firmvéru.