tdtool och www-data

Moderator: Telldus

Post Reply
Petfrogg
Posts: 19
Joined: Fri Mar 17, 2023 9:45 am

tdtool och www-data

Post by Petfrogg »

Hej!

Nu så får jag igång att skicka kommandon via konsolen i Linux. Dock när jag testar via min webserver så får jag självklart "Permission denied". Vilket är det bästa sättet att ge rätt rättigheter?
Bör man skapa en grupp som man kan kalla "tellstick" och lägga till www-data?

Som vanlig användare fungerar detta klockrent.
rfcmd /dev/tellstick "RISINGSUN" 4 1 0

Bör man använda tdtool istället för rfcmd?
Petfrogg
Posts: 19
Joined: Fri Mar 17, 2023 9:45 am

Re: tdtool och www-data

Post by Petfrogg »

körde
usermod -a -G plugdev www-data

så nu kan jag i konsolen som användaren www-data tända och släcka men inte via php i webbgränssnittet. Antar att det är ett litet steg på vägen.
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: tdtool och www-data

Post by micke.prag »

Kolla vad /dev/tellstick har för rättigheter.

Har du startat om webb-servern efter du lagt in användaren till gruppen?
Micke Prag
Software
Telldus Technologies
Petfrogg
Posts: 19
Joined: Fri Mar 17, 2023 9:45 am

Re: tdtool och www-data

Post by Petfrogg »

Jag hittade lösningen.

Problemet är att jag kör Tellstick i vmplayer Ubuntu med XP som host. Problemet låg i att när datorn gick in i vänteläge så kopplade XP ur saker för att spara ström - i och med Jul så har jag inte kunna sitta still vid datorn hela tiden. När jag startade upp den igen så blev det inte korrekt igen när enheterna kopplades in igen. Nu fungerar i alla fall rfcmd att kunna skicka signaler och jag kan börja koda.
Petfrogg
Posts: 19
Joined: Fri Mar 17, 2023 9:45 am

Re: tdtool och www-data

Post by Petfrogg »

Sitter och kodar för fullt och tänkte dela med mig av en liten kodbit. Denna kod gör lite snabba koller att ni har rätt behörigheter och tillgång till rätt kommandon på en linuxmaskin genom er webbläsare. Klistra in den i en php-fil och surfa till den sedan.

Code: Select all

<?php
	print "<pre>";
	$sUser = exec("whoami");
	$aGroups = explode(" ", exec("groups"));
	$aLsAl = explode(" ", exec("ls -al /dev/tellstick"));
	if($aLsAl[2] == 'root'){
		print '/dev/tellstick got right owner';
	}else{
		print '!!! Wrong owner on /dev/tellstick - should be "root"';
	}
	print "\n";
	if($aLsAl[0] == 'crw-rw----'){
		print '/dev/tellstick got right permissions';
	}else{
		print '!!! Wrong permissions on /dev/tellstick - should be "crw-rw----"';
	}
	print "\n";
	if(in_array($aLsAl[3], $aGroups)){
		print '"'.$sUser.'" is in the correct group';
	}else{
		print '!!! User is not in correct group - should be in "'.$aLsAl[3].'"'; 
	}
	print "\n";
	$aCommandPath = explode("/", exec("which rfcmd"));
	if(in_array("rfcmd", $aCommandPath)){
		print '"'.$sUser.'" can use the command';
	}else{
		print '!!! User does not have access to the command "rfcmd"';
	}
	print "</pre>";
?>
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: tdtool och www-data

Post by micke.prag »

Skriver du något som mer än du själv kommer använda kan jag rekommendera dig att inte skriva mot rfcmd utan istället tdtool.

rfcmd utvecklas inte längre av Telldus utan uppdateras endast genom patchar från tredje part. Det kommer heller inte vara möjligt att köra tillsammans med vår mjukvara från och med version 2.1.
Micke Prag
Software
Telldus Technologies
Petfrogg
Posts: 19
Joined: Fri Mar 17, 2023 9:45 am

Re: tdtool och www-data

Post by Petfrogg »

OK!

Då får jag byta över till till tdtool. I början skriver man ju mest för att ens få saker att funka så det är ju ett konstant ittererande. Dock får jag med de settingsen att saker fungerar - vilket är en bra start.

Kommer tdtool att kunna kompileras och packas statiskt? Jag misstänker att börjar jag kompilera qt-dev för min nslu2 så kommer det nog ta ett par dagar....
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: tdtool och www-data

Post by micke.prag »

telldus-core kräver inte qt längre, vilken version är det du bygger?
Micke Prag
Software
Telldus Technologies
Petfrogg
Posts: 19
Joined: Fri Mar 17, 2023 9:45 am

Re: tdtool och www-data

Post by Petfrogg »

Eftersom trunkversionen för 4 dagar sedan inte funka att installera så ladda jag ned branch 2.0.
Införskaffade en Nexa dimmer idag så jag ska lägga till dimmer funktionalitet till koden härnäst. Därefter borde jag nog börja skriva unittester...

Ganska många saker på min att göra lista så jag får se vilken ordning jag jobbar vidare på:
- Titta över namespace i php5 och se om jag inte kan namnge mina libbar bättre.
- Ajax koppla styrningen. Eventuellt bygger jag en loader som skickar ett exec kommando åt gången.
- skriva kod för att kunna köra tdtool också och då lär jag nog ge mig på att kompilera om telldus-core.
- unittester
- phpdoc
- databashantera enheterna samt skapa en LKS (Last-Known-State) då det finns chans att jag och en elektriker ska se över om vi inte kan bygga om en av de enheterna från Kjell & Co. Vi vill skapa "trappkopplingar".

Funderar på att beställa en Seagate Dockstar för att styra det hela. Har en NSLU2:a någonstans men den är lite svag när det kommer att hantera en LAMP.

Tack för all support! Kommer att behöva mera senare. :D
Jaxån
Posts: 199
Joined: Fri Mar 17, 2023 9:45 am

Re: tdtool och www-data

Post by Jaxån »

Behöver ni trappkopplingar?

Finns det inte fjärrkontroller som väggmonterade knappar? Om man då sätter dit sådanna, så kan de styra lampan de med. Annars så kan man ju låta datorn styra det helt, genom att sätta vanliga svagströmsknappar som man hänger på datorn. TexasInstrument har någon trevligt buss för sådant som användet två trådar (eller egentligen en signal och en jord, så det är tekniskt en entrådsbuss).

Allt beror på vad ni vill göra :)
Petfrogg
Posts: 19
Joined: Fri Mar 17, 2023 9:45 am

Re: tdtool och www-data

Post by Petfrogg »

TexasInstrument?

Var hittar man saker därifrån i Sverige? Hade tänkt att köra med touchskärmar i sedan för själva styrningen. Räcker ju i princip med att bara ha en i hallen innan man går ut för en dator har man ju alltid tillgänglig vid soffbordet och en vid sängen. :D

Har just inköpt Jula's 99 kr variant och just fått igång dem - jag kör med Nexas protokoll men är det bättre att köra med Proove? För och nackdelar?
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: tdtool och www-data

Post by micke.prag »

Petfrogg wrote:jag kör med Nexas protokoll men är det bättre att köra med Proove? För och nackdelar?
Det finns ingen skillnad då båda blir "arctech" bakom kulliserna.
Micke Prag
Software
Telldus Technologies
Jaxån
Posts: 199
Joined: Fri Mar 17, 2023 9:45 am

Re: tdtool och www-data

Post by Jaxån »

Petfrogg wrote:TexasInstrument?

Var hittar man saker därifrån i Sverige? Hade tänkt att köra med touchskärmar i sedan för själva styrningen. Räcker ju i princip med att bara ha en i hallen innan man går ut för en dator har man ju alltid tillgänglig vid soffbordet och en vid sängen. :D
Sorry, det var Dallas Semiconductor, i Texas :)

Det finns redan de som har använt entråds-bussen (1-wire) för att mäta temperatur och tryck här och i andra väderstationer. Har dock inte koll på exakt vilka som säljer dem, men Elfa borde ha dem. De dras med RJ11/RJ12 kablage.

Googla på "1-wire"
http://www.technotes.se/?p=26 Hur man använder en enhet under Linux samt var man hittar produkter i sverige.
http://en.wikipedia.org/wiki/1-Wire
http://owfs.org/ Filsystem för enheterna under Linux.
http://www.maxim-ic.com/products/1-wire/ Tillverkare av chip
http://1-wire.se/forum/ Svenskt forum
http://www.byggahus.se/forum/teknik/610 ... -wire.html Säljer
http://www.temperatur.nu/forum/post12397.html Forum och säljer
http://www.technotes.se/?p=26 Hur man använder en enhet under Linux
Post Reply