User Tools

Site Tools


struktura:lbm:prerequisites

Prerequisites

LBM je jediny pristroj, ve kterem jsou Device pripojeny pres USB. To s sebou prinasi spoustu problemu. Tato stranka obsahuje seznam problemu, na ktere jsem narazil, a poskytuje navody k jejich vyreseni.

Eurotherm

v marklar-driver-modbus byla vytvorena trida ModbusUSBConection, ktera popisuje zakladni vlastnosti tohoto pripojeni.

Fyzicky je pripojeni realizovano prevodnikem USB ↔ COM. Drivery k tomuto prevodniku jsou soucasti CD, ktere bylo soucasti baleni. Po nainstalovani driveru k prevodniku je treba zjistit adresu tohoto prevodniku (PortName).

Nalezeni PortName

V pripade Win se jde do Spravce Zarizeni, kde se mezi Porty (COM a LPT) nalezne USB Serial Port. V nastaveni je mozno zmenit prirazene COM#. COM je pak pojmenovan napr. COM1

V pripade Unixu je zarizeni jednoznacne definovano v /dev. Uzitecnym prikazem ioreg -p IOUSB -l -b, se vypisi podrobnosti o aktivnich USB zarizenich. Port bude mit oznaceni napr. /dev/tty.usbserial-A402ZCYY.

Pouzite knihovny

Prevodnik je uspesne nainstalovan, vim jakou ma adresu COM, ktery je k nemu pripojen, takze se muzeme pustit do komunikace s Eurothermem. Hlavnim pomocnikem je zde knihovna jamod (ve ktere jsem provedl jednu upravu a upravena verze jamod-own je u Beryho na server). jamod vytvari zpravy, ktere Eurothermu posilam (a podobne dekoduje zpravy, ktere ctu). Pokud chci zmenit hodnotu zadane teploty, poslu na adresu=2 hodnotu napr. teplota=300. jamod tuto informaci prevede do zpravy. Podobne pokud tuto hodnotu chci cist.

	<dependency>
		<groupId>cz.jlochman.marklar.drivers</groupId>
		<artifactId>jamod-own</artifactId>
		<version>1.0.0</version>
	</dependency>
 
	<repositories>
		<repository>
			<id>Berescak</id>
			<name>Berescak-releases</name>
			<url>http://berescak.cz:8081/artifactory/marklar-releases</url>
		</repository>
	</repositories>

Problem nastane, pokud se pripravenou zpravu jamod pokusi poslat na COM. V tomto pripade spoleha jamod na externi knihovny, ktere v pripade Unixu neni treba instalovat, ale v pripade Win museji byt tyto knihovny do systemu nahrany rucne. Jedna se o Java Communication API, ktere jsou reprezentovany knihovnou javax.comm. Knihovny je treba stahnout, napr. http://kishor15389.blogspot.cz/2011/05/how-to-install-java-communications.html a nasledujici soubory zkopirovat do patricneho adresare JRE, ktery musi byt 32 bitovy

  1. Install 32bit JDK
  2. Copy 'win32com.dll' to JDK_HOME\jre\bin
  3. Copy 'javax.comm.properties'to to JDK_HOME\jre\lib
  4. Copy 'comm.jar'to to JDK_HOME\jre\lib\ext

UEye

UEye je prumyslova kamera s USB rozhranim. Ovladace je mozno stahnout https://en.ids-imaging.com/download-ueye-win32.html. Ovladace bouzel nejsou na OSX.

Po nainstalovani ovladacu je mozno kameru otestovat prostrednictvim SW, ktery se nainstaluje spolecne s ovladaci. Ke kamere bohuzel neexistuji knihovny pro vyvoj vlastni aplikace v Jave. Nicmene existuji knihovny 3. strany, ktere poskytuji dostatecne nastroje pro praci s kamerou. Jedna se o knihovnu OpenCV (v podstate je to javovsky wrapper nad ceckovymi knihovnami).

Knihovna OpenCV je implementovana v projektu marklar-driver-modbus tridou OpenCVConnection. Vedle Mavenu

	<dependency>
		<groupId>org.javaopencvbook</groupId>
		<artifactId>opencvjar</artifactId>
		<version>3.0.0</version>
	</dependency>
 
	<repositories>
		<repository>
			<id>javaopencvbook</id>
			<url>https://raw.github.com/JavaOpenCVBook/code/maven2/</url>
		</repository>
	</repositories>

je treba mezi Source pridat nativni knihovny opencv_java300.dll

struktura/lbm/prerequisites.txt · Last modified: 2016/10/10 15:35 by jlochman