Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevok: 1 ] 
AutorSpráva
Offline

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

Registrovaný: 17.02.14
Prihlásený: 18.01.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok NapísalOffline : 26.12.2020 16:00

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.


Odpovedať na tému [ Príspevok: 1 ] 


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

1215

17.04.2022 20:14

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ThingSpeak - IoT platforma pre Arduino / ESP8266 / ESP32

v Články

0

1296

16.01.2020 23:59

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. DOMINATOR cez Arduino pre Airsoft / Paintball / Nerf Wars

v Články

2

2409

30.11.2018 21:41

eon5 Zobrazenie posledných príspevkov

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

2011

16.09.2017 9:16

ado130 Zobrazenie posledných príspevkov

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

2046

12.03.2011 16:25

Luks Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. strojové rozpoznávanie hlasu - slovenčiny - open source

v Ostatné programy

2

625

02.01.2021 12:43

sh Zobrazenie posledných príspevkov

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

v Ostatné

1

353

23.07.2010 0:49

Jaro Zobrazenie posledných príspevkov

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

v Ostatné

10

450

28.08.2012 21:55

eMp Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kompaktny midrange (200-300E) mobil

v Mobilné zariadenia

7

798

14.07.2020 6:43

kllr007 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kompaktny maly pc na administrativnu pracu

v Notebooky a netbooky

4

423

17.09.2018 17:17

pepkopav Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. www.img.djmino.sk .:: IMG Uploader ::.

v Webdesign

6

800

27.11.2008 17:30

djmino Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mobil do 250E, kompaktny, headphone jack, vydrz baterie

v Mobilné zariadenia

7

822

30.12.2019 18:07

tatko Tom Zobrazenie posledných príspevkov

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

v Ostatné

1

1347

30.06.2009 22:14

rooobertek Zobrazenie posledných príspevkov

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

[ Choď na stránku:Choď na stránku: 1, 2, 3 ]

v Krčma

63

13547

16.03.2024 17:50

tarezni Zobrazenie posledných príspevkov

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

v Ostatné

2

20925

27.05.2005 1:33

Spectral Zobrazenie posledných príspevkov

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

v Predám

3

925

24.12.2016 11:53

T.C.B.E.E Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra