Access till Tellstick från Linux applikation

Moderator: Telldus

Post Reply
oddmar
Posts: 3
Joined: Fri Mar 17, 2023 9:45 am

Access till Tellstick från Linux applikation

Post by oddmar »

Hej!

Jag har installerat Tellstick och telldus-core på Linux, Fedora 9, enligt er instruktion. Det fungerar bra att kommunicera med "NEXA risingsun" på/av via rfcmd, efter uppdatering av /etc/udev/rules.d/99-tel...

Jag har en applikation som kör på Linux och nu vill jag utöka den med stöd för Tellstick. Jag länkar in stöd för "-llibftdi" och använder API:t beskrivet på http://www.intra2net.com/en/developer/l ... bftdi.html. Detta fungerar inte lika bra - jag lyckas göra en skrivning t ex "på" eller "av" en gång, men inte två eller fler gånger. Applikationen tappar kontakten med USB drivrutinen och Tellstick. För att få access till drivrutinen även som "user" har jag lagt till några extra regler utifrån "udevinfo /sys/classes/ttyUSB0 ..." och vidare för "ftdi_sio" osv, "MODE"=0666. Något är fel, för dessa regler gör att jag får en "ftdi_sio disconnected" under boot (dmesg) men möjliggör, som sagt, endast en skrivning till Tellstick. Om jag inte öppnar upp i udev (och kör som "user"), så får jag felmeddelanden att jag inte har tillräckliga rättigheter.

Fråga: Hur skall man skriva sina regler /etc/udev/rules.d/ för att få access till libftdi->ftdi_sio->Tellstick med "user" privilegier? FTDI chip är av typen RL.

Tacksam för svar!
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Access till Tellstick från Linux applikation

Post by micke.prag »

Finns det någon specifik anledning att du inte kan använda telldus-core istället för använda rfcmd?
Micke Prag
Software
Telldus Technologies
oddmar
Posts: 3
Joined: Fri Mar 17, 2023 9:45 am

Re: Access till Tellstick från Linux applikation

Post by oddmar »

Hej!

Tack för snabbt svar.

Jag använde bara "rfcmd" för att testa att installationen och kommunikationen med Tellstick fungerar, vilket ju fungerade bra. Mitt önskemål var att stödja Tellstick i min applikation och tänkte då att jag behöver ett väldokumenterat API mot drivrutinslagret. Jag valde då "libftdi"/"ftdi_sio" eftersom det verkade finnas tillgängligt och användes av "telldus-core" och "rfcmd" enligt TellStick installation - Linux? Stämmer inte det?

Jag förstod inte att det fanns ett programmerings API:t telldus-core. Hur ser det ut? Har ni någon dokumentation för detta så går det lika bra. Jag tänker mig t ex open, close, reset, read, write, ioctl samt att resurshanteringen klaras om flera trådar läser och skriver samtidigt.
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Access till Tellstick från Linux applikation

Post by micke.prag »

Läs mer här:
http://developer.telldus.se/doxygen/

Från och med version 2.1 (ej släppt) kommer det gå bra att flera processer ansluter samtidigt.
Micke Prag
Software
Telldus Technologies
oddmar
Posts: 3
Joined: Fri Mar 17, 2023 9:45 am

Re: Access till Tellstick från Linux applikation

Post by oddmar »

Hej igen,

Ja, det ser lovande ut. Hursomhelst, jag behöver nog en lathund för att använda SDK:t med Linux. Jag hittade bara något med WINAPI. Konkret undrar jag:

1) Vilken ".h-fil" skall jag inkludera i min Linuxapplikation för att få tillgång till API:t
2) Behöver jag kompilera ett lib eller, om inte, vilket lib skall jag länka med i min applikation om det installerades när jag installerade telldus-core?

Med förhoppning om snabbt svar igen.
Tack!
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Access till Tellstick från Linux applikation

Post by micke.prag »

oddmar wrote:1) Vilken ".h-fil" skall jag inkludera i min Linuxapplikation för att få tillgång till API:t

Code: Select all

#include <telldus-core.h>
oddmar wrote:2) Behöver jag kompilera ett lib eller, om inte, vilket lib skall jag länka med i min applikation om det installerades när jag installerade telldus-core?
Länka till libtelldus-core.so
Har du kompilerat själv bör både header och lib installeras under "make install". Har du intallerat från våra paket behöver du även installera dev-paketet

Code: Select all

gcc main.cpp -ltelldus-core

Ett bra exempel som du kan kolla på är tdtool som mer eller mindre bara är en wrapper till telldus-core:
http://developer.telldus.se/browser/tru ... l/main.cpp
Micke Prag
Software
Telldus Technologies
Post Reply