Kirjoittaja Aihe: Miten tehdä usb virtuaalinen sarjaportti com ? RATKAISTU  (Luettu 14493 kertaa)

ilu

  • Käyttäjä
  • Viestejä: 384
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #20 : 16.08.16 - klo:20.10 »
Ratkaisu on jo lähellä, nyt keksin pitää kirjoittaa joka kerta sudo su ja ./WatchPower1.09/WatchPower/WatchPower päätteeseen niin lähtee ohjelma käyntiin, annoin tuolle käynnistys skriptille oikeudet, mutta pitääkö noilla muillakin kansioilla ja tiedostoilla olla oikeudet ja saako niitä kaikkia kerralla vai pitääkö yksitellen antaa jokaiselle ?
Olisi vaan helpompaa kun lähtis suoraan ohjelma käyntiin ettei päätteessä tarvi laittaa noita rimpsuja.

Tälläiset tekstit laitto päätteeseen kun käynnisti päättestä, vai onko tässä jotain outoa ?

托盘启动!
文件不存在
Java HotSpot(TM) Client VM warning: You have loaded library /home/ilu/WatchPower1.09/WatchPower/jre/lib/i386/librxtxSerial.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Experimental:  JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
java.lang.ArrayIndexOutOfBoundsException: 25
   at cn.com.voltronic.solar.comusbprocessor.P30ComUSBProcessor.queryDefaultData(P30ComUSBProcessor.java:1814)
   at cn.com.voltronic.solar.system.ProtocolProcessorItem.getMatchProcess(ProcessorCategories.java:59)
   at cn.com.voltronic.solar.system.ProcessorCategories.getUsbMonitor(ProcessorCategories.java:120)
   at cn.com.voltronic.solar.work.SearchDevice.searchLocalUsb(SearchDevice.java:200)
   at cn.com.voltronic.solar.work.SearchDevice$SearchUsbDevice.run(SearchDevice.java:413)


kamara

  • Käyttäjä
  • Viestejä: 3031
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #21 : 16.08.16 - klo:21.05 »
托盘启动!
文件不存在

Englanniksi...
Lainaus
Tray start !
file does not exist

joonas60

  • Käyttäjä
  • Viestejä: 255
  • Tietotekniikan kanssa puuhastelua yli 30 vuotta
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #22 : 16.08.16 - klo:21.52 »
Onko sinulla ilu 32- vai 64-bittinen Lubuntu käytössä? Ajat 32-bittistä versiota WatchPowerista ?

Tuo varoitus tulee käsittääkseni siitä, että WatchPower yrittää käyttää 64-bittisessa ympäristössä 32-bittistä Java RXTX-kirjastoa.
terv. joonas60
Asus X4909F, Windows 10, WSL2-Ubuntu

ilu

  • Käyttäjä
  • Viestejä: 384
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #23 : 16.08.16 - klo:22.21 »
32 bittinen on lubuntu ja toi watchpower ohjelma, ikivanha läppäri niin ei sais edes 64 bittistä

joonas60

  • Käyttäjä
  • Viestejä: 255
  • Tietotekniikan kanssa puuhastelua yli 30 vuotta
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #24 : 16.08.16 - klo:22.48 »
Asenna repoista uudempi Java RXTX-kirjasto:
Koodia: [Valitse]
sudo apt-get install librxtx-javaPoista tai pistä jonnekin talteen vanha librxtxSerial.so-tiedosto ja luo softalinkki asentamaasi tiedostoon:
Koodia: [Valitse]
ln -s /usr/lib/jni/librxtxSerial.so ~/WatchPower1.09/WatchPower/jre/lib/i386/librxtxSerial.so

Edit: Toivottavasti tuo polku asennettuun librxtxSerial.so-tiedostoon on sama kuin kuin yllä. Sen voi tarkistaa esim. komennolla:
Koodia: [Valitse]
dpkg -L librxtx-java | grep librxtxSerial.so
Watchpower-ohjelman voi käynnistää myös näin:
Koodia: [Valitse]
sudo ~/WatchPower1.09/WatchPower/WatchPower

« Viimeksi muokattu: 16.08.16 - klo:23.04 kirjoittanut joonas60 »
terv. joonas60
Asus X4909F, Windows 10, WSL2-Ubuntu

ilu

  • Käyttäjä
  • Viestejä: 384
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #25 : 16.08.16 - klo:23.30 »
Juu ei se asentunu herjaa tuli, mut lähtee ohjelma käyntiin myös tuolla rivillä -> sudo ~/WatchPower1.09/WatchPower/WatchPower

Eli onko parasta lopettaa säätäminen ja käynnistää ohjelma aina päätteessä, vai voiko WatchPower skriptiin lisätä jonkuin rivin et lähtee siitä käyntiin kun valitsee suorita ?

skripti näyttää tälläiseltä

#!/bin/sh
#get current dir
userdir=$(cd "$(dirname "$0")"; pwd)
#access jre
chmod -R 774 $userdir/jre
#export PATH=.:$userdir/jre/bin
#class path that WatchPower is depended on
export CLASSPATH=.:$userdir/lib/commons-lang.jar:$userdir/lib/commons-logging.jar:$userdir/lib/derby.jar:$userdir/lib/dom4j-1.6.1.jar:$userdir/lib/iText-5.0.6.jar:$userdir/lib/iTextAsian.jar:$userdir/lib/jaxen-full.jar:$userdir/lib/jcommon-1.0.0-rc1.jar:$userdir/lib/jfreechart-1.0.0-rc1.jar:$userdir/lib/jpcap.jar:$userdir/lib/JTattoo.jar:$userdir/lib/jxl.jar:$userdir/lib/log4j-1.2.14.jar:$userdir/lib/mail.jar:$userdir/lib/RXTXcomm.jar:$userdir/lib/saxpath.jar:$userdir/lib/snmp4j-1.11.jar:$userdir/lib/SoftewareUpgrade.jar:$userdir/lib/spring-beans.jar:$userdir/lib/spring-core.jar:$userdir/lib/volModbus.jar:$userdir/lib/volUtil.jar:$userdir/lib/WatchPower.jar:
#Launch WhatchPower
cd $userdir
jre/bin/WatchPower cn.com.voltronic.solar.console.linux.LinuxWatchPower &

joonas60

  • Käyttäjä
  • Viestejä: 255
  • Tietotekniikan kanssa puuhastelua yli 30 vuotta
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #26 : 17.08.16 - klo:00.08 »
Juu ei se asentunu herjaa tuli, mut lähtee ohjelma käyntiin myös tuolla rivillä -> sudo ~/WatchPower1.09/WatchPower/WatchPower
Siis librxtx-java ei asennu? Mikä herja tulee? Kyllä se on ollut jakeluissa (universe) mukana buntuissa 12.04:sta lähtien, myös 32-bittinen.
terv. joonas60
Asus X4909F, Windows 10, WSL2-Ubuntu

ilu

  • Käyttäjä
  • Viestejä: 384
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #27 : 17.08.16 - klo:10.21 »
Kyllä se asentui eka komentorivi, mutta kun laitoin vanhan muualle talteen niin toinen komento softalinkki ei onnistunut, en muista sanatarkkaan jotain ei ole...mutta mihin toi librxtx-java sitten vaikuttaa ?
« Viimeksi muokattu: 17.08.16 - klo:10.24 kirjoittanut ilu »

joonas60

  • Käyttäjä
  • Viestejä: 255
  • Tietotekniikan kanssa puuhastelua yli 30 vuotta
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #28 : 17.08.16 - klo:11.49 »
Lainaus
Kyllä se asentui eka komentorivi, mutta kun laitoin vanhan muualle talteen niin toinen komento softalinkki ei onnistunut
Siirsitkö librxtxSerial.so kopioimalla se johonkin muualle? Tällöin hakemistoon jäi se alkuperäinen tiedosto, jolloin softalinkkiä ei voida luoda:

Koodia: [Valitse]
ln: failed to create symbolic link 'jre/lib/i386/librxtxSerial.so': File exists
Tai loit "kuollen" linkin (librxtxSerial.so ei ollutkaan siellä missä linkin luonnissa sanottiin), jolloin WatchPower antaa jotain tämmöistä viestiä:

Koodia: [Valitse]
Exception in thread "Thread-7" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
Tarkista polku komennolla:

Koodia: [Valitse]
dpkg -L librxtx-java | grep librxtxSerial.so
Poista väärä linkki ja luo uusi komennolla:

Koodia: [Valitse]
ln -s se/polku/minkä/dpkg/kertoi/librxtxSerial.so  ~/WatchPower1.09/WatchPower/jre/lib/i386/librxtxSerial.so
Lainaus
mutta mihin toi librxtx-java sitten vaikuttaa
Minusta tämä librxtx-java on koko homman pihvi, mutta voin olla toki väärässä. Aikoinaan kokeilin ohjelmoida Arduino Unoa Eclipse-ympäristössä, mutta Arduinon Serial Terminalin käyttö ei onnistunut ennen kuin asensin tuoreemman version librxtx-javasta. Arduino Unossa on samantapainen Serial USB-systeemi kuin tässä sinun laitteessa, mutta ei näitä kannata mennä vertailemaan tässä tapauksessa.

Edit: Tarkistin tuon Arduino-keissin. librxtxSerial.so-tiedostossa oli bugi, joka esti terminaalin toiminnan. Tuolloin joutui käyttämään epävirallista versiota librxtx-javasta, mutta nykyisin tuosta on korjattu versio olemassa suoraan Ubuntun jakeluissa.  Se herja, jonka ilu sai:
Koodia: [Valitse]
Java HotSpot(TM) Client VM warning: You have loaded library /home/ilu/WatchPower1.09/WatchPower/jre/lib/i386/librxtxSerial.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
ainakin minulla hävisi, kun kokeilin tuoreempaa versiota librxtxSerial.so WatchPowerin 32-bittisellä versiolla.
« Viimeksi muokattu: 17.08.16 - klo:12.18 kirjoittanut joonas60 »
terv. joonas60
Asus X4909F, Windows 10, WSL2-Ubuntu

ilu

  • Käyttäjä
  • Viestejä: 384
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #29 : 17.08.16 - klo:12.33 »
Mutta ohjelma toimii kuitenkin ihan ok, vain käynnistämisen joutuu tekemään päätteen kautta....tähän ei varmaan toi librxtx vaikuta ?

Tai on näissä sen verran eroa et win7 puolella tiedot päivittyy nopeammin kuin lubuntulla, varsinkin kun ottaa päivityksen sekunnin välein.

Niin ja sen verran vielä havaintoa et ohjelma antaa kummallakin käyttöjärjestelmällä kerran käynnistyksessä warning message -> communication restore mut homma pyörii silti
« Viimeksi muokattu: 17.08.16 - klo:13.03 kirjoittanut ilu »

joonas60

  • Käyttäjä
  • Viestejä: 255
  • Tietotekniikan kanssa puuhastelua yli 30 vuotta
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #30 : 17.08.16 - klo:13.19 »
Lainaus
Mutta ohjelma toimii kuitenkin ihan ok, vain käynnistämisen joutuu tekemään päätteen kautta....tähän ei varmaan toi librxtx vaikuta ?

Siis WatchPower toimii siten, että kommunikointi pelaa eli com.port plug and play näyttää portin ja data kulkee laitteelta? Hieno homma!

Jotenkin olin sinun viesteistäsi ymmärtäväni, ettei homma vielä toimi halutulla tavalla...

Lainaus
voiko WatchPower skriptiin lisätä jonkuin rivin et lähtee siitä käyntiin kun valitsee suorita ?
Jos ajattelt, että suoraan tiedostonhallinnasta graafisesti, niin ainakin tämän saa Ubuntussa toimimaan, mutta mitenkähän onnistuu Lubuntussa (eri tiedostonhallintasysteemi)? Tästä voisi tehdä ihan oman keskustelun, ei ihan ole otsikon mukainen kysymys.
terv. joonas60
Asus X4909F, Windows 10, WSL2-Ubuntu

ilu

  • Käyttäjä
  • Viestejä: 384
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ?
« Vastaus #31 : 17.08.16 - klo:14.24 »
Juu ei tullu vissiin tarpeeksi selvästi kirjoitettua et toimii, aloin vain ihmetellä tota kun päätteen kautta joutuu käynnistämään, mut ei se mitään ei toi iso vaiva ole.

Windowsin puolella tosiaan tiedot päivittyy nopeammin, tiedä sitten mistä johtuu, prosessori ei kuitenkaan käy kuin 12% mut ei taida olla järkevä enempiä säädellä vaikka jotain tiedoston puuttumista se herjaa käynnistyksessä niinkuin tuolla ylempänä lukee.

Mut suuret kiitokset neuvoista, pistän ratkaistuksi.

kamara

  • Käyttäjä
  • Viestejä: 3031
    • Profiili
Vs: Miten tehdä usb virtuaalinen sarjaportti com ? RATKAISTU
« Vastaus #32 : 17.08.16 - klo:14.51 »
Ei sen käynnistyskuvakkeen tekeminen ole kovinkaan suuri urakka.

Tee seuraavanmukainen teksti-tiedosto ja tallenna se .desktop-päätteisenä ja anna oikea Exec-käsky ja nimi (name) sille:
Koodia: [Valitse]
[Desktop Entry]
Version=1.0
Name=Tähän kuvakkeen otsikko
Comment=Tähän sisällöstä kertova kommentti
Exec=Tähän suorituskäsky
Terminal=false
Type=Application

Tuon sisältöinen saattaa toimia tai sitten ei. En nyt kerkeä testaamaan itse...