Fila
Integração com Guichê

Abaixo, descreveremos como ocorre a integração do GUICHÊ e o FILA.

O Guiche se integra através da porta 8095, onde a API recebe comando, e envia outros.

Comandos Enviados para Guichê

GUICHE

Este comando realiza a chamada de um dado numero de um grupo especifico.

Sintaxe:

GUICHE>[nro guiche]:[senha];

O NRO GUICHE – É o numero do atendente ou guiche.

SENHA – É a senha que será chamada.

Fila
Integração com Painel

>Portuguese Version< – English Version – Spanish Version – French Version – Deutsch Version

API de Integração

O Painel é uma aplicação que roda em android, e permite chamar os usuários.

Ela utiliza uma smart tv, ou tv box conectada a uma tv.

Porem usando o protocolo correto, qualquer aplicação pode simular as respostas, realizando a mesma função da TV BOX.

O objetivo deste documento, é detalhar o protocolo permitindo customizações.

Protocolo PAINEL

Ilustração de comunicação com API

O Painel permite ser integrado através de uma API simples.

Neste tutorial, descreveremos como realizar a integração no PAINEL.

O PAINEL sempre procura uma conexão no servidor pela porta 8096.

O PAINEL, solicita atualização a cada 300ms, repetindo a solicitação constantemente.

O Painel é uma conexão cliente, que sempre envia um comando ao servidor.

O Servidor é sempre a maquina localizada no IP 192.168.0.114 da rede local, em versões maiores que 1.2, é possível mudar o ip do servidor, dando um click no relógio.

Por isso, o servidor precisa ser fixado através de IP FIXO, em sua rede DHCP.

Este servidor, por sua vez pode responder, com comandos que serão interpretados por ele.

COMANDOS RESPONDIDOS PELO SERVIDOR

GUICHE

Este comando realiza a chamada de um dado numero de um grupo especifico.

Disponível a partir da versão 1.0

Sintaxe:

GUICHE>[nro guiche]:[senha];

Sintaxe do Comando

O NRO GUICHE – É o numero do atendente ou guiche.

SENHA – É a senha que será chamada.

GRUPO

Este comando realiza a modificação do label do grupo indicado.

Planejada a partir da versão 1.3

Sintaxe:

GRUPO>[nro grupo]:[texto];

Sintaxe do Comando

O NRO GRUPO- É o numero do Grupo que aparecerá no terminal

Texto- É o rótulo que será apresentado no terminal.

MSG

Este comando realiza a modificação do rotulo da mensagem.

Disponível a partir da versão 1.2

Sintaxe:

MSG>[texto];

sintaxe da mensagem

Texto- É a mensagem que será apresentado no terminal, no rodapé

NOW

Este comando realiza a verificação da proxima senha, onde verifica se houve mudança no servidor.

Sintaxe:

NOW;

sintaxe da mensagem

Syntax:

MSG>[text];

message syntax

Text- It is the message that will be displayed in the terminal, in the footer

NOW

This command performs the next password check, where it checks if there has been a change on the server.

Syntax:

NOW;

message syntax
Dicas ESCPOS Fila
Configurar a Elgin i9

O vídeo abaixo apresenta o processo de configuração da Elgin i9 em nosso sistema.

Descrição do Processo

Existem 2 formas de realizar a configuração do Elgin i9 em nosso sistema:

  • Baixar os fontes do fabricante
  • Instalar o Fila

Baixar os fontes do fabricante

Entre no site do Fabricante:

https://www.automacao.elgin.com.br/produto/impressora-i9

Baixe os drivers do windows.

Instale o driver, até o termino do processo

Entre em Configurações > Impressoras e Scanners, verifique se identificou sua impressora Elgin i9, mantenha ela como padrão.

Elgin i9, impressora padrão

Click em Gerenciar, na impressora Elgin i9

Imprimir pagina de teste

Click em imprimir uma página de teste.

Verifique se imprimiu corretamente a impressão.

Instalação através do instalador FILA

Entre no projeto FILA no github:

https://github.com/MarceloMaurin/fila/tree/master/bin/Fila/win

Baixe a ultima versão do binário de instalação.

Atenção:

O windows defender, não reconhece o aplicativo, pois o mesmo não é assinado. Pois se trata de um projeto gratuito. Desta forma é necessário aceitar a execução, ignorando o aviso.

A primeira etapa é a instalação do pacote de instalação. No caso do instalador do fila existem 3 tipos:

  • Instalador FILA com instalação do Elgin (Drivers)
  • Instalador FILA com instalação do POS58 (Drivers)
  • Instalador FILA apenas a aplicação.

Ao instalar, seguirá o menu, conforme figura abaixo:

Seleção do processo de instalação que será realizado

Selecione Avançar, conforme figura acima.

Próximo passo do instalador

Conforme figura abaixo, o instalador apresentará o que será realizado. Confirme as opções de instalação.

Agora click em Instalar, e aguarde o termino da instalação.

Nesta etapa o instalador começará a ser realizado.

Copiando os arquivos.

Agora será rodado o arquivo de configuração.

Instalação do Elgin e Pos58

Nesta etapa o instalador, chamará o arquivo de instalação do POS58 ou Elgini9, conforme sua solicitação.

Siga os passos indicados, ou em caso de dúvidas, chame um suporte especializado do fabricante.

Instalação do Elgin i9

Ao fim o instalador executará o FILA.

Fila Lazarus
Gerando assinatura no APK Lazarus

Ao gerar um aplicativo no lazarus, o mesmo nao assina digitalmente, porem existe este script que resolve o caso.

Para gerar uma assinatura no apk gerado pelo Lazarus é necessário rodar um script, irei passar este a seguir.

set jdkbindir=C:\Program Files\Java\jdk-11.0.9\bin
set APP_NAME=Painel
set Yourpassword=suasenha
set YourApp=Painel
set YourHavefunsoft=Maurinsoft
set Yourcompany=maurinsoft
set YourSigla=BR

del Painel.keystore
REM “%jdkbindir%”\keytool -genkey -v -keystore Painel.keystore -alias Painel -keyalg RSA -keysize 2048 -validity 10000

REM Generating on the fly a debug key
“%jdkbindir%\keytool” -genkeypair -v -keystore Painel.keystore -alias %YourApp% -keyalg RSA -validity 10000 -dname “cn=%YourHavefunsoft%, o=%Yourcompany%, c=%YourSigla%” -storepass “%Yourpassword%” -keypass “%Yourpassword%” -keysize 2048
REM Assinando APK
REM #del %APP_NAME%-armeabi-v7a-release-14.apk
“%jdkbindir%\jarsigner” -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore Painel.keystore -keypass %Yourpassword% -storepass %Yourpassword% -signedjar %APP_NAME%-desalinhado.apk %APP_NAME%-armeabi-v7a-release-14.apk Painel

REM Verificando assinatura
set jdkbindir=C:\Program Files\Java\jdk-11.0.9\bin
rem set APP_NAME=%APP_NAME%-desalinhado.apk

REM Signing the APK with a debug key
“%jdkbindir%\jarsigner” -verify -verbose -certs .\%APP_NAME%-desalinhado.apk

REM Alinhando APKset APP_NAME=testapp
set buildtoolsdir=C:\android\build-tools\28.0.2
REM Align the final APK package
%buildtoolsdir%\zipalign -p -f -v 4 .\%APP_NAME%-desalinhado.apk .\%APP_NAME%.apk

Arquivo para geração da assinatura do apk lazarus

No exemplo a cima, que chamaremos de gerar.bat

Sem categoria
Não vou parar

Vou continuar ajudando a comunidade open source.

Vou continuar trabalhando para deixar os ricos mais ricos,
porem como um médico trabalha em um hospital pago, e também faz trabalho voluntário para ajudar o próximo.
O programador, faz o mesmo, criando soluções de boa qualidade Open Source, de forma gratuita.

Quem compra software proprietário, é um publico diferente que adquire o livre.

O Software voluntário tem duas funções:
1) Apresentar competência, em um mundo de patentes.
2) Apresentar soluções práticas e simples para pessoas que normalmente estão fora da curva de consumo dos produtos pagos.

Software livre é uma forma de distribuir conhecimento e oportunidade de crescimento. Não retirar receita, empresas que pensam assim estão fadadas ao fracasso.

Não irei me calar, apesar de toda a injustiça.

Continuarei produzindo sempre com ferramentas open source, pois assim contribuo também, não só para deixar os ricos mais ricos, mas os pobres menos pobres.
Aos que me apoiaram nesse momento difícil, agradeço mais uma vez.
Empresas, acordem! Nunca se usou tanto software gratuito como se usa hoje, e as empresas nunca ganharam tanto.
Vamos divulgar essa ideia.

arduino C/C++ casa
Interface Nextion/ESP8266

Neste tópico, descreveremos o procedimento de comunicação entre o Nextion e o ESP8266.

Documentando suas saídas:

A interface Nextion, possui uma programação bem simples, que iremos documentar a seguir:

Ao criarmos cada botão na interface, criamos uma programação na IDE Nextion, onde o mesmo, envia dados pela serial, informando o comando que foi pressionado.

Desta forma criamos um protocolo mais simplificado, ignorando o protocolo do nextion.

Conforme vemos na figura acima, ao pressionar o botão INICIAR, temos o evento (Touch Press Event), com dois comandos:

prints “IROn”,4

printh 0A

fragmento do código do nextion

Estes comandos enviam pela serial, a informação do evento IROn, que será interpretado pela aplicação ESP8266.

Para cada botão, vinculamos o envio destes códigos. Permitindo assim, a fácil customização da aplicação por parte dos desenvolvedores.

Mensageria de Saída

São comandos de saída:

  • IROn – Liga Irrigação
  • IROff – Desliga Irrigação
  • S1On – Liga Iluminação Sala
  • S1Off – Desliga Iluminação Sala
  • P1On – Liga Bomba Piscina
  • P1Off – Desliga Bomba Piscina
  • P2On – Liga Iluminação
  • P2Off – Desliga iluminação
  • C1On – Liga Luz Corredor
  • C1Off – Desliga Luz Corredor
  • C2On – Liga o alarme
  • C2Off – Desliga o alarme
  • C3On – Liga o som ambiente
  • C3Off – Desliga o som ambiente

Eventualmente, a customização do ambiente do desenvolvedor será necessária, pois dificilmente uma casa é igual a outra.

Usando estas técnicas simples, é possível então com pouco esforço, customizar a interface, de forma mais dinâmica.

A aplicação ESP, apenas recebe a entrada do nextion, enviando para o servidor, ela não processa ou trata esta informação.

Desta forma, a criação de novos parâmetros no Nextion são automaticamente consolidados no ESP.

Parâmetros de entrada

O Nextion permite tambem, jogar informações dentro da tela.

Hoje a única informação povoada é a informação de hora.

A entrada de valores é feita através da associação de valores diretos.

Pois quando criamos um box, como o da hora, podemos dizer o valor que este possui, conforme exemplo abaixo:

hora.txt=”<hora atual>”

exemplo de entrada de dados

No código do Nextion, fazemos isso através da função Atualizahora.

void Atualizahora(){
char info[40];
char hora[20];
daysOfTheWeek[timeClient.getDay()],timeClient.getHours(),timeClient.getMinutes(),timeClient.getSeconds());
timeClient.getFormattedTime().toCharArray(hora, timeClient.getFormattedTime().length()+1);
sprintf(info,”hora.txt=%c%s%c%c%c%c”,0x22,hora,0x22,0xFF,0xFF,0xFF);
swSer.print(info);
}

fragmento de código do arduino

Também criamos uma interface genérica, para permitir que passemos informações texto, para qualquer box.

A função EntraTXT, permite atribuir valores para um box TXT.

O módulo ESP, será implementado com outras funções alem do TXT, porem em momento oportuno.

arduino
Configuração ESP8266 – Lolin

O ESP8266, Lolin, é o módulo ESP que iremos parametrizar hoje.

Pré-requisito

Para tanto, é necessário primeiro configurar o arduino para o lolin, para isso siga o passo abaixo:

http://maurinsoft.com.br/index.php/2021/04/28/configuracao-arduino-para-esp8266/

Passo 1

Procedimento, selecione o menu Ferramentas> Placa > ESP8266 Boards > Wemos D1 R1, conforme figura abaixo:

Pronto, voce já configurou o Lolin.

Passo 2

Agora é necessário, selecionar a porta COM foi criada para ele.

Conecte o Lolin na USB, através de um cabo micro USB A.

Cabo micro USB A

Passo 3

Ao conectar na USB, o seu PC criará uma porta serial, conforme figura abaixo:

Caso não o faça, instale o driver do controlador CH340, que pode ser baixado em:

https://sparks.gogo.co.nz/ch340.html

Passo 4

Agora iremos configurar a porta serial, selecione Ferramentas > Porta > Selecionando a porta que foi indicada no seu Gerenciador de dispositivos, dito no procedimento anterior.

Configuração de Porta Serial

No meu caso, selecionei a COM9, conforme figura acima.

Passo 5

Agora iremos programar a placa, para tanto duas ações são necessárias.

O Lolin, precisa estar preparado para receber a carga. Diferente do arduino, o lolin possui um modo de gravação.

Para ativar o modo de gravação, é necessário pressionar o botão RESET e o Flash.

Fazendo na seguinte sequencia:

  1. Mantenha pressionado o RST
  2. Mantenha pressionado o Flash
  3. Solte o RST
  4. Solte o Flash

Desta forma, você garante que o procedimento de carga de firmware será esperado pela placa.

Posição dos botões Flash e RST

Passo 6

Agora, por fim, iremos enviar a carga para o Lolin, clicando com nossa aplicação aberta no botão Carregar.

Botão Carregar

Caso, sua aplicação tenha qualquer problema de compilação, o procedimento não será completado, e o firmware não será enviado.

Em caso de necessidade de repetir o procedimento, deve-se repetir também o passo 5.

Bom pessoal, estes são os procedimentos necessários para programar o Lolin.

Boa sorte!

pt_BRPortuguese