[ Príspevok: 1 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 07.08.22
Príspevky: 441
Témy: 194 | 194
Bydlisko: Poprad-okolie

Dnes si ukážeme možnosť nahratia skompilovaného programu - tzv. strojového kódu do Arduina, ktorý je pre bežného používateľa nečitateľný. Obsahuje však inštrukcie, ktoré daný mikrokontróler vykonáva. Strojový kód má výhodu predovšetkým v tom, že si ho vie do Arduina nahrať ktokoľvek, kto má k nemu prístup bez toho aby mal doinštalované knižnice, ktoré musia byť častokrát v presných verziách, aby boli navzájom kompatibilné a kód mohol byť skompilovaný. Strojový kód má garanciu funkčnosti na každej platforme (pre ktorú bol skompilovaný). Takto je možné jeden firmvér klonovať na stovky zariadení, ktoré budú totožne fungovať.

Pre proces uploadu (flashovania) využijeme nástroj XLoader pre Windows, ktorý je vhodný aj pre laikov, nakoľko ponúka jednoduché grafické rozhranie. Tento nástroj, podobne ako Arduino IDE využíva nástroj avrdude, ktorý umožňuje nahrať skompilovaný program do mikrokontroléru prostredníctvom USB-UART rozhrania. Medzi výhody XLoadera patrí predovšetkým to, že je prenositeľný a je plug n' play aplikáciou. Nevyžaduje inštaláciu, je vybavený dynamickým discoverom COM portov. Hodí sa tak ako prenositeľný nástroj na USB kľúč, alebo dostupný na Dropboxe, ktorý si vieme jednoducho naklonovať do každého počítača, ktorý využívame.

Discover COM portov znamená, že Arduino (alebo AVR čip s USB-UART prevodníkom) sa ihneď zobrazí v ponuke COM portov po pripojení do USB portu počítača. Štandardne XLoader ponúka možnosť zvolenia si cieľovej dosky (čipu AtMega) pre Arduino Uno (AtMega328), Duemilanove/Nano (AtMega328 / AtMega168), Mega (AtMega1280 / AtMega2560). Ďalším dôležitým parametrom je cesta, prostredníctvom ktorej je možné nastaviť cieľový firmvér, ktorý chceme do mikrokontroléru nahrať.

Cesta ostáva nastavená aj po zatvorení okna (aplikácie) XLoader. Teda aj pri opätovnom zapnutí programu je stále nastavená posledná známa cesta k firmvéru. Posledným parametrom je rýchlosť nahrávania nového firmvéru, štandardne 115200 baud / s.

Poďme ale pekne poporiadku...
V prvom rade potrebujeme projekt, ktorý je skompilovaný a ktorý chceme nahrať do Arduina. Využijeme projekt Ethernet termostat vo free verzii, ktorý má dostupné strojové (.hex) kódy v Github repozitári: https://github.com/martinius96/termostat-ethernet/
XLoader - kompaktný uploader pre strojové kódy - Arduino
Po stiahnutí a rozbalení archívu môžeme vidieť v archíve dostupných 6 strojových kódov, ktoré majú príponu (formát) .hex. Strojové kódy sú rozdelené na základe pridelenej IP adresy - staticky (192.168.4.1 / 192.168.1.254 - obe s 24-bit maskou), dynamicky prostredníctvom DHCP servera v sieti, ale taktiež aj podľa použitého Ethernet shieldu. Na výber sú možnosti pre Ethernet Wiznet W5100 alebo W5500 shield / modul.
XLoader - kompaktný uploader pre strojové kódy - Arduino
Na základe schémy zapojenia dostupnej v repozitári, respektíve aj na webovej stránke projektu https://martinius96.github.io/termostat-ethernet/zapojenie.html si do Arduina zasunieme Ethernet shield (v našom prípade Wiznet W5100) a dátový vývod D5 - emulovanú OneWire zbernicu pripojíme k teplotnému senzoru Dallas DS18B20, ktorý v systéme slúži ako riadiaca teplota pre termostat. Napájanie 5V spojíme s Vcc DS18B20 a vzájomne prepojíme i zem - GND vývody.
XLoader - kompaktný uploader pre strojové kódy - Arduino
XLoader - kompaktný uploader pre strojové kódy - Arduino
Arduino prostredníctvom USB kábla spojíme s počítačom (môžeme pripojiť aj Ethernet shield) prostredníctvom Ethernet kábla do LAN siete / lokálne do počítača. Po otvorení XLoadera vidíme, že sa Arduino ukázalo na porte COM7. Zvolíme si cieľovú platformu na Uno pre AtMega328 čip a zvolíme si cestu k firmvéru. Vidíme, že v predmetnom tutoriáli využívame firmvér: static_W5100_4_1.hex. Teda Ethernet shield bude mať IP adresu 192.168.4.1 / 24. (Pre testovacie účely sme spojili Arduino s počítačom, ktorý má prednastavenú statickú IP adresu 192.168.4.2 / 24) a bude tak možné pripojiť sa na Ethernet shield bez nutnosti mať Arduino v LAN sieti.
XLoader - kompaktný uploader pre strojové kódy - Arduino
Po kliknutí na Upload sa začne automatizovane firmvér - strojový kód nahrávať. O úspešnosti nahratia firmvéru informuje hláška, ktorá nahradí výpis Uploading.... s informáciou o počte uploadnutých bajtov. Firmvér je týmto nahratý a Arduino ihneď spustí (nabootuje) nový firmvér termostatu.
XLoader - kompaktný uploader pre strojové kódy - Arduino
Po spustení nového firmvéru je zmenu vidieť aj na komunikačných LED diódach Ethernet shieldu, ktorý komunikuje s Arduinom po SPI zbernici. Termostat využíva HTTP webserver - beží vo webovom rozhraní, kde môže byť jeho autometický režim konfigurovaný prostredníctvom HTML formulára. Konfigurovať je možné cieľovú teplotu a hysterézu.
XLoader - kompaktný uploader pre strojové kódy - Arduino
Webaplikácia termostatu je dostupná na adrese: http://192.168.4.1. Pre náročnejších používateľov, ktorí chcú svoj termostat ovládať cez internet je možné verejnú IP na routri prostredníctvom port forwardingu presmerovať na Arduino, avšak tento variant nemusí byť úplne bezpečný, preto sa odporúča využiť VPN spojenie, alebo ovládať termostat výhradne z domácej LAN siete.
XLoader - kompaktný uploader pre strojové kódy - Arduino
O všetkých technických detailoch Ethernet termostatu, počte a funkčnosti webových stránok bežiaciach na Arduino webserveri termostatu sa môžete dočítať v samostatnom aj na webovej stránke projektu: https://martinius96.github.io/termostat-ethernet/

Video tutoriál pre použitie nástroja XLoader:
https://www.youtube.com/watch?v=fAUKYuYNkMo

Nástroj AVRDUDE je možné používať aj priamo cez konzolu, je však nutné presne definovať do príkazu pre nahrávanie aj COM port, čo môže byť otravné na hľadanie. XLoader je vhodná alternatíva, ktorá prináša jednoduché grafické rozhranie, 100% prenositeľnosť, plug n' play prvky a možnosť jednoduchého uploadu firmvéru v strojovom kóde do mikrokontroléru.


 [ Príspevok: 1 ] 


XLoader - kompaktný uploader pre strojové kódy - Arduino



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Wokwi - simulátor pre Arduino projekty

v Články

0

690

17.04.2022 20:14

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

ThingSpeak - IoT platforma pre Arduino / ESP8266 / ESP32

v Články

0

557

16.01.2020 23:59

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

DOMINATOR cez Arduino pre Airsoft / Paintball / Nerf Wars

v Články

2

2291

30.11.2018 21:41

eon5

V tomto fóre nie sú ďalšie neprečítané témy.

Ovládanie hlasom pre Arduino/NodeMCU/ESP32/Raspberry/Orange Pi ... projekty

v Mikropočítače

1

952

16.09.2017 9:16

ado130

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

strojove epsilon

v Assembler, C, C++, Pascal, Java

4

1839

12.03.2011 16:25

Luks

V tomto fóre nie sú ďalšie neprečítané témy.

strojové rozpoznávanie hlasu - slovenčiny - open source

v Ostatné programy

2

432

02.01.2021 12:43

sh

V tomto fóre nie sú ďalšie neprečítané témy.

kompaktny digital

v Ostatné

1

286

23.07.2010 0:49

Jaro

V tomto fóre nie sú ďalšie neprečítané témy.

Kompaktny fotak s GPS

v Ostatné

10

348

28.08.2012 21:55

eMp

V tomto fóre nie sú ďalšie neprečítané témy.

Kompaktny midrange (200-300E) mobil

v Mobilné zariadenia

7

631

14.07.2020 6:43

kllr007

V tomto fóre nie sú ďalšie neprečítané témy.

kompaktny maly pc na administrativnu pracu

v Notebooky a netbooky

4

342

17.09.2018 17:17

pepkopav

V tomto fóre nie sú ďalšie neprečítané témy.

www.img.djmino.sk .:: IMG Uploader ::.

v Webdesign

6

713

27.11.2008 17:30

djmino

V tomto fóre nie sú ďalšie neprečítané témy.

Mobil do 250E, kompaktny, headphone jack, vydrz baterie

v Mobilné zariadenia

7

616

30.12.2019 18:07

tatko Tom

V tomto fóre nie sú ďalšie neprečítané témy.

Kódy telefónov

v Ostatné

2

20721

27.05.2005 1:33

Spectral

V tomto fóre nie sú ďalšie neprečítané témy.

Zlavove kody...

v Kôš

0

47

07.05.2017 10:29

Julia

V tomto fóre nie sú ďalšie neprečítané témy.

kody zadarmo

v Ostatné

1

1101

30.06.2009 22:14

rooobertek

V tomto fóre nie sú ďalšie neprečítané témy.

steam kody

v Predám

3

667

24.12.2016 11:53

T.C.B.E.E



© 2005 - 2022 PCforum, edited by JanoF