Portál AbcLinuxu, 6. května 2025 14:24
Výběr, sestavení, testování plně otevřeného RFID řešení, které úspěšně prochází zkušebním provozem.
Jedná se o „Radio Frequency Identification“, tedy indentifikaci objektu pomocí radiových frekvencí. Jinými slovy, v našem konkrétním případě využíváme RFID na identifikaci tahačů (automobilů). Každý řidič získá RFID tag (placatá krabička 7x7x1cm) a ten má za sklem v autě. Když k nám přijede, tak je již na dálku identifikován pomocí RFID čtečky (vysílače), která je propojena s IS (informačním systémem). Systém tedy o něm ví a hned dá vědět našemu zaměstnanci, kam má jet a co má naložit na jaký tahač. U nás je tedy kladen důraz na schopnost číst tagy aspoň na 2-5 m. Použití RFID je samozřejmě různorodé, viz třeba Wikipedii.
V době, kdy naše firma hledala RFID řešení, což byl asi rok 2008, bylo toto řešení jediné, které mělo rozumný dosah (5-10m) a hlavně tak nějak fungovalo. Bohužel, celou dobu jsme se potýkali s různými problémy a společnost Intelleflex nám jasně dávala najevo, co to je uzavřené řešení. Více o problému v mém zápisku Enterprise řešení RFID v podání firmy Intelleflex.
Intelleflex RFID má dvě antény a umožňuje využívat aktivní tagy. V tomto případě to funguje tak, že když se tag přiblíží ke čtečce, tak se v něm sepne aktivní vysílání. Jedna anténa na čtečce je vysílací, druhá přijímací. Se současnou RFID čtečkou FRM-6000 a aktuálními aktivními tagy lze dosáhnout čtecí vzdálenosti až 100m. Veškerá komunikace je proprientární od Intelleflexu.
Malý souhrn, proč ne Intelleflex:
V ČR se nachází velmi otevřená firma, která nabízí nejen RFID řešení. Touto firmou je Metra Blansko. Jejich RFID je plně otevřené a dodávají k němu testovací aplikace napsané v Pythonu. Není problém úprava firmware a dalších věcí. Komunikace je taktéž velmi vstřícná a jejich čtečka umí číst tagy Intelleflexu (pouze pasivní část dle Gen2, ale pouze do vzdálenosti 1m).
Jasným vítězem je tedy čtečka RFI21.1EU UHF RFID. Tato čtečka je bohužel jen čtečka, nemá v sobě žádný "plnohodnotnější počítač", aby s ní bylo možné komunikovat po síti.
Jako „řídící jednotka“ se prozatím osvědčila deska od Bulharů OLinuXino A20.
Čtečku lze propojit s počítačem přes USB nebo pomocí rozhraní UART. RS232 je tedy dostupné pomocí redukce. Na USB ale zapomeňme; pokud chceme stabilní komunikaci, tak jedině UART, popř. RS232.
Olimex je plně otevřené řešení s velmi pozitivní kritikou. Za tu cenu je výbava desky velmi solidní. Byl vybrán typ s NAND pamětí „A20-OLinuXino-MICRO-4GB". Oficiálně je dodáván Debian na MicroSD kartě. U starších typů Olimexu lze úspěšně provést přesun na interní NAND. Primárně je na NAND paměti uložen Android.
Olimex mj. disponuje programovatelnými GPIO porty a spoustou modulů do UEXT rozhraní (má dvě). V našem případě je potřeba napojit čtečku na závory. Přijede tahač, čtečka ho identifikuje a v návaznosti na to je potřeba otevřít závoru. Problém je, že GPIO porty na to nestačí a bylo vždy potřeba použít malé relé. Olimex dodává mj. modul mod-io2, což je pro naše účely plně dostačující.
Jedinou menší překážkou v „jednoduchém“ nasazení Olimexu A20 je v tom, že to není úplně zcela all-in-one hotové řešení, systém se stále ještě piluje, ovladače a funkce se dodělávají, dokumentace je solidní, ale pro její porozumění je potřeba „vyšší dívčí programátorská kutilská“.
Velmi zjednodušeně řečeno, UART není RS232. UART se většinou pohybuje s napětím 0-5V (Olimex má 3,3V, Metra Blansko má taktéž UART na 3,3V). UART není nijak chráněn, není vhodný na komunikaci na delší vzdálenosti. Pokud jsou dvě zařízení nápájena různými zdroji, je velká pravděpodobnost, že při jejich propojení pomocí UART rozhraní dojde k jejich zničení. V našem případě má být čtečka, A20 i mod-io2 přímo u sebe, tudíž je možné je propojit, ale zároveň je třeba zajistit, aby byly napájeny ze stejného zdroje. A20 vyžaduje 12V, mod-io2 taktéž 12V, ale RFID 5V. Jako měnič napětí velice dobře poslouží čínský ebayový LM2596, u něhož jde malým šroubováčkem velice jednoduše nastavit libovolné výstupní napětí (většinou do 30V). Pokud člověk kupuje hodně ks, může se dostat s cenou na 25,-Kč/ks.
Ve finále tedy bude potřeba:
Výsledná cena hrubým odhadem může být kolem 15 000,-Kč s DPH (osobně si myslím, že bude ještě nižší), záleží na aktuální poptávce, počtu kusů apod., což je oproti Intelleflexu poloviční cena.
Pokud bychom chtěli mít čtečku a Olimex A20 daleko od sebe, tak je potřeba na straně čtečky galvanicky oddělený převodník. Takový má Metra Blansko k dispozici jako Převodník rozhraní UART – RS-232. Tento převodník je aktivní (vyžaduje externí napájení), ale s tím se už počítá, takže redukce ke čtečce má na pinu č. 8 vyvedené napájení a převodník se tedy pomocí tohoto pinu napájí. Problém tohoto převodníku je jen jeho cena pohybující se kolem 1700,-Kč (dle dostupných informací je Metra Blansko jen redistributor této redukce), takže je asi lepší podívat se někam jinam. Na straně Olimexu je pak potřeba MOD-RS232.
Takto vypadá propojení za použití převodníku rozhraní UART-RS-232 + MOD-RS232:
Před samotnou montáží jsme ještě z obav ohledně oxidace Olimexu A20 koupili Ochranný lak na DPS KONTAKT. Na Olimexu jsme všechny konektory, PINy apod. zalepili páskou a celou desku jsme důkladně ze všech stran postříkali. Vrstva je suchá během 5min. To samé jsme udělali s deskou MOD-IO2. Měnič napětí jsme lakem nestříkali s tím, že na něm budeme pozorovat případné oxidace (zda mělo vůbec smysl provádět podobnou ochranu). Dále je třeba připravit si menší kabílek na vyvedení UARTu z Olimexu.
Polotovar plošného spoje se přišroubuje do montážní bedny měděnou stranou dolu. Poté si stačí jen rozměřit pozice jednotlivých komponent a vyvrtat 2,5mm vrtákem díry do polotovaru plošného spoje. Následně lze kvalitním šroubovákem rovnou našroubovat do vyvrtaných děr distanční šroubky. V polotovaru drží velmi pěkně a není třeba se bát, že odpadnou. Pokud distanční šroubky prošroubujeme skrz polotovar, tak dojde vlastně k jejich spojení díky měděné vrstvě polotovaru. Tím je možné vše velice jednoduše uzemnit (pokud je to potřeba). Vše lze lehce učesat stahovacími páskami.
Takto to může na první pohled vypadat:
Jediné, co by ještě mohlo chybět, je chlazení. Uvidíme, jak teplo bude v létě v bedně a podle toho by se popř. přidal jeden větráček na menší průvan. U Intelleflex čteček řešíme 1x 230V větrákem 120x120mm.
Takto seskládaný hardware začíná vypadat přepláceně, obzvláště, pokud bychom chtěli zapojit další čidla, moduly apod. V takovém případě se vše řeší návrhem vlastního shieldu. Shield je znám ze světa Arduina a je to vlastně deska, kterou si navrhneme, umístíme si na ní vše, co potřebujeme (v našem případě napájení, měnič napětí, relátka, termo čidlo, UART nebo případně RS232) a pak jí jen zeshora zamáčkneme celou do Olimexu. Máme pak jeden uhlazený celek bez kabelů zabírající minimální prostor. V rácmi prvních testů je však zbytečné toto řešit, shield se vyplatí až při větším nasazení.
Jak již bylo zmíněno, pasivní část Intelleflex tagu STT-8000 je schopna čtečka Metra Blansko přečíst na necelý 1m. Po zkrácení koax kabelu ze 6m na 2m jsme dosáhli stabilní čtecí vzdálenosti 1 až 1,5m. Taktéž jsme zkoušeli pasivní tag Confidex Ironside, který při dodržení požadavku na kovový podklad dosahuje čtecí vzdálenosti skutečných 5m a více. Při nedodržení požadavku na kovový podklad (tag držen v ruce, popř. ve vzduchu) je čtecí vzdálenost cca 1-2m. Pro různé podklady jsou určeny různé pasivní tagy, vizte UHF RFID tagy. Pokud se dodrží požadavky pro konkrétní tagy, věřil bych ve zmíněné čtecí vzdálenosti v reálném prostředí.
Hardware bychom měli, teď je potřeba ještě vyřešit systém na MicroSD kartě, bootování Olimexu A20, mapování GPIO portů, komunikace s relátky a se čtečkou. Příště se tedy podíváme na samotnou desku Olimex A20 a výsledný prototyp RFID řešení.
Je tedy otázkou, zda se vám vyplatí plnohodnotný galvanicky oddělený RS232, obyčejný RS232 nebo pevné propojení UART kabelem.Nebo konvertor na nějakou vhodnější sběrnici (RS-485)…
Obecne to rict nejde, ale SLC jsou typicky mnohem mensi nez MLC ; cena na MiB je u SLC mnohem vyssi. (4GiB SLC by stala majlant)Měl jsem za to, že MLC uloží do jedné buňky tak 4 bity. SLC by tak měla být maximálně 4x dražší, ne?
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.