RFID DOMINATOR 2.0 - XLoader, DEMO firmware
RFID DOMINATOR 2.0 stopky pre Airsoft a Paintball, ideálne pre herné módy ako DOMINATION alebo Capture the Point, využívajú firmvér v strojovom kóde vo formáte HEX, ktorý je špecifický pre AVR mikroprocesory od Atmelu (teraz Microchip). Tento strojový kód zaručuje rovnakú konfiguráciu a funkčnosť na každom zariadení, do ktorého je nahratý. To platí aj pri klonovaní, keď môžu stopky fungovať nezávisle na rôznych zariadeniach, na ktoré je tento kód prenesený.
![](https://392a561660.cbaul-cdnwnd.com/6b24fd06728cdbacb72a3228f095e765/200000853-e319ae319c/4Rf8hz4-8.png?ph=392a561660)
Firmvér neobsahuje dáta uložené v EEPROM pamäti, čo znamená, že používateľská konfigurácia nie je prenesená. Súčasťou firmvéru je však kontrola špecifického offsetu v EEPROM pamäti, kde sa nachádzajú hardvérom zapísané informácie. Ak je toto miesto prázdne, firmvér tam dokáže zapísať napríklad prednastavenú fail-safe hodnotu, ktorá nastaví základné hodnoty, ako je napríklad predvolené používanie buzzera alebo jeho prednastavená frekvencia generovaná z PWM. V budúcej verzii DOMINATORA bude táto funkcia rozšírená a umožní napríklad nastavenie ďalších parametrov.
Následne bude možné exportovať konfiguráciu a preniesť ju na iný kontrolér cez Serial rozhranie, čím sa dosiahne rovnaká používateľská konfigurácia na viacerých zariadeniach.
Dnes si ukážeme, ako do RFID DOMINATORA pre Airsoft a Paintball nahrať DEMO firmvér, pričom rovnaký postup je možné využiť aj pre produkčnú verziu firmvéru RFID DOMINATORA pre 2 až 4 tímy. Produkčná verzia obsahuje unikátne UID (identifikátory) RFID kariet, čím sa zabezpečí, že zariadenie nebude fungovať s inými kartami, čím sa zabráni nekontrolovanému klonovaniu. Aby sme mohli pokračovať, musíme najprv pochopiť architektúru mikrokontroléra, do ktorého budeme firmvér nahrávať, a tiež spôsob, akým sa tento firmvér nahráva.
RFID DOMINATOR využíva Arduino Nano, najčastejšie vo verzii V3.0. Tento mikrokontrolér je vybavený procesorom ATmega328P od Microchipu (predtým ATMEL). Pamäťovo a funkčne je rovnaký ako Arduino Uno, avšak má viac analógových pinov. Mikrokontrolér štandardne obsahuje Bootloader priamo z výroby. Ak ho nemá, musí sa nainštalovať samostatne cez Arduino as ISP, USBasp, alebo USBtinyISP. Tento postup sme už použili v predchádzajúcom článku o ATtiny85, kde sme cez sekundárne Arduino nahrávali iný Bootloader na podtaktovanie procesora na 1 MHz. Pre tento tutoriál predpokladáme, že Arduino Nano už od predajcov prichádza s Bootloaderom, takže tento krok nebude potrebný.
Celý systém RFID DOMINATOR využíva open-source hardvér s modulárnym dizajnom, ktorý umožňuje jednoduchú výmenu komponentov bez nutnosti spájkovania, vďaka pinovým lištám. Keďže zariadenie využíva Arduino, nahrávanie firmvéru je veľmi jednoduché a vhodné aj pre začiatočníkov. Poďme si tento proces prejsť krok za krokom:
Stiahnutie firmvéru: Najprv si stiahneme archív s DEMO firmvérom z oficiálnej stránky RFID DOMINATOR: https://your-iot.github.io/DOMINATOR/. Archív bude obsahovať priečinok s názvom XLoader, samotný firmvér RFID_DOMINATOR.hex a súbor README.md. Po stiahnutí archív rozbalíme do vhodného priečinka, aby sme mali prístup ku všetkým súborom.
Pripojenie Arduino Nano: Pred samotným nahrávaním firmvéru pripojte Arduino Nano k počítaču cez MiniUSB konektor. Skontrolujte, či je Arduino správne rozpoznané počítačom. Zvyčajne to spoznáte podľa zvuku "pripojenia zariadenia" (ako pri pripojení USB kľúča). Okrem toho môžete otvoriť Správcu zariadení a skontrolovať pod Portami, či sa objavil nový COM port priradený k Arduinu (v tomto prípade používam klon s CH340 USB-UART prevodníkom, ktorému Windows pridelí COM port 4).
Problémy s COM portom: Ak COM port nevidíte, môže to byť spôsobené niekoľkými faktormi:
- Absencia ovládača CH340: Tento ovládač nemusí byť automaticky nainštalovaný vo Windows, preto ho musíte stiahnuť a nainštalovať manuálne.
- Napájací USB kábel: Uistite sa, že váš USB kábel má nielen napájacie vodiče, ale aj dátové vodiče na prenos informácií.
Spustenie XLoader: Po pripojení Arduino Nano k počítaču otvorte nástroj XLoader zo stiahnutého priečinka. XLoader je grafický nástroj, ktorý slúži na nahrávanie firmvéru do AVR mikrokontrolérov, ako je ten v Arduino. Je to jednoduchší nástroj v porovnaní s konzolovou aplikáciou AVRDUDE, ktorá má viac funkcií, ale XLoader je ideálny na bežné nahrávanie firmvéru.
Nastavenie parametrov v XLoader:
- COM port: XLoader automaticky zistí dostupné COM porty. Vyberte ten správny port, ktorý sa zobrazuje v zozname.
- Cesta k firmvéru: Nastavte cestu k súboru RFID_DOMINATOR.hex.
- Výber dosky: Uistite sa, že máte nastavený Arduino Nano a nie ATmega168, pretože potrebujeme ATmega328.
- Baud rate: Nastavte baud rate podľa typu Arduino:
- Pre klonované Arduino Nano (s Old Bootloader) použite 57600 baud/s.
- Pre originálne Arduino Nano dosky použite 115200 baud/s. Ak zvolíte zlú rýchlosť, nahrávanie zlyhá a objaví sa chyba.
Nahrávanie firmvéru: Po nastavení všetkých parametrov kliknite na Upload. V spodnej časti XLoaderu sa zobrazí text "Uploading...". Ak nahrávanie prebehne úspešne, uvidíte počet zapísaných bajtov. Po nahratí firmvéru sa Arduino automaticky reštartuje a na displeji sa zobrazí výpis, ktorý potvrdí úspešné nahratie firmvéru.
Týmto spôsobom ste úspešne nahrali DEMO firmvér do zariadenia RFID DOMINATOR a môžete pokračovať v jeho používaní.
Firmvér DEMO verzie RFID DOMINATOR funguje nasledovne:
Po spustení programu sa na LCD displeji zobrazia inštrukcie. Systém následne vyzve používateľa na priloženie štyroch rôznych RFID tagov. Najčastejšie sa používajú MiFare 1K tagy, ktoré môžu mať formu kľúčenky, karty alebo náramku. Rozdiely v cenách medzi kartami a náramkami môžu byť značné, pričom náramky bývajú výrazne drahšie.
Po priložení RFID tagov k čítačke RC522 si systém vyžiada konfiguráciu, kde bude každý tag priradený k jednému z tímov, rozhodcovi a erasera. Tento proces umožňuje nastaviť rôzne funkcie pre každého účastníka hry a umožní vám otestovať celý hardvér RFID DOMINATOR aplikácie.
DEMO verzia má limitovaný čas, pričom každému tímu je pridelených maximálne 15 sekúnd, čo je zobrazené na displeji. Tento časový limit môžete resetovať pomocou Eraser tagu, ktorý vráti čas na nulu. Implementácia podporuje dva tímy, čím sa testovanie a funkčnosť systému ešte viac zjednodušuje.
Cieľom DEMO verzie firmvéru RFID DOMINATOR je overiť, že hardvér je plne kompatibilný s finálnou verziou firmvéru. Okrem toho máte možnosť pripojiť k RFID čítačke RC522 aj iné RFID karty. Hoci tieto karty systém nevyužije na plnohodnotnú funkčnosť, vypíše na Serial rozhranie ich UID (unikátny identifikátor). Tento UID je možné následne zaznamenať a priradiť k preddefinovanej šablóne, ktorá je dostupná tu:
- https://docs.google.com/spreadsheets/d/1EHpdJi8v84eJ-6ExEPT6JuPkxI9Tfbm8v85zGRFvJ1Q/edit?usp=sharing z ktorej je následne možné firmvér na mieru vyexportovať od autora.
Šablóna vám umožní vytvoriť prispôsobený firmvér pre vaše zariadenie, ktorý následne môže byť vyexportovaný od autora projektu RFID DOMINATOR, ktorý voľne zdrojový kód neponúka. Tento postup umožňuje flexibilitu pri prispôsobovaní systému rôznym potrebám a zariadeniam.
Funkcionalita DEMO firmvéru pre RFID DOMINATOR 2.0 je garantovaná pre nasledujúce zapojenie, ktoré zodpovedá aj DPS (Doske plošných spojov) pre RFID DOMINATOR 2.0 s osadenými komponentami:
- Arduino Nano V3.0 – Mikrokontrolér, ktorý je základom pre nahrávanie a spúšťanie firmvéru.
- RFID RC522 (MFRC522) – Tento modul RFID čítačky je podporovaný, ale pinout na DPS sedí len pre Generic verziu. Pre verziu Keyestudio tento pinout nevyhovuje.
- LCD 2004A s I2C prevodníkom – Zobrazovacie zariadenie pre inštrukcie a výpisy zo systému.
- Aktívny/pasívny buzzer (7,62 mm rozteč s 5V logikou, PWM GPIO) – Zvuková signalizácia pre rôzne udalosti v systéme.
- LED diódy (max 20 mA @ 5V) – Používajú sa na vizuálnu indikáciu rôznych stavov systému.
Kompletný BOM (Bill of Materials) je dostupný na stránke Digikey, kde nájdete všetky potrebné komponenty. Poznámka: Táto verzia obsahuje originálne Arduino Nano, zatiaľ čo klon Arduino Nano nie je v ponuke. Pre podrobnosti a nákup komponentov navštívte nasledujúci odkaz:
- https://docs.google.com/spreadsheets/d/1W8VZWUbunXa362EOkEo4UkfGkRCt8anQDj8j90m_AIg/edit?usp=sharing