API WOM 5000

Moderadores: SuporteIntelbras, Moderador

Alexandresousa2005
Registrado
Mensagens: 2
Registrado em: 16 Mai 2015, 10:44

API WOM 5000

Mensagem por Alexandresousa2005 »

Depois de um bom tempo estudando uma maneira de fazer uma api de monitoramento para este tipo de equipamento finalmente consegui termina e estou disponibilizando aqui para vocês.

A mesma funciona com a biblioteca ssh2 do php

intelbra_class.php

Código: Selecionar todos


<?php
/**
 * Autor: Alexandre sousa
 * E-mail: sousa.akira@gmail.com
 * Skyp:  Alexandresousa2005
 * Site: http://mkerp.net
 * Fone: (88) 9800-2111
 */
////////////////////////////////////////////////////////////////////////////////////////
function connect($server, $login, $password, $porta, $debug) {
	if($porta==""){
		$porta = 22;	
	}
	if (!function_exists("ssh2_connect")) die("ERRO: Biblioteca PHP SSH2 nao esta funcionando corretamente!");
	if(!($con = ssh2_connect($server, $porta))){
		if($debug=="true"){echo "ERRO: Nao foi possivel se conectar\n";}
	} else {
		if(!ssh2_auth_password($con, $login, $password)) {
			if($debug=="true"){echo "ERRO: usuario e senhas invalidos\n";}
		}
	return $con;
	}
}
	
function executa($cmd, $con, $debug){
	
	if (!($stream = ssh2_exec($con, $cmd ))) {
		if($debug=="true"){echo "ERRO: Nao foi possivel executar o comando\n";}
	} else {
		$errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
		stream_set_blocking($stream, true);
		$stream = stream_get_contents($stream);
		return $stream;
	}
	
	//echo $stream = ssh2_exec($con, $cmd )
	
}
?>

exemplo_de_uso.php

Código: Selecionar todos

<?php
/**
 * Autor: Alexandre sousa
 * E-mail: sousa.akira@gmail.com
 * Skyp:  Alexandresousa2005
 * Site: http://mkerp.net
 * Fone: (88) 9800-2111
 */
require 'intelbras_class.php';

		$host   = '10.0.0.1';
        $porta  = '22';
        $use    = 'admin';
        $senha  = 'admin';

        $conexao = connect($host, $use, $senha, $porta, "true");
        $retorno = executa("iwconfig ra0", $conexao, "true");
        $retorno = explode(' ',$retorno);

        $total = count($retorno);

        if($total == 133){
			$retorno = array(
                'ssid'          => str_replace('ESSID:', '', $retorno[10]),
                'rate'          => str_replace('Rate=', '', $retorno[43]),
                'qualidade'     => str_replace('Quality=', '', $retorno[85]),
                'sinal'         => str_replace('level:', '', $retorno[88]),
                'noice'         => str_replace('level:', '', $retorno[92])
            );
		}else{

            $retorno = array(
                'ssid'          => str_replace('ESSID:', '', $retorno[10]),
                'rate'          => str_replace('Rate=:', '', $retorno[28]),
                'qualidade'     => str_replace('Quality=:', '', $retorno[70]),
                'sinal'         => str_replace('level:', '', $retorno[73]),
                'noice'         => str_replace('level:', '', $retorno[77])
            );

		}

        echo '<pre>';
        print_r($retorno);
?>
Precisando de ajuda e só chamar

Atenciosamente

Alexandre Sousa
naldinhomoreira
Membro
Mensagens: 5
Registrado em: 03 Set 2015, 04:35

Re: API WOM 5000

Mensagem por naldinhomoreira »

Como funciona isso ?
sandrojr
Mensagens: 1
Registrado em: 20 Dez 2018, 23:52

Re: API WOM 5000

Mensagem por sandrojr »

Nas wom 5A mimo nao funciona o comando "iwconfig ra0"
Avatar do usuário
IntelbrasRedes
Administrador
Mensagens: 3389
Registrado em: 22 Mai 2015, 09:04

Re: API WOM 5000

Mensagem por IntelbrasRedes »

Alexandresousa2005 escreveu:Depois de um bom tempo estudando uma maneira de fazer uma api de monitoramento para este tipo de equipamento finalmente consegui termina e estou disponibilizando aqui para vocês.

A mesma funciona com a biblioteca ssh2 do php

intelbra_class.php

Código: Selecionar todos


<?php
/**
 * Autor: Alexandre sousa
 * E-mail: sousa.akira@gmail.com
 * Skyp:  Alexandresousa2005
 * Site: http://mkerp.net
 * Fone: (88) 9800-2111
 */
////////////////////////////////////////////////////////////////////////////////////////
function connect($server, $login, $password, $porta, $debug) {
	if($porta==""){
		$porta = 22;	
	}
	if (!function_exists("ssh2_connect")) die("ERRO: Biblioteca PHP SSH2 nao esta funcionando corretamente!");
	if(!($con = ssh2_connect($server, $porta))){
		if($debug=="true"){echo "ERRO: Nao foi possivel se conectar\n";}
	} else {
		if(!ssh2_auth_password($con, $login, $password)) {
			if($debug=="true"){echo "ERRO: usuario e senhas invalidos\n";}
		}
	return $con;
	}
}
	
function executa($cmd, $con, $debug){
	
	if (!($stream = ssh2_exec($con, $cmd ))) {
		if($debug=="true"){echo "ERRO: Nao foi possivel executar o comando\n";}
	} else {
		$errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
		stream_set_blocking($stream, true);
		$stream = stream_get_contents($stream);
		return $stream;
	}
	
	//echo $stream = ssh2_exec($con, $cmd )
	
}
?>

exemplo_de_uso.php

Código: Selecionar todos

<?php
/**
 * Autor: Alexandre sousa
 * E-mail: sousa.akira@gmail.com
 * Skyp:  Alexandresousa2005
 * Site: http://mkerp.net
 * Fone: (88) 9800-2111
 */
require 'intelbras_class.php';

		$host   = '10.0.0.1';
        $porta  = '22';
        $use    = 'admin';
        $senha  = 'admin';

        $conexao = connect($host, $use, $senha, $porta, "true");
        $retorno = executa("iwconfig ra0", $conexao, "true");
        $retorno = explode(' ',$retorno);

        $total = count($retorno);

        if($total == 133){
			$retorno = array(
                'ssid'          => str_replace('ESSID:', '', $retorno[10]),
                'rate'          => str_replace('Rate=', '', $retorno[43]),
                'qualidade'     => str_replace('Quality=', '', $retorno[85]),
                'sinal'         => str_replace('level:', '', $retorno[88]),
                'noice'         => str_replace('level:', '', $retorno[92])
            );
		}else{

            $retorno = array(
                'ssid'          => str_replace('ESSID:', '', $retorno[10]),
                'rate'          => str_replace('Rate=:', '', $retorno[28]),
                'qualidade'     => str_replace('Quality=:', '', $retorno[70]),
                'sinal'         => str_replace('level:', '', $retorno[73]),
                'noice'         => str_replace('level:', '', $retorno[77])
            );

		}

        echo '<pre>';
        print_r($retorno);
?>
Precisando de ajuda e só chamar

Atenciosamente

Alexandre Sousa
Olá Alexandresousa2005,

Obrigado pela contribuição.

Acredito que existe um pequeno erro na parte " 'noice' => str_replace('level:', '', $retorno[77])" o noice seria noise?
Nos colocamos a disposição.

--
Suporte Técnico Intelbras
(48) 2106-0006
Chat: www.intelbras.com.br/suporte.php
suporte@intelbras.com.br

Este é o seu espaço para se conectar com outros e compartilhar conhecimento.
Acesse: forum.intelbras.com.br
Avatar do usuário
IntelbrasRedes
Administrador
Mensagens: 3389
Registrado em: 22 Mai 2015, 09:04

Re: API WOM 5000

Mensagem por IntelbrasRedes »

sandrojr escreveu:Nas wom 5A mimo nao funciona o comando "iwconfig ra0"
Olá sandrojr,

Na família WOM 5A essa interface é tratada como ath0.
Nos colocamos a disposição.

--
Suporte Técnico Intelbras
(48) 2106-0006
Chat: www.intelbras.com.br/suporte.php
suporte@intelbras.com.br

Este é o seu espaço para se conectar com outros e compartilhar conhecimento.
Acesse: forum.intelbras.com.br
Responder

Voltar para “Família WOM”