segunda-feira, 9 de novembro de 2015

Participação da Globalcode na MOSTRATEC 2015 em Novo Hamburgo-RS



 No período entre os dias 27 a 30 de Outubro de 2015, tivemos o honra de participar em parceria com a Intel, do evento chamado MOSTRATEC 2015 .

A Mostratec é uma feira de ciência e tecnologia realizada anualmente pela Fundação Liberato, na cidade de Novo Hamburgo, Rio Grande do Sul, Brasil. Destina-se à apresentação de projetos de pesquisa em diversas áreas do conhecimento humano, realizados por jovens cientistas do ensino médio e da educação profissional de nível técnico.

A Mostratec conta com a participação de projetos de pesquisa do Brasil e de vários países, além de eventos integrados como: SIET- Seminário Internacional de Educação Tecnológica, Mostratec Júnior, Robótica Educacional e atividades esportivas e culturais.

















Durante o evento fizemos várias demonstrações no stand da Intel de aplicações utilizando a placa Intel Galileo Gen 2 e envolvendo conceitos de robótica, sistemas de automação e sensoriamento.












































Também apresentamos workshops falando sobre a placa Intel Galileo para alunos e professores.
A ideia do workshop foi estimular o desenvolvimento e criatividade dos alunos e preparar os professores para orientá-los nessa tarefa.

Durante os workshops,  os alunos e professores tiveram à sua disposição computadores e robôs equipados com o Intel Galileo, permitindo a eles programar a forma como o robô interagia com o ambiente de diversas formas.














Na foto abaixo, vemos eles testando um dos exemplos em que o robô está com o código "medo de escuro".  Nesse modo o robô pode ser controlado usando uma simples lanterna.

Já demostrando a parte criativa, um dos alunos que participava do workshop inverteu a lógica e criou o robô Vampiro, que tinha um comportamento radical quando recebia luz. Tivemos também o robô Darth Vader que tocava a marcha imperial.









































No stand  da Intel, havia também uma brincadeira utilizando tablets com uma espécie de jogo caça níqueis, onde os participantes podiam ganhar brindes conforme o resultado.





Na foto abaixo temos a Fernanda Sato da Intel, sempre muito simpática, incentivando e dando apoio às pessoas para seguirem firmes com seus projetos independente das dificuldades que eles apresentem. 

  



Conclusão:

Fiquei muito impressionado com o tamanho do evento e com a diversidade dos projetos apresentados. Em algumas oportunidades que tive de circular nos corredores onde os projetos eram apresentados, pude ver a dedicação e criatividade dos alunos no desenvolvimento de cada detalhe, muitas vezes limitados pela parte financeira, mas que de forma criativa eles superavam.

Agradeço à Globalcode e à Intel pela oportunidade de participar do evento !


José Luiz Sanchez Lorenzo

sexta-feira, 31 de janeiro de 2014

Pi4j, Wiiring Pi e libpi4j.so - mais um problema resolvido no hackathon soujava da Campus Party 2014!

Ae galera,

Outro problema que enfrentamos foi para executar o pi4j no tomcat no raspberry para trocar o estado de portas digitais do Rpi. Por alguma razão, aplicativos tipo "main" que usam o pi4j não apresentaram este problema mas executando um servlet no tomcat isso acontece.

Basicamente a JVM não encontra o código nativo libpi4j.so ao executar o servlet que tenta chavear a porta digital do RPi e de fato eu não encontrei este arquivo na distribuição que fornecemos para o hackathon, bom começo!

A solução foi baixar o zip do pi4j, descompactamos ele e encontramos o libpi4j.so no pi4core directory. Copiamos o libpi4j.so para o diretório /home/pi/java/jdk1.8/jre/lib/ext e boa! Ops, também não deu certo.

Na tentativa seguinte demos permissão de execução com chmod 755 libpi4j.so e pronto, funfou. Nada grave, a pergunta é: porque funciona com apps java com método main? Seguir cenas do próximo capítulo!

Como acessar o Java Embedded Panel com Jersey Client facinho facinho! - Campus Party 2014

É assim bem simples, crie um projeto no NetBeans e depois adicione a biblioteca Jersey clicando com botão direito do mouse nas propriedades do projetos -> bibliotecas.

Ai copia e cola este código:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package embeddedpanel;

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;

/**
 *
 * @author root
 */
public class EmbeddedPanel {

    public static void main(String[] args) {
        System.out.println("External Temperature: " + getTemperature());
        System.out.println("Humidity            : " + getHumidity());
        System.out.println("Distance            : " + getDistance());
        System.out.println("Alcohol             : " + getAlcohol());
        setRGB(255, 0, 0);
        setRGB(0, 255, 0);
        setRGB(0, 0, 255);
    }

    public static void setRGB(int red, int green, int blue) {
        Client client = Client.create();
        WebResource webResource = client
                .resource("http://192.168.1.12:8080/things/red/" + red);
        ClientResponse response = webResource.accept("text/plain")
                .get(ClientResponse.class);
        if (response.getStatus() != 200) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + response.getStatus());
        }
        webResource = client
                .resource("http://192.168.1.12:8080/things/green/" + green);
        response = webResource.accept("text/plain")
                .get(ClientResponse.class);
        if (response.getStatus() != 200) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + response.getStatus());
        }
        webResource = client
                .resource("http://192.168.1.12:8080/things/blue/" + blue);
        response = webResource.accept("text/plain")
                .get(ClientResponse.class);
        if (response.getStatus() != 200) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + response.getStatus());
        }

    }

    public static float getTemperature() {
        Client client = Client.create();
        WebResource webResource = client
                .resource("http://192.168.1.11:8080/things/temp_out");
        ClientResponse response = webResource.accept("text/plain")
                .get(ClientResponse.class);
        if (response.getStatus() != 200) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + response.getStatus());
        }
        String output = response.getEntity(String.class);
        return Float.parseFloat(output);

    }

    public static float getHumidity() {
        Client client = Client.create();
        WebResource webResource = client
                .resource("http://192.168.1.11:8080/things/humidity");
        ClientResponse response = webResource.accept("text/plain")
                .get(ClientResponse.class);
        if (response.getStatus() != 200) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + response.getStatus());
        }
        String output = response.getEntity(String.class);
        return Float.parseFloat(output);

    }

    public static int getDistance() {
        Client client = Client.create();
        WebResource webResource = client
                .resource("http://192.168.1.11:8080/things/distance");
        ClientResponse response = webResource.accept("text/plain")
                .get(ClientResponse.class);
        if (response.getStatus() != 200) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + response.getStatus());
        }
        String output = response.getEntity(String.class);
        return Integer.parseInt(output);

    }

    public static int getAlcohol() {
        Client client = Client.create();
        WebResource webResource = client
                .resource("http://192.168.1.12:8080/things/alcohol");
        ClientResponse response = webResource.accept("text/plain")
                .get(ClientResponse.class);
        if (response.getStatus() != 200) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + response.getStatus());
        }
        String output = response.getEntity(String.class);
        return Integer.parseInt(output);
    }
}

E boa!

Ah, se estiver aqui na Campus não esqueca de entrar na rede WIFI do Embedded Panel:

WIFI: iot
PWD: iotiotiot

É assim bem simples começar a usar Internet of Things sem ter que soldar nem programar placas!

Boa Diversão,
Vinicius Senger

terça-feira, 17 de setembro de 2013

Java , Android e Raspberry Pi: Controlando a internet das coisas com a voz

Sabe aquelas crianças que estão sempre pensando em alguma coisa pra aprontar ? Então, elas crescem e ficam assim:  CRAZY.

Afinal de contas: I'm, you're, we're CRAZY.

No final de agosto a equipe Globalcode participou do QCon pela primeira vez e no Dia de Java na UFSCar pelo décima vez (pelas nossas contas)... apresentando mais uma demo inusitada.


Dessa vez a ideia foi controlar o robô, o ventilador e tudo que estiver plugado na central de automação com a voz utilizando uma aplicação Android.

Perdeu ? Então, assista o vídeo:


Android + Java + Raspberry Pi + Internet das Coisas from Globalcode on Vimeo.

Acompanhe as novidades no http://facebook.com/eletronlivre siga-nos no http://twitter.com/eletronlivre
!
Agora, se você quer colocar a mão na massa e desenvolver suas próprias ideías... venha aprender e praticar no ANDROID HACKING WEEKEND, dias 21 e 22 de Setembro na Globalcode com o instrutor Ricardo Ogliari!
http://www.globalcode.com.br/robotica/android-hacking-weekend

É isso ai pessoal!
[]s
Yara Senger
http://twitter.com/yarasenger
http://blog.globalcode.com.br/search/label/yara

quarta-feira, 11 de setembro de 2013

Pipoqueira com Raspberry Pi, Arduino, Java Embedded

I'm we're you're CRAZY! 

Este é o tema de mais um vídeo gravado pelo Vinicius Senger, as vesperas do TDC2013 São Paulo.

O projeto é bem diferente.
Um pipoqueira retrô automatizada. Na parte superior ele colocou um Raspberry Pi com Java Embedded, um Arduino e uma combi que tem o sistema de alto falantes que diz as instruções para o pipoqueiro. As luzes, motores da panela e aquecimento são controlados / automatizados!

Assista o vídeo, curta as fotos e venha comer uma boa pipoca na Globalcode em São Paulo nos minicursos gratuitos!


WE ARE CRAZY from Globalcode on Vimeo.

Curioso pra saber como é a pipoqueira "por dentro"?


Ficou interessado ? Quer aprender mais ?

Não perca o Android Hacking Weekend, e faça uma imersão no desenvolvimento Android com foco em Internet das Coisas! Dias 21 e 22 de Setembro na Globalcode SP. Mais informações:
http://www.globalcode.com.br/robotica/android-hacking-weekend

[]s
Yara Senger
twitter.com/yarasenger 

quarta-feira, 13 de fevereiro de 2013

Arduino, Java Embeeded e Raspeberry PI na Campus Party 2013

Esta edição da Campus Party foi muito especial.

Vinicius Senger, fundador da Globalcode e também da iniciativa EletronLivre apresentou seu último projeto, um robô com Arduino + Raspeberry PI com Java Embeeded para mais de 200 campuseiros super empolgados em conversar, programar e mostrar seus próprios projetos. 

Não participou da Campus Party e mesmo assim quer aproveitar a palestra ?



Mas, o melhor da Campus Party ainda estava por vir Pete Lomas, um dos criadores do Raspeberry PI apresentou uma palestra na sexta-feira no evento, uma oportunidade única de conversar com ele, mostrar nossos projetos e aumentar ainda mais a comunidade interessada em Raspeberry PI no Brasil.

Bruno Souza, que era um dos hosts do palco de desenvolvimento e extremamente envolvido com a Campus Party (não apenas no Brasil!)  nos apresentou Pete Lomas, que prontamente tirou duas camisetas infantis da sua mochila e deu para nossos filhos Maria e Rafael, que vestiram imediatamente.

O mais interessante é que mesmo estando apressado para outras reuniões com a imprensa ele foi extremamente gentil, olhou com curiosidade e fazendo diversas perguntas sobre o robô, e terminou a conversa despedindo-se com palavras muito gentis de agradecimento a todas as pessoas que estava ajudando a divulgar o Raspeberry PI.

 

Mas, a Campus Party não termina na Campus Party, e felizmente tem diversos efeitos colaterais. Esta semana fomos surpreendidos com um post do Pete Lomas com uma menção super bacana e algumas fotos nossas. Thank you Pete Lemos!

Agradecimetos: Sim, muita gente pra agradecer!

É isso ai, agradeço aos amigos Bruno Souza e David Ruiz  pela oportunidade especial que nós do SouJava tivemos (Otavio Santana, Mauricio Leal e vários outros colaboradores)  de participar da organização da trilha de desenvolvimento e da realiação do curso Java. Parabéns também para o instrutor Ricardo Ogliari e Thiago Vespa pelas apresentações sobre Android e TV Digital com Java durante a Campus Party.

Mais agradecimentos a Renata Nobre da trilha de SoftwareLivre aonde sorteamos entradas para o TDC2013 e para os cursos online de Android e Desenvolvimento Web com Java EE!

Ah, e falta um agradecimento especial a Janete Longo que tirou estas fotos lindas e teve a extrema delicadeza de compartilhar conosco. 

Um abraço, e fica a dica: quem não foi, perdeu. Eu confesso que perdi muito... mas o que eu aproveite valeu cada minuto!

Yara Senger

domingo, 27 de janeiro de 2013

Quadricoptero, impressora 3D e gadgets no Vale do Silicio

Uma das pessoas que mais contagiou o Vinicius Senger apresentando diversos novos conceitos e pessoas realacionadas a Eletrônica, Robótica e Automação residêncial foi o nosso amigo Benedicto Franco Jr., que em longas horas de conversa sempre nos atualiza com novidades diretamente do Vale do Silicio, onde mora e trabalha como Software Engineer na Yahoo! Inc. em projetos de altissima escalabilidade.
Em Outubro de 2012 fizemos um pequeno vídeo com alguns dos hackings interessantes que encontramos na oficina dele!


Quadricoptero, impressora 3D e gadgets no Vale do Silicio from Globalcode on Vimeo.

É isso ai pessoal! Muita empolgação pra todos vocês!
[]s
Yara Senger
twitter.com/yarasenger
twitter.com/eletronlivre
facebook.com/eletronlivre