Mudanças entre as edições de "Fundamentação Teórica do Projeto - Processamento de Strings e acesso ao TinyWebDB usando o Scratch"
(Criou página com '= O acesso via Scratch = O ''Scratch'' na versão 1.4 não apresenta facilidades para acesso a um ''Web Database'' (''WebDB''). Para o desenvolvimento do Projeto Integrador, foi...') |
|||
(11 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 6: | Linha 6: | ||
#Baixe o programa scratch de [[Media:InterfaceWebDB.sb | InterfaceWebDB]]. | #Baixe o programa scratch de [[Media:InterfaceWebDB.sb | InterfaceWebDB]]. | ||
#Carregue o programa no Scratch. Você deve observar, uma mensagem de conexão com sensore remoto ativa. | #Carregue o programa no Scratch. Você deve observar, uma mensagem de conexão com sensore remoto ativa. | ||
− | #Baixe o arquivo java de [http://www.sj.ifsc.edu.br/~eraldo/PI1/InterWebDB.jar Programa Java] | + | #Baixe o arquivo java de [http://www.sj.ifsc.edu.br/~eraldo/PI1/InterWebDB.jar Programa Java InterWebDB v0.3] |
#Abra um terminal e vá até o diretório onde foi baixado o arquivo java. Execute-o com: | #Abra um terminal e vá até o diretório onde foi baixado o arquivo java. Execute-o com: | ||
java -jar InterWebDB.jar | java -jar InterWebDB.jar | ||
Linha 12: | Linha 12: | ||
Pronto, agora pode-se executar o programa ''Scratch''. Mas antes vamos entender um pouco do programa. O ''sprite'' InterfWevDB encapsula um código crítico de comunicação com o programa Java e expõe uma interface para outros scripts que podem ser acionados através de broadcast. O código desse sprite não deve ser modificado. Para demonstrar o funcionamento da comunicações com o WebDB foi disponibilizado um código no palco. | Pronto, agora pode-se executar o programa ''Scratch''. Mas antes vamos entender um pouco do programa. O ''sprite'' InterfWevDB encapsula um código crítico de comunicação com o programa Java e expõe uma interface para outros scripts que podem ser acionados através de broadcast. O código desse sprite não deve ser modificado. Para demonstrar o funcionamento da comunicações com o WebDB foi disponibilizado um código no palco. | ||
− | |||
==Apontando para a base de dados== | ==Apontando para a base de dados== | ||
− | O servidor WebDb se encontra em alguma máquina com endereço IP válido. Este endereço pode estar associado a um nome (nome de DNS). | + | O servidor WebDb se encontra em alguma máquina com endereço IP válido. Este endereço pode estar associado a um nome (nome de DNS). Para apontar para uma outra base de dados deve-se configurar o endereço da mesma usando o sinal setUrlWebDB. Para tanto, deve-se atribuir atribuir ao parâmetro ''par1WebDB'' o nome desejado ('''ifscengtelecom-pji1.appspot.com''). Em seguida, deve-se emitir o sinal ''setUrlWebDB'' com opção de espera (anuncie para todos e espere). |
− | + | [[Arquivo:setUrlWebDB.png]] | |
− | |||
==Acompanhando o conteúdo e atualizando a base de dados via browser== | ==Acompanhando o conteúdo e atualizando a base de dados via browser== | ||
− | Para operar e monitorar a base de dados via browser basta colocar a | + | Para operar e monitorar a base de dados via browser basta colocar a [[url do TinyWebDB]] |
+ | na barra de endereços. Clicar em ''store'' ou ''get'' para acessar uma ''tag'' específica. Quando deixar de usar alguma tag, use o comando [Delete] para apagá-la. | ||
==Lendo dados associados a um dado ''tag''== | ==Lendo dados associados a um dado ''tag''== | ||
− | Para ler um dado associado a um dado ''tag'' deve-se simplesmente atribuir ao parâmetro ''par1WebDB'' o nome do tag desejado e fazer um envio do sinal ''LerValorTagWebDB'' com opção de espera. | + | Para ler um dado associado a um dado ''tag'' deve-se simplesmente atribuir ao parâmetro ''par1WebDB'' o nome do tag desejado e fazer um envio do sinal ''LerValorTagWebDB'' com opção de espera. Após o acesso ao WebDB e recuperação do valor da Tag, o valor retornado estará disponível no parâmetro ''par1WebDB''. Caso haja erro de conexão será retornada uma mensagem de ERRO DE CONEXÃO dentro do parâmetro ''par1WebDB''. |
+ | |||
+ | Exemplo de uso: Como o seguinte código será obtido | ||
+ | |||
+ | [[Arquivo:LerValorTagWebDB.png]] | ||
+ | |||
+ | [[Arquivo:LerValorTagWebDBresp.png]] | ||
==Escrevendo dados associados a um dado ''tag'' == | ==Escrevendo dados associados a um dado ''tag'' == | ||
Linha 33: | Linha 38: | ||
Para escrever um dado basta colocar no ''par1WebDB'' o nome do tag desejado e no ''par2WebDB'' o nome do valor desejado. | Para escrever um dado basta colocar no ''par1WebDB'' o nome do tag desejado e no ''par2WebDB'' o nome do valor desejado. | ||
Deve-se então enviar o sinal EscreverValorTagWebDB e esperar. | Deve-se então enviar o sinal EscreverValorTagWebDB e esperar. | ||
+ | |||
+ | ==Processamento de Strings no Scratch== | ||
+ | |||
+ | Faça o download do [[Media:ExemploProcessamentoStrings.sb | Tutorial de Processamento de Strings]] e siga esse tutorial passo-a-passo para aprender como processar strings com Scratch. Observe que o sprite <tt>ProcStrings</tt> não deve ser alterado para processar a string. Esse sprite tem dois procedimentos <tt>listaSubitens</tt> e <tt>cortarLetras</tt>. | ||
+ | *O procedimentos <tt>listaSubitens</tt> separa uma string em subitens usando o carater separador escolhido, sendo ativado pelo envio da mensagem <anuncie (listaSubitens) para todos e espere>. | ||
+ | |||
+ | [[Arquivo:listaSubitens.png]] | ||
+ | *O procedimentos <tt>cortarLetras</tt> corta de uma string os caracteres centrais de acordo com os índices fornecidos, sendo ativado pelo envio da mensagem <anuncie (cortarLetras) para todos e espere>. | ||
+ | [[Arquivo:cortarLetras.png]] | ||
+ | |||
+ | <!--Para usar o sprite ProcStrings basta importar esse sprite para o seu código Scratch e chamar os procedimentos do -seu código (script). | ||
+ | |||
+ | *[[Media:SpriteProcStrings.sprite | Sprite ProcStrings]]--> | ||
+ | |||
+ | O sprite abaixo pode ser lido para dentro de um projeto e diretamente usado. | ||
+ | |||
+ | [[Media:ProcessamentoStrings.sb]] |
Edição atual tal como às 08h21min de 12 de julho de 2013
O acesso via Scratch
O Scratch na versão 1.4 não apresenta facilidades para acesso a um Web Database (WebDB). Para o desenvolvimento do Projeto Integrador, foi criado um sprite que permite acessar a WebDB de forma semelhante ao App Inventor. Um programa java auxiliar deve ser usado para viabilizar este acesso.
Para testar o acesso faça os seguintes passos:
- Baixe o programa scratch de InterfaceWebDB.
- Carregue o programa no Scratch. Você deve observar, uma mensagem de conexão com sensore remoto ativa.
- Baixe o arquivo java de Programa Java InterWebDB v0.3
- Abra um terminal e vá até o diretório onde foi baixado o arquivo java. Execute-o com:
java -jar InterWebDB.jar
Pronto, agora pode-se executar o programa Scratch. Mas antes vamos entender um pouco do programa. O sprite InterfWevDB encapsula um código crítico de comunicação com o programa Java e expõe uma interface para outros scripts que podem ser acionados através de broadcast. O código desse sprite não deve ser modificado. Para demonstrar o funcionamento da comunicações com o WebDB foi disponibilizado um código no palco.
Apontando para a base de dados
O servidor WebDb se encontra em alguma máquina com endereço IP válido. Este endereço pode estar associado a um nome (nome de DNS). Para apontar para uma outra base de dados deve-se configurar o endereço da mesma usando o sinal setUrlWebDB. Para tanto, deve-se atribuir atribuir ao parâmetro par1WebDB o nome desejado ('ifscengtelecom-pji1.appspot.com). Em seguida, deve-se emitir o sinal setUrlWebDB com opção de espera (anuncie para todos e espere).
Acompanhando o conteúdo e atualizando a base de dados via browser
Para operar e monitorar a base de dados via browser basta colocar a url do TinyWebDB na barra de endereços. Clicar em store ou get para acessar uma tag específica. Quando deixar de usar alguma tag, use o comando [Delete] para apagá-la.
Lendo dados associados a um dado tag
Para ler um dado associado a um dado tag deve-se simplesmente atribuir ao parâmetro par1WebDB o nome do tag desejado e fazer um envio do sinal LerValorTagWebDB com opção de espera. Após o acesso ao WebDB e recuperação do valor da Tag, o valor retornado estará disponível no parâmetro par1WebDB. Caso haja erro de conexão será retornada uma mensagem de ERRO DE CONEXÃO dentro do parâmetro par1WebDB.
Exemplo de uso: Como o seguinte código será obtido
Escrevendo dados associados a um dado tag
Para escrever um dado basta colocar no par1WebDB o nome do tag desejado e no par2WebDB o nome do valor desejado. Deve-se então enviar o sinal EscreverValorTagWebDB e esperar.
Processamento de Strings no Scratch
Faça o download do Tutorial de Processamento de Strings e siga esse tutorial passo-a-passo para aprender como processar strings com Scratch. Observe que o sprite ProcStrings não deve ser alterado para processar a string. Esse sprite tem dois procedimentos listaSubitens e cortarLetras.
- O procedimentos listaSubitens separa uma string em subitens usando o carater separador escolhido, sendo ativado pelo envio da mensagem <anuncie (listaSubitens) para todos e espere>.
- O procedimentos cortarLetras corta de uma string os caracteres centrais de acordo com os índices fornecidos, sendo ativado pelo envio da mensagem <anuncie (cortarLetras) para todos e espere>.
O sprite abaixo pode ser lido para dentro de um projeto e diretamente usado.