Polymorfní síť přístrojů (Polymorphous Device Network)
V běžné technické praxi je standardní problém, že různé přístroje mají různá komunikační rozhraní a sběrnice. Například I²C, USB, RS232, Ethernet, GPIB, UniPro a další. Navzdory tomu je běžný úkol z těchto zařízení postavit systém, kde tyto přístroje vzájemně spolupracují. Respektive data jsou z nich vyčítána do nějakého nadřazeného systému. Řešením tohoto problému je nejčastěji použití mostů (bridge), který převádí jedno komunikační rozhraní na jiné.
V MLABu existuje návrh nástroje (pymlab), kde je takováto síťová topologie definována ve formě JSON konfiguračního souboru. A jednotlivé bloky jsou pak vyčítány přes oddělené ovladače. V MLAB je předpokládán následující model síťové topologie:
První pokusná implementace tohoto přístupu je napsána v jazyce Python a je publikována na githubu.
PDN01A
Dvě níže popsaná zařízení z modulů MLAB, jsou základními kameny pro vybudování polymorfní sítě přístrojů.
Software se předpokládá PyMLAB, AROM. Je možné využít jakékoliv své platformy, konstrukce je otevřená.
PDNCPU01A
Základní jednotka obsahující počítač Odroid s operačním systémem Linux a potřebné periferie.
Odroid je napájen 5 V přes modul SUPERCAP01B, který je schopen překlenout malé výpadky napájecí sítě a v případě delšího výpadku dá pokyn pro vypnutí systému, aby se veškerá data včas uložila. I2C výstup z Odroidu je vyveden do modulu I2CHUB01B, který má 8 I2C výstupů. Na první dva výstupy jsou připojeny I2CDIFF01B, které převedou I2C signály na I2C diferenční, aby bylo možné návazné zařízení umístit až do vzdálenosti 100 m. Na třetí bránu je připojen modul RJ12V01A, který obsahuje konektor RJ12 pro připojení I2C zařízení do vzdálenosti cca 1m s napájením 3,3 V. Brána číslo 4 je vyhrazena pro připojení ALTIMET01A, pro měření tlaku a pátá brána je vyhrazena pro SHT31V01A pro měření vlhkosti a teploty (vhodné pro monitorování podmínek v jakých se nachází dané zařízení). Brány 6, 7 a 8 jsou volné pro další libovolné využití.
Jednotku je možné využít samostatně pro malé sítě. Například pro realizaci meteostanice, ostření dalekohledů, vyhřívání kamer.
Pokud přestanou stačit výstupy, které jsou k dispozici je možné síť rozšířit o jednotku PDNI2CHUB01A.
PDNI2CHUB01A
Rozšiřující jednotka o dalších 8 bran I2C diferenčních s napájením každé brány 12 V a 1 A.
Vstupem je I2C diferenční přes konektor RJ45. Signál je přiveden do I2CHUB01B, který má opět osm výstupů na které je připojena osmice I2CDIFF01B. I2CHUB01B je nastavován po I2C sběrnici. Má volitelné I2C adresy pomocí jumperů.
Zařízení je napájeno zdrojem 12 V 10 A, který je připojen do modulu UNIPOWER04A, který obsahuje filtrační a pojistné členy. Modul má 9 výstupů s napětím 12 V a zatížitelností 1A. Jeden výstup je určen pro napájení vnitřní elektroniky a zbylých osm výstupů složí pro napájení zařízení přes I2CDIFF01B. Výhodou této koncepce je, že pokud dojde ke zkratu na napájení jedné brány, tak zbylá zařízení na ostatních branách mohou dále fungovat. Je využito vratných pojistek.
Tyto prvky je možné připojit k jednotce PDNCPU01A, nebo je dále propojovat za sebe k získání většího množství bran pro zařízení. V případě stolního PC je možné využít modulů USBI2C01A a modulu I2CDIFF01B