IoT home appliance

O inicio da construção do meu IoT home appliance com Intel Edison e Go

IoT home appliance

A ideia de construir um appliance para controlar algumas coisas de casa, automatizar algumas tarefas e criar alguns indicadores não é nada nova, mas é uma daquelas ideias que estou sempre adiando por um motivo ou outro. Até agora eu simplesmente não tinha encontrado uma plataforma de hardware e software que realmente me agradasse. Eu queria compatibilidade com o 80x86 mas não queria um PC ligado o tempo todo e também queria uma linguagem empolgante e moderna mas não queria nada interpretado, e escrever tudo em C é legal mas dá preguiça e aumenta a possibilidade do projeto retornar para a gaveta… Agora finalmente eu acredito que encontrei uma boa combinação com o Edison e Go.

Porque usar Intel Edison

Algumas características do Edison são um diferencial enorme para IoT: boa velocidade, wifi, bluetooth BLE. São coisas úteis, mas para mim a principal vantagem é o processador Intel Atom com dois núcleos rodando a 500MHz e 1Gb de RAM. Todo esse poder de fogo e a compatibilidade com 80x86 vai servir muito bem para a construção do meu IoT home appliance, sem falar essa plataforma torna fácil aproveitar um legado de décadas de desenvolvimento de software.

Porque usar Go

São vários motivos: eu preciso de velocidade de execução, suporte a concorrência, fácil integração com C, suporte nativo a testes, facilidade de consumir serviços que estão na nuvem e por aí vai. Go se encaixa muito bem nessas demandas além de que parte do meu sistema vai rodar no Google Cloud Platform. E como muitas coisas minhas que já estão por lá estão escritas em Go, é muito agradável poder usar quase a mesma base código nos dois servidores.

Narrando o progresso

Vou narrar o progresso do projeto passo a passo explicando as dificuldades no caminho e as soluções que tomei começando pela instalação, então vamos lá!

Instalando Go no Intel Edison de forma simples e segura.

Como ler uma porta digital conectada a um botão e comandar um LED.

Usando PWM ou Pulse Width Modulation conectada para modular o brilho de um LED.

Gerando som usando um buzzer… tentar reproduzir o Intel Bong e falhar miseravelmente :D

Como ler uma porta analógica, usando um potenciômetro e exibindo os ângulos na tela.

comments powered by Disqus