Auteur Topic: USB-relaiskaart en Synology  (gelezen 3197 keer)

Offline fozed

  • Bedankjes
  • -Gegeven: 6
  • -Ontvangen: 0
  • Berichten: 10
USB-relaiskaart en Synology
« Gepost op: 10 augustus 2013, 11:19:34 »
Hallo,
Door mij is een USB-relaiskaart gekoppeld aan DS209 via tttyACM0.
Voor de seriele koppeling is gebruik gemaakt van een php-serial.class,  het geheel is te besturen via de Terminal (command line).
Daarna is een PHP-script gemaakt met hetzelfde doel dit script werkt.
Echter de uitvoering van het script relais3.php  door 1. Browser (apache) of 2. PHP geeft verschillende reactie.
Het PHP-script om relais 3 in te schakelen volgt hieronder
<?php
// Relais 3 inschakelen
// Foutmelding ==> serial.class
   
error_reporting(E_ALL);
   
ini_set('display_errors''1');

// Communicatie kanaal ==> USB-Kaart
require("./php_serial.class.php");

// Commando's ==> Settings USB-Kaart
   
$serial = new phpSerial;
   
$serial->deviceSet("/dev/ttyACM0");
   
$serial->confBaudRate(1200);
   
$serial->deviceOpen();

// Commando's ==> Functie besturing I/O USB-Kaart
   
$serial->sendMessage("O2=1" "\r");
   echo  
$serial->readPort();
   
$serial->deviceClose();
?>

Het stukje code dat het verschil op levert is hieronder weergegeven
                $this->_dHandle = @fopen($this->_device, $mode);
echo " Waarde Handle : " . $this->_dHandle . "<br />";
echo " Waarde device : " . $this->_device . "<br />";
echo " Waarde mode   : " . $mode . "<br />";
                if ($this->_dHandle !== false)
                {
                        stream_set_blocking($this->_dHandle, 0);
                        $this->_dState = SERIAL_DEVICE_OPENED;
                        return true;
                }
Uitgevoerde testen:
1. Browser starten
Adres http://IP-adres/smartcontroller/relais3.php
Reactie van de Browser
 Waarde Handle :
 Waarde device : /dev/ttyACM0
 Waarde mode : r+b
 Warning: Unable to open the device in /volume1/web/smartcontroller/php_serial.class.php on line 160

2 .Uitvoering vanuit Diskstation met PHP
DiskStation> php relais3.php
 Waarde Handle : Resource id #15<br />
 Waarde device : /dev/ttyACM0<br />
 Waarde mode   : r+b<br />

OK
DiskStation>
Einde uitgevoerde testen.
 
Hieruit blijkt dat het Commando " @fopen" uit de regel: " $this->_dHandle = @fopen($this->_device, $mode); " verschillende reactie geeft.
Uitvoering van programma met Browser krijgt de variabele "Handle" geen waarde (zie test 1).
Uitvoering met programma met PHP krijgt de variabele "Handle" de waarde "Resource id #15" (zie test 2).
Wat zou de oorzaak kunnen zijn?
Heeft iemand een hint die kan leiden tot oplossing?

Alvast bedankt voor reactie(s)

Offline fozed

  • Bedankjes
  • -Gegeven: 6
  • -Ontvangen: 0
  • Berichten: 10
Re: USB-relaiskaart en Synology
« Reactie #1 Gepost op: 28 september 2013, 10:41:17 »
Door read/write-rechten aan others te geven in bestand ttyACM0 is besturing op afstand mogelijk geworden.
Hiervoor is gebruik gemaakt van het command  ==>  chmod -R o+rw /dev/ttyACM0.
Hiermee is het probleem opgelost.

Fozed


 

Synology Event 2020 - 12/9/2019

Gestart door HutjeBoard Synology Awards & Reviews (NL)

Reacties: 30
Gelezen: 32617
Laatste bericht 01 oktober 2019, 20:05:42
door Hutje
VERPLAATST: Hikvision compatibel met Synology?

Gestart door BirdyBoard Aankoopadvies

Reacties: 0
Gelezen: 13189
Laatste bericht 31 oktober 2019, 14:03:45
door Birdy
Productiedatum Synology

Gestart door jlkBoard NAS hardware vragen

Reacties: 2
Gelezen: 1707
Laatste bericht 18 januari 2020, 22:21:52
door jlk
Kan pakketbron synology.nzbusenet.com niet toevoegen

Gestart door joostmanBoard 3rd party Packages

Reacties: 11
Gelezen: 5729
Laatste bericht 05 december 2020, 17:44:34
door Birdy
Synology Drive x64 variant?

Gestart door aliazzzBoard Cloud Station & Drive

Reacties: 1
Gelezen: 980
Laatste bericht 30 augustus 2020, 19:11:00
door Birdy