 |
 |
 |
 |
| PHP-GTK: Criando Aplicações Gráficas com PHP |
Adianti Framework para PHP |
PHP Programando com Orientação a Objetos |
Criando Relatórios com PHP |
Re: [PHP-GTK] Qual a melhor opção
João Borges
jb_designer2003 em yahoo.com.br
Quinta Dezembro 13 15:02:29 BRST 2007
Pessoal consegui !!!!!!
Cara, quando eu ouvi o som o som do modem discando deu um grito aqui !
(rsrs)
To vendo que as possibilidades do phpGTK são infinitas ! show de bola !
Só para constar, o que estava errado era que no final da string "ATDT" o
programa não estava enviando o ENTER.
Então coloquei chr(10) e chr(13). ficou assim: $string= "ATDT99999999" .
chr(10) . chr(13);
Vou postar o codigo como esta para quem quiser, acho que é bem util...
Por enquando ta bem crú, mas a partir de agora vou criar um programa mas
implementado e posto no site php-gtk.
Quero ver se consigo fazer um esquema para o php pegar o status tipo
"chamando", "ocupado", etc...
<?php
dl('php_gtk.'. PHP_SHLIB_SUFFIX);
$window =new GtkWindow();
$window->show_all();
$window->connect_object('destroy','sair');
$hbox=new GtkVBox();
$bot_on=new GtkButton('Dicar');
$bot_off=new GtkButton('Desligar');
$bot_on->connect_object('clicked','discar');
$bot_off->connect_object('clicked','desligar');
$hbox->add($bot_on);
$hbox->add($bot_off);
$window->add($hbox);
$window->show_all();
function abre_con(){
global $fp;
$fp = fopen("COM3:", "w"); #line 3
if (!$fp) {
echo "ERROR OPENING COM3 FOR READING AND WRITE.";
}else{
echo "conexao aberta\r\n";
}
}
function discar(){
global $fp;
$e = chr(10);
$ee = chr(13);
$string = "ATDT99999999" . $e . $ee;
echo $string;
fputs ($fp, $string);
}
function desligar(){
global $fp;
$e = chr(10);
$ee = chr(13);
$conteudo2 = "ATH" . $e . $ee;;
if (fwrite($fp, $conteudo2) === FALSE) {
echo "Não foi possível escrever no arquivo ($filename)";
exit;
}else{
echo "desligou\r\n";
}
}
function fecha_con(){
global $fp;
fclose($fp);
echo "conexao fechada\r\n";
}
function sair(){
fecha_con();
Gtk::main_quit();
}
abre_con();
Gtk::main();
?>
----- Original Message -----
From: "João Borges" <jb_designer2003 em yahoo.com.br>
To: "Comunidade Brasileira de PHP-GTK" <lista em php-gtk.com.br>
Sent: Thursday, July 12, 2001 3:55 AM
Subject: Re: [PHP-GTK] Qual a melhor opção
> Pow, to ficando meio desesperado já, porque direto pelo SHEL (MS_DOS) eu
> consigo fazer discar perfeitamente, só falta eu fazer o php...
> To quase lá, isso é que ta me agoniando.. rsrs
>
> No código abaixo ele abre a porta COM3, porém quando clico no botao DISCAR
> ele não da erro, mas tambem não disca... não tem como eu saber se ele esta
> mesmo enviando !
>
> Se alguem puder me ajudar eu agradeço
> Segue abaixo o codigo:
>
> <?php
> dl('php_gtk.'. PHP_SHLIB_SUFFIX);
> $window =new GtkWindow();
> $window->show_all();
> $window->connect_object('destroy','sair');
>
> $hbox=new GtkVBox();
>
> $bot_on=new GtkButton('Discar');
> $bot_off=new GtkButton('Desligar');
>
> $bot_on->connect_object('clicked','discar');
> $bot_off->connect_object('clicked','desligar');
>
> $hbox->add($bot_on);
> $hbox->add($bot_off);
>
> $window->add($hbox);
>
> $window->show_all();
>
> function abre_con(){
> global $fp;
>
> $fp = fopen("COM3:", "w+");
> if (!$fp) {
> echo "ERROR OPENING COM3 FOR READING AND WRITE.";
> }else{
> echo "conexao aberta\r\n";
> }
> }
>
> function discar(){
> global $fp;
> $conteudo = "ATDT99883954"; # ATDT + numero = comando do modem para
> iniciar
> e discar
> if (fwrite($fp, $conteudo) === FALSE) {
> echo "Não foi possível escrever no arquivo ($fp)";
> }else{
> echo "discou\r\n";
> }
> }
>
> function desligar(){
> global $fp;
> $conteudo2 = "ATH"; # ATH = como do modem para desligar
> if (fwrite($fp, $conteudo2) === FALSE) {
> echo "Não foi possível escrever no arquivo ($filename)";
> exit;
> }else{
> echo "desligou\r\n";
> }
> }
>
> function fecha_con(){
> global $fp;
> fclose($fp);
> echo "conexao fechada\r\n";
> }
>
> function sair(){
> fecha_con();
> Gtk::main_quit();
> }
>
> abre_con();
> Gtk::main();
> ?>
> ----- Original Message -----
> From: "Pablo Dall'Oglio" <pablo em dalloglio.net>
> To: "Comunidade Brasileira de PHP-GTK" <lista em php-gtk.com.br>
> Sent: Wednesday, December 12, 2007 4:14 PM
> Subject: Re: [PHP-GTK] Qual a melhor opção
>
>
>> Olá!
>>
>> Aqui já conectei com um dispositivo serial (teclado numérico), antes de
>> dar fopen, tinha que setar uma série de variáveis de ambiente com o
>> comando "stty" E outra, no linux funcionou, no windows não...
>>
>> esse foi o código que eu usei para ler conteúdo digitado de um teclado
>> numérico serial... ele utiliza funções de stream www.php.net/stream
>>
>> contrinua no final... com outra solução...
>>
>> <?php
>> $device = '/dev/ttyS0';
>> $baud = 2400;
>>
>> //init the serial port
>> system("stty -F $device cs8 $baud \
>> ignbrk \
>> -brkint \
>> -icrnl \
>> -imaxbel \
>> -opost \
>> -onlcr \
>> -isig \
>> -icanon \
>> -iexten \
>> -echo \
>> -echoe \
>> -echok \
>> -echoctl \
>> -echoke \
>> noflsh \
>> ixon \
>> -crtscts");
>>
>> $in = fopen ($device,"r");
>> socket_set_blocking($in,0);
>>
>> if (!$in) exit ("Could not open device [$device]. Running as
>> root?");
>>
>> $read[] = $in;
>> $write = array();
>> $except = array();
>>
>> //time out every 5 seconds in case the program wants to do some
>> action.
>> $tv_sec = 5;
>> while($char!=='#')
>> {
>> $nc = stream_select($read,$write,$except,$tv_sec);
>> foreach ($read as $handle)
>> {
>> $char = stream_get_contents($handle);
>> $aline.=$char;
>> echo $aline;
>> }
>> }
>> ?>
>>
>> se esse código não ajudar, encontrei esse site, que tem coisa mais
>> específica de windows:
>> http://www.phparch.com/discuss/index.php/m/2980/0/
>>
>> vc pode usar o comando MODE para definir atributos da conexão...
>>
>> <?php
>> $set_mode = "MODE COM1: BAUD=9600 PARITY=N DATA=8 STOP=1 TO=ON XON=OFF
>> ODSR=ON OCTS=ON DTR=ON RTS=ON IDSR=ON";
>> $output = array();
>> exec($set_mode, $output, $result);
>> ?>
>>
>> Em Qua, 2007-12-12 às 16:16 -0200, João Borges escreveu:
>>> Para escrever algo na porta LPT1 da impressora eu uso:
>>>
>>> $fp = fopen("lpt1", "w");
>>> fputs($fp, 'teste de impressão');
>>>
>>> Então tentei assim para abrir e enviar o comando para a porta COM3:
>>>
>>> $fp = fopen("COM3", "w");
>>> fputs($fp, 'ATDT22217783\r\n');
>>>
>>> Ele não da nenhum erro, mas tambem nao retorna nada... O pode estar
>>> errado ?
>>>
>>> ----- Original Message -----
>>> From: Guilherme Drago
>>> To: Comunidade Brasileira de PHP-GTK
>>> Sent: Wednesday, December 12, 2007 2:34 PM
>>> Subject: Re: [PHP-GTK] Qual a melhor opção
>>>
>>>
>>> tenta usar o fopen nar porta COM3...
>>>
>>> on linux funciona no win num sei...
>>> --
>>> www.dragoti.com.br
>>> Guilherme Drago
>>> Linux User : #455174
>>> Slackware 12 Kernel 2.6.23.9
>>> Apache 2.2.6
>>> PHP 5.2.5
>>> PostgreSql 8.2.5
>>>
>>>
>>> ______________________________________________________________
>>>
>>> _______________________________________________
>>> Lista mailing list
>>> Lista em php-gtk.com.br
>>> http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
>>> _______________________________________________
>>> Lista mailing list
>>> Lista em php-gtk.com.br
>>> http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
>> --
>> um abraço!
>> Pablo Dall'Oglio
>>
>>
>
>
> --------------------------------------------------------------------------------
>
>
> _______________________________________________
> Lista mailing list
> Lista em php-gtk.com.br
> http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
>
>
--------------------------------------------------------------------------------
_______________________________________________
Lista mailing list
Lista em php-gtk.com.br
http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
More information about the Lista
mailing list