SlideShare ist ein Scribd-Unternehmen logo
1 von 99
Comunicação entre Java e
Arduino Utilizando o
Middleware Javino
• 1. Centro Federal de Educação Tecnológica (CEFET/RJ), Brasil
• 2. Universidade Federal Fluminense (UFF), Brasil
Vinicius Souza de Jesus 1
Fabian Cesar Pereira Brandão Manoel 1
Carlos Eduardo Pantoja 1,2
Leandro Marques Samyn 1,2
6 de Outubro de 2016
I Semana IEEE de Tecnologia
– CEFET/RJ – Campus
Maracanã
OUTLINE 1. Introdução
2. Usando o Arduino
3. Javino
4. Exemplos
5. Conclusão
Referências Bibliográficas
OUTLINE
2. Usando o Arduino
3. Javino
4. Exemplos
5. Conclusão
Referências Bibliográficas
4Comunicação entre Java e Arduino Utilizando o Middleware Javino
Por ser uma biblioteca dupla face, sua aplicação se estende tanto ao Java
como ao Arduino. Observe a imagem que define o esboço da conversa, onde o
Javino funciona como um tradutor de alto nível:
1. INTRODUÇÃO
5Comunicação entre Java e Arduino Utilizando o Middleware Javino
1. INTRODUÇÃO: OBJETIVOS
Objetivo Principal
• Expandir, para fins estudantis e de versatilidade, a plataforma de
comunicação, de forma a otimizar a integridade e o contexto das mensagens
enviadas ou recebidas, possibilitando também a recepção de conteúdos, não
só pelo java, mas também pelo arduino.
• Introduzir conceitos básicos de Arduino
• Introduzir conceitos básicos do Javino
Objetivo Secundário
6Comunicação entre Java e Arduino Utilizando o Middleware Javino
1. INTRODUÇÃO: KIT ARGO-JAVINO
OUTLINE 1. Introdução
3. Javino
4. Exemplos
5. Conclusão
Referências Bibliográficas
8Comunicação entre Java e Arduino Utilizando o Middleware Javino
2. ARDUINO
O Arduino é um componente que
une conceitos principalmente de
eletrônica e
programação, a fim de
facilitar a aplicação de
projetos tecnológicos.
9Comunicação entre Java e Arduino Utilizando o Middleware Javino
Seu componente principal é o
ATMEGA, um micro
controlador que atua como
cérebro do projeto a ser
implementado.
2. ARDUINO
10Comunicação entre Java e Arduino Utilizando o Middleware Javino
Sua parte elétrica possui todas as
aplicações necessárias para o funcionamento
e utilização dos recursos do ATMEGA. Suas
aplicações mais importantes são:
1- Filtragem de alimentação;
2- Conversão de sinal serial para USB;
3- Regulagem de frequência;
4- Botão Reset;
5- Conectores de sinais de entrada ou saída;
6- Conectores de alimentação;
2. ARDUINO
11Comunicação entre Java e Arduino Utilizando o Middleware Javino
Sua parte elétrica possui todas as
aplicações necessárias para o funcionamento
e utilização dos recursos do ATMEGA. Suas
aplicações mais importantes são:
1- Filtragem de alimentação;
2- Conversão de sinal serial para USB;
3- Regulagem de frequência;
4- Botão Reset;
5- Conectores de sinais de entrada ou saída;
6- Conectores de alimentação;
2. ARDUINO
12Comunicação entre Java e Arduino Utilizando o Middleware Javino
Sua parte elétrica possui todas as
aplicações necessárias para o funcionamento
e utilização dos recursos do ATMEGA. Suas
aplicações mais importantes são:
1- Filtragem de alimentação;
2- Conversão de sinal serial para USB;
3- Regulagem de frequência;
4- Botão Reset;
5- Conectores de sinais de entrada ou saída;
6- Conectores de alimentação;
2. ARDUINO
13Comunicação entre Java e Arduino Utilizando o Middleware Javino
Sua parte elétrica possui todas as
aplicações necessárias para o funcionamento
e utilização dos recursos do ATMEGA. Suas
aplicações mais importantes são:
1- Filtragem de alimentação;
2- Conversão de sinal serial para USB;
3- Regulagem de frequência;
4- Botão Reset;
5- Conectores de sinais de entrada ou saída;
6- Conectores de alimentação;
2. ARDUINO
14Comunicação entre Java e Arduino Utilizando o Middleware Javino
Sua parte elétrica possui todas as
aplicações necessárias para o funcionamento
e utilização dos recursos do ATMEGA. Suas
aplicações mais importantes são:
1- Filtragem de alimentação;
2- Conversão de sinal serial para USB;
3- Regulagem de frequência;
4- Botão Reset;
5- Conectores de sinais de entrada ou
saída;
6- Conectores de alimentação;
2. ARDUINO
15Comunicação entre Java e Arduino Utilizando o Middleware Javino
Sua parte elétrica possui todas as
aplicações necessárias para o funcionamento
e utilização dos recursos do ATMEGA. Suas
aplicações mais importantes são:
1- Filtragem de alimentação;
2- Conversão de sinal serial para USB;
3- Regulagem de frequência;
4- Botão Reset;
5- Conectores de sinais de entrada ou saída;
6- Conectores de alimentação.
2. ARDUINO
16Comunicação entre Java e Arduino Utilizando o Middleware Javino
2. SOFTWARE DO ARDUINO
Seu software é conhecido
como Arduino IDE e é
baseado na linguagem C.
17Comunicação entre Java e Arduino Utilizando o Middleware Javino
Este possui duas funções
obrigatórias:
1- setup: configura
funcionalidades de pré-
iniciação;
2- loop: repetição infinita do
código escrito;
2. SOFTWARE DO ARDUINO
18Comunicação entre Java e Arduino Utilizando o Middleware Javino
Codificando...
Escreva o seguinte código:
2. ARDUINO: CRIANDO UM PROJETO
19Comunicação entre Java e Arduino Utilizando o Middleware Javino
Compilando...
Compile no botão destacado.
Este botão irá verificar se o
programa contém erros de
sintaxe;
2. ARDUINO: CRIANDO UM PROJETO
20Comunicação entre Java e Arduino Utilizando o Middleware Javino
Compilando...
Erros de compilação são
exibidos na área inferior da IDE
do Arduino, indicando a causa do
problema. No exemplo abaixo, foi
identificado a falta de ponto e
vírgula como erro;
2. ARDUINO: CRIANDO UM PROJETO
21Comunicação entre Java e Arduino Utilizando o Middleware Javino
Ajustar...
Agora verifique se seu software
entregará o programa ao Arduino
correto. Primeiramente, vá em
Tools->Board e escolha a
versão da placa utilizada;
2. ARDUINO: CRIANDO UM PROJETO
22Comunicação entre Java e Arduino Utilizando o Middleware Javino
Ajustar...
Depois, vá em
Tools->Serial Port
e escolha a porta
COM que o
computador está
utilizando para
estabelecer a
comunicação com o
Arduino;
2. ARDUINO: CRIANDO UM PROJETO
23Comunicação entre Java e Arduino Utilizando o Middleware Javino
Ajustar...
Em caso de não conhecer
a porta de comunicação,
vá na barra de pesquisa
do Windows e digite
“gerenciador de
dispositivos”, ou apenas
realize o atalho +
“pause”, clique em
portas (COM e LPT) e
certifique-se do local do
driver do Arduino;
2. ARDUINO: CRIANDO UM PROJETO
24Comunicação entre Java e Arduino Utilizando o Middleware Javino
Carregar...
Caso a sintaxe esteja correta,
clique no botão destacado para
carregar o programa para a
memória do Arduino. Erros
durante o carregamento do
programa na placa também são
indicados no campo de status;
2. ARDUINO: CRIANDO UM PROJETO
25Comunicação entre Java e Arduino Utilizando o Middleware Javino
Na função setup, o
programador configura
parâmetros necessários para
iniciar a rotina de loop. Por
exemplo, os pinos de comando
devem ser definidas como
entrada ou saída de dados para
que o ATMEGA saiba se deve
escrever ou ler informações;
2. ARDUINO: PROGRAMANDO
26Comunicação entre Java e Arduino Utilizando o Middleware Javino
Na função loop, o programador
faz rotinas de execuções
infinitas, ou seja, ao chegar
no final da rotina, o sistema volta
ao início da função loop;
2. ARDUINO: PROGRAMANDO
27Comunicação entre Java e Arduino Utilizando o Middleware Javino
Algumas funções na programação
de microcontroladores são
essenciais para realizar o acionamento e
leitura de pinos, comunicações entre
dispositivos, etc. Por exemplo, o arduino
permite a escrita e a leitura
digital e a leitura analógica. Por
isso, existem os comandos
digitalWrite(pino, valor),
digitalRead(pino) e analogRead(pino);
2. ARDUINO: PROGRAMANDO
28Comunicação entre Java e Arduino Utilizando o Middleware Javino
Criando funções ...
2. ARDUINO: PROGRAMANDO
e procedimentos
29Comunicação entre Java e Arduino Utilizando o Middleware Javino
2. ARDUINO: PROJETO BLINK LED
30Comunicação entre Java e Arduino Utilizando o Middleware Javino
2. ARDUINO: PROJETO LÂMPADA
31Comunicação entre Java e Arduino Utilizando o Middleware Javino
2. ARDUINO: PROJETO LÂMPADA
32Comunicação entre Java e Arduino Utilizando o Middleware Javino
2. ARDUINO: PROJETO LM35
33Comunicação entre Java e Arduino Utilizando o Middleware Javino
2. ARDUINO: PROJETO LDR
OUTLINE 1. Introdução
2. Usando o Arduino
4. Exemplos
5. Conclusão
Referências Bibliográficas
35Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO
• O Javino é um protocolo que:
• Permite a troca de mensagem entre hardware e
linguagens de programação de alto nível;
• É composto por dupla biblioteca para comunicação serial;
• Provê detecção de erros através de uma rotina de verificação da
recepção de dados.
36Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO
• O Javino é um protocolo que:
• Permite a troca de mensagem entre hardware e linguagens de
programação de alto nível;
• É composto por dupla biblioteca para comunicação serial;
• Provê detecção de erros através de uma rotina de verificação da
recepção de dados.
37Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO
• O Javino é um protocolo que:
• Permite a troca de mensagem entre hardware e linguagens de
programação de alto nível;
• É composto por dupla biblioteca para comunicação serial;
• Provê detecção de erros através de uma rotina de
verificação da recepção de dados.
38Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: FORMATO DA MENSAGEM
39Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
3. JAVINO: FLUXO DA MENSAGEM
40Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
3. JAVINO: FLUXO DA MENSAGEM
41Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
3. JAVINO: FLUXO DA MENSAGEM
42Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
3. JAVINO: FLUXO DA MENSAGEM
43Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
3. JAVINO: FLUXO DA MENSAGEM
44Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
3. JAVINO: FLUXO DA MENSAGEM
45Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
3. JAVINO: FLUXO DA MENSAGEM
46Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
3. JAVINO: FLUXO DA MENSAGEM
47Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
3. JAVINO: FLUXO DA MENSAGEM
48Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
3. JAVINO: FLUXO DA MENSAGEM
49Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
3. JAVINO: FLUXO DA MENSAGEM
50Comunicação entre Java e Arduino Utilizando o Middleware Javino
RECEIVERSENDER
3. JAVINO: FLUXO DA MENSAGEM
Add the
preamble
Calculate the
size of the
content
Mount the
message
Send the
message
Verify the
preamble
Is Ok?
Discard
message
Verify the size
of the content
Is Ok?
Return the
content
Start
sending a
message
Finish
receiving a
message
End of the
processyes
yes
no
no
51Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: MODOS DE OPERAÇÃO
• Listen Mode
• Mensagens somente do hardware para o software
send a message in
every loop
get when it
wants
52Comunicação entre Java e Arduino Utilizando o Middleware Javino
• Request Mode
• do software para o hardware;
• o hardware responde com uma mensagem.
request a message
answer with a message
3. JAVINO: MODOS DE OPERAÇÃO
53Comunicação entre Java e Arduino Utilizando o Middleware Javino
• Send Mode
• do software para o hardware;
• o hardware executa uma ação.
send a
message
execute a low-
level command
3. JAVINO: MODOS DE OPERAÇÃO
54Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: PYTHON E PYSERIAL
• Embora o Python seja conhecido como linguagem de
programação orientada a objetos, o Javino utiliza ele e
o PySerial para comunicação de nível inferior com a
porta serial.
55Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
Para iniciar a comunicação em JAVA, cria-se a
instância Javino, que depende do caminho de instalação do
Python:
Javino j = new Javino
Sem parâmetro (): o Javino considera que o Python está
instalado na máquina no endereço Bash padrão.
com parâmetro (pathBash): o Javino considera que o
Python está instalado na máquina no endereço Bash
determinado pela String pathBash.
56Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
Além disso, o Javino fornece recursos de verificação, leitura e
escrita que são chamados nos seguintes métodos em java:
j.sendCommand(port, msg);
Envia uma mensagem de até 256 caracteres ao
Arduino. No caminho, o Javino forma o
preâmbulo e a indicação da
quantidade de caracteres de
mensagem. É retornado um boolean
indicando um feedback do desempenho da
comunicação.
Descrição
INDICA A PORTA DE ENTRADA DO
ARDUINO.
MENSAGEM A SER ENVIADA AO ARDUINO
LIGADO À PORTA DETERMINADA.
57Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
Além disso, o Javino fornece recursos ao Java que são
chamados nos seguintes métodos:
j.requestData(port, msg);
Método que captura uma mensagem vinda do
arduino e retorna true, caso a mensagem
esperada em argumento tenha chegado com
sucesso.
Descrição
INDICA A PORTA DE ENTRADA DO
ARDUINO.
MENSAGEM A SER ENVIADA AO ARDUINO
LIGADO À PORTA DETERMINADA.
58Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
Além disso, o Javino fornece recursos ao Java que são
chamados nos seguintes métodos:
j.listenArduino(port);
Retorna true, caso haja uma mensagem válida
enviada pelo arduino na porta onde o Javino está
esperando.
Descrição
INDICA A PORTA DO ARDUINO
ESCUTADA PELO JAVINO.
59Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
Além disso, o Javino fornece recursos ao Java que são
chamados nos seguintes métodos:
j.getData();
Método que pega a mensagem enviada pelo
arduino no formato String de até 256 caracteres.
Descrição
60Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
EXEMPLO:
● Obter o Python (https://www.python.org/);
● Obter o PySerial (http://pyserial.sf.net/);
● Adicionar a biblioteca Javino (http://javino.sf.net) para Java em seu projeto;
Para efetuar a aplicação Javino para Java, é
preciso:
61Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
EXEMPLO:
Em seu projeto, adicione a biblioteca javino para java:
62Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
EXEMPLO:
Em seu projeto, adicione a biblioteca javino para java:
63Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
EXEMPLO: programando...
64Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
EXEMPLO: programando...
65Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
EXEMPLO: programando...
66Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
EXEMPLO: programando...
67Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
Para iniciar a comunicação em ARDUINO:
• inclui-se a biblioteca Javino;
• cria-se uma variável do tipo Javino para manipulação da
comunicação com o Java;
• determina-se a velocidade da comunicação pela porta serial;
68Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
Além disso, o Javino fornece recursos de verificação, leitura
e escrita que são chamados nas seguintes funções Arduino:
Envia uma mensagem de até 256 caracteres ao Java.j.sendmsg(msg);
69Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM JAVA
Além disso, o Javino fornece recursos de verificação, leitura
e escrita que são chamados nas seguintes funções Arduino:
Retorna um boolean indicando se há mensagem válida
disponível no buffer de entrada.
j.availablemsg();
70Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM ARDUINO
Para efetuar a aplicação Javino pelo
Arduino, é preciso:
● Adicionar a biblioteca Javino (http://javino.sf.net) para Java em seu projeto;
● Em seu Hardware, durante a execução do código, de um capacitor entre o pino
reset e GND, que vem contido no Kit Javino;
71Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: APLICAÇÃO EM ARDUINO
EXEMPLO:
Em seu projeto, adicione a biblioteca Javino para
arduino:
72Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: IMPORTANDO O JAVINO NO ARDUINO
73Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: IMPORTANDO O JAVINO NO ARDUINO
74Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: REQUEST MODE NO ARDUINO + JAVA
Neste exemplo, o arduino
receberá mensagens externas e
executará uma determinada
tarefa e retornará com uma
resposta ao comandante.
Acionamento de Led
via Javino
75Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: REQUEST MODE NO ARDUINO + JAVA
Enviando o comando de ligar o
Led.
fffe 05 ligar
Pré-âmbulo para
verificação de
recebimento da
mensagem
Tamanho do
conteúdo a ser
enviado em
hexadecimal
Conteúdo a ser
enviado
76Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: REQUEST MODE NO ARDUINO + JAVA
Resultado do comando de ligar
o Led.
77Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: REQUEST MODE NO ARDUINO + JAVA
Comandando através de uma
interface gráfica em Java.
78Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: REQUEST MODE NO ARDUINO + JAVA
79Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: REQUEST MODE NO ARDUINO + JAVA
Resultado do botão ligar.
80Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: SEND MODE NO ARDUINO + JAVA
1 2
81Comunicação entre Java e Arduino Utilizando o Middleware Javino
3. JAVINO: LISTEN MODE NO ARDUINO + JAVA
OUTLINE 1. Introdução
2. Usando o Arduino
3. Javino
5. Conclusão
Referências Bibliográficas
83Comunicação entre Java e Arduino Utilizando o Middleware Javino
4. EXEMPLOS
• O Javino precisa ser programado em modo send e request na controladora
• Para cada led um procedimento de ativação deve ser programado em resposta a
um estímulo (modo send):
lightOn ativa
84Comunicação entre Java e Arduino Utilizando o Middleware Javino
• O Javino precisa ser programado em modo send e request na controladora
• Para cada led um procedimento de ativação deve ser programado em resposta a
um estímulo (modo send):
lightOn ativa
4. EXEMPLOS
85Comunicação entre Java e Arduino Utilizando o Middleware Javino
• O Javino precisa ser programado em modo send e request na controladora
• Para cada led um procedimento de ativação deve ser programado em resposta a
um estímulo (modo send):
lightOn ativa
4. EXEMPLOS
86Comunicação entre Java e Arduino Utilizando o Middleware Javino
• O Javino precisa ser programado em modo send e request na controladora
• Para cada led um procedimento de ativação deve ser programado em resposta a
um estímulo (modo send):
lightOn ativa
4. EXEMPLOS
87Comunicação entre Java e Arduino Utilizando o Middleware Javino
• Para isso, um procedimento de envio das percepções deve ser programado em
resposta a um estímulo getPercepts (modo request):
light(400);temperature(26);
getPercepts
4. EXEMPLOS
88Comunicação entre Java e Arduino Utilizando o Middleware Javino
• Para isso, um procedimento de envio das percepções deve ser programado em
resposta a um estímulo getPercepts (modo request):
light(400);temperature(26);
getPercepts
4. EXEMPLOS
89Comunicação entre Java e Arduino Utilizando o Middleware Javino
• Para isso, um procedimento de envio das percepções deve ser programado em
resposta a um estímulo getPercepts (modo request):
light(400);temperature(26);
getPercepts
4. EXEMPLOS
90Comunicação entre Java e Arduino Utilizando o Middleware Javino
• Para isso, um procedimento de envio das percepções deve ser programado em
resposta a um estímulo getPercepts (modo request):
light(400);temperature(26);
getPercepts
4. EXEMPLOS
91Comunicação entre Java e Arduino Utilizando o Middleware Javino
• Atenção para:
i. Remover a mensagem recebida pelo Javino a cada loop da controladora;
ii. Importar a biblioteca do Javino do lado do Arduino;
iii. Após a programação, colocar o capacitor no Arduino (+ no RESET e – no GND).
4. EXEMPLOS
92Comunicação entre Java e Arduino Utilizando o Middleware Javino
4. EXEMPLOS: LUBRAS
93Comunicação entre Java e Arduino Utilizando o Middleware Javino
4. EXEMPLOS: INTELIGÊNCIA ARTIFICIAL - AGENTES
OUTLINE 1. Introdução
2. Usando o Arduino
3. Javino
4. Exemplos
Referências Bibliográficas
95Comunicação entre Java e Arduino Utilizando o Middleware Javino
5. CONCLUSÃO
Neste mini-curso foi mostrado como se controlar um
Arduino através da utilização do protocolo do middleware
Javino.
Apesar deste fazer a comunicação entre a Linguagem
Java e o Arduino, é possível utilizá-lo para controlar
outros controladores como o PIC (usando o Javic).
O Javino foi desenvolvido inicialmente para realizar a
comunicação de percepções dos sensores para o ciclo de
raciocínio de agentes inteligentes cognitivos. Porém, este
pode ser usado em diversas áreas onde seja necessário
transmitir dados do hardware para o software.
OUTLINE 1. Introdução
2. Usando o Arduino
3. Javino
4. Exemplos
5. Conclusão
97Comunicação entre Java e Arduino Utilizando o Middleware Javino
REFERÊNCIAS BIBLIOGRÁFICA
•[Bordini et al. 2007] Bordini, R.H., Hubner, J.F., Wooldridge, M. Programming Multi-Agent Systems in
AgentSpeak Using Jason. John Wiley & Sons Ltd., 2007.
•[Bratman, 1987] Bratman, M. Intentions, Plans, and Practical Reason. Harvard University Press, 1987.
•[Guinelli et al., 2016] Guinelli, J. V. ; Junger, D. S. ; Pantoja, C. E. . An Analysis of Javino Middleware for Robotic
Platforms Using Jason and JADE Frameworks. In: Workshop-Escola de Sistemas de Agentes, Seus Ambientes e
Aplicações, Maceió. Anais do X Workshop-Escola de Sistemas de Agentes, seus Ambientes e Aplicações, 2016.
•[Huber, 1999]Huber MJ. Jam: a bdi-theoretic mobile agent architecture. In Proceedings of the third annual
conference on Autonomous Agents, AGENTS '99, pags. 236-243, New York, 1999
•[Lazarin and Pantoja, 2015] Lazarin, N.M., Pantoja, C.E. : A robotic-Agent Platform For Embedding Software
Agents Using Raspberry Pi and Arduino Boards. In: 9th Software Agents, Environments and Applications School,
2015
•[Pantoja et al., 2016] Pantoja, C. E.; Stabile Jr, M. F. ; Lazarin, N. M. ; Sichman, J. S. ARGO: A Customized Jason
Architecture for Programming Embedded Robotic Agents. In: Workshop on Engineering Multi-Agent Systems,
2016, Singapore. Proceedings of the Third International Workshop on Engineering Multi-Agent Systems (EMAS
2016), 2016.
98Comunicação entre Java e Arduino Utilizando o Middleware Javino
REFERÊNCIAS BIBLIOGRÁFICA
•[Rao 1996] Rao, A.S.: AgentSpeak(L): BDI agents speak out in a logical computable language. In: de
Velde,W.V., Perram, J.W. (eds.) Proceedings of the 7th European workshop on Modelling autonomous
agents in a multi-agent world. Lecture Notes in Artificial Intelligence, vol. 1038, pp. 42-55. Springer-Verlag,
Secaucus. USA, 1996.
•[Stabile Jr. and Sichman, 2015] Stabile Jr., M.F., Sichman, J.S. Evaluating Perception Filters In BDI Jason
Agents. In: 4th Brazilian Conference On Intelligent Systems, 2015.
•[Winikoff, 2005] Winikoff M. Jack intelligent agents: An industrial strength platform. Em Bordini R,
Dastani M, Dix J, Fallah AS, Weiss G, editors. Multi-Agent Programming, volume 15 of Multiagent
Systems, Articial Societies, and Simulated Organizations, pags. 175-193. Springer US, 2005.
•[Wooldridge, 2000] Wooldridge, M. Reasoning about rational agents. Intelligent robotics and
autonomous agents. MIT Press, 2000.
•[Wooldridge, 2009] Wooldridge M. An Introduction to MultiAgent Systems. John Wiley & Sons, 2009.
•[Zambonelli et al., 2001] Zambonelli F, Jennings NR, Omicini A, Wooldridge M. Agent-Oriented Software
Engineering for Internet Applications. In: Omicini A, Zambonelli F, Klusch M, Tolksdorf R, editors.
Coordination of Internet Agents. Springer Verlag; 2001. p.326-345, 2001
99Comunicação entre Java e Arduino Utilizando o Middleware Javino
AGRADECIMENTOS
OBRIGADO!
vinicius_gu_07@hotmail.com
fabiancpbm@gmail.com
pantoja@cefet-rj.br
leandro.samyn@cefet-rj.br

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to MPLAB IDE
Introduction to MPLAB IDEIntroduction to MPLAB IDE
Introduction to MPLAB IDEKarim El-Rayes
 
Introduction to the Arduino
Introduction to the ArduinoIntroduction to the Arduino
Introduction to the ArduinoWingston
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoFabio Souza
 
Introduction to Arduino Programming
Introduction to Arduino ProgrammingIntroduction to Arduino Programming
Introduction to Arduino ProgrammingJames Lewis
 
Arduino: On-board components description, IDE and Programming
Arduino: On-board components description, IDE and Programming Arduino: On-board components description, IDE and Programming
Arduino: On-board components description, IDE and Programming Pawan Dubey, PhD
 
Java para dispositivos móveis
Java para dispositivos móveisJava para dispositivos móveis
Java para dispositivos móveisJoão Gabriel Lima
 
Aula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresAula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresGilvan Latreille
 
Lesson sample introduction to arduino
Lesson sample   introduction to arduinoLesson sample   introduction to arduino
Lesson sample introduction to arduinoBetsy Eng
 
Introduction to fpga synthesis tools
Introduction to fpga synthesis toolsIntroduction to fpga synthesis tools
Introduction to fpga synthesis toolsHossam Hassan
 

Was ist angesagt? (20)

Introduction to MPLAB IDE
Introduction to MPLAB IDEIntroduction to MPLAB IDE
Introduction to MPLAB IDE
 
Informatica Básica - Sexta Básica
Informatica Básica - Sexta BásicaInformatica Básica - Sexta Básica
Informatica Básica - Sexta Básica
 
What is Bootloader???
What is Bootloader???What is Bootloader???
What is Bootloader???
 
Linguagem assembly
Linguagem assemblyLinguagem assembly
Linguagem assembly
 
Introduction to the Arduino
Introduction to the ArduinoIntroduction to the Arduino
Introduction to the Arduino
 
LÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVELLÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVEL
 
Bus ou Barramento
Bus ou BarramentoBus ou Barramento
Bus ou Barramento
 
Arduino course
Arduino courseArduino course
Arduino course
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - Introdução
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Formatando o computador
Formatando o computadorFormatando o computador
Formatando o computador
 
Introduction to Arduino Programming
Introduction to Arduino ProgrammingIntroduction to Arduino Programming
Introduction to Arduino Programming
 
Arduino: On-board components description, IDE and Programming
Arduino: On-board components description, IDE and Programming Arduino: On-board components description, IDE and Programming
Arduino: On-board components description, IDE and Programming
 
Java para dispositivos móveis
Java para dispositivos móveisJava para dispositivos móveis
Java para dispositivos móveis
 
Avarias & Resoluções
Avarias & ResoluçõesAvarias & Resoluções
Avarias & Resoluções
 
Aula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresAula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de Computadores
 
Vlsi testing
Vlsi testingVlsi testing
Vlsi testing
 
Lesson sample introduction to arduino
Lesson sample   introduction to arduinoLesson sample   introduction to arduino
Lesson sample introduction to arduino
 
Introduction to fpga synthesis tools
Introduction to fpga synthesis toolsIntroduction to fpga synthesis tools
Introduction to fpga synthesis tools
 
The IEEE 1149.1 Boundary-scan test standard
The IEEE 1149.1 Boundary-scan test standardThe IEEE 1149.1 Boundary-scan test standard
The IEEE 1149.1 Boundary-scan test standard
 

Andere mochten auch

Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasUtilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasCarlos Eduardo Pantoja
 
Java.ino - Plataforma de Programação para Arduino com Java
Java.ino - Plataforma de Programação para Arduino com JavaJava.ino - Plataforma de Programação para Arduino com Java
Java.ino - Plataforma de Programação para Arduino com JavaNewton Gomes
 
Introdução ao Framework Jason: Sistemas Multi-agentes na Prática
Introdução ao Framework Jason: Sistemas Multi-agentes na PráticaIntrodução ao Framework Jason: Sistemas Multi-agentes na Prática
Introdução ao Framework Jason: Sistemas Multi-agentes na PráticaCarlos Eduardo Pantoja
 
ARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents
ARGO - A Customized Jason Architecture for Programming Embedded Robotic AgentsARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents
ARGO - A Customized Jason Architecture for Programming Embedded Robotic AgentsCarlos Eduardo Pantoja
 
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...Carlos Eduardo Pantoja
 
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...Carlos Eduardo Pantoja
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladoresAlyson Cavalcante
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladoresDanilo Morais Pagano
 
Apostila de instrumentação_industrial_-_senai
Apostila de instrumentação_industrial_-_senaiApostila de instrumentação_industrial_-_senai
Apostila de instrumentação_industrial_-_senaijeff1989
 
Apostila automação sensores e atuadores ( cefet)
Apostila  automação sensores e atuadores ( cefet)Apostila  automação sensores e atuadores ( cefet)
Apostila automação sensores e atuadores ( cefet)Rogério Lopes Da Costa
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & TruquesÁlvaro Justen
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com ArduinoFelipe Martins
 

Andere mochten auch (20)

Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas RobóticasUtilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
Utilizando Sistemas Multi-agentes para a Programação de Plataformas Robóticas
 
Java.ino - Plataforma de Programação para Arduino com Java
Java.ino - Plataforma de Programação para Arduino com JavaJava.ino - Plataforma de Programação para Arduino com Java
Java.ino - Plataforma de Programação para Arduino com Java
 
Introdução ao Framework Jason: Sistemas Multi-agentes na Prática
Introdução ao Framework Jason: Sistemas Multi-agentes na PráticaIntrodução ao Framework Jason: Sistemas Multi-agentes na Prática
Introdução ao Framework Jason: Sistemas Multi-agentes na Prática
 
ARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents
ARGO - A Customized Jason Architecture for Programming Embedded Robotic AgentsARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents
ARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents
 
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
LuBras: Uma Arquitetura de um Dispositivo Eletrônico para a Comunicação LIBRA...
 
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o ...
 
2 aula do curso de automação
2 aula do curso de automação2 aula do curso de automação
2 aula do curso de automação
 
4 aula do curso de automação - Arduino
4 aula do curso de automação - Arduino4 aula do curso de automação - Arduino
4 aula do curso de automação - Arduino
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladores
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladores
 
3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino
 
Todos os tipos de sensores
Todos os tipos de sensoresTodos os tipos de sensores
Todos os tipos de sensores
 
Apostila de instrumentação_industrial_-_senai
Apostila de instrumentação_industrial_-_senaiApostila de instrumentação_industrial_-_senai
Apostila de instrumentação_industrial_-_senai
 
Apostila sensores
Apostila sensoresApostila sensores
Apostila sensores
 
Apostila automação sensores e atuadores ( cefet)
Apostila  automação sensores e atuadores ( cefet)Apostila  automação sensores e atuadores ( cefet)
Apostila automação sensores e atuadores ( cefet)
 
Trabalho sensores
Trabalho sensoresTrabalho sensores
Trabalho sensores
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & Truques
 
Sensores
SensoresSensores
Sensores
 
1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com Arduino
 

Ähnlich wie Comunicação entre Java e Arduino Utilizando o Middleware Javino

Programando Robôs Cognitivos Usando o ARGO
Programando Robôs Cognitivos Usando o ARGOProgramando Robôs Cognitivos Usando o ARGO
Programando Robôs Cognitivos Usando o ARGOCarlos Eduardo Pantoja
 
Robótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoRobótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoDomingosRodrigues16
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerGlobalcode
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDeviceRicardo Rufino
 
Slide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfSlide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfHenrique Alves
 
Apresentação pós tic
Apresentação   pós ticApresentação   pós tic
Apresentação pós ticThiago Melo
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoFátima Bernardes
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robóticaMarcelo Quinta
 
Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduinoWalter Coan
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino Edgley Xavier
 
Curso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdfCurso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdfTheoneAbove
 
oficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursooficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursoRodrigo Moraes Barbosa
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceRicardo Rufino
 
Sistema Aldeia: Mestre em Ciência da Computação (UFRGS 2005)
Sistema Aldeia: Mestre em Ciência da Computação (UFRGS 2005)Sistema Aldeia: Mestre em Ciência da Computação (UFRGS 2005)
Sistema Aldeia: Mestre em Ciência da Computação (UFRGS 2005)rrrighi
 
Manual da interface Focusrite Scartlett 2i4 (PORTUGUÊS)
Manual da interface Focusrite Scartlett 2i4 (PORTUGUÊS)Manual da interface Focusrite Scartlett 2i4 (PORTUGUÊS)
Manual da interface Focusrite Scartlett 2i4 (PORTUGUÊS)Habro Group
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetFabio Souza
 

Ähnlich wie Comunicação entre Java e Arduino Utilizando o Middleware Javino (20)

Programando Robôs Cognitivos Usando o ARGO
Programando Robôs Cognitivos Usando o ARGOProgramando Robôs Cognitivos Usando o ARGO
Programando Robôs Cognitivos Usando o ARGO
 
Manual lab ino
Manual lab inoManual lab ino
Manual lab ino
 
Robótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoRobótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando Arduino
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius Senger
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDevice
 
Slide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfSlide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdf
 
Aula prática 1 de Introdução à Programação com Arduino.
Aula prática 1 de Introdução à Programação com Arduino.Aula prática 1 de Introdução à Programação com Arduino.
Aula prática 1 de Introdução à Programação com Arduino.
 
Apresentação pós tic
Apresentação   pós ticApresentação   pós tic
Apresentação pós tic
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básico
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robótica
 
Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduino
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino
 
Curso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdfCurso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdf
 
oficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursooficina de robótica educativa plano de curso
oficina de robótica educativa plano de curso
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
Sistema Aldeia: Mestre em Ciência da Computação (UFRGS 2005)
Sistema Aldeia: Mestre em Ciência da Computação (UFRGS 2005)Sistema Aldeia: Mestre em Ciência da Computação (UFRGS 2005)
Sistema Aldeia: Mestre em Ciência da Computação (UFRGS 2005)
 
Manual da interface Focusrite Scartlett 2i4 (PORTUGUÊS)
Manual da interface Focusrite Scartlett 2i4 (PORTUGUÊS)Manual da interface Focusrite Scartlett 2i4 (PORTUGUÊS)
Manual da interface Focusrite Scartlett 2i4 (PORTUGUÊS)
 
Energia - MSP430
Energia - MSP430Energia - MSP430
Energia - MSP430
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da Internet
 

Mehr von Carlos Eduardo Pantoja

Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...Carlos Eduardo Pantoja
 
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI SystemsA Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI SystemsCarlos Eduardo Pantoja
 
An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...Carlos Eduardo Pantoja
 
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...Carlos Eduardo Pantoja
 
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Carlos Eduardo Pantoja
 
Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Carlos Eduardo Pantoja
 
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Carlos Eduardo Pantoja
 
LISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosLISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosCarlos Eduardo Pantoja
 
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Carlos Eduardo Pantoja
 
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Carlos Eduardo Pantoja
 
Instalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresInstalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresCarlos Eduardo Pantoja
 
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGODesenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGOCarlos Eduardo Pantoja
 
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Carlos Eduardo Pantoja
 
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasInside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasCarlos Eduardo Pantoja
 
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosSistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosCarlos Eduardo Pantoja
 
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonPrototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonCarlos Eduardo Pantoja
 
Introdução a Administração e a Economia
Introdução a Administração e a EconomiaIntrodução a Administração e a Economia
Introdução a Administração e a EconomiaCarlos Eduardo Pantoja
 
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Carlos Eduardo Pantoja
 
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...Carlos Eduardo Pantoja
 

Mehr von Carlos Eduardo Pantoja (20)

Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
Transporte de Agentes Cognitivos entre SMA Usando Framework Jason e o Middlew...
 
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI SystemsA Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
A Heterogeneous Architecture for Integrating Multi-Agent Systems in AmI Systems
 
An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...An Architecture for the Development of Ambient Intelligence Systems Managed b...
An Architecture for the Development of Ambient Intelligence Systems Managed b...
 
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
Transporte de Agentes Cognitivos entre SMA Distintos Inspirado nos Princípios...
 
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
Explorando a Comunicação entre Sistemas Multi-Agentes Embarcados em Ambientes...
 
Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)Questões de Concursos - Sistemas de Informação (Parte 1)
Questões de Concursos - Sistemas de Informação (Parte 1)
 
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
Integrating Multi-Agent Systems and Internet of Things To Support Ambient Int...
 
LISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas AutônomosLISA - Laboratório Inteligente de Sistemas Autônomos
LISA - Laboratório Inteligente de Sistemas Autônomos
 
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
Support for the Deployment of Ambient Intelligence Systems Managed by Cogniti...
 
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
Suporte à Implementação de Ambientes Inteligentes Gerenciados por Agentes Cog...
 
Instalação e Manutenção de Computadores
Instalação e Manutenção de ComputadoresInstalação e Manutenção de Computadores
Instalação e Manutenção de Computadores
 
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGODesenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
Desenvolvimento de Uma Smart Home Baseada na Arquitetura ARGO
 
ContextNet Middleware
ContextNet MiddlewareContextNet Middleware
ContextNet Middleware
 
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
Explorando o Transporte de Agentes Cognitivos entre Sistemas Multi-Agentes Di...
 
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas CustomizadasInside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
Inside Jason: Experiências no Desenvolvimento de Arquiteturas Customizadas
 
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos AntimicrobianosSistema de Controle de Justificativas de Medicamentos Antimicrobianos
Sistema de Controle de Justificativas de Medicamentos Antimicrobianos
 
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with JasonPrototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
Prototyping Ubiquitous Multi-Agent Systems: A Generic Domain Approach with Jason
 
Introdução a Administração e a Economia
Introdução a Administração e a EconomiaIntrodução a Administração e a Economia
Introdução a Administração e a Economia
 
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
Managing Natural Resources in a Smart Bathroom Using a Ubiquitous Multi-Agent...
 
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
Uma Plataforma para Programação de Agentes Robóticos Estendendo o Framework J...
 

Kürzlich hochgeladen

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Kürzlich hochgeladen (8)

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Comunicação entre Java e Arduino Utilizando o Middleware Javino

  • 1. Comunicação entre Java e Arduino Utilizando o Middleware Javino • 1. Centro Federal de Educação Tecnológica (CEFET/RJ), Brasil • 2. Universidade Federal Fluminense (UFF), Brasil Vinicius Souza de Jesus 1 Fabian Cesar Pereira Brandão Manoel 1 Carlos Eduardo Pantoja 1,2 Leandro Marques Samyn 1,2 6 de Outubro de 2016 I Semana IEEE de Tecnologia – CEFET/RJ – Campus Maracanã
  • 2. OUTLINE 1. Introdução 2. Usando o Arduino 3. Javino 4. Exemplos 5. Conclusão Referências Bibliográficas
  • 3. OUTLINE 2. Usando o Arduino 3. Javino 4. Exemplos 5. Conclusão Referências Bibliográficas
  • 4. 4Comunicação entre Java e Arduino Utilizando o Middleware Javino Por ser uma biblioteca dupla face, sua aplicação se estende tanto ao Java como ao Arduino. Observe a imagem que define o esboço da conversa, onde o Javino funciona como um tradutor de alto nível: 1. INTRODUÇÃO
  • 5. 5Comunicação entre Java e Arduino Utilizando o Middleware Javino 1. INTRODUÇÃO: OBJETIVOS Objetivo Principal • Expandir, para fins estudantis e de versatilidade, a plataforma de comunicação, de forma a otimizar a integridade e o contexto das mensagens enviadas ou recebidas, possibilitando também a recepção de conteúdos, não só pelo java, mas também pelo arduino. • Introduzir conceitos básicos de Arduino • Introduzir conceitos básicos do Javino Objetivo Secundário
  • 6. 6Comunicação entre Java e Arduino Utilizando o Middleware Javino 1. INTRODUÇÃO: KIT ARGO-JAVINO
  • 7. OUTLINE 1. Introdução 3. Javino 4. Exemplos 5. Conclusão Referências Bibliográficas
  • 8. 8Comunicação entre Java e Arduino Utilizando o Middleware Javino 2. ARDUINO O Arduino é um componente que une conceitos principalmente de eletrônica e programação, a fim de facilitar a aplicação de projetos tecnológicos.
  • 9. 9Comunicação entre Java e Arduino Utilizando o Middleware Javino Seu componente principal é o ATMEGA, um micro controlador que atua como cérebro do projeto a ser implementado. 2. ARDUINO
  • 10. 10Comunicação entre Java e Arduino Utilizando o Middleware Javino Sua parte elétrica possui todas as aplicações necessárias para o funcionamento e utilização dos recursos do ATMEGA. Suas aplicações mais importantes são: 1- Filtragem de alimentação; 2- Conversão de sinal serial para USB; 3- Regulagem de frequência; 4- Botão Reset; 5- Conectores de sinais de entrada ou saída; 6- Conectores de alimentação; 2. ARDUINO
  • 11. 11Comunicação entre Java e Arduino Utilizando o Middleware Javino Sua parte elétrica possui todas as aplicações necessárias para o funcionamento e utilização dos recursos do ATMEGA. Suas aplicações mais importantes são: 1- Filtragem de alimentação; 2- Conversão de sinal serial para USB; 3- Regulagem de frequência; 4- Botão Reset; 5- Conectores de sinais de entrada ou saída; 6- Conectores de alimentação; 2. ARDUINO
  • 12. 12Comunicação entre Java e Arduino Utilizando o Middleware Javino Sua parte elétrica possui todas as aplicações necessárias para o funcionamento e utilização dos recursos do ATMEGA. Suas aplicações mais importantes são: 1- Filtragem de alimentação; 2- Conversão de sinal serial para USB; 3- Regulagem de frequência; 4- Botão Reset; 5- Conectores de sinais de entrada ou saída; 6- Conectores de alimentação; 2. ARDUINO
  • 13. 13Comunicação entre Java e Arduino Utilizando o Middleware Javino Sua parte elétrica possui todas as aplicações necessárias para o funcionamento e utilização dos recursos do ATMEGA. Suas aplicações mais importantes são: 1- Filtragem de alimentação; 2- Conversão de sinal serial para USB; 3- Regulagem de frequência; 4- Botão Reset; 5- Conectores de sinais de entrada ou saída; 6- Conectores de alimentação; 2. ARDUINO
  • 14. 14Comunicação entre Java e Arduino Utilizando o Middleware Javino Sua parte elétrica possui todas as aplicações necessárias para o funcionamento e utilização dos recursos do ATMEGA. Suas aplicações mais importantes são: 1- Filtragem de alimentação; 2- Conversão de sinal serial para USB; 3- Regulagem de frequência; 4- Botão Reset; 5- Conectores de sinais de entrada ou saída; 6- Conectores de alimentação; 2. ARDUINO
  • 15. 15Comunicação entre Java e Arduino Utilizando o Middleware Javino Sua parte elétrica possui todas as aplicações necessárias para o funcionamento e utilização dos recursos do ATMEGA. Suas aplicações mais importantes são: 1- Filtragem de alimentação; 2- Conversão de sinal serial para USB; 3- Regulagem de frequência; 4- Botão Reset; 5- Conectores de sinais de entrada ou saída; 6- Conectores de alimentação. 2. ARDUINO
  • 16. 16Comunicação entre Java e Arduino Utilizando o Middleware Javino 2. SOFTWARE DO ARDUINO Seu software é conhecido como Arduino IDE e é baseado na linguagem C.
  • 17. 17Comunicação entre Java e Arduino Utilizando o Middleware Javino Este possui duas funções obrigatórias: 1- setup: configura funcionalidades de pré- iniciação; 2- loop: repetição infinita do código escrito; 2. SOFTWARE DO ARDUINO
  • 18. 18Comunicação entre Java e Arduino Utilizando o Middleware Javino Codificando... Escreva o seguinte código: 2. ARDUINO: CRIANDO UM PROJETO
  • 19. 19Comunicação entre Java e Arduino Utilizando o Middleware Javino Compilando... Compile no botão destacado. Este botão irá verificar se o programa contém erros de sintaxe; 2. ARDUINO: CRIANDO UM PROJETO
  • 20. 20Comunicação entre Java e Arduino Utilizando o Middleware Javino Compilando... Erros de compilação são exibidos na área inferior da IDE do Arduino, indicando a causa do problema. No exemplo abaixo, foi identificado a falta de ponto e vírgula como erro; 2. ARDUINO: CRIANDO UM PROJETO
  • 21. 21Comunicação entre Java e Arduino Utilizando o Middleware Javino Ajustar... Agora verifique se seu software entregará o programa ao Arduino correto. Primeiramente, vá em Tools->Board e escolha a versão da placa utilizada; 2. ARDUINO: CRIANDO UM PROJETO
  • 22. 22Comunicação entre Java e Arduino Utilizando o Middleware Javino Ajustar... Depois, vá em Tools->Serial Port e escolha a porta COM que o computador está utilizando para estabelecer a comunicação com o Arduino; 2. ARDUINO: CRIANDO UM PROJETO
  • 23. 23Comunicação entre Java e Arduino Utilizando o Middleware Javino Ajustar... Em caso de não conhecer a porta de comunicação, vá na barra de pesquisa do Windows e digite “gerenciador de dispositivos”, ou apenas realize o atalho + “pause”, clique em portas (COM e LPT) e certifique-se do local do driver do Arduino; 2. ARDUINO: CRIANDO UM PROJETO
  • 24. 24Comunicação entre Java e Arduino Utilizando o Middleware Javino Carregar... Caso a sintaxe esteja correta, clique no botão destacado para carregar o programa para a memória do Arduino. Erros durante o carregamento do programa na placa também são indicados no campo de status; 2. ARDUINO: CRIANDO UM PROJETO
  • 25. 25Comunicação entre Java e Arduino Utilizando o Middleware Javino Na função setup, o programador configura parâmetros necessários para iniciar a rotina de loop. Por exemplo, os pinos de comando devem ser definidas como entrada ou saída de dados para que o ATMEGA saiba se deve escrever ou ler informações; 2. ARDUINO: PROGRAMANDO
  • 26. 26Comunicação entre Java e Arduino Utilizando o Middleware Javino Na função loop, o programador faz rotinas de execuções infinitas, ou seja, ao chegar no final da rotina, o sistema volta ao início da função loop; 2. ARDUINO: PROGRAMANDO
  • 27. 27Comunicação entre Java e Arduino Utilizando o Middleware Javino Algumas funções na programação de microcontroladores são essenciais para realizar o acionamento e leitura de pinos, comunicações entre dispositivos, etc. Por exemplo, o arduino permite a escrita e a leitura digital e a leitura analógica. Por isso, existem os comandos digitalWrite(pino, valor), digitalRead(pino) e analogRead(pino); 2. ARDUINO: PROGRAMANDO
  • 28. 28Comunicação entre Java e Arduino Utilizando o Middleware Javino Criando funções ... 2. ARDUINO: PROGRAMANDO e procedimentos
  • 29. 29Comunicação entre Java e Arduino Utilizando o Middleware Javino 2. ARDUINO: PROJETO BLINK LED
  • 30. 30Comunicação entre Java e Arduino Utilizando o Middleware Javino 2. ARDUINO: PROJETO LÂMPADA
  • 31. 31Comunicação entre Java e Arduino Utilizando o Middleware Javino 2. ARDUINO: PROJETO LÂMPADA
  • 32. 32Comunicação entre Java e Arduino Utilizando o Middleware Javino 2. ARDUINO: PROJETO LM35
  • 33. 33Comunicação entre Java e Arduino Utilizando o Middleware Javino 2. ARDUINO: PROJETO LDR
  • 34. OUTLINE 1. Introdução 2. Usando o Arduino 4. Exemplos 5. Conclusão Referências Bibliográficas
  • 35. 35Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO • O Javino é um protocolo que: • Permite a troca de mensagem entre hardware e linguagens de programação de alto nível; • É composto por dupla biblioteca para comunicação serial; • Provê detecção de erros através de uma rotina de verificação da recepção de dados.
  • 36. 36Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO • O Javino é um protocolo que: • Permite a troca de mensagem entre hardware e linguagens de programação de alto nível; • É composto por dupla biblioteca para comunicação serial; • Provê detecção de erros através de uma rotina de verificação da recepção de dados.
  • 37. 37Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO • O Javino é um protocolo que: • Permite a troca de mensagem entre hardware e linguagens de programação de alto nível; • É composto por dupla biblioteca para comunicação serial; • Provê detecção de erros através de uma rotina de verificação da recepção de dados.
  • 38. 38Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: FORMATO DA MENSAGEM
  • 39. 39Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no 3. JAVINO: FLUXO DA MENSAGEM
  • 40. 40Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no 3. JAVINO: FLUXO DA MENSAGEM
  • 41. 41Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no 3. JAVINO: FLUXO DA MENSAGEM
  • 42. 42Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no 3. JAVINO: FLUXO DA MENSAGEM
  • 43. 43Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no 3. JAVINO: FLUXO DA MENSAGEM
  • 44. 44Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no 3. JAVINO: FLUXO DA MENSAGEM
  • 45. 45Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no 3. JAVINO: FLUXO DA MENSAGEM
  • 46. 46Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no 3. JAVINO: FLUXO DA MENSAGEM
  • 47. 47Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no 3. JAVINO: FLUXO DA MENSAGEM
  • 48. 48Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no 3. JAVINO: FLUXO DA MENSAGEM
  • 49. 49Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no 3. JAVINO: FLUXO DA MENSAGEM
  • 50. 50Comunicação entre Java e Arduino Utilizando o Middleware Javino RECEIVERSENDER 3. JAVINO: FLUXO DA MENSAGEM Add the preamble Calculate the size of the content Mount the message Send the message Verify the preamble Is Ok? Discard message Verify the size of the content Is Ok? Return the content Start sending a message Finish receiving a message End of the processyes yes no no
  • 51. 51Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: MODOS DE OPERAÇÃO • Listen Mode • Mensagens somente do hardware para o software send a message in every loop get when it wants
  • 52. 52Comunicação entre Java e Arduino Utilizando o Middleware Javino • Request Mode • do software para o hardware; • o hardware responde com uma mensagem. request a message answer with a message 3. JAVINO: MODOS DE OPERAÇÃO
  • 53. 53Comunicação entre Java e Arduino Utilizando o Middleware Javino • Send Mode • do software para o hardware; • o hardware executa uma ação. send a message execute a low- level command 3. JAVINO: MODOS DE OPERAÇÃO
  • 54. 54Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: PYTHON E PYSERIAL • Embora o Python seja conhecido como linguagem de programação orientada a objetos, o Javino utiliza ele e o PySerial para comunicação de nível inferior com a porta serial.
  • 55. 55Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA Para iniciar a comunicação em JAVA, cria-se a instância Javino, que depende do caminho de instalação do Python: Javino j = new Javino Sem parâmetro (): o Javino considera que o Python está instalado na máquina no endereço Bash padrão. com parâmetro (pathBash): o Javino considera que o Python está instalado na máquina no endereço Bash determinado pela String pathBash.
  • 56. 56Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA Além disso, o Javino fornece recursos de verificação, leitura e escrita que são chamados nos seguintes métodos em java: j.sendCommand(port, msg); Envia uma mensagem de até 256 caracteres ao Arduino. No caminho, o Javino forma o preâmbulo e a indicação da quantidade de caracteres de mensagem. É retornado um boolean indicando um feedback do desempenho da comunicação. Descrição INDICA A PORTA DE ENTRADA DO ARDUINO. MENSAGEM A SER ENVIADA AO ARDUINO LIGADO À PORTA DETERMINADA.
  • 57. 57Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA Além disso, o Javino fornece recursos ao Java que são chamados nos seguintes métodos: j.requestData(port, msg); Método que captura uma mensagem vinda do arduino e retorna true, caso a mensagem esperada em argumento tenha chegado com sucesso. Descrição INDICA A PORTA DE ENTRADA DO ARDUINO. MENSAGEM A SER ENVIADA AO ARDUINO LIGADO À PORTA DETERMINADA.
  • 58. 58Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA Além disso, o Javino fornece recursos ao Java que são chamados nos seguintes métodos: j.listenArduino(port); Retorna true, caso haja uma mensagem válida enviada pelo arduino na porta onde o Javino está esperando. Descrição INDICA A PORTA DO ARDUINO ESCUTADA PELO JAVINO.
  • 59. 59Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA Além disso, o Javino fornece recursos ao Java que são chamados nos seguintes métodos: j.getData(); Método que pega a mensagem enviada pelo arduino no formato String de até 256 caracteres. Descrição
  • 60. 60Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA EXEMPLO: ● Obter o Python (https://www.python.org/); ● Obter o PySerial (http://pyserial.sf.net/); ● Adicionar a biblioteca Javino (http://javino.sf.net) para Java em seu projeto; Para efetuar a aplicação Javino para Java, é preciso:
  • 61. 61Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA EXEMPLO: Em seu projeto, adicione a biblioteca javino para java:
  • 62. 62Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA EXEMPLO: Em seu projeto, adicione a biblioteca javino para java:
  • 63. 63Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA EXEMPLO: programando...
  • 64. 64Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA EXEMPLO: programando...
  • 65. 65Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA EXEMPLO: programando...
  • 66. 66Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA EXEMPLO: programando...
  • 67. 67Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA Para iniciar a comunicação em ARDUINO: • inclui-se a biblioteca Javino; • cria-se uma variável do tipo Javino para manipulação da comunicação com o Java; • determina-se a velocidade da comunicação pela porta serial;
  • 68. 68Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA Além disso, o Javino fornece recursos de verificação, leitura e escrita que são chamados nas seguintes funções Arduino: Envia uma mensagem de até 256 caracteres ao Java.j.sendmsg(msg);
  • 69. 69Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM JAVA Além disso, o Javino fornece recursos de verificação, leitura e escrita que são chamados nas seguintes funções Arduino: Retorna um boolean indicando se há mensagem válida disponível no buffer de entrada. j.availablemsg();
  • 70. 70Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM ARDUINO Para efetuar a aplicação Javino pelo Arduino, é preciso: ● Adicionar a biblioteca Javino (http://javino.sf.net) para Java em seu projeto; ● Em seu Hardware, durante a execução do código, de um capacitor entre o pino reset e GND, que vem contido no Kit Javino;
  • 71. 71Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: APLICAÇÃO EM ARDUINO EXEMPLO: Em seu projeto, adicione a biblioteca Javino para arduino:
  • 72. 72Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: IMPORTANDO O JAVINO NO ARDUINO
  • 73. 73Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: IMPORTANDO O JAVINO NO ARDUINO
  • 74. 74Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: REQUEST MODE NO ARDUINO + JAVA Neste exemplo, o arduino receberá mensagens externas e executará uma determinada tarefa e retornará com uma resposta ao comandante. Acionamento de Led via Javino
  • 75. 75Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: REQUEST MODE NO ARDUINO + JAVA Enviando o comando de ligar o Led. fffe 05 ligar Pré-âmbulo para verificação de recebimento da mensagem Tamanho do conteúdo a ser enviado em hexadecimal Conteúdo a ser enviado
  • 76. 76Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: REQUEST MODE NO ARDUINO + JAVA Resultado do comando de ligar o Led.
  • 77. 77Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: REQUEST MODE NO ARDUINO + JAVA Comandando através de uma interface gráfica em Java.
  • 78. 78Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: REQUEST MODE NO ARDUINO + JAVA
  • 79. 79Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: REQUEST MODE NO ARDUINO + JAVA Resultado do botão ligar.
  • 80. 80Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: SEND MODE NO ARDUINO + JAVA 1 2
  • 81. 81Comunicação entre Java e Arduino Utilizando o Middleware Javino 3. JAVINO: LISTEN MODE NO ARDUINO + JAVA
  • 82. OUTLINE 1. Introdução 2. Usando o Arduino 3. Javino 5. Conclusão Referências Bibliográficas
  • 83. 83Comunicação entre Java e Arduino Utilizando o Middleware Javino 4. EXEMPLOS • O Javino precisa ser programado em modo send e request na controladora • Para cada led um procedimento de ativação deve ser programado em resposta a um estímulo (modo send): lightOn ativa
  • 84. 84Comunicação entre Java e Arduino Utilizando o Middleware Javino • O Javino precisa ser programado em modo send e request na controladora • Para cada led um procedimento de ativação deve ser programado em resposta a um estímulo (modo send): lightOn ativa 4. EXEMPLOS
  • 85. 85Comunicação entre Java e Arduino Utilizando o Middleware Javino • O Javino precisa ser programado em modo send e request na controladora • Para cada led um procedimento de ativação deve ser programado em resposta a um estímulo (modo send): lightOn ativa 4. EXEMPLOS
  • 86. 86Comunicação entre Java e Arduino Utilizando o Middleware Javino • O Javino precisa ser programado em modo send e request na controladora • Para cada led um procedimento de ativação deve ser programado em resposta a um estímulo (modo send): lightOn ativa 4. EXEMPLOS
  • 87. 87Comunicação entre Java e Arduino Utilizando o Middleware Javino • Para isso, um procedimento de envio das percepções deve ser programado em resposta a um estímulo getPercepts (modo request): light(400);temperature(26); getPercepts 4. EXEMPLOS
  • 88. 88Comunicação entre Java e Arduino Utilizando o Middleware Javino • Para isso, um procedimento de envio das percepções deve ser programado em resposta a um estímulo getPercepts (modo request): light(400);temperature(26); getPercepts 4. EXEMPLOS
  • 89. 89Comunicação entre Java e Arduino Utilizando o Middleware Javino • Para isso, um procedimento de envio das percepções deve ser programado em resposta a um estímulo getPercepts (modo request): light(400);temperature(26); getPercepts 4. EXEMPLOS
  • 90. 90Comunicação entre Java e Arduino Utilizando o Middleware Javino • Para isso, um procedimento de envio das percepções deve ser programado em resposta a um estímulo getPercepts (modo request): light(400);temperature(26); getPercepts 4. EXEMPLOS
  • 91. 91Comunicação entre Java e Arduino Utilizando o Middleware Javino • Atenção para: i. Remover a mensagem recebida pelo Javino a cada loop da controladora; ii. Importar a biblioteca do Javino do lado do Arduino; iii. Após a programação, colocar o capacitor no Arduino (+ no RESET e – no GND). 4. EXEMPLOS
  • 92. 92Comunicação entre Java e Arduino Utilizando o Middleware Javino 4. EXEMPLOS: LUBRAS
  • 93. 93Comunicação entre Java e Arduino Utilizando o Middleware Javino 4. EXEMPLOS: INTELIGÊNCIA ARTIFICIAL - AGENTES
  • 94. OUTLINE 1. Introdução 2. Usando o Arduino 3. Javino 4. Exemplos Referências Bibliográficas
  • 95. 95Comunicação entre Java e Arduino Utilizando o Middleware Javino 5. CONCLUSÃO Neste mini-curso foi mostrado como se controlar um Arduino através da utilização do protocolo do middleware Javino. Apesar deste fazer a comunicação entre a Linguagem Java e o Arduino, é possível utilizá-lo para controlar outros controladores como o PIC (usando o Javic). O Javino foi desenvolvido inicialmente para realizar a comunicação de percepções dos sensores para o ciclo de raciocínio de agentes inteligentes cognitivos. Porém, este pode ser usado em diversas áreas onde seja necessário transmitir dados do hardware para o software.
  • 96. OUTLINE 1. Introdução 2. Usando o Arduino 3. Javino 4. Exemplos 5. Conclusão
  • 97. 97Comunicação entre Java e Arduino Utilizando o Middleware Javino REFERÊNCIAS BIBLIOGRÁFICA •[Bordini et al. 2007] Bordini, R.H., Hubner, J.F., Wooldridge, M. Programming Multi-Agent Systems in AgentSpeak Using Jason. John Wiley & Sons Ltd., 2007. •[Bratman, 1987] Bratman, M. Intentions, Plans, and Practical Reason. Harvard University Press, 1987. •[Guinelli et al., 2016] Guinelli, J. V. ; Junger, D. S. ; Pantoja, C. E. . An Analysis of Javino Middleware for Robotic Platforms Using Jason and JADE Frameworks. In: Workshop-Escola de Sistemas de Agentes, Seus Ambientes e Aplicações, Maceió. Anais do X Workshop-Escola de Sistemas de Agentes, seus Ambientes e Aplicações, 2016. •[Huber, 1999]Huber MJ. Jam: a bdi-theoretic mobile agent architecture. In Proceedings of the third annual conference on Autonomous Agents, AGENTS '99, pags. 236-243, New York, 1999 •[Lazarin and Pantoja, 2015] Lazarin, N.M., Pantoja, C.E. : A robotic-Agent Platform For Embedding Software Agents Using Raspberry Pi and Arduino Boards. In: 9th Software Agents, Environments and Applications School, 2015 •[Pantoja et al., 2016] Pantoja, C. E.; Stabile Jr, M. F. ; Lazarin, N. M. ; Sichman, J. S. ARGO: A Customized Jason Architecture for Programming Embedded Robotic Agents. In: Workshop on Engineering Multi-Agent Systems, 2016, Singapore. Proceedings of the Third International Workshop on Engineering Multi-Agent Systems (EMAS 2016), 2016.
  • 98. 98Comunicação entre Java e Arduino Utilizando o Middleware Javino REFERÊNCIAS BIBLIOGRÁFICA •[Rao 1996] Rao, A.S.: AgentSpeak(L): BDI agents speak out in a logical computable language. In: de Velde,W.V., Perram, J.W. (eds.) Proceedings of the 7th European workshop on Modelling autonomous agents in a multi-agent world. Lecture Notes in Artificial Intelligence, vol. 1038, pp. 42-55. Springer-Verlag, Secaucus. USA, 1996. •[Stabile Jr. and Sichman, 2015] Stabile Jr., M.F., Sichman, J.S. Evaluating Perception Filters In BDI Jason Agents. In: 4th Brazilian Conference On Intelligent Systems, 2015. •[Winikoff, 2005] Winikoff M. Jack intelligent agents: An industrial strength platform. Em Bordini R, Dastani M, Dix J, Fallah AS, Weiss G, editors. Multi-Agent Programming, volume 15 of Multiagent Systems, Articial Societies, and Simulated Organizations, pags. 175-193. Springer US, 2005. •[Wooldridge, 2000] Wooldridge, M. Reasoning about rational agents. Intelligent robotics and autonomous agents. MIT Press, 2000. •[Wooldridge, 2009] Wooldridge M. An Introduction to MultiAgent Systems. John Wiley & Sons, 2009. •[Zambonelli et al., 2001] Zambonelli F, Jennings NR, Omicini A, Wooldridge M. Agent-Oriented Software Engineering for Internet Applications. In: Omicini A, Zambonelli F, Klusch M, Tolksdorf R, editors. Coordination of Internet Agents. Springer Verlag; 2001. p.326-345, 2001
  • 99. 99Comunicação entre Java e Arduino Utilizando o Middleware Javino AGRADECIMENTOS OBRIGADO! vinicius_gu_07@hotmail.com fabiancpbm@gmail.com pantoja@cefet-rj.br leandro.samyn@cefet-rj.br