cs:pymlab
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Předchozí verze | |||
cs:pymlab [2016/12/06 19:44] – [i2c-tools] kaklik | — | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== Komunikační knihovna pymlab ====== | ||
- | |||
- | Jde o softwarový balík, který umožňuje vytvářet senzorovou síť založenou na komunikačních rozhraních RS232, [[cs: | ||
- | |||
- | Princip funkce spočívá v definování struktury sítě a adres jednotlivých nódů v konfiguračním souboru ovládacího programu. Lze tak ke všem bodům v síti přistupovat pomocí jazyka Python. Pro routování I2C mezi jednotlivými segmenty obsahujícími čidla se stejnými adresami jsou využívány moduly | ||
- | |||
- | Výsledkem je možnost testovat a demonstrovat všechna nová čidla a zařízení. Bez nutnosti udržovat aktuální specifické zdrojové kódy pro všechny používané MCU. Lze tak dosáhnout nezávislosti na aktuálně používaných mikrokontrolérech, | ||
- | |||
- | ===== Instalace ===== | ||
- | |||
- | Pokud potřebujeme na sběrnici přistupovat přes rozhraní USB pomocí modulu [[cs: | ||
- | |||
- | sudo apt-get install libudev-dev libusb-1.0-0-dev libhidapi-dev python-setuptools python-smbus python-numpy cython git | ||
- | |||
- | Viz [[cs: | ||
- | Instalaci samotného softwarového balíku pymlab pak provedeme snadno pomocí: | ||
- | |||
- | sudo easy_install pymlab | ||
- | | ||
- | nebo | ||
- | sudo pip install pymlab | ||
- | |||
- | Oba příkazy jsou rovnocenné a využívají python balíčkovací systém ve kterém je [[https:// | ||
- | |||
- | ==== Vývojová verze ==== | ||
- | |||
- | Nejaktuálnější vývojová verze knihovny je k dispozici na githubu. Tu nainstalujeme následujícím způsobem. Výhoda využití gitu je v tom, že knihovnu můžeme snadno upravovat a vyvíjet. | ||
- | |||
- | git clone https:// | ||
- | cd pymlab | ||
- | git checkout dev | ||
- | sudo python setup.py develop | ||
- | |||
- | Následně je užitečné úpravy knihovny zpětně vystavit na githubu, nebo vytvořit pull-request. | ||
- | |||
- | ==== i2c-tools ==== | ||
- | [[https:// | ||
- | |||
- | git clone https:// | ||
- | cd i2c-tools | ||
- | make EXTRA=" | ||
- | sudo make install | ||
- | cd py-smbus | ||
- | sudo python setup.py install | ||
- | sudo ldconfig | ||
- | |||
- | Verze I2C-tools umístěná na MLAB githubu má oproti verzi z repozitářů Ubuntu přidané metody read_i2c_block a write_i2c_block, | ||
- | |||
- | ===== Použití ===== | ||
- | |||
- | Základní vlastností knihovny pymlab je možnost nadefinovat strukturu sítě senzorů. Obecně jde o síť zařízení se kterými komunikovat uživatelský kód. Definice sítě vypadá například takto: | ||
- | |||
- | cfg = config.Config( | ||
- | i2c = { | ||
- | " | ||
- | " | ||
- | }, | ||
- | | ||
- | bus = [ | ||
- | { | ||
- | " | ||
- | " | ||
- | | ||
- | " | ||
- | {" | ||
- | ], | ||
- | }, | ||
- | ], | ||
- | ) | ||
- | |||
- | Jde o JSON zápis struktury. Blok i2c definuje kořenové komunikační rozhraní. Ten má dva parametry. | ||
- | Parametr //port// určuje systémové rozhraní které bude využito pro komunikaci. Může mít hodnoty buď číslo systémového [[cs: | ||
- | Nebo řetězec, který určuje adresu k systémovému souboru, který se má použít pro komunikaci. | ||
- | |||
- | Volba " | ||
- | |||
- | * ' | ||
- | * ' | ||
- | * ' | ||
- | |||
- | Pokud má //device// hodnotu //None//, nebo není vůbec zadaný, tak se knihovna pokusí sekvenčně použít jednotlivé drivery. | ||
- | |||
- | |||
- | <WRAP center round tip 80%> | ||
- | Pro přímý přístup ke sběrnici I²C bez sudo je třeba být ve skupině i2c. Uživatele tam přidáme například takto. | ||
- | sudo adduser kaklik i2c | ||
- | |||
- | Změna se projeví po odhlášení a přihlášení uživatele. | ||
- | |||
- | </ | ||
- | |||
- | ---- | ||
- | Poznámka: Pro seznámení se s jazykem [[http:// | ||
- | |||
- | ===== TODO ===== | ||
- | |||
- | ==== Grafické rozhraní ==== | ||
- | |||
- | Grafické rozhraní by v kombinaci s touto knihovnou mohlo být využito pro definování síťové topologie a případné vykreslování grafů ze senzorů zapojených do sítě. | ||
- | |||
- | {{ : | ||
- | |||
- | ===== Python interpreter pro ARM STM32 ===== | ||
- | |||
- | Pro použití Python frameworku na vyčítání čidel přímo z [[cs: | ||
- | |||
cs/pymlab.txt · Poslední úprava: 2017/02/23 12:17 (upraveno mimo DokuWiki)