Olá Comunidade
Sou novo no ACBr e estou tentando configurar minha aplicação.
Preciso imprimir etiquetas em uma impressora Elgin L-42, mas infelizmente não estou conseguindo.
Uso a última versão do ACBr Monitor, estou desenvolvendo em PHP e estou recebendo o seguinte erro :
ETQ.Ativo
ERRO: Comando invalido (ETQ.Ativo)
ETQ.Ativar
OK:
Eu gostaria de uma luz na situação pois acredito que o comando esteja certo, não entendo como ele pode não existir.
meu cód fonte é esse:
namespace App\Http\Controllers;
use Mike42\Escpos\Printer;
use Mike42\Escpos\PrintConnectors\WindowsPrintConnector;
use Mike42\Escpos\PrintConnectors\FilePrintConnector;
use Mike42\Escpos\CapabilityProfile;
use Mike42\Escpos\EscposImage;
use Illuminate\Http\Request;
use App\Classes\PHPSerial;
use App\Classes\ClientSocket;
class InicioController extends Controller
{
//
public function index(){
return view('index');
}
public function pesar(Request $request){
$file_path = public_path()."/acbr/entra/entra.txt";
//Ativo Balança?
$data_to_write = "BAL.Ativo";
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
sleep(1);
$file_saida = public_path()."/acbr/sai/entra-resp.txt";
$data_saida = file($file_saida);
$line_saida = $data_saida[count($data_saida)-1];
$ativo = substr($line_saida,4,4);
if($ativo == "True"){
//Le peso
$data_to_write = "BAL.LePeso(100)";
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
sleep(2);
unset($data_saida);
$data_saida = file($file_saida);
$line_saida = $data_saida[count($data_saida)-1];
$peso = substr($line_saida, 4, strlen($line_saida)-4);
//$peso = substr($line_saida, -4, strlen($line_saida)-4);
$peso = substr($peso, 0, -6);
//$peso = (double)$peso /** 0.100*/;
header("Content-type:application/json");
if(strlen($peso) == 7){
$peso = substr($peso, 0, 2);
}else if(strlen($peso) == 8){
$peso = substr($peso, 0, 3);
}else if(strlen($peso) == 9){
$peso = substr($peso, 0, 4);
}
echo $peso * 0.001;
exit;
}else{
//Ativar Balança
$data_to_write = "BAL.Ativar";
$file_path = public_path()."/acbr/entra/entra.txt";
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
sleep(1);
//Le peso
$data_to_write = "BAL.LePeso(100)";
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
sleep(2);
unset($data_saida);
$data_saida = file($file_saida);
$line_saida = $data_saida[count($data_saida)-1];
$peso = substr($line_saida, 4, strlen($line_saida)-4);
$peso = substr($peso, 0, -6);
//$peso = (double)$peso /** 0.100*/;
header("Content-type:application/json");
if(strlen($peso) == 7){
$peso = substr($peso, 0, 2);
}else if(strlen($peso) == 8){
$peso = substr($peso, 0, 3);
}else if(strlen($peso) == 9){
$peso = substr($peso, 0, 4);
}
echo $peso * 0.001;
exit;
}
}
public function gerarEtiqueta(Request $request){
if(isset($request->peso) and $request->peso != "" and !empty($request->peso)){
if(isset($request->produto) and $request->produto != "" and !empty($request->produto)){
switch ($request->produto) {
case "Long Drink":
break;
case "Caneca":
break;
case "Caldereta":
break;
case "Espiralado":
break;
case "Taças":
break;
default:
// code...
break;
}
}else{
$erro['erro'] = "Erro! Sem produto selecionado.";
}
$file_path = public_path()."/acbr/entra/entra.txt";
//Ativo etq?
$data_to_write = "ETQ.Ativo";
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
sleep(1);
$file_saida = public_path()."/acbr/sai/entra-resp.txt";
$data_saida = file($file_saida);
$line_saida = $data_saida[count($data_saida)-1];
$ativo = substr($line_saida,4,4);
echo $ativo;
if($ativo == "True"){
//Imprimir Etiqueta
$data_to_write = "ETQ.ImprimirTexto(0,4,1,1, 50, 240, Produto: ".$request->produto." ".$request->ml.")";
$data_to_write .= "\n".'ETQ.ImprimirTexto(0,4,1,1, 100, 240, Cor: '.$request->cor.')';
$data_to_write .= "\n"."ETQ.ImprimirTexto(0,4,1,1, 150, 240, Op.: ".$request->operador.")";
$data_to_write .= "\n"."ETQ.ImprimirTexto(0,4,1,1, 200, 240, Data: ".Date("d/m/Y").")";
$data_to_write .= "\n".'ETQ.ImprimirTexto(0,3,2,2, 250, 240, "Peso: '.$request->peso.' Kg")';
$data_to_write .= "\n"."ETQ.SetAvanco(2)";
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
sleep(1);
$data_to_write = "ETQ.Imprimir(1,2)";
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
echo $request->peso;
}else{
//Ativar Etiqueta
$data_to_write = "ETQ.Ativar";
$file_path = public_path()."/acbr/entra/entra.txt";
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
sleep(1);
//Ativo etq?
$data_to_write = "ETQ.Ativo";
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
sleep(1);
$file_saida = public_path()."/acbr/sai/entra-resp.txt";
$data_saida = file($file_saida);
$line_saida = $data_saida[count($data_saida)-1];
$ativo = substr($line_saida,4,4);
if($ativo == "True"){
//Imprimir Etiqueta
$data_to_write = "ETQ.ImprimirTexto(0,4,1,1, 50, 240, Produto: ".$request->produto." ".$request->ml.")";
$data_to_write .= "\n".'ETQ.ImprimirTexto(0,4,1,1, 100, 240, Cor: '.$request->cor.')';
$data_to_write .= "\n"."ETQ.ImprimirTexto(0,4,1,1, 150, 240, Op.: ".$request->operador.")";
$data_to_write .= "\n"."ETQ.ImprimirTexto(0,4,1,1, 200, 240, Data: ".Date("d/m/Y").")";
$data_to_write .= "\n".'ETQ.ImprimirTexto(0,3,2,2, 250, 240, "Peso: '.$request->peso.' Kg")';
$data_to_write .= "\n"."ETQ.SetAvanco(2)";
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
sleep(1);
$data_to_write = "ETQ.Imprimir(1,2)";
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
echo $request->peso;
}else{
echo $erro['erro'] = "Erro! Etiqueta desativada";
}
}
}else{
echo $erro['erro'] = "Erro! Sem Peso, por favor pese o produto antes.";
}
}
}